퍼징

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

퍼징(fuzzing, fuzz testing)이란, 소프트웨어에 무작위의 데이터를 반복하여 입력하여 소프트웨어의 조직적인 실패를 유발함으로써 소프트웨어의 보안 상의 취약점을 찾아내는 것을 의미한다.

퍼징 기법을 통해 발견해낼 수 있는 것들에는 소프트웨어의 보안 취약점, 서비스 거부 조건들 등이 있다.

비슷한 의미의 용어로 Blackbox Testing, Taint Analysis, BVA(Boundary Value Analysis)등이 있다.


1. 퍼징의 역사[편집]

Wisconsin-Madison 대학의 연구 프로젝트에서 처음 사용되었으며, 정보보안에서의 퍼징은 정의되어 있지 않다. 일반적으로 비정상적인 데이터를 애플리케이션에 전달하여 에러를 유도하는 방법을 퍼징이라 말한다.

  • 1989년 Professor Barton Miller uses Fuzzing to test Robustness of UNIX apps at UW-Madison
  • 1999년 Oulu University begins work on PROTOS Test Suites
  • 2002년 Oulu University Releases PROTO SNMP Test Suite
  • 2002년 SPIKE Demonstrated At BH USA By Dave Aitel
  • 2004년 Mangleme released by Micheal Zalewski(aka Icamtuf)
  • 2005년 FileFuzz, SPIKEfile, NotSPIKEfile Released At BH USA
  • 2005년 Commercial Fuzzers (i.e. Codenomicon,Mu Security, etc.)introduced
  • 2006년 COMRider(David Zimmer) And AxMan (H.D Moore) ActiveX fuzzers released


2. 보안 테스트 상에서 퍼징 기법의 장점[편집]

1. 실제 보안 위협 재현[편집]

퍼징 기법은 실제로 해커들이 공격을 시행하기 전에 거치는 공격 대상의 취약점을 찾기 위한 필수적인 테스트이며, 또한 시스템이 과부하된 상황 등을 시뮬레이션 하기 위해 이용되기도 한다.

2. 알려지지 않은 보안 취약점 탐지[편집]

퍼징 기법의 가장 큰 장점으로는 예상하지 못 한 취약점을 발견해 내는 데 탁월한 능력을 보인다는 것이다. 그렇게 하여 개발자들이 보안 패치를 구현하거나 출시 전에 보안 문제점을 예방하는 데 큰 도움을 준다.