Modular construction is the way to go for ESG practices

Modular construction is the way to go for ESG practices

요새 리뷰할 논문은 Forensic Science International Digital Investigation Volume 46에 기록된 Assessing data remnants in modern smartphones after factory reset 입니다. 포렌식 데이터 복구 기술로 공장 초기화된 이용자 데이터를 복구할 수 있는 취약성을 고려하여 스마트폰 제조업체들은 암호화와 같은 보안 대책을 적용하기 시작했다. 본 논문에서는 Android 11 및 12 환경에서 데이터 생성과 공장 초기화 후의 데이터 추출 간의 차이를 비교하여 조사합니다.

실험 결과 모든 데이터가 공장 초기화 상태로 재설정되는 것은 아니기 때문에 암호화된 데이터 일부분은 여전히 바이너리 형태로 접근 가능했다.


Results
Results

Results

이 절에서는 실험 결과에 대해 서술했다. Google Pixel 3a 위 표는 Google Pixel 3a의 실험 중 어떤 시점에서 어떤 파티션이 수정되었는지에 대해 보여줍니다. 대부분의 파티션이 실험 중 어떤 시점에서도 수정되지 않았습니다. klog 파티션은 Android 11에서는 편집 사항이 없었으나 Android 12에서는 공장 초기화 후에도 데이터가 남아 있었습니다. 이 파티션의 처음 2048KB는 거의 바이트 당 8비트의 엔트로피를 갖고 있어 암호화된 데이터일 가능성이 높다.

하지만 다음 42KB에는 몇몇 평문 로그가 포함되어 있었습니다. 이 로그는 UEFI 업데이트 로그로 보이며, fastboot 장치가 연결되었고 6,710,8864B가 다운로드되었다는 내용도 기록되어 있습니다. 그림 3은 Klog의 데이터를 보여줍니다.

Methodology
Methodology

Methodology

이 절에서는 실험 방법에 대해 서술했다. 실험에는 2개의 Google Pixel 3aAndroid12, 11 와 1개의 Xiaomi Redmi 9Android 11 이 사용되었습니다. 해당 이미지들은 공장초기화 후 Magisk 25.0으로 루팅 되었습니다. Google Pixel 3a Xiaomi Redmi 9 Android 기기에서 공장 초기화 후에 남아 있는 데이터를 분석하기 위해 다음과 같은 실험이 진행되었습니다.

먼저 공장 초기화 상태의 기기에서 데이터 추출을 진행하고 이후 기기에 데이터를 생성했다. 그 후 데이터가 만드러진 기기의 데이터를 추출하고 공장초기화를 진행합니다. 마지막으로 공장초기화된 기기의 데이터를 추출했다. 디바이스가 다시 초기화된 후에는 최초 초기화 이후 이미지를 가져와서 다른 이미지들과 비교했다.

Android Imaging

이 절에서는 안드로이드 내부에서 데이터를 추출하는 여러가지 방법을 소개합니다. Joint Test Action Group JTAG 방법은 메모리 칩에서 직접 raw 비트를 읽는 것으로 칩을 물리적으로 직접 연결하여 데이터를 추출합니다. 하지만 기기를 물리적으로 분해하는 것이 불가능한 경우, 스마트폰 자체에 있는 도구를 사용하거나, Android 기기와 통신하기 위한 방법인 Android device bridge adb를 통해 할 수 있어요.

포렌식적인 관면에서는 데이터를 추출할 때 믿을만한 도구를 사용하여야 합니다. 여러가지 상업적인 도구가 존재하며, UFED, XRY, Oxygen Forensic Detective, GrayKey 등이 있습니다.

Android Reset

이 절에서는 Android 초기화 과정에 대해 설명합니다. 안드로이드 기기를 초기화하는 여러가지 방법이 있지만, 일반적으로 사용자는 설정 메뉴에서 제공하는 모든 데이터 공장 초기화 옵션을 사용합니다. 이 기능은 스마트폰 내부 저장소에서 모든 데이터를 지운다고 설명하고 있으며, 이 기능이 본 논문에서 탐구출하는 기능입니다. 초기화 버튼이 눌린 후 RevoverySystem에 장치를 지우는 rebootWipeUserData 함수 요청을 보낸다.

하지만 이 함수 주석에는 공장 초기화는 시스템 파티션을 공장 상태로 복원하지 않기 때문에 약간의 오해가 있는 표현이라고 언급되어 있습니다. 리커버리 모드로 부팅할 때 이 명령의 인자는 부트로더 컨트롤 블록BCB에 기록되어 실패 시 프로세스를 재시작하도록 합니다. 데이터를 지우는 명령이 유효하면 WipeData가 호출됩니다.

Conclusion

스마트폰은 많은 양의 민감한 정보를 저장할 수 있기에 소유자가 데이터 삭제를 원한다면 삭제할 수 있는 것이 중요합니다. 공장 초기화라는 방법이 있지만 이 연구 결과처럼 Android 11 및 12 기기에서 암호해독 키를 획득한 경우 초기화해도 이용자 데이터를 복구 할 수 있어요. 또한, 다른 파티션에서 지워지지 않는 시스템 데이터가 일부 존재했으며, 이를 통해 장치가 어떠한 방안으로 사용되었는지에 대한 정보를 추론할 수 있었습니다.

하지만 과거 기기와 비교했을 때 최신 스마트폰에서는 포렌식 관점으로 데이터를 추출하는 것은 어려워진 것이 확실합니다.

자주 묻는 질문

Results

이 절에서는 실험 결과에 대해 서술했다. 더 알고싶으시면 본문을 클릭해주세요.

Methodology

이 절에서는 실험 방법에 대해 서술했다. 궁금한 내용은 본문을 참고하시기 바랍니다.

Android

이 절에서는 안드로이드 내부에서 데이터를 추출하는 여러가지 방법을 소개합니다. 좀 더 구체적인 사항은 본문을 참고해 주세요.