브로드컴의 Wi-Fi 칩인 BCM43xx 제품군에 임의의 코드를 실행할 수 있는 취약점인 Broadpwn의 내용이 공개됐습니다.
이 제품군은 삼성 갤럭시 S3부터 S8, 갤럭시 노트 3, 구글 넥서스 5/6/6X/6P, 아이폰 5 이상 모든 아이폰에 들어가 있어, 이러한 디바이스에서 악용될 가능성이 있습니다. 다만 애플은 iOS 10.3.3, macOS 시에라 10.12.6에서 취약점을 패치했습니다.
GCM43xx 칩은 Cortex-R4 마이크로 컨트롤러와 자체 프로세서를 기반으로 삼았는데, 이 중 R4가 HNDRTE라는 독자적인 리얼타임 OS를 구동하며 소스가 공개되지 않았습니다. R4에서 프로그램을 램에 로드했을 때 ASLR(Adress Space Layout Randomization)과 DEP(Data Execution Prevention) 기능이 없어 모든 영역에 읽기/쓰기/실행 권한이 부여된다네요.
그리고 802.11의 다양한 프로토콜과 펌웨어 자체 기능을 쉽게 처리할 수 있도록 모듈러 구조로 액세스 포인트를 찾는 통신을 수행하는데 이게 wlc_attac_module입니다. 그리고 트래픽 우선 순위를 설정하는 WMM의 wlc_iem_add_parse_fn에 버그가 존재합니다. 버퍼인 current_wmm_ie가 ie 데이터를 보관하는데 크기가 충분한지를 확인하지 않고 memcpy() 함수를 호출해 오버플로우가 발생합니다.
이런 취약점을 악용해서 브로드컴 커널 드라이버의 버그를 찾을 수 있으나 이건 현실적으로 어렵고, PCI-E 버스를 사용해 커널에 메모리를 직접 액세스하거나, https 보안 처리가 되지 않은 사이트를 액세스했을 때 WiFi 칩이 악성 코드가 있는 URL로 리다이렉션하는 식으로 공격이 가능합니다.
테스트한것도 나오고..;; 악용한 프로그램이 나오면 영향이 엄청날꺼라고 예상하고 있네요.