ㅁ 해킹기법
o 해킹기법 일반적인 네트워크에서 발생할 수 있는 해킹 기법이 그대로 적용 가능
- Sniffing
- Replay Attack
- Spoofing
- Denial Of Service(DOS)
- Fuzzing
ㅁ Sniffing
o 네트워크상에서 자신이 아닌 다른 노드들의 송/수신 통신메시지를 엿보는 것을 의미
o CAN 프로토콜은 브로드캐스팅 형태로 메시지를 전송하기 때문에 네트워크 연결만 되면 스니핑 가능
ㅁ Replay Attack
o 프로토콜상에서 유효 메시지를 복사한 후 재 전송함으로써 정당한 사용자와 동일한 효과를 내는 공격기법
o CAN 프로토콜은 브로드캐스팅으로 인해 CAN bus 상의 ECU를 설치 후 모든 메시지를 수집가능하며, 수집한 메시지를 그대로 주입시키면 그대로 동작
ㅁ Spoofing
o 승인 받은 사용자인 것처럼 시스템에 접근하거나 네트워크상에서 허가된 노드로 가장하여 접근제어를 우회하는 공격 기법
o CAN 프로토콜은 브로드캐스팅으로 인해 CAN bus 상 ECU를 설치 후 모든 메시지를 수집 가능
o 수집된 메시지를 이용하여 가짜 메시지를 만들어 공격할 수 있음
ㅁ Denial of Service(DoS)
o 시스템을 악의적으로 공격해 해당 시스템 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 함
o CAN 프로토콜은 메시지 중재 기능을 악용하여 DoS공격이 가능
o CAN bus 상에서 가장 높은 우선순위를 가진 ID를 알아내서 지속적으로 CAN Bus에 주입하면 자원을 사용하지 못함
ㅁ Fuzzing
o 소프트웨어 취약점을 발견하기 위하여 프로그램이나 단말, 시스템에 비 정상적인 입력 데이터를 보내는 방법
o 오버플로우나 언더플로우 반복의 비정상적인 입력은 소프트웨어의 취약점을 유발시키고 고장이나 DoS 등의 원인이 됨
o CAN은 데이터가 8비트밖에 없어서 퍼징을 통한 자동차의 취약점을 찾기가 상대적으로 희박
o 비정상적인 행위를 나타낼 수 있음, 어떤 행위에 대한 CAN data를 찾아 낼 수 있음
자동차 CAN 통신 해킹 실습 환경 구축
o 실습서버 : 우분투 14.03.03LTS
o 리눅스 커널 버전 : 3.19.0-28.generic
o CAN드라이버 : SocketCAN(리눅스 커널 2.6.25버전 이상에서 제공되는 리눅스용 CAN 드라이버)
- SocketCAN이란 버클리 소켓 API와 리눅스 네트워크 스택을 사용하여 CAN드라이버를 네트워크 인터페이스로 구현
- TCP/IP 프로토콜과 유사하게 구현되어 있어 기존 네트워크 프로그래밍과 비슷하게 사용 가능
CAN Bus 구조
o 가상 통합형 ECU(vECU) 랜덤 & 브레이크/엑셀/문/깜빡이/기어 CAN MSG 전송
o 계기판 및 차량 제어 모듈(ControlPanel) : 실시간 차량 상태 수신 및 차량 조작
o CAN BUS 스니핑 유틸리티(candump) : CANbus를 스니핑하여 CAN MSG 출력
o CAN메시지 전송 유틸리티(cansend) : CAN BUSdp Msg 전송
'Network' 카테고리의 다른 글
차량 해킹 실습을 통한 CAN 통신 및 보안 이해(인증우회) (0) | 2020.11.16 |
---|---|
차량 해킹 실습을 통한 CAN 통신 및 보안 이해(Spoofing) (0) | 2020.11.16 |
차량 해킹 실습을 통한 CAN 통신 및 보안 이해(이론) (0) | 2020.11.15 |
ELK(ElasticSearch, Logstash, Kibana)설치 및 간단 실습 (0) | 2016.08.16 |
Untangle을 이용한 보안솔루션(방화벽,NAC) 구축, 실습 (3) (1) | 2016.08.15 |
최근댓글