Android 데이터 간단하게 추출하기

Android Data Acquisition Simplified


글쓴이 : Paul Lorentz, 수석 솔루션 엔지니어

Heather Mahalik, Cellebrite 디지털 정보 담당 수석 디렉터


번역/편집 : CK 블로거





Cellebrite UFED 에는 다양한 추출 옵션이 있어 Android 추출이 매우 복잡하게 보일 수 있습니다 . 이는 Android 운영 체제를 실행하는 수많은 제조업체 및 장치 모델이 사용 가능한 추출 방법을 제어 하기 위해 필요한 기능들임을 우선 이해해야 합니다.

이 글은 사용자가 모든 Android 기기에서 데이터를 추출 할 때 알맞은 선택을 할 수 있도록 돕고자 작성되었습니다.


전체 디스크 암호화 (FED)와 파일 기반 암호화(FBE) 및 시큐리티 스타트(SS) 암호화 "는 웹 세미나나 다른 글들을 참조해 주세요. 그러면 전체 Android 추출 프로세스를 보다 쉽게 ​​수행 할 수 있는 방법을 살펴보도록 하겠습니다.

시작하기 UFED 화면에서 제공되는 안내에 따라 Android 장치를 준비 합니다. 장치의 상태가 중요합니다. 장치에 특수 케이블, 다운로드 모드 등이 필요한 경우 추출을 시작 하기 전에 해당 설정 또는 모드를 활성화 해야합니다 . 대부분의 장치는 "USB 디버깅"을 활성화해야 하므로 추출을 위해 장치를 올바르게 준비하려면 화면을 참조 하십시오.

연결되면 " 장치 찾아보기" 를 선택하여 모델을 선택하거나 " 자동 감지 "를 활용할 수 있습니다 .

팁 : 장치를 수동으로 선택할 때 접속 오류가 발생하면 자동 감지 기능을 사용하십시오 . 장치가 감지되면; 아래와 같이 장치에 대한 정보를 제공하는 화면이 표시 될 수 있습니다.


팁 : 설치된 앱의 "Insight"를 사용하여 장치에서 기대할 수 있는 내용을 살펴보십시오. 장치가 감지되지 않으면“ CONSOLE 을 선택 하여 장치 세부 정보를 확인할 수 있습니다.


아무것도 발견되지 않으면 이 글의 후반부에서 설명하는 일반 옵션(Generic Option)으로 진행하는 것이 좋습니다.



장치가 잠금 해제되어 있고 USB 디버깅이 활성화되어 있고 장치에서 포렌식 워크 스테이션 또는 UFED 기기와의 '신뢰'가 선택되어 있는지 확인하십시오. 장치의 콘솔 결과는 다음과 같습니다. 이를 통해 기기 내 칩 셋, 운영 체제, 보안 패치 수준 및 암호화 유형에 대한 정보를 얻을 수 있습니다.




장치에 대한 정보를 얻었으므로 데이터를 수집해야 합니다. 다음은 사용 가능한 일부 획득 옵션에 대한 안내입니다. 안드로이드 백업 일반적으로 이 방법은 ADB 백업 프로토콜을 사용합니다. Android 7.0이후에는 백업 추출에서 적은 정보가 나옵니다. 일부 애플리케이션 데이터를 추출 할 수 있지만 최신 버전의 Android OS에서는 점점 더 적게 나옵니다. 백업은 일부 타사 응용 프로그램 및 미디어를 제공하지만 기본 통화 로그 또는 SMS 메시지는 제공하지 않습니다.


안드로이드 백업 APK 다운 그레이드 APK 다운 그레이드는 애플리케이션 버전을 다운 그레이드하는 방법입니다. 이 방법은 항상 약간 위험하며 전화기 정보를 변경합니다. UFED는 응용 프로그램과 데이터를 장치에서 가져와 백업해 둡니다. 다음으로 UFED는 하위 버전의 응용 프로그램을 넣고 백업을 통해 가져 와서 데이터를 확보 할 수 있습니다. 이 방법은 추가 정보를 위해 "i"를 누를 때 표시되는 마지막 리소스로 사용해야 합니다. 다른 모든 방법을 먼저 시도하십시오. 이 과정이 실패해도 당황하지 마십시오. 도구 메뉴를 통해 앱 데이터를 쉽게 복구 할 수 있습니다. 지원 팀이 필요한 경우 복구 프로세스를 지원할 수도 있습니다.

