FAT 파일 시스템
·
리버싱/포렌식
우선 파일 시스템에서 사용하는 포맷은 대표적으로 exFAT , FAT32 , NTFS가 있다. 하지만 FAT32의 개선된 버전이 exFAT와 NTFS이기 때문에FAT32만 이해해도 큰 흐름을 잡을 수 있다. 📌File Allocation Table (FAT)파일시스템 내 파일들의 위치가 저장되어 있는 테이블 흔히 FAT로 포맷을 했다고 한다면,스토리지를 시스템 영역과 데이터 영역을 나눈 후에,데이터 영역은 특정 크기의 클러스터 단위로 나누어둔 것을 말한다. 시스템 영역에서 저장되는 값들은 아래와 같다.필드명역할Boot Sector부팅 초기 단계에서 실행되는 부트 코드 포함 / 부트 로더를 실행파일 할당 테이블데이터 영역의 어느 부분이 사용되고 있는지 표현루트 디렉터리디스크에 저장된 파일에 대한 정보 저..
파일 시스템
·
리버싱/포렌식
컴퓨터는 디스크에 파일을 저장한다.디스크는 하나를 통으로 사용되는 것이 아니라,여러 구역으로 나누어 사용함으로써 데이터를 관리할 수 있다. 하지만 디스크 전체를 관리하기엔 너무 크기가 커서필요한 위치를 찾기 힘들 수 있다. 어떤 체계를 만들어야 할까 📌파일 시스템: 저장 공간을 쉽게 접근,저장,읽을 수 있도록 관리하는 소프트웨어(하나의 스토리지에서 살림을 채워 나가는 것) 위 그림과 같이 하나의 파일에 대한 데이터를어떻게 관리할지에 대한 정의도 한다. 여러 파일 시스템을 사용하여 여러 구역을 관리하고자 한다면앞서 있었던 파티션을 사용한다. 즉 하나의 파티션은 하나의 File System이 설치되는 곳이다. 이 파티션을 관리하는 기법이 저장된 곳은 MBR ( Master Boot Record ) 이다. ..
디지털 포렌식 : 디스크 이미지 분석
·
리버싱/포렌식
얻은 이미지를 FTK Imager로 열어보자 File > Image Mounting 을 들어가면 아래와 같은 사진이 나온다. Image Mount를 하면 E 드라이브 이름으로 ALIENIMAGE 파티션이 생성된다.그 안을 살펴보자. 📌lilly.jpglilly.jpg를 누르면 열리지 않는 형식이다. jpg로 못읽는다는 건 파일 형식이 다른 거라는 것 같다.시그니처가 내부에 있는지 확인해보자. HxD로 열었을 때 파일 시그니처가 PDF인 것을 알 수 있다.그럼 파일 확장자를 jpg에서 pdf로 바꿔서 파일을 열어보자. 그러기 전에 원본이 훼손되지 않도록 복사해두자! FTK 사용 / 그냥 복사(접은 글) 더보기-------------그냥 단순 복사 ⬇️-----------------파일을 복사하고, 해..
디지털 포렌식 : FTK Imager를 이용한 USB 이미징
·
리버싱/포렌식
FTK Imager를 켠 후 왼쪽 위 File > Creat Disk Image를 선택한다. Source Evidence Type 에선 Physical Drice> Source Drive Selection 으로 들어가서 얻고자하는 이미지를 클릭한다. iOS 관련 기능이 있는 이유는 내가 지금 폰 충전하려고 노트북에 꽂아놨기 때문이 이름기능용도Physical Drive하드 디스크 전체 복사디스크 전체 포렌식 or 삭제 파일 복구Logical DriveC: , D: 등 특정 드라이브/볼륨 지정특정 파티션 분석Image File디스크 이미지 파일 열람기존 .dd, .E01 등의 이미지 재처리Contents of a Folder특정 폴더 안에 있는 파일이나 서브 폴더 구조 열람개별 파일 분석, 삭제 데이터 ..
대략적인 백신 작동 원리
·
리버싱/분석
컴퓨터에서 백신은악성 행위 징후가 보이는 파일에 대한 차단을 하는 기능을 한다.크게 3가지 기능으로 역할을 수행한다. 1. 실시간 보호백신은 단순히 '검사' 버튼을 눌렀을 때 작동하는 게 아니다.파일 생성,접근,변경과 같이 I/O와 프로세스 동작을 지속적으로 감시/검사한다. 그럼 파일이 만들어지거나 변경되는 것을 어떻게 알 수 있는가?모든 CreateFile/WriteFile을 후킹해야 하나?2. 파일 시스템 Minifilter백신들은 대부분 파일 시스템 Minifilter 구조를 이용하여 파일 I/O를 관찰한다. Minifilter는 커널 레벨에서 프로세스의 파일 시스템 요청을 모니터링 할 수 있다.이러한 방법을 통해 백신은 파일 시스템 I/O 경로에 개입해서 파일 접근 시점을 알 수 있다. 3. D..
2. FAT
·
리버싱/포렌식
보호되어 있는 글입니다.
운영체제 보강
·
3학년/운영체제 (OS)
기본기가 허술하다는 느낌이 들어서조금 보강하고자 필요한 부분만 둘러봄 운영체제(OS)란= 커널 레벨로 보는 것도 괜찮을 것 같다.사실은 OS ⊃ Kernel 응용 프로그램 → 사용자 모드 API → 시스템 콜 → 커널 → 실제 자원 접근 → 사용자 모드로 복귀커널은 그중에서도 CPU, 메모리, 프로세스, 장치 등의 핵심 자원을 관리하는 핵심 부분응용 프로그램은 ‘컴퓨터 자원’에 접근할 때 운영체제의 도움을 받아 실행을 한다.하지만, 응용 프로그램은 안전한 운영을 위해 자원에 접근할 수 없다.ex) fwrite()도 직접 쓰는 것이 아니라, 그 내부에서 커널이 작동한다. 응용프로그램은 사용자 모드와 커널 모드로 전환하며 자원 접근을 하고자 하는데,이때 사용되는 개념이 이중모드이다. 이중모드는 레지스터 값을..
아비투스
·
공부 외/책
보호되어 있는 글입니다.
1. MBR and GPT Analysis : Boot Process
·
리버싱/포렌식
DISK는 데이터를 담아두는 큰 빌딩이라고 생각하면 된다.하지만 이것들을 어떻게 정리할 것인가가 문제다. 이를 해결하기 위해 DISK는 여러 Partition으로 나눈다.ex) OS 데이터는 특정 구간에 / 사용자 데이터는 다른 구간에...이러한 파티션이 알파벳을 따서 C,D,E 드라이브가 된다. 우리가 이번에 배우려고 하는 파티션은 MBR과 GPT이다.이들은 DISK 가장 첫 부분에 위치해있고DISK의 파티션에 대한 청사진(=map for all of the partitions)을 담고있다.= 공격의 대상이 되기 좋다.ex) Bootkits 따라서 MBR과 GPT의 구조와각 구조가 어떤 필드값을 나타내는지 알아두는 것만 해도 성공 MBR과 GPT는 컴퓨터가 부팅되기 위해 가장 핵심적으로 필요한 요소다...
스레드 풀 (Thread Pool) 이란
·
리버싱
옛날 소켓 프로그래밍 시간을 떠올려 봤을 때,서버/프로그램은 요청이 들어오면 1개의 요청에 대해 1개의 스레드를 생성했다. 하지만 이를 자원 효율의 관점에서 생각해본다면- 요청이 들어오면 Thread가 생긴다. - 처리가 끝나면 Thread는 버려진다. 즉, 이러한 방식은 한 명의 고객이 왔을 때새로운 요리사를 고용하여 고객을 응대하고, 그 고객이 떠나면 그냥 내팽겨치는 꼴이 된다. 이러한 방식에서는 Thread가 무한히 생겨날 수 있으며, 메모리나 여타 자원을 낭비하게 된다. 그렇다면 Thread를 무한정 생성함으로써 생겨나는 문제를 방지하면서서버에서 요청을 처리하기 위해 나온 개념이 Thread Pool이다. 📌Thread Pool: Thread Pool 방식은 아래 사진과 같다. ➡️ 요청을 처..