익스플로잇은 Qualcomm의 EDL 모드를 표적으로 삼아 일부 Xiaomi, OnePlus, Nokia 및 기타 장치에 영향을 미칩니다.

Qualcomm 장치에는 EDL 모드가 있는데, OEM에서 출시한 올바른 도구가 있으면 이를 활용할 수 있는 것으로 보입니다.

Qualcomm 칩셋을 탑재한 장치에는 리마리 일반적으로 Android 시스템을 부팅하지만 EDL 모드로 알려진 대체 부팅 모드도 포함하는 oader(PBL)입니다. EDL 모드는 Qualcomm의 것입니다. 이자형긴급 자신의 부하 송시하고 허용합니다. 영형원본 이자형장비 제조업체(OEM)는 장치에 플래시 소프트웨어를 강제 적용합니다. 이는 수정할 수 없으며(읽기 전용 모드) 장치 저장소를 완전히 제어할 수 있습니다. OnePlus 및 Xiaomi를 포함한 많은 OEM은 EDL 모드를 활용하는 도구(프로그래머라고도 함)를 출시했습니다. 장치의 벽돌을 풀기 위한 Firehose라는 프로토콜과 Nokia와 같은 회사의 다른 도구가 유출되었습니다. Firehose는 장치 메모리 내의 데이터를 검사하는 기능과 함께 장치를 플래시하는 다양한 명령을 활용할 수 있습니다. 보안 연구원 로이 헤이 (@roeehay) 그리고 노암 하다드 ~에서 알레프 연구 공격자에게 효과적으로 권한을 부여하는 이 모드를 사용하여 중요한 장치 취약점을 발견했습니다. 전체 장치 액세스.

다음 사항에 유의하는 것이 중요합니다. 이 익스플로잇을 위해서는 장치에 대한 물리적 접근이 필요하지만 여전히 매우 위험하며 패치가 불가능할 가능성이 높습니다.. 공격자는 EDL 모드에 부여된 액세스 수준을 활용하여 Nokia 6의 보안 부팅을 우회하여 Android OS를 포함한 부팅 시퀀스의 모든 부분에서 신뢰 체인을 확보하고 전체 코드 실행 확보 그 자체. 다른 장치에서도 동일한 방식으로 작동하는 것으로 이론화되었으며 연구원들은 데이터 손실 없이 여러 Xiaomi 장치를 잠금 해제하고 루팅할 수 있었습니다.

이 악용으로 인해 어떤 장치가 영향을 받습니까?

첫째, 영향을 받는 장치입니다.

영향을 받는 장치 목록입니다.

  • LG G4
  • 노키아 6(d1c)
  • 노키아 5
  • Nexus 6(샤무)
  • Nexus 6P(낚시꾼)
  • 모토 G4 플러스
  • OnePlus 5(치즈버거)
  • 원플러스 3T
  • 원플러스 3
  • 원플러스 2
  • 원플러스 X
  • 하나 더
  • ZTE 액손 7
  • ZUK Z1
  • ZUK Z2
  • 샤오미 노트 5A(어글라이트)
  • 샤오미 노트 5 프라임(ugg)
  • 샤오미 노트 4(미도)
  • 샤오미 노트 3(제이슨)
  • 샤오미 노트 2(스콜피온)
  • 샤오미 믹스(리튬)
  • 샤오미 믹스 2(키론)
  • 샤오미 미 6(sagit)
  • Xiaomi Mi 5s (염소 자리)
  • Xiaomi Mi 5s Plus (나트륨)
  • Xiaomi Mi 5x (티파니)
  • 샤오미 미 5(쌍둥이자리)
  • Xiaomi Mi 3 (캔크로)
  • 샤오미 Mi A1 (티쏘)
  • 샤오미 미맥스2(산소)
  • 샤오미 레드미 노트 3(겐조)
  • 샤오미 레드미 5A(리바)
  • 샤오미 레드미 4A(장미빛)

더 읽어보세요

안드로이드 폰 악용

