무차별 대입 공격을 이용한 안드로이드 기기 잠금 해제

요즘에는 DFIR 전문가가 아닌 사람들도 알 수 없는 패스코드를 수동으로 추측하는 것이 가장 빠른 방법이 아니라는 것을 알고 있으며, 장치와 그 데이터에 대한 영구적인 접근 권한을 잃는 것이 가장 일반적인 결과라는 것을 알고 있습니다. 장치 제조업체와 소프트웨어 개발자들은 사용자 데이터 보호에 있어서 훌륭한 일을 해왔습니다. 그리고 로그인 시도에 제한이 없더라도, 수천, 수백만 개의 가능한 조합으로 Android PIN을 수동으로 무차별 대입 공격하는 것은 분명히 선택지가 아닙니다.

패스코드 타임아웃이 있는 잠긴 Android 전화기

그렇다면 포렌식 목적으로 Android 장치를 어떻게 잠금 해제할까요? 시스템에 진입하고, 제한사항을 우회하고(최소한 일부라도), 자동화된 무차별 대입 공격을 시작할 수 있는 취약점을 찾으세요.

말하기는 쉽지만 하기는 어렵습니다.

Android 장치는 극도로 다양합니다. 공통된 보안 기능을 공유하지만, 하나의 범용 솔루션은 없습니다. 사용 가능한 솔루션들은 특정 칩셋 모델 그룹을 대상으로 하므로, Belkasoft X의 각 Android 패스워드 무차별 대입 방법은 고유한 워크플로우와 함께 제공됩니다—MediaTek, Kirin 또는 Unisoc 기반 장치를 다루는지에 따라 달라집니다.

Android 잠금 화면 무차별 대입의 간단한 소개

오늘날 포렌식 실험실에 들어오는 대부분의 Android 장치는 암호화된 사용자 데이터를 가지고 있습니다. 이를 보호하는 데 사용되는 암호화 키는 장치가 부팅되고 사용자가 패스코드를 입력한 후 신뢰 실행 환경(TEE)에서 추출됩니다. 이러한 키들은 장치별 키와 사용자의 잠금 화면 패스코드에서 파생된 키를 기반으로 합니다.

포렌식 무차별 대입 공격은 안전하지 않은 부트 ROM이나 디버그 모드와 같은 부팅 프로세스의 취약점을 악용하는 등 칩셋별 취약점을 이용합니다. 특히, Belkasoft X는 보안 부트 체인을 중단하고, 낮은 수준에서 코드 실행을 얻으며, TEE에서 패스코드를 무차별 대입하는 데 필요한 키를 추출할 수 있습니다. 이 무차별 대입 공격은 오프라인으로 실행되어 Android의 일반적인 스로틀링(데이터 처리 지연 또는 시도 제한)을 피합니다. 패스코드 추측 속도는 키 유도 함수의 복잡성과 디지털 포렌식 워크스테이션의 컴퓨팅 능력에 따라 달라집니다.

이 프로세스는 장치에서 덤프된 사용자 데이터와 상호작용하지 않으므로 정보 변경이나 데이터 손실 가능성이 적습니다.

사용자가 모바일 패스코드를 무차별 대입하고 싶은지 묻는 프롬프트를 표시하는 Belkasoft X 화면

Unisoc 무차별 대입의 특징

Unisoc의 저비용 프로세서(이전의 Spreadtrum)는 많은 예산 Android 장치에서 발견됩니다. 이러한 SoC 모델 중 일부는 USB를 통해 Spreadtrum 다운로드 모드(SPD)에서 장치를 부팅할 때 BootROM에서 코드 실행을 허용하는 취약점을 가지고 있습니다. Belkasoft X는 이러한 취약점을 사용하여 가장 초기의 부트 단계에서 자체 코드를 실행하고, 암호화 키 내용을 덤프하며, 오프라인에서 패스코드를 무차별 대입할 수 있습니다. BootROM 결함은 소프트웨어 업데이트를 통해 수정할 수 없으므로(읽기 전용 메모리에 있기 때문에) 영향받는 SoC는 영원히 안전하지 않은 상태로 남아있습니다.

이 무차별 대입 방법은 Spreadtrum 수집 워크플로우의 일부이며, 실행하기 쉽고 상대적으로 빠릅니다. 몇 가지 드라이버를 설치하고, Unisoc 장치를 SPD 모드에 넣고, 프로세스를 시작하기만 하면 됩니다.

MediaTek (MTK) 무차별 대입의 특징

MediaTek SoC는 많은 종류의 Android 장치(특히 Xiaomi, Vivo, Oppo와 같은 중급 전화기)를 구동합니다. 이러한 장치 중 많은 수가 전용 보안 요소를 가지고 있지 않고 보안을 위해 TEE에만 의존합니다—그리고 중요한 것은 MTK의 BootROM에는 무차별 대입 공격의 문을 여는 알려진 취약점이 있다는 것입니다. 특히, 보안 부트가 구현되기 전에 서명되지 않은 코드를 업로드하고 실행할 수 있게 합니다.

