Taint analysis
CRYPTOREX: Large-scale Analysis of Cryptographic Misuse in IoT Devices
정보
Keywords
- 암호화 오용
- IoT Firmware
- Unified-IR
배경
- 암호화 함수는 잘 정의되었고 신중하게 구현이 되어 있지만, 미숙한 개발자에 의해 실수를 야기하기 쉬움
- 게다가 자원이 한정된 IoT 환경에서는 성능을 위해 보안을 희생하기도 함
목표
- CryptoREX(다양한 아키텍처의 IoT 장치에서 암호화 오용을 식별하는 프레임워크)를 설계하고 구현함
방법론
- CryptoREX
- 펌웨어 획득(다운로드) 및 전처리(실행파일 추출)
- 바이너리 실행파일을 VEX IR로 바꿈
- ICFG(Inter-procedural Control Flow Graph) 생성
- 암호 함수 별 파일 구분 없는 호출 그래프를 만듦
- Backward taint 분석 수행함
- 암호화 API 목록은 실행 중에 계속 갱신되며, 자동으로 함수의 인자도 추적함
결과
- 521개의 펌웨어에서 165개의 사전 정의된 암호화 API로 총 679개의 암호화 오용을 찾음
- 한개의 펌웨어 당 1120초의 소요시간이 걸림
- 암호화 오용은 민감한 정보 유출, 인증 우회, 비밀번호 brute-force 등을 가능하게 함
결론
- 오늘날의 많은 IoT 개발에서 부족한 구현과 취약한 보호를 강조함