xmin. guest@xmin ~ $
~/ $
[리눅스 커널 취약점 분석] 2025년 10월 19일

ACTOR 퍼저 빌드

WSL 환경에서 ACTOR 커널 퍼저를 빌드하고 실행하는 과정을 단계별로 정리한 글입니다.

리눅스 커널퍼징ACTOR커널 취약점보안

빌드 환경

필자는 WSL 환경에서 빌드를 진행하였다.

CPU : 16코어

MEM : 32GB

ACTOR: Action-Guided Kernel Fuzzing 빌드

작업 디렉토리 : /usr/src/kernel

git clone https://github.com/ucsb-seclab/actor.git cd actor

해당 레포지토리 클론 후 클론 한 디렉토리로 이동한다.

git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git cd linux git checkout 2241ab53cbb5cdb08a6b2d4688feb13971058f65 git apply ../setup/kernel/v6-2-rc5.patch

이어서, 리눅스 파일을 클론하고, 체크아웃 설정, 패치 적용을 진행한다.

make clean make mrproper make menuconfig ESC 두 번 눌러서 menuconfig 종료 ./scripts/kconfig/mergeconfig.sh .config ../setup/kernel/actor.config make -j"$(nproc)"

그런 다음 커널 빌드를 수행한다.

cd /usr/src/kernel/actor/semantic-inference docker build -t sem-infer . cd ..

이어서 정적 분석을 위한 도커를 빌드한다.

이 때 도커 빌드에 에러가 난다면 /usr/src/kernel/actor/semantic-inference/Dockerfile 파일을 다음과 같이 수정한다.

FROM debian:bookworm

ENV DEBIANFRONTEND=noninteractive RUN apt update && apt install -y llvm-14 clang-14 clang cmake flex bison bc libelf-dev libssl-dev ADD ktypes.cpp CMakeLists.txt actorstatic.config /plugin/ WORKDIR /plugin/ RUN mkdir build && cd build && cmake .. && make

RUN echo "clang-14 -g -fexperimental-new-pass-manager -fpass-plugin=/plugin/build/libktypesPass.so \"\$@\"" > /bin/clang-ktypes && chmod +x /bin/clang-ktypes CMD make -C /kernel/ -j nproc CC=clang-ktypes

또 안 된다면 GPT에게 여쭤보자

docker run -ti -v "/usr/src/kernel/actor/linux":/kernel --entrypoint /bin/bash sem-infer

빌드한 도커를 실행 한다.

해당 명령어는 도커 내부에서 실행

cd /kernel make olddefconfig CC=clang-ktypes CC=clang-ktypes ./scripts/kconfig/mergeconfig.sh .config /plugin/actorstatic.config make -C /kernel/ -j nproc CC=clang-ktypes 2> /kernel/ptrs.txt exit

도커 내부에서 해당 명령어 실행 한다.