728x90
반응형
Definition | 정의
Fuzz testing or fuzzing is an automated software testing method that injects invalid, malformed, or unexpected inputs into a system to reveal software defects and vulnerabilities. A fuzzing tool injects these inputs into the system and then monitors for exceptions such as crashes or information leakage. Put more simply, fuzzing introduces unexpected inputs into a system and watches to see if the system has any negative reactions to the inputs that indicate security, performance, or quality gaps or issues.
- 소프트웨어 결함 및 취약성을 드러내기 위해 시스템에 잘못된 입력, 예상치 못한 입력을 주입하는 자동화된 소프트웨어 테스트 방법
- 퍼징 도구 (ex. WinAFL )는 충돌 또는 정보 유출같은 예외를 모니터링
WinAFL이란?
퍼징 툴 중에 하나로, 특정 함수 / dll 부분을 집중적으로 퍼징할 수 있도록 해주는 역할을 함
- 넓은 코드 커버리지
- 루프 실행을 통한 빠른 속도
1. 타겟 함수 도달
2. 코드 커버리지 기록
3. 타겟 함수 실행 (input 파일이 다시 회수될 때까지 실행해야함)
4. 코드 커버리지 회수 / input 파일 수정 후 2번으로 복귀
5. 타겟 프로세스 종료
WinAFL 환경설정
필요한 것
- Visual Studio
- DynamoRIO
- cmake
- WinAFL
[WinAFL] -> git clone
https://github.com/googleprojectzero/winafl
[DynamoRIO] -> git clone
https://github.com/DynamoRIO/dynamorio/releases
1. 명령어로 설정
mkdir build64
cd build64
cmake -G"Visual Studio 16 2019" -A x64 .. -DDynamoRIO_DIR=C:\path\to\DynamoRIO\cmake -DINTELPT=1
cmake --build . --config Release
2. cmake GUI로 설정
Addentry를 통해 필요한 변수를 설정 → configure → Generate 후
build64 파일에서 cmake --build . --config Release 실행
Harness
타겟 함수에 어떤 입력을 줄 것인지에 대한 대략적인 틀을 지정해주는 것
728x90
반응형
'Hacking > Window' 카테고리의 다른 글
[Mitigation] Window VS Linux (0) | 2024.11.27 |
---|---|
[IDA Pro] 사용법 정리 (3) | 2024.07.21 |
MuseScore DoS Vulnerability Write Up (2) | 2024.07.18 |
[ Domato ] 사용법 (4) | 2024.05.18 |
PE(Portable Executable) file format (0) | 2024.05.06 |