일반적인 Android Qualcomm 휴대폰의 부팅 순서

일반적인 Android 기기를 악용하는 방법을 설명하기 전에 먼저 일반적인 Android 기기의 부팅 순서를 이해하는 것이 중요합니다. 그만큼 에스소프트웨어 oader(SBL)는 imem에 로드되기 전에 진위 여부를 확인하는 디지털 서명된 부트로더입니다. imem은 디버깅 및 DMA에 사용되는 고속 온칩 메모리입니다(직접 에모리 액세스) 거래이며 Qualcomm 칩셋의 독점 제품입니다.

일부 장치에는 e가 있습니다.엑스인장력이 있는 SBL 대신 oader(XBL)를 사용하지만 부팅 프로세스는 거의 동일합니다. 그런 다음 SBL 또는 XBL은 fastboot를 구현하는 ABOOT를 시작합니다. 이어서 TrustZone(하드웨어 기반 보안)도 로드됩니다. TrustZone은 하드웨어 기반 루트 인증서를 통해 ABOOT의 신뢰성을 확인합니다. SBL(경우에 따라 XBL)은 잘못 서명된(또는 서명되지 않은) ABOOT를 거부하도록 설계되었습니다.

인증되면 ABOOT는 Linux 커널을 시작하기 전에 /boot 및 /recovery의 신뢰성을 확인합니다. 일부 시스템 준비가 완료된 다음 코드 실행이 커널로 전송됩니다. ABOOT는 일반적으로 "Android 부트로더"로 알려져 있으며, 장치의 부트로더를 잠금 해제하면 ABOOT에서 이 신뢰성 검사를 비활성화합니다.

표준 Android 기기의 부팅 순서가 시각화되었습니다. // 원천: 알레프 연구

EDL 모드 액세스

일부 장치에는 간단한 하드웨어 조합이 있지만(더 나쁜 경우에는 많은 장치에 존재하는 간단한 독점 fastboot 명령이 있습니다) Xiaomi 장치), Nokia 장치와 같은 기타 장치는 장치의 메인에 있는 "테스트 포인트"라고 알려진 핀을 단락시켜야 합니다. 판자. 또한 2017년 12월 보안 패치 이전에는 여러 기기(Nexus 6 및 6P 포함)에서 간단히 'adb 재부팅 edl'을 실행하고 EDL 모드로 들어가는 것이 가능했습니다. 이 문제는 이후 수정되었습니다.

테스트 포인트는 장치 메인보드 하단에 그려진 노란색 상자에 표시됩니다. // 원천: 알레프 연구

다른 장치에서는 시스템에 대신 EDL 모드로 부팅하도록 지시하기 위해 특정 핀이 단락된 특수 케이블인 "딥 플래시" 케이블을 사용할 수도 있습니다. 오래된 Xiaomi 장치는 Nokia 5 및 Nokia 6과 함께 이 방법을 활용할 수 있습니다. SBL 확인에 실패하면 다른 장치도 EDL 모드로 부팅됩니다.

딥 플래시 케이블

EDL 모드를 활용하여 OnePlus 3/3T에 대한 전체 액세스 권한 얻기

EDL 모드는 장치에서 다양한 방법으로 활용될 수 있으며, 주로 장치를 강제로 플래시하여 장치의 연결을 해제하는 경우에 사용됩니다. 위에서 설명한 대로 이론적으로 누구나 이 모드에 액세스하는 것이 안전해야 합니다. 최악의 시나리오는 ABOOT가 제조업체가 공식적으로 서명하지 않은 소프트웨어를 거부한다는 것입니다. 이것이 사실이지만 실제로 연구원들이 보여준 개념 증명 익스플로잇을 통해 OnePlus 3 또는 3T와 해당 파일에 대한 완전한 제어권을 얻는 것이 가능합니다.

