EMBEDI라는 보안 회사가 마벨의 WiFi 칩셋인 Avastar 시리즈에 취약점이 있다고 공개했습니다. 작년 11월 20일에 열린 사이버 보안 컨퍼런스 ZeroNights 2018에서 나온 내용이기도 합니다. 마벨 칩셋의 펌웨어를 리버스 엔지니링해서 발견한 취약점이라네요.
WiFi 칩은 MLME (MAC Layer Management Entity)를 하드웨어에 두는 FullMAC과 소프트웨어에 두는 SoftMAC의 두가지가 존재하는데, FullMAC은 운영체제의 시스템 드라이버가 아닌 칩셋에서 WiFi를 관리합니다. 마벨 Avastar 시리즈는 FullMAC에 해당됩니다.
Avastar의 리눅스 드라이버/펌웨어를 분석한 결과 ThreadX라는 리얼타임 OS가 실행된다는 걸 파악했습니다. 그리고 취약점 탐지를 위해 문제를 일으키는 데이터를 대량으로 전송하는 fuzzy를 실행하자, 메모리 손상을 일으키는 문제가 최소 4개 발생했습니다.
그 중 가장 심각한 것이 ThreadX 블럭 풀 오버 플로우입니다. 공격자의 오버플로우가 다음 블럭 할당 위치를 조작해, 원하는 코드를 실행할 수 있습니다. PCI-E는 DMA(Direct Memory Access)가 가능하기에 Avastar가 PCI-E에 연결된다면 바로 메모리 액세스가 가능합니다. DMA가 없는 SDIO 연결도 2시간 정도 들이면 호스트 공격이 된다고 밸브의 스팀 링크에서 검증됐습니다.