mermaid blog 24

Kernel - Debbuging Script Utilize

Agenda 커널 디버깅 시 python script를 활용하여 디버깅하면 더욱 편리하게 디버깅 할 수 있음 Python Script Code import os sys .path.insert(0, os.path.dirname(file) + "/scripts/gdb") try: gdb.parse_and_eval("0") gdb.execute("", to_string=True) except: gdb.write("NOTE: gdb 7.2 or later required for Linux helper scripts to " "work.\n") else: import linux.utils import linux.symbols import linux.modules import linux.dmesg import li..

Kernel 2023.04.25

QEMU - Option & Hotkey & Command

Option -kernel vmlinuz 파일 vmlinuz 를 리눅스 커널로 로드하여 부팅함 -initrd initramfs 파일 initramfs 를 초기 램디스크로 로드하여 부팅함 -smp 4 가상 프로세서(CPU) 4개를 할당함 -m 256 가상의 메모리(RAM) 256MiB를 할당함 -accel kvm Linux의 Kernel Virtual Machine(KVM) 기능을 사용하며 -enable-kvm 과 같은 의미 -nographic GUI 및 가상 머신 화면 출력을 비활성화하고, 가상 시리얼 포트를 대신 사용하며 커널 테스트 시 유용함 -snapshot 파일 수정 및 저장 등의 디스크 변경 사항을 본래 디스크 이미지 파일이 아닌 임시 파일에 기록함 -loadvm 해당 의 스냅샷으로 가상 머신의..

Qemu 2023.04.24

Kernel - Mitigation

Kernel Mitigation SMEP : Supervisor Mode Execution Prevention의 줄임말로 사용자 공간의 코드가 커널 모드에서 실행되는 것을 막아주는 기법으로 NX(Never Execute)와 유사함 SMAP : Supervisor Mode Access Prevention의 줄임말로 커널 프로그래머가 명시적으로 허용한 몇몇 경우를 제외하고는 커널 모드에서 사용자 공간에 접근조차 불가능하게 하도록 보호하는 기법 KASLR : 부팅 시 커널 코드 및 데이터가 임의 주소에 적재되도록 하는 보호기법으로 특정 함수나 가젯의 주소를 쉽게 알 수 없게 만들어주는 보호기법

Kernel 2023.04.24