Professional Documents
Culture Documents
퍼징 도구들의 비교 분석을 통한 효율적인 웹 브라우저 퍼징 전략
퍼징 도구들의 비교 분석을 통한 효율적인 웹 브라우저 퍼징 전략
한국정보과학회
발행처
The Korean Institute of Information Scientists and Engineers
(Publisher)
URL http://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE01687924
APA Style 박영웅, 이준혁, 조성제 (2011). 퍼징 도구들의 비교 분석을 통한 효율적인 웹 브라우저 퍼징 전략. 한국정보과학회 학술발표논문집
, 38(1A), 328-331
이용정보 청주대학교
203.252.***.45
(Accessed) 2022/03/15 20:34 (KST)
저작권 안내
DBpia에서 제공되는 모든 저작물의 저작권은 원저작자에게 있으며, 누리미디어는 각 저작물의 내용을 보증하거나 책임을 지지 않습니다. 그리고 DBpia에서 제공되는 저작물은
DBpia와 구독계약을 체결한 기관소속 이용자 혹은 해당 저작물의 개별 구매자가 비영리적으로만 이용할 수 있습니다. 그러므로 이에 위반하여 DBpia에서 제공되는 저작물을 복제,
전송 등의 방법으로 무단 이용하는 경우 관련 법령에 따라 민, 형사상의 책임을 질 수 있습니다.
Copyright Information
Copyright of all literary works provided by DBpia belongs to the copyright holder(s)and Nurimedia does not guarantee contents of the literary work or assume
responsibility for the same. In addition, the literary works provided by DBpia may only be used by the users affiliated to the institutions which executed a
subscription agreement with DBpia or the individual purchasers of the literary work(s)for non-commercial purposes. Therefore, any person who illegally uses
the literary works provided by DBpia by means of reproduction or transmission shall assume civil and criminal responsibility according to applicable laws and
regulations.
2011 한국컴퓨터종합학술대회 논문집 Vol.38, No.1(A)
단국대학교 컴퓨터과학과
요 약
최근 소프트웨어 결함이나 보안 취약점을 분석하고 발견하기 위해 퍼징(fuzzing)에 대한 연구가 활발하다. 퍼징은 무
작위 입력 데이터를 대상 프로그램에 주입하여 그 결과를 관찰하면서 결함을 탐지하는 테스팅 방법이다. 본 논문에서는
웹 브라우저를 대상으로 기존의 '변이 기반의 덤 퍼징'(Mutation based Dumb Fuzzing) 방식과 '생성 기반의 지능적 퍼
징‘(Generation based Smart Fuzzing) 방식을 비교 분석하였다. 그리고 실험을 통해 기존의 퍼징 도구들의 성능을 측정
하고 이를 바탕으로 브라우저 퍼징에서 ’변이 기반의 덤 퍼징‘이 웹 브라우저의 결함 및 취약점 탐지에 더 효율적이라
는 것을 보인다. 그리고 웹 브라우저를 대상으로 ’변이 기반의 덤 퍼징‘ 방식을 적용할 때, 코드 실행 커버리지를 고려
한 다수의 입력 템플릿 확보와 다수의 템플릿들에 대한 구성 요소들을 랜덤하게 섞어서 변이를 하는 효과적인 브라우
저 퍼징 전략을 제안한다.
2.3 코드 커버리지
본 논문에서 코드 커버리지(Code Coverage)는 테스팅 과정에
서 실제 수행된 코드의 라인 수를 의미하며, 테스팅의 유효 범
위를 측정하는 기법으로 사용한다. 코드 커버리지는 공격자가
소프트웨어를 공격하는데 이용할 수 있는 자원인 공격 표면 (그림 2) Cross fuzz에 의한 퍼징 결과
(Attack Surface)을 측정하는데 사용되기도 한다[8]. (y축:크래시 수)
코드 커버리지와 소프트웨어의 결함 탐지 간의 관계를 연구
그러나 Browser Fuzzer 3, iExploder, jsfunfuzz 등 나머지 3개
한 기존의 다른 연구진도 코드 커버리지를 테스팅의 효율성을
측정하는 측정기준으로 활용하고 있다[9]. 퍼징에서는 퍼징 도 의 퍼징 도구는 실험 대상에서 아무런 크래시를 유발시키지 못
구가 발견할 수 있는 버그 수를 예측하거나 퍼징 도구의 효율 했다. 즉, Cross fuzz를 제외한 다른 3개의 퍼징 도구는 3 시간
의 실험 동안에 대상 브라우저에 존재하는 취약점을 탐지하지
성을 측정하는데 사용된다. 그러나 코드 커버리지가 100%라고
못 했다.
[참고 문헌]
[1] 한국 인터넷 진흥원,“홈페이지 은닉형 악성코드 유포패턴
분석방법 연구, 광운대·단국대, 2010. 10
[2] 김동진, 조성제, “멀티미디어 플레이어에 대한 퍼징 기반
취약점 분석”, 정보과학회 논문지:컴퓨팅의 실제 및 레터,
17(2), pp. 98-107, 2011. 2
[3] Charlie Miller, Zachary, and N.J. Peterson, "Analysis of
Mutation and Generation-Based Fuzzing", Independent
Security Evaluators, March 1, 2007
[4] Indistinguishable from Jesse, Itroducing jsfunfuzz, http://ww
(그림 8) 전체 웹 브라우저 퍼징 전략 w.squarefree.com/2007/08/02/introducing-jsfunfuzz/
[5] iExploder, http://code.google.com/p/iexploder/
4.1 템플릿 수집 및 선정 [6] Darknet, Browser Fuzzer 3, http://www.darknet.org.uk/2010/
변이 기반의 퍼징에서는 템플릿 파일이 매우 중요하다. 이는 01/browser-fuzzer-3-bf3-comprehensive-web-browser-fuzzi
템플릿이 변이의 기본 형태로써, 템플릿의 코드 커버리지가 곧 ng-tool/
테스트 케이스의 최소 코드 커버리지가 되기 때문이다. [7] lcamtuf's blog, Announcing cross_fuzz, http://lcamtuf.blogsp
템플릿에서 사용되는 태그와 속성들을 처리하는 모듈이 웹 ot.com/2011/01/announcing-crossfuzz-potential-0-day-in.html
브라우저에 존재한다. 따라서 코드 커버리지를 높이기 위해서 [8] Justin Seitz, "Analyzing Attack Surface Code Coverage",
는 브라우저의 다양한 처리 모듈이 실행될 수 있도록 구성해야 SANS Institute(2007)
한다. 이를 위해서 템플릿 내에는 다양한 유형의 태그와 속성 [9] Xia Cai, an Michael R.Lyu, "The Effect of Coe Coverage
들을 분포시키는 것이 좋다. on Fault Detection under Different Testing Profiles", In
본 논문에서는 템플릿 수집 및 선정 방법으로서, 인터넷을 Workshop on Advances in Model Based Testing 2005
통해서 다양한 형식을 갖고 구성이 복잡한 페이지들을 다량 수
집하여 템플릿으로 활용하는 것을 제안한다. 이러한 방법을 사
용하는 것이 적은 비용으로 유효한 템플릿을 구성하여 높은 퍼
징 효율을 얻을 수 있다.