kkamagi's story

IT, 정보보안, 포렌식, 일상 공유

DFIR/디지털포렌식 기초

디지털포렌식 기초 강의 메모_비공개

까마기 2020. 12. 11. 11:19
728x90
반응형

 

대학원에서 동기 분이 속성?으로 했던 강의 메모인데.. 급하게 메모하느라 무슨 내용인지 정리가 너무 안되어 있다. 우선 비공개..
 
1. 복습
 
* 디스크복구관련참고
 
- donerdrives : 디스크 내부 부품판매업체
- 국내는 명정보기술
- hddsurgery
헤드암을 들어내는 기술 별도의 부품을 사용해 헤드끼리 붙지 않게 하기 위함
 
* 이미징
 
1:1 이미징
1:2 이미징
 
- 마스터카피
- 워킹카피
 
: 원본자체가 손상이 되어버리면 실제 원본으로 되돌릴 수 없기 떄문에 실제 원본에 대한 손상을 최대한 방지하기 위하여 최초 마스터카피 1, 워킹카피 1 을 유지한 상태에서 워킹카피를 통해 분석 하는 도중 손상되면 마스터카피를 통해 또다른 워킹카피를 이미지하여 분석을 진행한다.
-> 실제 이미징장비를 통해 실습하고 싶음
 
- 이미징 장비
: tableau forensic duplicator
: 포렌식에선는 duplicating이라는 용어를 더 많이 쓴다.
 
삭제 - delete, wiping, raw format
 
완전삭제프로그램으로 삭제 진행 시 wiping 횟수? 특정파일에 대한 컨텐츠에 대한 부분을 0으로 채워넣어야 하는데, 학설로는 0으로 채우더라도 복구할 수 있는 가능성이 있다라고 주장함.
 플래터
데이터가 쓰여지면 0->1 플래터 밑이 0, 위가 1. 가운데 선을 기준으로 덮어씌우는 행위가 일어날 경우 가운데에서 왔다갔다 한다. 비트 단위로..
데이터가 한번이라도 덮어씌워지면 복구할 수 없다.
3,7,35번
bcwipe?
 
 
 
  1. 파일시스템
파일시스템을 구성하는 가장 작은 단위 : 섹터(공장출고 시 부터 쪼개져잇다.)
하드디스크 라벨을 보면 몇백만개 섹터로 이루어져 잇다고 라벨링 되어 있다.
 
 포맷의 사전적 정의 : 파일에 대한 구조를 갖추는 것이며, 파일시스템의 구조를 갖춘다는 의미.
Apple file system : apfs
 
vbr : 볼륨의 메타데이터라고 볼수있다. 볼륨에 대한 정보를 가지고 있기 때문에.
 
 
MBR
bootcode는 분석불가
결국파티션테이블을 분석
파티션테이블 정보
 
모바일 포렌식 관련 기술 교육?
chipoff
jtag
 
뉴익스 자격증
 
 
  • 파일시스템에서 다루는 최소단위 : 클러스터(논리적), 4kb(4096byte)
 
  • vbr 
 
 
  1. fat구조
파일시스템의 기본이 되는 형태, 파일이 저장이 되기 위한 요소를 가지고 구성된 파일시스템. 현존하는 파일시스템을 알기 위해 필수적으로 알아야 할 내용
 
  1. FAT와 Directory entry
fat영역-fat1,fat2(vbr다음) 클러스터 개수 만큼 쪼개진다?
하나의 쪼개진 영역은 32bit=4bytes , 번지수를 나타냄
ex) 목욕탕 락카 키 관리는 fat1,2 이고 락카는 fat32 데이터영역
링크드리스트라는 개념을 쓴다. (파일은 연속성이 있기 때문에)
해당 위치에 다음 영역의 번지수를 명시하여 가리킨다. 파일이 끝나는 영역은 eof(end of file, 0xffffffff) 로 표시,
fat2는 fat1의 복사본이기 때문에 설명 필요 없음
데이터 영역을 파일을 지우면 0값으로 만들어버림(더이상 파일을 사용하고 있지 않다라는 의미)
 
