GN⁺: 웹캠 LED를 끄고 비디오를 녹화하는 악성코드, ThinkPad X230에서 시연
(github.com/xairy)- 이 저장소는 ThinkPad X230의 웹캠 LED를 소프트웨어로 제어할 수 있는 도구를 포함하고 있음
- 물리적 접근 없이도 웹캠을 통해 비디오를 녹화할 수 있는 악성코드의 가능성을 보여주기 위해 만들어짐
- USB를 통해 웹캠 펌웨어를 다시 플래시하여 LED를 임의로 제어할 수 있는 기능을 추가함
- 이 접근 방식은 다른 많은 노트북에도 영향을 미칠 가능성이 있음
도구
- srom.py: Ricoh R5U8710 기반 웹캠의 SROM 펌웨어를 USB를 통해 읽고 씀. 웹캠은 부팅 시에만 SROM 펌웨어를 로드하므로, 업데이트된 펌웨어를 로드하려면 노트북을 완전히 종료하고 다시 켜야 함.
-
patch_srom.py: FRU
63Y0248
웹캠의 SROM 이미지를 패치하여 범용 임플란트를 추가함. 원래 X230 웹캠 SROM 이미지와 함께 사용하려면 수정이 필요함. -
fetch.py: 범용 임플란트를 통해 동적으로 업로드된 2단계 임플란트를 통해
IRAM
,XDATA
,CODE
메모리 공간의 내용을 USB를 통해 가져옴. -
led.py: 범용 임플란트를 통해
XDATA
의 주소0x80
의 값을 덮어써서 웹캠 LED를 켜거나 끔.
메모리 덤프
- srom/x230.bin: 원래 X230 웹캠 모듈의 SROM 내용.
-
srom/63Y0248.bin: FRU
63Y0248
웹캠 모듈의 SROM 내용. -
code/63Y0248.bin: FRU
63Y0248
웹캠 모듈에서 유출된CODE
메모리 공간의 내용. 부트 ROM은 오프셋0xb000
아래에 있으며, 원래 X230 웹캠 모듈의 부트 ROM과 동일함.
Hacker News 의견
- 카메라 LED는 전원과 연결되어 항상 켜져 있어야 하는데, 펌웨어로 제어할 수 있으면 보안에 문제가 생김
- 카메라보다 마이크가 더 걱정됨. macOS는 마이크 사용 시 메뉴바에 불빛을 표시하지만, 하드웨어적으로 해킹 불가능한 것이 더 좋음
- ThinkPad X1 Carbon Gen 8에서는 웹캠 LED를 끄고 녹화 가능. ThinkShutter라는 물리적 스위치가 있지만, 잘못 사용하면 LED만 꺼지고 렌즈는 가려지지 않음
- 대부분의 웹캠 LED는 카메라 전원과 직렬로 연결되어 있어야 함. 소프트웨어로 제어 가능한 LED 설계는 문제임
- 현대 기기의 마이크는 LED나 스위치가 없어 카메라보다 더 큰 문제임. 민감한 정보를 쉽게 수집할 수 있음
- Lenovo 노트북은 카메라를 물리적으로 가리는 슬라이더 버튼이 있음. 이는 드라이버에도 영향을 미쳐 Windows에서 카메라가 분리된 것으로 인식됨
- 카메라와 마이크는 물리적 스위치가 필요함. 소프트웨어 스위치는 신뢰할 수 없음. 사용하지 않을 때는 카메라와 마이크를 분리함
- 마이크와 카메라의 전원을 개별적으로 제어할 수 있는 물리적 스위치가 필요함. 이는 iPhone의 음소거 스위치처럼 간단할 수 있음
- X230 노트북은 여전히 많이 사용됨. Lenovo의 최신 키보드는 품질이 떨어짐. T14s 시리즈는 휴대성이 떨어짐
- 웹캠 커버를 사용하여 프라이버시를 보호하는 사람들이 많음. 마이크는 차단하기 어려움
- 보안 커뮤니티에서는 오래전부터 알려진 문제임. X230은 오래된 모델로, 최신 모델에서는 이 문제가 해결되었기를 바람