digital forensic6 NTFS의 $MFT(Master File Table) Entry Attributes(속성) 분석 MFT Entry Attributes 이번에는 속성이라고도 할 수 있는, 'MFT Entry Attributes'에 대해서 알아보고자 한다. 모든 속성은 'Header'와 data stream이라고도 할 수 있는 'Content'로 이루어져 있다. 이러한 속성은 Fixup Arrary 이후 End Marker 앞까지 연속적으로 존재한다. 앞서 MFT Entry Header구조를 다루면서, 20~21바이트는 첫 attribute가 위치한 offset 값을 나타낸다고 하였다. 현재 다루고 있는 MFT 파일의 20~21바이트 주소엔 0x0038이라는 16진수 값이 있다. 즉, 화살표가 가리키는 38바이트('10')가 바로 첫 attribute의 시작이라는 것을 뜻한다. 위 표에서 알 수 있듯이, MFT Ent.. 2021. 11. 15. NTFS의 $MFT(Master File Table) Entry Fixup Array 분석 MFT Entry Fixup Array 이번엔 'MFT Entry Fixup Array'에 대해서 알아보고자 한다. 앞서 Fixup Array에 대해 오류나 비정상적인 변경을 찾음으로써 신뢰성을 높이고 무결성을 증명하기 위해 쓰인다고 간략하게만 설명하였는데, 이번엔 좀 더 자세히 다뤄볼 것이다. 결론부터 말하면 Fixup Array는 sector의 손상 및 이상 여부를 확인하기 위해 활용된다. 그렇다면 그 원리는 무엇일까. Header 분석 시 언급하였듯이, Fixup Array의 내용이 위치한 offset은 처음에서 4~5바이트 범위에 있다고 하였다. 초록색 상자로 표시된 것처럼 Fixup Array의 내용은 0x0030(리틀 엔디언 방식으로 표기) offset에 위치해 있다. 그리고 갈색 밑줄로 된 .. 2021. 11. 13. NTFS의 $MFT(Master File Table) Entry Header 분석 MFT Entry Header 이번 장에서는 엔트리 구조의 'MFT Entry Header'에 대해서 살펴보고자 한다. 위 그림은 외부에서 MFT 샘플 파일을 구해 HxD로 연 뒤 header 부분(총 42바이트만큼)을 표시한 것이다. (xp버전 이후라는 가정, 0x002A~0x002F는 잘 사용되지 않으므로 언급 x) * LSN: 로그 레코드 번호 ** Flags: - 0x00이면 사용 중이지 않음을, (-> 흔히 파일을 삭제하면 flag가 이렇게 바뀜) - 0x01이면 MFT Entry가 사용 중임을, - 0x02이면 디렉터리임을, - 0x03이면 MFT Entry가 디렉터리에 사용되고 있음을 뜻한다. *** Allocated size of MFT Entry: 할당된 MFT Entry의 크기를 뜻하며.. 2021. 11. 12. NTFS의 $MFT(Master File Table) 구조 분석 개요 MFT(Master File Table) 디지털포렌식을 하면서 자주 접하게 되는 것들 중 하나인 MFT는 무엇일까. MFT는 Master File Table의 약자로, Windows OS계열 NTFS 시스템에서 볼 수 있는데, 이 MFT는 파일의 위치, 속성, 시간정보, 이름, 크기 등의 메타 데이터를 저장하고 있다. MFT Entry 구조 그리고 MFT내부는 위처럼 여러 부분으로 나뉘어져 있다. 그리고 이것이 바로 'MFT Entry 구조'이다. - MFT Entry Header > MFT 엔트리의 기본적인 정보가 저장 - Fixup Array > 오류나 비정상적인 변경을 찾음으로써 신뢰성을 높이고 무결성을 증명하기 위해 쓰임 - Attributes > 파일, 속성의 메타 데이터가 저장 - End Ma.. 2021. 11. 8. 사이버 수사 및 디지털 포렌식 관련 질의 응답 현직자분께 드린 질문과 답 내용 Q1. 스마트폰 OS 취약점을 통한 루팅(안드로이드일 경우 루팅-Rooting, iOS일 경우 탈옥-Jailbreak)으로 기기 내부에서 범죄 사실을 입증할 만한 증거를 찾아냈다고 가정했을때, 이렇게 찾은 증거는 법정에서 채택될 수 있는지? A) 디지털 포렌식에서는 '위법수집증거배제법칙'과 '독수독과 이론'이 적용된다. 즉, 법에 반하는 행위를 통해 얻은 증거와 그에 따른 추가적인 증거는 증거로서의 효력이 없다는 의미이다. 그러나 법에서 애매한 부분은 분명히 존재하기 마련이다. 개당 천 만원대~억 원대를 호가하는 취약점을 수사에 이용하여(취약점 뚫는 전문 업체에 의뢰 등) 이후 증거를 수집했다고 가정하자. 이 행위는 허가되지 않은 권한으로 OS를 건드린 것이기에 OS 관련.. 2020. 6. 3. 특정 파일(프로그램)이 malware인지 확인하는 방법 이와 같이 실행 가능한 어느 프로그램이 있다. 파일을 실행하기 전에 악성코드가 포함되어있는 파일인지 알아보기 위해 확인을 해보려고 한다. (백신 등의 프로그램을 사용하지 않는다는 가정) 확인하는 방법은 먼저 Hex에디터 등과 같은 프로그램에서 해시값을 얻는 것이다. 이를 얻기 위해 [체크섬]을 클릭하면, 해시값을 얻을 수 있는 여러 암호 알고리즘 목록이 뜬다. md5가 많이 쓰이므로 md5로 구해보자. [수락]을 클릭한 뒤 '체크섬' 항목에서 이 파일의 해시값을 얻을 수 있다. 이제, 구한 해시값을 통해 악성파일 정보를 많이 가지고 있는 'VIRUSTOTAL' 사이트에서 악성 여부를 알아볼 것이다. 'SEARCH' 항목 검색창에 입력하고 돋보기를 클릭해보자. https://www.virustotal.co.. 2020. 6. 3. 이전 1 다음