조각된 파일 - 0값으로만들어진 영역에 데이터를 다시 씌울때 연속된 번지수를 지정하는 것이 아닌 중간에 데이터가 있는 부분은 건너뛰고 씌워짐 ex)9,10,11,15,eof
 
클러스터 2번 : 루트 디렉터리에 관한 정보들이 잇음
 
엔트리 ,리스트(ls, dir) : 파일이 시작하는 클러스터 넘버, 사이즈 정보가 디렉터리 엔트리에 저장된다.  엔트리하나에는 32바이트로
클러스터 넘버 확인 방법 -도구로 볼 수 잇다. encase로 보면 좌측하단에 “CL 2” 로 표시
인케이스에서 롱파일네임을 해석해준다.(디렉터리 엔트리)
 
디렉터리 엔트리에 엑세스 시간이 없는데, 이는 엔트리 하나에 32바이트인데 데이터를 저장할 공간이 부족하기 때문
 
  • 파일이 삭제되었을 때 fat영역에서는 0 값 바꾸고  디렉터리엔트리 영역으로 인해? E5 라는 값으로 표시(hex)된다. 삭제했지만 메타데이터가 살아있기 때문에 복구가능하다.
  •  
롱파일네임이 아닐 경우 디렉터리 엔트리 1개만 가지고 표현이 가능
원본파일에 대한 이름 정보를 찾을 수 없기 때문
 
  • 롱파일네임 디렉터리엔트리이고 디렉터리엔트리에 대한 롱파일네임이 잇기 때문에 이름을 완성시킬 수 있다. 
 
슬랙공간 -> 디드라이브의 vbr백업본을 찾으면 그 안에 토탈 섹터 값을 찾으면 그 값만큼 백을 하고 디드라이브의 vbr 및 데이터를 복구 가능.
->인케이스에서 가능.
 
디의 vbr 앞으로 가다 보면 c의 vbr백업본을 찾고 토탈 섹터 값을 찾아 복구가능.
포맷도 그대로 가
 
 
HDD IMAGING IMAGE FILE
 
디가우징 - 자기장을 이용하여 디스크 데이터를 1로 바꾸거나 0으로 바꾸어 버림
디스크 분쇄기 - 디스크 자체를 갈아버림
 
하드디스크 스와핑 : 부품을 그대로 옮겨서 복구하는 방법 - 주로 명정보기술에서 함
모바일에 칩오프라는 기술 - 칩을 드러내서 알콜로 닦고 칩의 모델, 회사명을 확인 후 읽기 위함
            - 칩오프 기술(리젠아이 회사)
 
hard disk duplicating
 
imaging - 하드디스크에 있는 모든 데이터를 파일 형태로 떨구는 것
 
tableau - encase 개발사에서 같이 하고 있음
 
이미징 할 경우
 
1대1
1대2
 
Master copy : 분석용도가 문제가 생길경우 이미징용도(master copy를 이용해서 다시 이미징을 하기 위함)
Working copy : 분석용도
 
디스크 이미징 형태(파일)
dd : raw data (날것의 가공되지 않은 데이터, disk dump) 확장자가 의미가 없다. 가공되지 않은 데이터이기 때문에. text파일도 같이 떨어짐
E01 (encase 형태에서 추출한 이미지의 파일 확장자), E01을 포렌식입장에서 더 권장한다. 파일 자체에 훼손여부를 알 수 있는 정보가 있기 때문에
 
  • Hash Value : Hash algorithm 파일 안에 있는 값들을 특정한 알고리즘에 대입하여 나온 16진수 값이며, Hash 종류 별로 사용하는 알고리즘에 따라 나오는 값과 길이가 다르다.
            - 
 
Structure of E01 File
 
 
dd -> hash를 떠서 txt에 저장 -> raw data를 해쉬 값과 txt에 있는 hash를 비교 -> hash verification
 
데이터블록 64sector씩 쪼갬
 
