리눅스 커널 분석 - ext4 공간 할당 방식 1
리눅스 커널 분석을 시작해봅시다.
✨목표
- 의미 기반 인공지능 모델을 보조할 수 있는 위치 기반 가중치 할당 방식 필요
- ext4의 고유 공간적 배치 규칙 분석
- 해당 규칙의 우선 순위 및 방식 분석 후, 가중치 할당
지금 구축하고 있는 AI-driven forensic tool이 의미 기반, 즉 바이너리 데이터 값 사이 의미론적 연관성만 학습하고 있기 때문에 학습을 시킬 수록 과적합 되며, 오탐/미탐율도 높습니다.
따라서, 이를 해소하기 위한 방도로 블록 간 위치 연관성을 기반으로 가중치를 할당하고자 합니다.
ext4의 공간 배치 규칙을 분석하기 위해, 리눅스 커널 분석을 시작하게 되었습니다.
🔧커널 버전
커널 버전: 5.15.154
우분투 22.04에서 사용하고 있는 커널 버전을 채택했습니다.
📚 사용 교재
디버깅을 통해 배우는 리눅스 커널의 구조와 원리 2 / 김동현 저 / 위키북스
음 책 제목을 이렇게 적는게 맞는진 모르겠지만, 그건 나중에 수정하는 걸로 하겠습니다.
이 책을 고른 이유는 현재 한글로 작성된 블로그 중 리눅스 커널 분석 블로그 양대 산맥이 있는데요,
- 문c 블로그
- Arm Linux Kernel Hacks 블로그
입니다.
그 중, 2번 블로그를 작성하신 Austin Kim님께서 저술하신 책이 이 책입니다.
공부 열심히 해보려고 어제 교보문고 가서 바로 샀어요.
🤓 공부 시작
13장. 가상 파일 시스템
가상 파일 시스템이란?
- 가상 파일 시스템은 ‘커널에서 다양한 파일 시스템이 공존하며 동적으로 실행할 수 있는 가상 소프츠웨어 계층’이라고 정의됩니다.
이 때, 가상이라는 용어는 OOB의 추상화와 비슷한 개념입니다.
따라서, 가상 파일 시스템은 추상화된 파일 시스템이라고 볼 수 있습니다.
계층을 보면, 가상 파일 시스템이 유저 애플리이션에서 시스템 콜을 호출하면 다양한 파일 시스템으로 연결해주는 것을 알 수 있습니다.
이 때, 강의에서 사용된 라즈베리파이에서는 특정 파일을 생성해서 읽고 쓴 후 저장할 때 ext4를 사용합니다.