Belkasoft X는 많은 MTK 칩셋 기반 장치의 부팅 프로세스에 진입할 수 있는 수집 워크플로우를 제공합니다. Unisoc 기반 장치와 마찬가지로, 무차별 대입 프로세스가 오프라인으로 실행될 수 있도록 물리적 장치 이미지와 암호화 내용을 다운로드합니다.

MTK를 성공적으로 무차별 대입하려면, MTK와의 저수준 통신 기능을 위한 드라이버를 설치한 다음 장치를 BootROM 모드(또는 일부 장치의 경우 Preloader 모드)에 넣어야 합니다. 전체 프로세스에는 몇 가지 추가 전제 조건 단계가 포함되며 Unisoc 무차별 대입보다 더 많은 주의가 필요하지만, 여전히 실행하기 상대적으로 쉽고 상당히 빠르게 작동합니다.

Kirin 무차별 대입의 특징

주로 Huawei와 Honor 장치에서 사용되는 HiSilicon Kirin 칩셋은 약간 다른 상황을 제시합니다. Huawei의 플래그십 전화기는 종종 강력한 보안(자체 TEE 구현 포함 및 최신 모델에서는 결제용 통합 보안 요소도 포함)과 함께 제공됩니다. MTK나 Unisoc과 달리, Kirin에 대한 BootROM 익스플로잇이 공개적으로 많이 공개되지 않았습니다. 대신, DFIR 도구는 Huawei의 장치별 엔지니어링 모드와 부트로더 취약점을 사용합니다.

Kirin 기반 장치를 무차별 대입하려면, USB 다운로드 모드(COM 포트 모드라고도 함)에 넣어야 하며, 이는 장치와 USB 통신을 가능하게 하고 따라서 무차별 대입 공격에 필요한 구성 요소에 대한 액세스를 제공합니다. 이 모드를 활성화하려면 수동 작업이 필요합니다: 장치를 열고, 테스트 포인트를 찾고, 미세한 핀셋을 사용하여 단락시켜야 합니다.

Huawei 장치의 테스트 포인트를 단락시키는 방법의 시연

Belkasoft X는 현재 Kirin 970과 980 칩셋에서 실행되는 장치에 대한 무차별 대입과 데이터 수집을 지원합니다. 이 프로세스는 오프라인으로 실행되어 상당히 빠르고 안전합니다. 수집 워크플로우는 장치가 일부 보안 패치를 받았는지 여부에 따라 달라집니다. 일부 모델은 USB를 통해 연결할 수 없고, 일부는 USB 통신을 시작하기 위해 Harmony TCP 케이블이 필요하며, 일부는 USB-C를 통해 직접 연결됩니다. Belkasoft X가 무엇을 해야 하는지 알려줄 것입니다.

최종 생각: 잠긴 증거를 포기하지 마세요!

거의 모든 장치에는 하드웨어 또는 소프트웨어 취약점이 있습니다. 종종 일회용 전화기로 사용되는 저렴하고 오래된 장치는 일반적으로 무차별 대입과 수집에 더 취약하며, 고급 Android 장치는 일반적으로 요새처럼 견고하게 구축됩니다(이것은 말장난입니다).

익스플로잇을 찾는 것은 쉽지 않고 연구와 구현에 시간이 걸립니다; 이것이 많은 무차별 대입 방법이 오래된 전화기와 태블릿 모델만을 대상으로 하는 이유입니다. 하지만 그럼에도 불구하고, 잠긴 증거를 포기해서는 안 됩니다!

상상해보세요: 비협조적인 용의자의 잠긴 전화기를 얻었습니다. 그것은 새로운 모델이고, 완전히 업데이트되었으며, 크랙하기 어렵습니다. 하지만 그때, 수사 중에 또 다른 장치가 발견됩니다—용의자가 몇 년 전에 버린 오래된 전화기입니다. 그것도 잠겨있지만, 이번에는 당신의 DFIR 도구(아마도 Belkasoft X)가 그것을 지원합니다. 여기가 핵심입니다: 사람들은 종종 같은 패스워드를 수년간, 때로는 수십 년간 사용합니다. 따라서 오래된 장치의 패스워드가 새 장치와 같을 가능성이 높습니다.

인내심, 창의성, 그리고 올바른 도구는 막다른 길을 성공으로 바꿀 수 있습니다. Belkasoft X가 지원하는 장치 모델을 확인해보세요: https://belkasoft.com/brute. 아마도 그 중 하나가 당신의 증거 수집품의 선반에서 먼지를 모으고 있을지도 모릅니다?

또한보십시오