header 구조를 보면 64sector씩 쪼갠 데이터 블록이 있고 그 뒤에 CRC 헤더가 있는데 데이터블록에 대한 오류검증을 하기 위함이며 이를 알려주는게 encase tool에서 어느 섹터가 문제인지 알려준다. raw data는 그렇지 않음.
 
 
 
FILE SYSTEM
 
메타데이터와 파일 컨텐츠(내용)은 다른 영역이다.  같은 내용의 다른 이름의 파일일 경우 hash 값은 동일하다. 
디스크 전체에 대한 해쉬값(원본)과 이미징 파일의 해쉬 값(사본)이 같은지 파일 안에 들어있는 실제 데이터에 대한 해쉬값을 판별
 
 
HDD 구조
  • 파티션
  • 볼륨=드라이브
 
포맷을 할경우 파일시스템이 생성됨
ex) 리눅스 디스크 추가 또는 파티션 추가/생성 시 먼저 파일시스템을 생성한다. (mkfs) -> fdisk 
 
Master Boot Record
Volume Boot Record : 매 파일시스템마다 가지고 있는 것이 VBR -> 
 
-> MBR Structure
 
파티션 시작 주소와 사이즈를 알면 데이터를 읽어올 수 있다..
파티션 테이블이 가지고 있는 정보
VBR이 가지고 있는 정보 : 용량, 파일시스템종류, 할당단위크기(클러스터, 블록)
  • 클러스터 (파일시스템의 최소단위)
        -512Bytes보다 적어질 수 없다. 디스크의 최소단위인 섹터는 공장에서 제조할때 부터 쪼개져서 오기 때문에.
        - 4096 Bytes
파일시스템이 존재하는 이유는 파일시스템안에 존재하는 파일들을 관리하기 위함이며, 목적은
 
 
루솔트(폴란드 업체, 칩오프 기술)
 
FAT
NTFS
 
 
 
  1. advanced
 
 디스크 복구 관련 메모
 

HDD를 초기화하는 포맷(Format)도 마찬가지다. 일반적으로 많이 사용하는 '빠른 포맷'은 데이터의 인덱스라고 할 수 있는 파일 시스템만 논리적으로 삭제하기 때문에 복구가 가능하다. HDD를 물리적으로 포맷하는 로우 레벨(low level) 포맷도 한 번 수행하는 것만으로는 완벽하게 데이터를 삭제할 수 없다.

 

 

솔리드 스테이트 드라이브(SSD)나 USB와 같은 플래시 저장장치의 경우 데이터 완전 삭제를 위해서는 HDD와는 다른 방식이 필요하다. 플래시 저장장치는 데이터가 저장되는 최소 단위인 셀(cell)의 수명을 보장하기 위해 각각의 셀이 몇 번 쓰여지고 지워졌는지를 관리하는 웨어 레벨링(Wear Leveling)이라는 기술이 적용돼 있다. 때문에 삭제된 영역을 임의로 덮어쓰기가 어렵다.

 

플래시 저장장치의 복구를 막기 위해서는 전용 완전 삭제 프로그램이나 드라이브 전체를 암호화하는 조치가 필요하다. 스마트폰도 플래시 저장장치를 탑재하기 때문에 공장 초기화만으로는 데이터 복구 시도를 원천 방지할 수 없다. 중고 스마트폰 거래 시 개인정보 유출을 방지하기 위해서는 초기화 전 장치를 암호화하는 등의 조치를 취하는 것이 좋다.

 

저장장치를 나중에 재활용할 것이 아니라면 아예 드라이브를 물리적으로 파괴해버리면 그만이다. 단, 수사기관 등에서 특수 장비를 이용해 물리적으로 손상된 드라이브에서도 부분적으로 데이터를 복구해낸 사례가 있기 때문에 파괴에도 요령이 필요하다. 강력한 자기장으로 드라이브를 단순 고철로 만들어버리는 '디가우징(Degaussing)'이 좋은 예다. 저장장치를 비롯해 정보기기에 대한 전문적인 파쇄 서비스를 제공하는 보안 업체를 이용하는 것도 방법이다.

 

