카테고리 없음

Fuzzing 퍼징 시작하기

Oth 2016. 10. 5. 18:38

퍼징을 시작하는 단계 다음과 같습니다.


1.  대상 APP 선택

2. 퍼징 템플릿 찾기

3. 최적의 템플릿 선정

4. 템플릿을 이용해 테스트

5. 충돌 결과를 검증



4.1 퍼징 템플릿 찾기


템플릿으로 사용할 것은 반드시 퀄리티를 고려해야합니다. 

Code Coverage :  템플릿 데이터를 처리하는 동안 대상 소프트웨어에서 실행되는 코드의 양을 측정해서 템플릿 품질에 대한 단위로 사용하는 방식입니다. 여기서 실행되는 함수나 기본 블록 수에 기반을 둡니다. 또 하나는 코드 커버리지 안에서 실행된 하수의 개수 같은 양적인 정보 대신 코드 중요도를 다루는 것입니다. 만약 다른 템플릿이 다루지 못하는 부분을 다룬다면 이 템플릿은 더 중요하다고 할 수 있습니다.


웹에서 템플릿 찾기


http://samples.mplayerhq.hu/ 에서는 다양한 미디어 형식을 구할 수 있으며 테스트와 퍼징을 목적으로 하는 다양한 파일 형식 예제를 무료로 다운로드 받을 수 있습니다.


인터넷 아카이브


http://www.archive.org 인터넷 라이브러리로서 엄청난 양의 텍스트, 오디오, 비디오 소프트웨어를 가지고 있습니다. 이 모든 콘텐츠는 json api로 무료로 접근 가능합니다. 이 때문에 퍼징을 위한 템플릿에 사용되는 데이터를 찾는 중요한 자원이 됩니다.

파이썬 스크립트를 이용해서 특정 파일 형식에대한 샘플을 다운로드 가능합니다.