안드로이드 논리적 추출 (Android Logical) 빠른 추출 방법은 때때로 에이전트를 사용하여 데이터를 가져옵니다. 논리적 추출을 통해 미디어 파일, 통화, SMS / MMS 및 일부 타사 응용 프로그램을 확인할 수 있습니다. 통화 로그 및 문자 메시지는 일반적으로 데이터를 삭제하지 않고 추출 할 수 있는 항목 수 (일반적으로 500 건으로 제한)에 제한이 있습니다.

최신 운영 체제가 설치된 최신 장치에서는 웹 브라우저 기록, 타사 응용 프로그램 (예 : Facebook, Snapchat 및 WhatsApp)에 액세스 할 수 없습니다 . 삼성 기기에 대해서는 약간의 트릭이 있으므로 계속 읽고 "Magic Extraction"을 살펴보십시오.

고급 논리적 추출 (Advanced Logical) 이 기술은 논리 및 파일 시스템 추출 (ADB 백업)을 결합합니다. 이를 통해 개별적으로 수행되는 작업을 결합하여 시간을 절약합니다.


파일 시스템 (File System) 이 추출 방법은 일반적으로 ADB 또는 백업을 통해 파일 시스템 데이터를 가져옵니다. 이것은 사용자가 액세스 할 수 있는 데이터로 제한되므로, 높은 권한 없이는 많은 데이터를 얻지는 못할 것입니다.

부분 파일 시스템 (Partial File System) 이 방법은 잠긴 장치까지 부분 추출을 수행합니다. 몇 가지 제한 사항이 있지만 이 방법은 암호를 구문 분석 / 디코딩 한 다음 해당 암호를 사용하여 장치의 잠금을 해제 할 수 있는 구형 장치를 다룰 때 유용 할 수 있습니다.

추가 보안 구현이 추가됨에 따라 HashCat과 같은 외부 도구를 사용하여 화면 잠금 암호를 무차별 해제하는 기능은 Android 6 부터 작동하지 않습니다. 


파일 시스템 부트 로더(File System Boot Loader) (권장) 이 작은 숨겨진 보석은 종종 간과됩니다. 이 유형의 추출을 통해 사용자는 추출 할 응용 프로그램을 선택할 수 있습니다. 높은 권한을 가지기 위해 부트 로더가 필요합니다.

조사관이 용의자와 WhatsApp으로 대화를 하며 즉각적인 정보를 확보하는 것이 필요할 때 매우 유용 할 수 있습니다. 그러나 나머지 데이터를 확보하기 위해 항상 전체 추출을 수행하는 것이 좋습니다.

전체 파일 시스템 (Full File System) 이 방법은 일반적으로 파일 기반 암호화 (FBE) 장치의 전체 활성 파일 시스템에 적합합니다. FBE 장치에서 FFS를 수행하려면 암호를 알아야 합니다. FBE 장치를 다룰 때 이 방법이 가장 풍부하고 완전한 유형의 추출이 가능합니다. 이론적으로 FBE 장치의 물리적 추출은 가능하지만 암호화가 작동하는 방식으로 인하여 할당되지 않은 공간에서 사용 가능한 정보를 복구하는 것은 매우 어렵습니다.

물리적 추출 (Physical Extraction) 이 방법은 장치의 전체 메모리 범위를 다룹니다. 물리적 추출을 얻는 방법에는 여러 가지가 있습니다. Bootloader, Decrypting Bootloader (암호화 된 장치의 경우), 루팅 된 장치 등을 통해 수행 할 수 있습니다. 사용되는 방법에 따라 존재하는 특정 제한 사항 (OS, 보안 패치 레벨)이 있습니다.


  • Physical (Rooted) : 가장 이상적인 포렌식 방식. 모든 권한을 가진 상태로 장치가 세팅 되는 경우입니다. 만약 이렇게 루팅 된 장치가 사무실에 들어온다면 복권을 사십시오.

  • 부트 로더 (BootLoader) : 데이터를 추출 할 수 있는 높은 권한을 부여받기 위해 장치에 사용자 정의 파일을 임시로 플래시 합니다. 대부분의 부트 로더는 특정 칩셋 (Kirin, Exynos, Qualcomm 등)을 위해 특별히 설계되었습니다. 최신 장치에서는 암호화 기능이 작동하므로 Decrypting Bootloader Option을 사용해야 합니다.

  • Smart ADB : 이 방법은 잠금 해제 된 구형 장치에서 실행 가능하며 OTG가 필요합니다. OTG 케이블을 통해 연결된 MicroSD 카드 또는 USB 드라이브에 쓸 수 있는 옵션을 제공합니다.

  • 고급 ADB (Advanced ADB) : 이 옵션은 잠금 해제 된 장치에서 높은 권한을 얻는 또 다른 방법입니다. 이 방법은 오래 되었지만 일부 구형 장치에서는 계속 사용할 수 있습니다.

  • 비상 다운로드 모드 (EDL)와 같은 기타 고급 방법