출처 : http://it.chosun.com/site/data/html_dir/2016/10/26/2016102685005.html

 

 

1. 로우 포맷 해보기

로우 레벨 포맷(Low Level Format)은 디스크의 섹터 레코드에 0 값으로 채우는 방식

 

- 프로그램 (HDDLLF.4.40.exe)

- diskpart (cmd)

 

2.  도킹장비 구매

 

3.  복구 (R-Studio.exe)

http://www.mediafire.com/file/9itjs41yrwek9qg/R-Studio_5.4_Build_134577.zip/file

--> 로우포맷 후 복구 프로그램으로 복구가 되는지 확인

 

기타.

 

https://bigshit.tistory.com/110

https://bigshit.tistory.com/111

https://itons.net/%ED%95%98%EB%93%9C%EB%94%94%EC%8A%A4%ED%81%AC-%EB%A1%9C%EC%9A%B0-%EB%A0%88%EB%B2%A8-%ED%8F%AC%EB%A7%B7-hdd-low-level-format-tool/

 

1. 일반 포맷이나 빠른 포맷은 데이터가 완전히 삭제되는 것이 아닙니다.

- 데이터가 저장되어 있는 공간에서 정보를 끌어오기 위해 각 데이터마다 주소가 새겨져 있습니다.

 

(1) 빠른 포맷은 데이터의 주소록만 지우고, 압축한 형태로 남겨두는 것이어서 포맷을 하여도 컴퓨터는 이 파일을 인지하지 않고, 저장 공간에는 조금 영향을 끼칠 뿐이며, 삭제한 데이터의 복구 확률도 높은 편입니다.

 

(2) 일반 포맷은 주소록과 함께 실제 저장 공간의 데이터를 지우는 것도 같지만 단지 빠른 포멧의 영역보다는 적은 형태로  남겨지는 것이라 삭제한 데이터의 복구 확률 또한 낮고 어려운 편이지만 복구는 가능합니

볼트로이 님께서 말씀하신 것처럼 제로필을 하면 일반적인 하드 복구 업체에서는 복구가 불가능합니다. 하지만 포렌식에서 읽을 수 없는 삭제라는 개념은 약간 다릅니다. 하드 디스크는 드라이브에 자기장을 입혀서 0과 1을 기록합니다. 그런데 1이었던 걸 0으로 덮어썼다고 해도, 자기장이 완벽하게 0.0 이 되는 게 아니라 0.1 정도? 원래 1이었던 흔적이 남게 됩니다. 0.01 / 0.1 / 0.1 / 0.02로 읽어지면 원본이 0 / 1 / 1 / 0 이었던 걸 제로필 했다고 유추 가능. 0.1 / 0.9 / 0.99 / 0.02로 읽어지면 원본이 1 / 0 / 1 / 0 인데다가 0 / 1 / 1 / 0을 덮어씌웠다고 유추 가능. 컴퓨터 좀 안다고 깝치는 범죄자들이 제로필, 느린 포맷하거나 무작위로 한 번 덮어쓴 하드를 제출하면 검찰에서 싹 복구해내는 게 이런 기법이라고 알고 있습니다. (디지털 데이터가 아니라 인근 데이터끼리의 아날로그 파형까지 분석할 수 있다면 몇 번 덮어씌워졌는지 보다 분명히 보이겠죠) 그런데 0과 1을 랜덤하게 3~7회 계속 덮어쓰게 되면 처음 원본 값이 0 이었는지 1 이었는지 아무리 정밀하게 분석해도 분간이 안 되는 수준까지 가는 거고, 그게 포렌식에서 말하는 완벽한 삭제입니다. SSD에서는 비어있는 블럭에만 기록할 수 있기 때문에, SSD가 놀고 있을 때 가비지 컬렉션을 통해서 파편화된 블럭들의 자료를 한 군데 모으고 필요없는 블럭을 비웁니다. 여기까지는 단순히 옮겨진 것 뿐이라서 복구가 어렵지 않은데, TRIM 명령이 들어가면 OS에서 SSD에게 이 부분의 파일이 삭제됐으니까 비워도 된다고 허락해줍니다. 그러면 SSD는 거기를 지워도 된다고 마킹만 해 뒀다가 SSD가 놀고 있을 때 비워내는 작업을 하죠. 하드는 FAT (파일 할당 테이블)만 삭제하고 원 데이터가 그대로 트랙에 남아있으니까 복구가 쉬운데, SSD는 전에 자료가 있었지만 지금은 버려진 셀을 근면성실하게 비워내는 겁니다. 그리고 하드는 집적도가 높아졌을 뿐 0과 1이라는 자기장의 배열은 변하지 않았는데요. SSD의 경우 SLC, MLC, TLC, QLC로 가면서 하나의 셀 안에 점점 미묘한 전압 차이로 데이터를 구분하게 되었습니다. 위에 제가 하드의 예를 들어드릴 때 1이었던 흔적이 0.1 정도로 남는 걸 추적할 수 있다고 말씀드렸는데, 요즘 많이 사용되는 TLC SSD의 경우에는 0.58과 0.63이 서로 다른 데이터라서, 이걸 0으로 덮어쓰면 미묘한 전압이 남아있어도 원본이 몇이었던 건지 구분하기가 아주 어려워졌습니다. 이렇게 두 가지 요소, TRIM과 멀티 레벨 셀이 SSD의 포렌식 복구를 하드보다 어렵게 하는 점이라고 생각하시면 될 것 같습니다.

