WinEco: Windows Time Travel Debugging 기반 Harness 반자동 생성 - 김동준; 손태식 (디지털콘텐츠학회논문지, 2024)
퍼징은 현재 많은 취약점을 찾는 데에 활용되고 있는 기술이다. 그동안의 퍼징 커뮤니티는 AFL (American Fuzzy Lop)을 기반으로 하여 Unix 기반 시스템에 적합한 방향으로 많이 발전되었다. 하지만 그동안의 연구를 윈도우 애플리케이션에 적용하는 데는 많은 어려움이 존재한다. 두 시스템의 가장 큰 차이는 harness 프로그램의 작성 여부로, 이는 분석가의 큰 노력이 필요하며 필연적으로 False Positive나 False Negative가 존재할 수밖에 없다. 본 연구에서는 윈도우의 TTD (Time Travel Debugging) 기술을 기반으로 harness를 반자동 생성할 수 있는 프레임워크인 WinEco를 제안한다. WinEco는 프로그램의 코드 흐름, 데이터 흐름, 의존성 등을 분석하여 퍼징에 최적화된 harness를 생성한다. WinEco의 정당성을 검증하기 위해 총 3개의 윈도우 상용 소프트웨어를 대상으로 harness를 생성하였고, WinAFL에 적용해 본 결과 총 10개의 Unique 버그를 찾았다.
Keywords: Fuzzing; Windows; Harness; Vulnerability; Automation; 퍼징; 윈도우; 하네스; 취약점; 자동화