안녕하세요. 도깬리 포렌식스 입니다.
오늘은 루팅(Rooting)에 대해 알아보겠습니다. 모두 화이팅 하세요!!!
Rooting
iOS에서의 ‘탈옥(jailbreaking)’과 비슷한 개념입니다.
루팅(rooting)은 디바이스의 시스템 파일에 대한 ‘root’레벨 또는 상위 사용자 권한을 획득하는 것 입니다.
기본적으로, Android는 대부분의 핵심 저장소(/data/)를 잠금 해둡니다.
따라서, SMS 데이터베이스와 같은 조사에 중요한 파일을 획득하기 위해서는 이러한 제한을 회피하거나 제거하여야 합니다.
그림참조 : https://www.nextpit.com/how-to-root-your-device-without-voiding-the-warranty
root level process는 일반적으로 보안 취약점 공격(security exploit)을 이용하여 서명되지 않거나 맞춤형 코드를 실행함으로써 이러한 권한을 상승시킬 수 있습니다.
이런 것을 수행하는 표준화된 방법은 없습니다. 왜냐하면 취약점이라는 것은 하나의 디바이스 안에 특정한 하드웨어를 기반으로 하기 때문입니다.
만약 디바이스가 최종 사용자나 제3의 도구에 의해 루팅이 된다면, SuperSU와 같은 secondary gateway 어플리케이션이 될 수 있습니다.
SuperSU : 루트 접근을 원하는 어플리케이션에 대한 permission manager로써 기능을 합니다.
root에는 2가지 형태가 있습니다.
shell root
임시 root 입니다
디바이스가 재부팅될 때 까지만 유지됩니다.
이런 유형의 root는 좀더 ‘포렌식적으로 안전한(forensically sound)’ 것으로 간주되기 때문에 포렌식 분야에서 가치를 인정받고 있습니다.
다만 제3의 해커나 개발자들에 의해 개발이 덜 된 측면이 있습니다.
왜냐하면 대부분의 최종 사용자들은 디바이스를 사용하는 내내 root를 유지하는 것을 원하기 때문입니다.
permanent root
제3의 루팅 기술에서 훨씬 더 잘 알려진 기법입니다
예) KingRoot, KingoRoot, PingPong Root, StumpRoot 등등
이런 도구들은 특정 디바이스, 특정한 운영체제 버전을 위해 만들어졌고 해당 디바이스의 파일시스템에 오래 지속되고 상당한 변경을 초래할 수 있습니다.
상당수의 root level 취약점 공격 도구들이 기본적으로 쓰기 방지가 된 시스템 파티션에 파일을 두려고 합니다.
이런 것을 하기 위해, 그것은 먼저 해당 디렉토리에서의 퍼미션 변경을 시도합니다.
만약 어떤 포렌식 도구가 자동으로 root를 획득할 수 없다면, 포렌식 조사자는 직접 스스로 취약점 공격(exploit)을 시도할 필요가 있습니다.
처음 시작은 개발자 포럼과 웹사이트(http://xda-developers.com)를 이용하는 것이 좋습니다.
모든 써드 파티 루팅 도구들이 모든 포렌식 과정을 염두에 두고 개발된 것은 아니라는 사실을 알고 있어야 합니다.
그것은 디바이스에서의 정보를 영구삭제하거나 변경할 수 있으며 사건에서 증거로 사용하기 이전에 테스트 디바이스에서 시험되고 검증되어야 합니다.
AXIOM은 2가지 방법 중 하나를 사용하여 디바이스에 대한 shell rooting을 시도할 것 입니다.
이러한 방법은 안드로이드 버전 4.4.2 까지의 보안 취약점(security exploits)을 목표로 할 것 입니다.
이것 이상의 모든 버전은 현재 AXIOM으로 루팅되지 않을 것 입니다.
AXIOM은 오로지 Shell root가 안전하게 이루어질 때만 루팅을 시도할 것 입니다.
그것은 영구적으로 루팅하는 것이 아님을 의미합니다.
AXIOM은 성공한 것에 대해서는 어떤 방법론이 시도되었는지 로깅합니다.
만약 디바이스가 AXIOM에 의해 루팅되지 않았다면, 이미징을 위해 AXIOM으로 다시 돌아가기 전에 써드 파티 도구를 사용해 볼 수 있습니다.
AXIOM Process가 디바이스에 가한 루팅을 제거하기 위해서는 단순히 재부팅하기만 하면 됩니다.
Artifacts in a Full Image
AXIOM에 의한 Full Image 획득은 안드로이드 디바이스에서의 각 파티션을 이미징하게 합니다.
이들 각각의 파티션은 전체 이미지 .raw 파일에 추가될 것 입니다.
대부분의 데이터는 userdata 파티션에서 나오는 반면, 다른 중요한 파티션으로 조사자가 검토해야 할 것은 다음과 같은 것이 있습니다.
- system
- cache
- recovery
AXIOM Examine에 로드되면, 파티션이 확장되고, 추가적인 다음과 같은 아티팩츠가 생성됩니다.
/data/app/
설치된 어플리케이션(APKs)에 대한 저장 공간입니다.
/data/app-private/
제조사/통신사에 의해 미리 설치된 어플리케이션을 위한 저장 공간입니다.
/data/data/
주요 사용자 데이터 저장 공간입니다.
/data/system/
핸드셋 잠금과 다른 보안 정보에 대한 저장 공간입니다.
/data/media/
내부(internal) 또는 에뮬레이트된(emulated) MicroSD 스토리지에 대한 마운트 지점 입니다.
/data/misc
Wi-Fi 프로필과 같은 로그를 위한 저장 공간입니다.
/data/user
디바이스에서의 모든 사용자에 대한 목록입니다.
/system/app-private
미리 설치된 어플리케이션을 위한 또 다른 저장 공간입니다.
/system/app
안드로이드 디바이스 메모리는 여러 개의 파티션으로 나뉘어져 있습니다. 디바이스가 얼마나 많은 파티션을 만들 수 있는가에는 제한이 없습니다. 이것은 일반적으로 디바이스마다 다릅니다. 디바이스에서 발견되는 일반적인 파티션은 다음과 같습니다.
- Data (Userdata)
- System
- Recovery
- Cache
- Modem
- Boot
- Etc
물리적 이미지는 일반적으로 이러한 각각의 파티션을 포함하는 전체 메모리 이미지를 획득하는 것 입니다.
Magnet Acquire는 디바이스에서의 모든 파티션을 포함하는 dd 명령어를 이용하여 하나의 단일한 이미지 파일을 획득합니다.
감사합니다. 오늘도 즐거운 하루 되세요.
"좋아요"와 "구독하기"는 힘이 됩니다.
참고문서 : Magnet AXIOM Examinations (AX200)
'AXIOM' 카테고리의 다른 글
[AXIOM] 클라우드 아티팩츠 분석기능 (2) (0) | 2023.04.30 |
---|---|
[AXIOM] 클라우드 아티팩츠 분석기능 (1) (0) | 2023.04.27 |
[AXIOM] 모바일 아티팩츠 분석기능 (8) (0) | 2023.04.21 |
[AXIOM] 모바일 아티팩츠 분석기능 (7) (0) | 2023.04.19 |
[AXIOM] 모바일 아티팩츠 분석기능 (6) (0) | 2023.04.17 |