'자동차 보안'
V2V-connected: 자동차끼리 연결이 된다.
Attack Surface:
1) Infotainment System: Information+Entertainment: 네비게이션(폰과 연동), 폰과 연동해서 전화, 인터넷 연결, 음악....
2) Telematics Unit: 인터넷을 하기 위해서는 와이파이가 아닌 3G, LTE같은 통신 네트워크를 통해서 인터넷에 접속
3) OBD || Port: 자동차 검진을 위해 사용하는 디버깅 포트: 이 디버깅 포트에 연결하여 CAN BUS에 접속, 이를 통해 공격 가능
4) ECUs : 컴퓨터, 에어컨을 컨트롤 하는 초소형 컴퓨터, 문닫고열고 컨트롤 하는 초소형 컴퓨터...등등 모두 연결되어 있다.
Engine/Transmission/Powertrain/Brake/Telematics/Body..... 서로 통신을 한다.
Compromise Scenarios:
1) Vehicle tracking: infotainment system을 해킹하면 GPS를 통해서 정보를 읽어 공격자에게 다시 실시간 위치를 전송
2) Ransom malware: 브레이크포인트가 안걸린다거나 차문이 열리지 않는 등 차가 작동하지 않게 한 뒤에, 스피커를 통해 음성 전달
Recent research:
1) Safety threats: GM, JEEP, Tesla
2) Theft: Remote Keyless Entry
최근에는 자동차 차주가 근처만 가면 차가 열린다. 원격으로 닫을 수 있는데 그것으로 공격가능
Tesla: 전기차->전기차충전, 와이파이를 charging station에서 제공=> 와이파이로 공격
OTA update: 자동차는 소프트웨어 update가 어렵다. 한번 나가고 나면 update는 거의 불가능. Tesla는 OTA를 통해서 업데이트를 한다. 이때 man-in-the-middle attack이 발생할 수 있다.
Challenge:
1) 자동차 제조사가 너무 많다.
...
-> CAN 네트워크
-> Remote Vectors
-> Legacy/Insecure Code
CAN Bus
전류가 흐르면 자기장이 생긴다-> 전압에 노이즈가 생기게 되고 data corruption이 일어날 수 있다.
따라서 노이즈를 줄이는게 중요하다! twisted-pair의 구조로 노이즈를 줄인다.
Can Layers=> Application, Object, Transfer, Physical
OBD포트를 통해 붙는다!
CAN ID는 우선순위를 정해준다. 0 for dominant, 1 for recessive
ECU(Electronic Control Units)이 노드이고 서로 연결되어 통신을 한다.
Case Study
1. GM Chevy Impala
목표는 internal이 어떻게 작동하는지
트렁크에 바퀴 연결되어 있는 부분에 telematics unit(OnStar)가 있다.
CPU가 어디있는지 봐야 하는데, 보통 가장 큰 것..
많은 임베디디기기의 instruction set을 ida가 지원한다.
해당 processor에 대해 datasheet을 찾는다
그 다음,, JTAG을 이용하여 펌웨어를 뜯어낸다.
JTAG은 안정성 문제가 있다.
FLASH에서 뜨는게 속도가 문제가 있다(20시간 정도..)
덤프를 뜰때는 FFS3 filesystem를 이용해서 떴다.
JTAG이 아닌 Serial포트를 이용할 수 있다. dd같은 방법으로 떼 올 수 있다.
Serial포트를 찾아야 하는데, 찾는 방법은 다음과 같다.
GMLAN이라는 네트워크 레이어에 대해 이해를 해야 한다.
high speed GMLAN에서는 중요한 내용들이 왔다갔다 한다.
Filesystem : interesting daemons in /vcp
자동차에서 전화할때 두가지 모드
Voice mode(보통 전화)/ Data mode
버스기 때문에 누가 어떤 패킷을 보냈는지 모른다.
Preliminary detection-> data mode
주의 * PowerPC: Instruction 캐쉬와 data 캐쉬가 나눠져 있다. instruction flush가 일어나야 한다.
Stack Buffer Overflow, Auth bypass(strcmp는 널바이트까지만 비교 따라서 strcmp이용해서 binary strings를 비교하면 안된다.)
2. Company X IVI System
'비오비' 카테고리의 다른 글
7/18 [이기택 멘토님] (0) | 2019.07.18 |
---|---|
7/18 [신정훈 멘토님] (0) | 2019.07.18 |
공통교육 7/8 (0) | 2019.07.15 |
7/14 (0) | 2019.07.14 |
비오비 7/7 (0) | 2019.07.14 |