디지털 포렌식 정리 #3 (쓰기방지)

0

디지털포렌식

목록 보기
73/115

Q. 쓰기방지는 왜 할까?

쓰기방지는 무결성 훼손을 방지함으로써 전자증거의 법적 증거능력을 재판에서 인정받기 위해 수행하는 것이다. Hardware/Software 로 구분해서 수행할 수 있다.

그리고 이와는 별도로, 이미징을 위해 USB를 삽입했을 때 혹시 모를 자동 실행을 방지하기 위해 "끔" 설정은 기본이다.

HW는 이미징매체에서 자체적으로 지원하는 기능이고, Falcon, Tableu, Superimager,

SW적으로 수행하는 쓰기방지의 경우, 레지스트리의 하이브/키 값 변경을 통해 수행할 수도 있고, KFolt, Encase,FTK 등의 디지털 포렌식 분석 도구에서 지원하는 경우도 있다.
레지스트리로 수행하는 쓰기방지의 경우, HKLM\SYSTEM\CurrentControlSet\Control\StrogeDevicePolicies\WriteProtect 의 값을 1로 변경해주면 된다.

레지스트리는 대문자와 소문자를 구분한다.


그림에서 WriteProtect의 값이 Reg_DWORD 형식으로 1로 표현되어 있다. 쓰기 방지가 적용되었다는 의미이다. 0이것이 실제로 적용되었는지 확인하는 방법은 뒤에 후술하겠다.

HKLM은 컴퓨터의 하드웨어/소프트웨어의 설정정보를 저장하고 있는 레지스트리이다. 그 중 특히 Controlset은 디바이스 드라이버와 서비스 따위의 환경 설정 정보를 저장하고 있다. 다만 실제로 확인해보면 CurrentControlSet, ControlSet001, ControlSet002 등 여러개로 나뉜 것을 볼 수 있는데, 전자가 후자들에 대한 Link를 가지고 있다. 이 경로를 확인해보려면, 컴퓨터\HKEY_LOCAL_MACHINE\SYSTEM\Select 의 Current의 값이 무엇으로 설정되었는지를 확인하면 된다. 1이면 Controlset001, 2면 002등등으로 적용이 되어 있는 것이다.

실제로 적용되었는지 확인하는 방법은 간단하다. 쓰기 방지가 적용된 후, 드라이브에 들어가 우클릭을 하고 "새로 만들기" 가 있는 지 없는지 확인해보면 된다. 더 전문적인 방법은 다음과 같고, 나도 이걸 더 좋다고 생각한다.

cmd - diskpart - list disk - select disk(목록 중 쓰기 방지가 적용되었는지 확인할 디스크) - attributes disk

읽기 전용 상태 : Y/N 를 확인함으로 알 수 있다.

개인적으로 별도의 도구 없이 cmd창으로 쓰기방지를 확인할 수 있는 것 뿐만 아니라 hash값을 만들어 낼 수 도 있고, base64를 디코딩할 수도 있는 걸 알고 있는게 좋다고 생각한다. 이건 나중에 이미징 파일을 생성하는 절차에 관한 포스트를 작성할 때 더 서술하겠다.

명령어는 다음과 같다.

  • certutil -hashfile "파일주소" 해시함수
  • certutil -decode 인코딩 파일 주소 디코딩 파일
  • certutil -encode 인코딩 "할" 파일 주소 인코딩결과 파일

0개의 댓글