안드로이드가 한 버전 올라갈 때마다, 조사관은 지도를 다시 그려야 한다 — 안드로이드14 포렌식 첫인상
안드로이드가 한 버전 올라갈 때마다, 조사관은 지도를 다시 그려야 한다 — 안드로이드14 포렌식 첫인상
분류: Security · 모바일 · 디지털포렌식 [정보성]
덱. 디지털 포렌식(사고·범죄 조사를 위해 기기에서 증거를 확보·분석하는 절차) 연구자 Mattia Epifani는 2023년 10월 공개된 안드로이드14를 Pixel 7A에 한 달가량 실제로 써 보면서, 조사관 입장에서 어디에 어떤 증거가 남는지를 항목별로 정리했습니다. 이 글은 원문이 다루는 범위 안에서 “이런 파일에 이런 정보가 있다”는 지도를 요약한 것이며, 이전 버전 대비 정확히 무엇이 바뀌었는지에 대한 체계적인 비교표는 원문 자체도 제공하지 않고 개별 아티팩트를 나열하는 방식입니다(원문 확인 완료).
리드
포렌식 도구와 절차는 특정 안드로이드 버전의 파일 구조·데이터베이스 스키마를 전제로 만들어집니다. 그런데 새 버전이 나올 때마다 파일 이름이 바뀌거나, 저장 위치가 옮겨가거나, 새로운 데이터베이스가 추가되는 일이 조용히 일어납니다. 조사관이 쓰는 파싱 도구가 이런 변화를 반영하지 못하면, 실제로는 기기 안에 남아 있는 증거를 도구가 그냥 지나쳐 버리는 일이 생깁니다. 그래서 새 버전이 나올 때마다 “이번엔 무엇이 어디에 있는가”를 다시 답사하고 지도를 새로 그리는 작업이 반복적으로 필요합니다. 이번 사례는 그 답사 기록입니다.
핵심 사실 요약
원문은 안드로이드14의 사용자 데이터 파티션(userdata) 곳곳에 흩어진 증거를 카테고리별로 정리합니다. 대부분은 SQLite 데이터베이스나 XML/ABX(안드로이드의 바이너리 XML 형식) 형태로 저장되며, 다수는 이미 aLEAPP(안드로이드 포렌식 아티팩트를 자동으로 파싱해 주는 오픈소스 도구) 플러그인으로 지원되고 있습니다.
- 기기 정보·전역 설정.
build.prop(제조사·모델·OS 버전 등 기기 기본 정보),settings_global/system/secure.xml(와이파이·블루투스 온오프, 화면 밝기, 접근성 설정 등), 공장초기화 시점을 알려주는factory_reset관련 파일, 기기 최초 설정 완료 시각이 남는setup_wizard_info.xml등이 이전 버전과 유사한 구조로 존재합니다. - 계정 정보.
accounts_ce.db/accounts_de.db에는 Gmail·WhatsApp·Telegram·Signal 등 기기에 등록된 계정과, 경우에 따라 비밀번호나 토큰까지 함께 남을 수 있다고 설명합니다. 다만 서드파티 앱이 이 공통 저장소에 정보를 남길지는 앱마다 다르므로, 이 파일들은 “출발점”일 뿐 개별 앱의 샌드박스까지 확인해야 완전한 그림이 나온다고 저자는 강조합니다. - 통신 설정. SIM 카드 정보(ICCID·IMSI·통신사명 등)를 담은
telephony.db, 마지막 사용 SIM 정보가 남는checkin.xml, 연결 이력이 남는 와이파이·블루투스 설정 파일들이 정리돼 있습니다. - 설치 앱 이력. 흥미로운 부분은 여기입니다. Play 스토어를 통한 설치·업데이트 이력을 담는 여러 데이터베이스 중
frosting.db(경로·최종 갱신 시각)는 앱을 삭제하면 기록도 함께 지워지는 반면,gass.db(패키지명·버전·APK의 SHA-256 해시)와library.db,install_queue.db,auto_update.db등은 앱을 삭제해도 기록이 남는다고 원문은 명시합니다. 같은 “설치 이력”이라도 파일에 따라 삭제 후 생존 여부가 갈린다는 점은 조사 실무에서 중요한 차이입니다. - 배터리·사용 통계. 배터리 사용량을 기록하는 데이터베이스가 이번 버전에서
battery-usage-db-v9라는 이름으로 바뀌었고, 저자는 이것이 이전 버전들과는 다른 이름이라고 명시적으로 짚습니다(구체적으로 몇 버전에서 무엇으로 바뀌었는지는 ⚠️미확인 — 원문에서 세부 버전 대조까지는 확증되지 않음). 앱 사용 통계(usagestats)는 앱을 삭제한 뒤에도 대략 1년가량 남을 수 있고, 네트워크 사용량 통계(netstats)는 경험적으로 60~90일 정도 보관된다고 저자는 밝힙니다. - 알림·권한 사용 이력. 알림 히스토리는 내용까지 포함해 24시간 동안 저장되지만, 기본으로 켜져 있지 않고 사용자가 직접 활성화해야 기록이 남는다는 점이 지적됩니다. 위험 권한(카메라·위치 등 민감한 권한) 사용 이력은 프라이버시 대시보드 관련 파일에 추적됩니다.
- 최근 실행 화면. 앱별 최근 실행 스냅숏(마지막 화면을 찍은 이미지 포함)이 남는 폴더가 있지만, 이 정보는 앱이 종료되거나 삭제되면 함께 사라진다고 설명합니다.
- ADB 관련. 신뢰된 호스트 목록이 담기는 ADB 키 파일(
adb_keys)도 조사 대상으로 포함됩니다 — 어떤 컴퓨터가 이 기기와 디버깅 연결을 맺었는지 남는 흔적입니다.
짧은 논평
이 카탈로그 자체보다 더 흥미로운 것은 그 이면의 반복되는 구조입니다. 새 OS 버전이 나올 때마다, 조사관은 벤더가 공식 문서로 알려주지 않는 내부 파일 구조를 다시 직접 답사해야 합니다. 이건 사실 취약점 헌팅에서 패치 하나가 나올 때마다 “이번엔 무엇이 실제로 바뀌었는가”를 코드 레벨에서 다시 대조해야 하는 작업과 본질적으로 같은 종류의 노동입니다 — 대상이 취약점이냐 증거 위치냐만 다를 뿐, “이전 지식을 그대로 믿지 않고 매 버전 재검증한다”는 태도가 요구된다는 점은 똑같습니다. 조사 도구(aLEAPP 같은)가 최신 버전을 못 따라가면, 증거는 분명히 기기 안에 있는데도 보고서에서는 존재하지 않는 것처럼 취급되는 위험이 생깁니다. 포렌식의 신뢰성은 결국 이런 지도를 얼마나 자주, 얼마나 정확히 다시 그리느냐에 달려 있습니다.
References / 참고자료
- Mattia Epifani, “A first look at Android 14 forensics” — 이 글이 재구성한 원 분석. Pixel 7A로 한 달간 실사용하며 정리한 안드로이드14 포렌식 아티팩트 위치 카탈로그. https://blog.digital-forensics.it/2024/01/a-first-look-at-android-14-forensics.html?m=1
이 글은 위 원 분석을 우리 관점에서 다시 쓰고 짧은 논평을 더한 정보성 초안입니다. 특정 문장이나 표를 그대로 옮기지 않았으며, 원문에 없는 버전 비교를 새로 만들어 넣지 않았습니다. ⚠️미확인 표시 항목은 발행 전 독립 팩트체크에서 확증·정정되어야 합니다.