이 작업은 OnePlus가 이전 버전의 ABOOT(Android 부트로더), 장치의 부트로더를 잠금 해제하고(부팅 시 사용자에게 경고를 표시하지 않고) 비활성화하기 위해 dm_verity. dm_verity는 자체 검사 부팅이라고도 하며 Android 기기의 안전한 부팅 시퀀스의 일부입니다. 두 명령은 다음과 같습니다.

fastboot oem disable_dm_verity
fastboot oem 4F500301/2

Firehose 프로토콜을 활용하는 아래의 간단한 4단계 프로세스를 살펴보세요.

  1. 먼저 장치를 EDL 모드로 부팅합니다. 이는 OxygenOS 5.0 이하의 adb를 통해 수행하거나 간단한 하드웨어 키 조합을 사용하여 수행할 수 있습니다.
  2. 아래 OxygenOS 4.0.2의 이전 시스템 이미지를 다운로드하세요.
  3. Firehose를 통해 aboot.bin을 플래시합니다(앞서 언급한 것처럼 aboot.bin이 fastboot를 구현한다는 점을 기억하세요).
  4. 이제 보안 부팅을 비활성화하고 부트로더를 잠금 해제할 수 있습니다. 기기를 닦지 않고 위의 두 가지 fastboot 명령을 사용하면 됩니다.

기억하신다면 OnePlus는 거의 1년 전에 두 개의 위험한 fastboot 명령을 남긴 것으로 이전에 발견되었습니다. 하나는 부트로더 잠금을 해제하고 다른 하나는 보안 부팅을 비활성화했습니다. 공격자가 있다는 것은 사실이지만 장치에 악성 소프트웨어를 설치할 수 없습니다, 그들은 할 수있다 기기를 다운그레이드하세요 갖다 오래되고 공격에 취약한 소프트웨어. 위의 fastboot 명령을 실행하기만 하면 공격자는 다음과 같은 공격을 받을 수 있습니다. 전체 권한 장치에.

그게 전부입니다. 부트로더가 잠금 해제되고 보안 부팅이 꺼지며 데이터 손실이 전혀 없습니다. 공격자가 이를 한 단계 더 발전시키려는 경우 사용자가 전혀 알지 못하는 장치에 대한 루트 액세스를 가능하게 하는 악성 사용자 지정 커널을 플래시할 수 있습니다.

Firehose는 OEM 서명 프로그래머를 받아들이고 위의 공격이 수행되는 방식인 Qualcomm Sahara 프로토콜을 통해 작동합니다. 장치에 연결하면 USB를 통한 SBL 역할을 합니다. 대부분의 프로그래머가 사용하는 소방 호스 연구원들은 EDL 모드에서 전화기와 통신하기 위해 이 모드를 이용하여 완전한 장치 제어권을 얻었습니다. 연구진은 또한 이를 다음과 같은 목적으로 사용했습니다. 수정된 이미지를 플래시하여 Xiaomi 장치 잠금을 해제하세요 부트로더의 잠금을 해제했습니다. 그런 다음 루트 액세스 권한을 부여하고 SELinux를 허용적으로 실행하는 사용자 정의 커널을 플래시했으며 장치에서 암호화된 사용자 데이터 이미지를 추출했습니다.

결론

OEM이 Qualcomm에서 이러한 프로그래머를 출시하는 이유는 알려져 있지 않습니다. Nokia, LG, Motorola 및 Google 프로그래머는 공개되기보다는 유출되었지만 연구원들은 가까스로 Nokia 6의 전체 신뢰 체인을 깨고 유사한 방법을 통해 전체 장치 액세스 권한을 얻습니다. 착취. 그들은 이 프로그래머를 지원하는 모든 장치에 공격이 이식될 수 있다고 확신합니다. 가능하다면 OEM은 장치 하드웨어가 롤백될 때 차단하여 소프트웨어 롤백을 방지하고 사용자에게 롤백이 발생했음을 경고할 수 있는 하드웨어 qFuse를 사용해야 합니다. 관심 있는 분들은 아래의 전체 연구 논문을 살펴보고 전체 Nokia 공격 내용도 읽어보실 수 있습니다.


출처: 알레프 연구