보안 연구 회사인 Paradigm Shift는 최근 Apple의 A12 및 A13 칩에 영향을 미치는 새로운 BootROM(SecureROM이라고도 함) 취약점에 대한 세부 정보를 발표하고 "usbliter8"이라는 개념 증명 공격 코드를 공개했습니다. BootROM은 iPhone이 켜질 때 실행되는 기본 코드의 첫 번째 부분입니다. 칩에 직접 고형화되기 때문에 후속 소프트웨어 업데이트를 통한 패치가 불가능하다. 즉, 보안 결함이 발견되면 영향을 받는 장치는 수명 주기 내내 계속 위험에 노출됩니다.

이전에 이 유형의 마지막으로 공개된 BootROM 취약점은 2019년에 노출된 "checkm8"로, iPhone 4S에서 iPhone X까지 여러 세대의 장치에 영향을 미쳤습니다. 이번에 usbliter8은 이 기록을 한 세대 앞당겨 iPhone XS부터 iPhone 11 시리즈까지의 장치를 포함하여 A12 및 A13 칩을 사용하는 제품에 영향을 미쳤습니다.

usbliter8 취약점은 Apple 칩에 통합된 USB 컨트롤러의 결함을 악용합니다. iPhone이 시작하는 동안 USB를 통해 데이터를 수신하면 컨트롤러는 메모리 버퍼를 사용하여 수신 패킷을 저장합니다. Paradigm Shift 연구원들은 부팅 단계에서 장치에 비정상적으로 작은 패킷의 특정 시퀀스를 전송함으로써 컨트롤러 내부의 하드웨어 포인터를 조작하여 메모리에서 "뒤로 이동"하여 처음에 액세스해서는 안 되는 위치에 데이터를 쓸 수 있음을 발견했습니다. 연구팀은 이는 애플 소프트웨어 수준의 취약점이라기보다는 USB 컨트롤러 하드웨어 자체의 설계 결함에 가깝다고 지적했다.

특정 칩 세대로 판단하면 A11은 영향을 받지 않습니다. 사용하는 USB 드라이버는 각 데이터 패킷이 처리된 후 포인터를 수동으로 재설정하여 이 경로를 차단합니다. A14부터 Apple은 BootROM 수준에서 관련 메모리 보호 메커니즘을 올바르게 구성했기 때문에 이러한 공격도 피할 수 있습니다. A12와 A13은 둘 사이의 "회색 영역"에 있으며 위의 보호 기능이 없으므로 취약점에 노출되어 있습니다.

A12 장치에서는 공격자가 익스플로잇을 마스터하면 코드 실행이 비교적 간단합니다. 그러나 A13 장치에서는 상황이 훨씬 더 복잡합니다. 이 세대의 칩에는 일부 메모리 변조를 감지하고 차단하기 위해 포인터 인증 코드(PAC, 포인터 인증 코드)라는 보안 기능이 도입되었습니다. Paradigm Shift는 A13에서 PAC를 우회하려면 최종적으로 프로세서 제어권을 장악하기 위해 여러 단계를 거치는 길고 다단계 공격 체인이 필요하다고 말했습니다.

성공적으로 제어권을 얻은 후 usbliter8은 재부팅 후에도 유지되는 장치에 사용자 지정 처리기를 설치합니다. 이 처리기는 장치의 보안 정책 수준을 일시적으로 낮추고 서명되지 않은 소프트웨어가 부팅되도록 허용하여 엄격한 확인 프로세스를 우회합니다. 성공적인 침해의 신호로 이 익스플로잇은 또한 전통적인 "PWND" 문자열을 iPhone의 USB 일련 번호에 삽입하여 checkm8 및 이전 탈옥 취약점의 전통을 이어갑니다.

Paradigm Shift는 usbliter8 자체가 Secure Enclave(Secure Enclave)를 직접 공격하지는 않지만 일단 BootROM 계층이 침해되면 이론적으로 Secure Enclave에 대한 추가 고급 공격을 위한 더 넓은 공간을 열어준다고 지적했습니다. 회사는 관련 조사 결과를 공개하기 전에 Apple의 제품 안전 팀에 보고했으며 Apple과 협력하여 공개 프로세스를 완료했습니다. 보안 연구 커뮤니티의 추가 연구를 위해 완전한 기술 분석 및 개념 증명 코드가 Paradigm Shift 공식 웹사이트 ps.tc에 보고서와 함께 게시되었습니다.