일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 삼성전자 소프트웨어멤버십 SSM
- 인공지능
- hopfield network
- 빅데이터
- 패턴인식
- 증강현실
- 신경회로망
- Neural Network
- 구글 앱 엔진
- SSM
- 멤버십
- Python
- 신경망
- 패턴 인식
- Google App Engine
- 삼성
- 물걸레로봇청소기추천
- 동아리
- Bidirectional Associative Memory
- 갤럭시탭S8울트라
- 파이썬
- 나르왈프레오
- 삼성소프트웨어멤버십
- 가상화
- 고려대학교
- Friendship
- 물걸레자동세척로봇청소기
- NarwalFreo
- 하이퍼바이저
- BAM
- Today
- Total
정보공간_1
[4기 수원 전낙현] 안드로이드 기반 디바이스의 디지털 포렌식 #1 본문
우리(개발자)에게 아직은 생소한 Digital Forensic에 대한 이야기.
위키에서는 디지털 포렌식을
"컴퓨터 범죄와 관련된 기기에 있는 자료들의 복구 및 조사를 포함한 법의학의 한 분야이고 최근에는 디지털 데이터를 저장할 수 있는 모든 장치의 조사를 포함하는 포괄적인 용어로 확장되었다."
으로 설명하고 있습니다. 우리는 디지털 정보를 빼고는 설명할 수 없을만큼 정보화된 사회에 살고 있으며 우리들 조차도 모두 정보로 표현되고 있습니다. 예를들면, 우리는 주민등록번호라는 13자리 숫자로 우리나라의 모든 사람을 식별할 수 있고 은행에 저장된 몇자리의 숫자만으로 우리의 재산을 알 수 있습니다. 범죄를 조사할 때에도 디지털 정보를 빼놓고는 조사할 수 없을만큼 디지털 정보의 가치는 어마어마합니다. 최근에 뉴스에서 많이 볼 수 있는 검찰조사에서도 압수수색영장을 가지고 컴퓨터나 태블릿등 디지털 기기를 압수하는것을 흔히 볼 수 있습니니다. 이처럼 저장되어있는 디지털 정보 혹은 삭제된 디지털 정보를 복구하고 수집하여 조사하는 모든 분야를 통틀어 디지털 포렌식이라고 합니다.
디지털 포렌식이 중요한 이유는 앞서 설명하였지만, 사실 이해가 안가는 부분이 많을것 같습니다.
제가 제일 많이 받았던 질문중 하나는 정보를 복구하고 수집하는것은 다른말로 해킹이 아니냐는 질문이었습니다.
결론부터 말씀드리면, 맞습니다.
하지만, 경찰이 사격을 배우는것도 우리를 지키는 일이 될 수 도있지만 악용한다면 사람을 살인하는 기술인것과 디지털 포렌식도 마찬가지 입니다. 악성코드도 큰 범주안에서는 악의적인 역할을 하는 프로그램으로 설명할 수 있는것 처럼요.
이번 포스팅에서는 우리가 흔히 사용하는 안드로이드 기반의 디바이스에 대한 디지털 포렌식을 이야기 해보자 합니다.
사실 이번포스팅에서 제가 소개해드릴 내용은 기술적인 부분보다는 디지털 포렌식의 관점에서는 안드로이드를 어떤식으로 바라보고 있으며, 포렌식의 관점에서는 어떠한 정보들이 중요하고 유용한지에 대한 내용입니다.
또한, 우리에게 친숙한 안드로이드 기반의 디바이스로부터 접근하여 디지털 포렌식이라는 분야를 알리는데에 의의가 있음을 말씀드리고 시작하겠습니다.
※디지털 포렌식은 법적으로 굉장히 민감한 부분입니다. 본 포스팅은 법적으로 활용될 증거를 수집하는것이 아닌, 디지털 포렌식에 대하여 소개하는 내용임을 먼저 알려드립니다.
한 대의 안드로이드 디바이스가 만들어 지기까지는 하드웨어에 리눅스기반의 안드로이드 플랫폼이 들어가있고 그 위에 어플리케이션, 또한 부가적인 장치(카메라, SD 카드등..)까지 매우 많은 것들이 탑재됩니다.
반대로 이야기하면 우리가 안드로이드를 포렌식 하기위해서는 이 많은것들을 모두 분석해야한다는 이야기 입니다.
하나하나 나열해보면 CPU, 모뎀, 메모리(RAM, NAND 플래시), GPS, WIFI, Bluetooth, 각종 센서, 스피커, 마우스, 카메라, 리눅스, File system(EXT, FAT32, VFAT, YAFFS2, 어플리케이션등)에 안드로이드가 탑재되는 디바이스들(TV, 네비게이션, 스마트폰, 테블릿, 자동차등..)까지 수 없이 많은 것들이 있습니다.
따라서 우리가 안드로이드 디바이스에 대한 포렌식을 진행할때는 조사에 유형에 따라서 초점을 맞출 부분을 명확하게 해서 해당하는 부분이 요구하는 기술에 대하여 먼저 생각해봐야 합니다.
이번 포스팅에서는 많은 조사유형마다의 경우를 생각할 수 없으므로 큰 분류로나마 간략하게 설명해 드리겠습니다.
JTAG와 Chip-off(물리적인 방법)
대부분의 안드로이드 디바이스는 NAND 플래시의 내용을 암호화하지 않기 때문에 메모리 칩에 직접 접근해서 내용을 디코딩할 수 있고, 그것을 이용해서 잠재적으로 패턴락등을 회피 및 크랙하는것이 가능합니다. 칩에 직접 접근하는 기술에 대표적인 것은 JTAG와 Chip-off가 있습니다. 두 가지 방법은 모두 기기를 분해해야해서 논리적인 포렌식 방법이 힘들때 보통은 마지막으로 선택하는 방법입니다.
JTAG은 PCB상에서 안드로이드 디바이스의 CPU를 JTAG 패드와 직접 연결해서 JTAG 소프트웨어로 직접 NAND 플래시의 바이너리 메모리 덤프를 수행하거나 루트 권한을 얻을 수 있습니다.
Chip-off는 NAND 플래시를 직접 물리적으로 추출하는것으로 쉽지 않을 기술이기 때문에 보통을 잘 쓰지 않는 방법입니다.
대용량 저장장치
안드로이드는 저장 공간을 제공하기위해 SD카드나 eMMC(Embedded MultiMEdiaCard)를 장착합니다. 이러한것들은 USB 대용량 저장소(UMS)를 분석하는 방법으로 비교적 쉽게 분석할 수 있습니다. 이 부분에서는 사용자의 노래, 사진, 비디오파일, 외부 저장장치를 사용하는 어플리케이션 데이터등을 분석할 수 있습니다.
논리적인 포렌식 기술
ADB Pull을 이용하여 백업용 어플리케이션을 설치하는 방법으로도 포렌식을 수행할 수 있습니다. 또한 상업용 안드로이드 포렌식 소프트웨어등으로도 포렌식을 수행할 수 있습니다.
이번 포스팅은 포렌식에 대한 내용과 안드로이드 포렌식에 대한 전반적인 내용이 었는데요. 직접 포렌식을 수행하는 기술적인 내용보다는 포렌식에 대한 내용이 되었는데요. 다음 포스팅에서는 실제로 안드로이드 디바이스의 포렌식을 진행하는중에 필요한 안드로이드 패턴락의 패턴을 크랙하는 내용이 되겠습니다.
'IT 놀이터 > Elite Member Tech & Talk' 카테고리의 다른 글
[4기 수원 전낙현] VS 2013 #1 (0) | 2013.12.02 |
---|---|
[4기 수원 전낙현] 안드로이드 기반 디바이스의 디지털 포렌식 #2 (0) | 2013.12.02 |
[4기 강북 송용길] Unit test with JUnit(3) (0) | 2013.12.02 |
[4기 신촌 박영웅] Android Application Stealth Update (2) (0) | 2013.12.02 |
[4기 강남 안태형] Java Class Loader #2 (0) | 2013.12.01 |