반응형
포렌식 환경 구축 절차
1. 깨끗한 포렌식 환경 준비
- 새로운 또는 포렌식적으로 깨끗한 컴퓨터 환경에서 시작
- 기기 접속 시 필요한 기본 소프트웨어 설치
- 기기에 대한 적절한 접근 권한 확보
- 기기에 명령을 내릴 준비
2. 안드로이드 소프트웨어 개발 킷(SDK) 설치
- 안드로이드 애플리케이션 개발 및 테스트를 지원하는 도구 모음
- SDK 구성 요소:
- 소프트웨어 라이브러리, API
- 개발 및 디버그 도구
- 에뮬레이터 및 참고 자료
- 새로운 애플리케이션 생성 및 테스트에 활용
3. 안드로이드 가상 기기(AVD) 설정
- 안드로이드 SDK 설치 시 에뮬레이터를 통해 가상 기기 생성 가능
- 애플리케이션이 실제 기기에서 어떻게 동작하는지 사전 이해에 도움
- 개발 단계에서 테스트용으로 주로 활용
4. 안드로이드 기기 포렌식 워크스테이션 연결
- 오픈소스 도구를 통한 포렌식 수집을 위해 기기를 깨끗한 포렌식 워크스테이션에 연결
- 실제 증거 수집 전에 테스트 기기에서 검증 절차 필수
- 필요 요소:
- 기기와 워크스테이션 간 연결 케이블 확인
- 드라이버 설치 및 연결 상태 점검
5. 안드로이드 기기 연결 및 접근
- USB 케이블을 이용해 안드로이드 기기를 컴퓨터에 연결
- 연결된 기기에 접근할 수 있도록 필요한 설정 완료
6. 안드로이드 디버그 브릿지(ADB) 사용
- ADB(명령행 도구)를 이용해 기기와 통신 및 제어 가능
- 설치 위치: <sdk>/platform-tools/
- ADB 설정 절차:
- USB 디버깅 모드 활성화
- 올바른 USB 케이블 사용해 기기를 포렌식 워크스테이션에 연결 후 ADB 시작
7. 안드로이드 기기 제어 설정
- 포렌식 과정 중 안정적 제어를 위한 필수 설정:
- USB 디버깅 활성화
- 화면이 꺼지지 않도록 "켜진 상태로 유지(Stay Awake)" 설정 활성화
- 화면 타임아웃 설정 증가 (기기 수집 과정 동안 화면 유지)
화면 잠금 우회 기법
1. 화면 잠금 종류
- 널리 사용되는 잠금 방식:
- 패턴 잠금
- PIN 코드
- 패스코드 (알파벳과 숫자 조합)
2. ADB를 사용한 스크린 잠금 우회
안드로이드 기기에서 USB 디버깅 옵션이 활성화되어 있을 경우, ADB를 사용해 스크린 잠금을 우회하는 방식.
2-1. gesture.key 파일 삭제
- USB 케이블을 통해 안드로이드 기기를 포렌식 워크스테이션에 연결.
- 명령 프롬프트에서 다음 명령 실행
adb.exe shell cd /data/system rm gesture.key |
3. 기기를 재부팅하여 잠금 해제
2-2. settings.db 파일 업데이트
- USB 케이블을 사용해 포렌식 워크스테이션에 기기 연결
- 명령 프롬프트에서 다음 명령 실행
adb.ex은 shell cd /data/data/com.android.providers.settings/databases sqlite settings.db sqlite>update system set value=0 where name= ’lock_pattern_autolock’; sqlite>update system set value=0 where name= ’lockscreen.lockedoutpermenantly'; |
3. SQLite 세션 종료 후 기기 재부팅.
4. 잠금 해제된 경우 gesture.key 파일 삭제 권장.
3. 수정된 복구 모드 및 ADB 연결 확인
- 복구 모드: 안드로이드의 복구 파티션에 접근해 사용자 데이터를 초기화하거나 업데이트 설치가 가능.
- 복구 파티션 플래싱: 새로운 복구 파티션을 설치하여 기본 복구 모드를 대체.
- 다양한 포렌식 접근 시도가 실패한 경우, 커스텀 복구 모드로 기기 제어 가능.
4. 스머지(Smudge) 공격
- 잠금 패턴이 화면에 남은 지문이나 자국을 통해 추론하는 방식.
- 기기 화면에 남은 패턴 자국을 활용해 잠금 해제 가능성 평가.
- 보통 화면 잠금을 사용한 기기에서 발생하는 유효한 잠금 우회 방법.
5. 기본 Gmail 계정 활용
- 기기에서 설정된 Gmail 계정의 사용자 아이디와 비밀번호를 알고 있을 경우:
- 패턴 혹은 패스워드 분실 시 Google 계정을 통한 잠금 해제 시도 가능.
6. 루트 권한 획득
루팅을 통해 안드로이드 기기에 대한 완전한 관리자 권한을 얻는 방법.
6-1. 루팅의 정의
- 루트: 유닉스 기반 운영체제에서 최고 관리자 계정.
- 루트 권한: 리눅스에서 루트 사용자가 시스템 서비스를 제어하고 모든 파일 수정 및 삭제 가능.
6-2. 안드로이드 기기 루팅 과정
- 기기의 펌웨어 보안 취약점을 공격해 바이너리를 기기 경로에 복사하고 chmod 명령어로 실행 권한 부여.
6-3. 루팅의 장점
- 소프트웨어 깊숙한 수준까지 접근 가능.
- 통신사, 제조사 제약 우회 가능.
- 커스터마이즈된 ROM 설치 가능.
6-4. 루팅의 단점
- 잘못된 루팅 과정으로 인해 기기가 벽돌 상태로 변할 위험 존재.
- 루팅으로 인해 제조사 및 통신사 보증 상실 가능.
- 보안 수준이 약화되어 멀웨어 공격 위험 증가.
7. 복구 파티션 플래싱
- 기기의 기본 복구 파티션을 커스텀 복구 파티션으로 대체하는 방식.
- 포렌식 분석을 위해 커스텀 복구 모드를 사용하면 보안 설정을 우회하여 기기 접근 가능.
주의사항
- 모든 포렌식 작업은 법적 절차와 적절한 승인에 따라 수행되어야 하며, 해당 기기의 데이터 무결성과 보안 유지 필요.
- 잠금 우회 기법은 조사 목적으로 사용되어야 하며, 개인 정보 보호와 법적 준수 필수
반응형
'학회_공부해요 > 모바일포렌식' 카테고리의 다른 글
안드로이드 데이터 추출 기법 (1) | 2024.11.12 |
---|---|
3주차 퀴즈 (0) | 2024.11.05 |
안드로이드의 이해 (0) | 2024.11.05 |
모바일 포렌식 입문 (7) | 2024.10.08 |
모바일 포렌식 분석 (2) | 2024.10.01 |