HDD를 초기화하는 포맷(Format)도 마찬가지다. 일반적으로 많이 사용하는 '빠른 포맷'은 데이터의 인덱스라고 할 수 있는 파일 시스템만 논리적으로 삭제하기 때문에 복구가 가능하다. HDD를 물리적으로 포맷하는 로우 레벨(low level) 포맷도 한 번 수행하는 것만으로는 완벽하게 데이터를 삭제할 수 없다.

it.chosun.com/site/data/html_dir/2016/10/26/2016102685005.html

 

최ㅇㅇ는 지웠지만 지워지지 않은 흔적들…디지털 포렌식이 찾아낸다

현대인의 생활이 디지털 기기와 밀접해지면서 범죄 수사에서 디지털 포렌식의 중요성이 날로 커지고 있다.디지털 포렌식은 범죄 수사에서 사용하는 과학..

it.chosun.com

 

솔리드 스테이트 드라이브(SSD)나 USB와 같은 플래시 저장장치의 경우 데이터 완전 삭제를 위해서는 HDD와는 다른 방식이 필요하다. 플래시 저장장치는 데이터가 저장되는 최소 단위인 셀(cell)의 수명을 보장하기 위해 각각의 셀이 몇 번 쓰여지고 지워졌는지를 관리하는 웨어 레벨링(Wear Leveling)이라는 기술이 적용돼 있다. 때문에 삭제된 영역을 임의로 덮어쓰기가 어렵다.

플래시 저장장치의 복구를 막기 위해서는 전용 완전 삭제 프로그램이나 드라이브 전체를 암호화하는 조치가 필요하다. 스마트폰도 플래시 저장장치를 탑재하기 때문에 공장 초기화만으로는 데이터 복구 시도를 원천 방지할 수 없다. 중고 스마트폰 거래 시 개인정보 유출을 방지하기 위해서는 초기화 전 장치를 암호화하는 등의 조치를 취하는 것이 좋다.

저장장치를 나중에 재활용할 것이 아니라면 아예 드라이브를 물리적으로 파괴해버리면 그만이다. 단, 수사기관 등에서 특수 장비를 이용해 물리적으로 손상된 드라이브에서도 부분적으로 데이터를 복구해낸 사례가 있기 때문에 파괴에도 요령이 필요하다. 강력한 자기장으로 드라이브를 단순 고철로 만들어버리는 '디가우징(Degaussing)'이 좋은 예다. 저장장치를 비롯해 정보기기에 대한 전문적인 파쇄 서비스를 제공하는 보안 업체를 이용하는 것도 방법이다.

반응형