Page 11 - KAIST GSIS 2023 Vol.09
P. 11

연구 성과



                                                     KAIST 정보보호대학원 김태은 석사 과정을 중심으로 한 허기홍 교수 연구팀은 응
                                                   용 프로그램의 데이터 의존성을 활용한 새로운 퍼징 기법을 제안하는 논문인 “DAFL:
           01                                      술대회 중 하나인 USENIX SECURITY 2023에 게재하였다.
                                                   Directed Grey-box Fuzzing guided by Data Dependency”을 세계 4대 정보보안 학




                                                     퍼징(Fuzzing)은 자동으로 무수한 테스트 입력을 생성하여 프로그램 전체를 테스트
                                                   하는 기술이다. 퍼징 도구로 생성한 테스트 입력 중에는 개발자가 미처 예상하지 못
                                                   한 입력도 있기 마련이고, 이를 통해 미처 몰랐던 프로그램 내의 결함을 발견할 수도
           DAFL:                                   있다. 지향성 퍼징은 퍼징 기법의 한 종류로서 프로그램의 특정 지점에 도달하는 입


           Directed Grey-box                       력을 생성하는 것을 목표로 한다. 예를 들어 패치나 정적분석 결과를 검사해야 할 때,
                                                   우리는 프로그램 전체보다는 주어진 패치 코드나 정적분석 알람과 연관된 프로그램
           Fuzzing guided by                       지점(코드 블록 등)에 관심을 가지게 된다. 이때, 일반적인 퍼진 기법을 사용한다면
                                                   전체 프로그램을 살펴보느라 정작 우리가 관심 있는 프로그램 지점은 제대로 검사하
           Data Dependency                         지 못할 수 있다. 따라서 이런 경우에는 주어진 프로그램 지점에 집중할 수 있는 지향
                                                   성 퍼징이 더 좋은 분석 방법이라 할 수 있다.
                                                     본 연구에서는 데이터 의존성 정보를 활용한 더욱 효과적인 지향성 퍼징 기법, DAFL
                                                   을 선보였다. DAFL은 실제 퍼징을 수행하기 전에 정적 분석을 통해 대상 프로그램의
                                                   데이터 의존성 정보를 분석한다. 즉, 목표 지점에서 사용되는 데이터가 프로그램의
                                                   어떤 지점들을 거쳐서 도달했는지 파악하는 것이다. 그 후, 퍼징 과정에서는 앞서 파
                                                   악된 지점들에 집중해서 목표 지점에 더 빠르게 도달할 수 있도록 한다. 구체적으로
                                                   설명하자면 DAFL은 퍼징 과정에서 데이터 의존성이 있는 프로그램 지점들의 실행
                                                   정보만 기록하며, 더 가까운 데이터 의존성을 가지는 프로그램 지점을 실행한 입력에
                                                   더 큰 가중치를 주는 방식을 사용한다.


                                                     DAFL의 성능을 평가하기 위해 기존 지향성 퍼징 도구들인 AFLGo, Beacon, Win-
                                                   dRanger등과 비교하는 실험을 진행하였다. 지향성 퍼징 도구의 성능은 일반적으로
                                                   목표 지점을 줬을 때 해당 목표 지점에 존재하는 결함을 얼마나 이른 시간 안에 발견
                                                   할 수 있는지로 평가된다. 실험결과, DAFL은 41개의 결함 중 27개의 결함을 다른 도
                                                   구들보다 먼저 발견하였으며. 각 도구에 비해 최소 1.93배, 최대 20.34배 더 빠른 시간
                                                   안에 결함을 발견하였다. 이렇게 DAFL은 다른 지향성 퍼징 도구들에 비해 우수한 성
                                                   능을 보임으로써 데이터 의존성 정보를 사용하는 퍼징 방식의 효과성을 입증하였다.




















                                                                                         그림 1 ▶ DAFL 시스템 아키텍처

 10                                                                           Graduate School Of Information Security  11
   6   7   8   9   10   11   12   13   14   15   16