이스라엘 벤구리온 국립 대학의 Omer Shwartz, Amir Cohen, Asaf Shabtai, Yossi Oren로 구성된 연구팀은 제 11회 USENIX Workshop on Offensive Technologies (WOOT '17)에서 스마트폰 디스플레이 부품을 통해 안드로이드 OS를 해킹할 수 있다고 발표했습니다.
스마트폰의 각종 부품은 스마트폰 제조사가 직접 만드는 것이 아닙니다. 이들 부품을 위한 드라이버 소스 코드는 제조사가 개발해 스마트폰 제조사의 소스 코드에 통합시킵니다. 이들 드라이버는 USB나 네트워크처럼 하드웨어가 분리되는 것을 전제로 만들어진 것이 아니기에, 항상 구성 하드웨어가 신뢰할 수 있는 상태임을 전제로 만들어지고, 그 때문에 부품과 프로세서 사이의 통신을 검사하지 않습니다.
터치스크린 컨트롤러의 동작을 분석해 터치스크린 하드웨어를 해킹하고, 터치스크린을 교체할 때 정품이 아니라 이런 해킹된 칩이 들어있는 사제로 교체했을 경우를 상정해 봅시다. 이를 악용하면 터치 인젝션 공격과 권한 관리 작업을 수행하기 위해 버퍼 오버플로우로 공격하는 2가지 공격을 독립적으로 실현 가능합니다. 그 결과 안드로이드 스마트폰의 잠금 해제 패턴을 캡처하고 악성 코드를 설치할 수 있었다네요.
테스트용 데모는 뭔가 무시무시한 기판이 달려 있지만 정말 맘먹고 만들면 스마트폰 안에 모두 넣는 것도 가능합니다. 여기에선 안드로이드 6.0.1 기반의 넥서스 6P와 LG G패드 7.0을 사용했습니다. 또 iOS에서도 같은 방법이 먹힐 것이라 보고 있네요. 결론은 시스템 설계 단계에서 신뢰할 수 없는 부품이 쓰일 가능성을 명두에 두고 개발해야 한다고.
악성 코드를 설치
피싱 URL로 전송
화면 잠금 패턴을 캡처해 전송