이제 Android 기기를 추출하는 일반적인 방법을 살펴 보았으므로 추가 정보에 액세스 할 수있는 다른 기능을 살펴 보겠습니다.

안드로이드 일반 (Android Generic) : Android Generic은 물리적, 고급 논리 및 파일 시스템 추출을 시도하는 모든 Android 기기에서 데이터 추출을 시도합니다. 물리적 추출의 경우 추출이 성공하려면 장치를 루팅해야 합니다.


“Magic Extraction ”추출 – 예, 마법입니다. Samsung을 논리적으로 추출하는 동안 추가 애플리케이션 데이터 (파일)를 추출하는 옵션이 제공 될 수 있습니다. 이 옵션이 나타나면 사용하십시오! 이렇게 하면 운영 체제 및 개발자가 설정한 제한이 제거됩니다.


추천 프로필 (Suggested Profile) 특정 모델을 찾고 있을 때 추천 프로필이 나타납니다. UFED에는 다양한 장치 및 해당 프로세서의 레코드 데이터베이스가 있습니다. 이 데이터베이스를 토대로 사용할 프로필을 제안 할 수 있습니다.

예를 들어 LG K4 M151 장치가 있고 이 프로필을 검색했다고 가정해 보겠습니다. 이 장치는 널리 지원되는 칩인 MSM8909 Qualcomm 칩을 실행 중이므로 UFED는 EDL의 추출 옵션을 제안합니다. 이것은 제안 프로필 일 뿐 실제 작동하는 것으로 확인 된 것은 아닙니다.

이 경우엔 MSM8909가 광범위하게 지원되므로 해당 장치에서 EDL 추출을 수행하는 데 아무런 문제가 없습니다.

일반 프로필 (Generic Profiles) 때로는 일반적인 접근 방식을 취해야 합니다. 특정 모델이 아닌 특정 칩셋 유형 또는 공급 업체에 기대할 수 있는 일반적인 추출 방법이 있습니다. 추출을 위한 많은 옵션이 수년 동안 가능했지만 암호화가 다양해짐에 따라 점점 더 어려워지고 있습니다.

MTK 및 Qualcomm Live : 2020 년에도 Cellebrite의 R & D 그룹은 정말 놀라운 일들을 해냈습니다. MTK Live와 Qualcomm Live를 출시했습니다. 이는 전체 파일 시스템을 얻거나 해당 칩셋을 실행하는 장치를 물리적으로 추출 할 수 있는 기능을 제공합니다. 이러한 프로세스가 작동하려면 장치의 잠금을 해제하거나 암호를 알아야 합니다. 화면 잠금을 우회 하지 않습니다. 이 글을 쓰는 시점에서 Qualcomm Live는 Samsung 또는 Huawei를 지원하는데 제한이 있지만 계속 지켜봐 주시기 바랍니다.


다른 고급 추출 방법 EDL – 비상 다운로드 모드. 특정 Qualcomm 프로세서 칩셋은 장치의 물리적 추출을 위해 사용 될 수 있는 취약점이 있습니다. 이것은 고급 수준(Advanced)의 추출이며 Scott Lorenz가 수행 한 문서 및 웹 세미나를 검토하는 것이 좋습니다.

웨비나 : 고급 EDL 방법으로 안전하게 디지털 증거 추출 (in English) 웹 세미나 : EDL을 사용하여 암호화 된 모바일 장치 증거에 액세스 (in English)

결론 사용 가능한 참조 안내서를 최대한 사용하십시오. UFED에는 도움이 필요한 경우 볼 수 있는 훌륭한 추출 안내서가 있습니다. 다루는 장치, 사용하는 칩 및 사용 중인 암호화 유형을 알면 추출 계획을 구성하고 실행하는 데 큰 도움이 될 것입니다.

조회수 802회댓글 0개

최근 게시물

전체 보기