• 제목/요약/키워드: Mutation-based Fuzzing

검색결과 7건 처리시간 0.019초

자바스크립트 엔진에 대한 시맨틱 보존적 변이기반 퍼징 (Semantics-Preserving Mutation-Based Fuzzing on JavaScript Interpreters)

  • 오동현;최재승;차상길
    • 정보보호학회논문지
    • /
    • 제30권4호
    • /
    • pp.573-582
    • /
    • 2020
  • 퍼징은 입력값을 무작위로 생성해 소프트웨어를 테스팅하는 방법으로, 처음 고안된 이래로 다양한 방식의 퍼징이 연구되고 있다. 그중 변이기법을 적용한 퍼징은 확률에 따른 비트 반전이나 특별 값 치환과 같이 비교적 간단한 접근법을 사용함에도, 많은 버그를 발견해온 만큼 효율적인 방법이라고 할 수 있다. 하지만 인터프리터는 문법, 시맨틱이 올바른 입력값을 요구하기 때문에 일반적인 변이기법을 적용하기에는 어려움이 있다. 이에 본 연구에서는 동적 데이터 흐름 분석을 통해 변이기법을 인터프리터 퍼징에 적용할 수 있는 방법에 대해 제시하고자 한다. 본 연구에서 제시하는 JMFuzzer는 문법, 시맨틱의 올바름을 고려해 자바스크립트 인터프리터에서 오류 없이 정상적으로 동작하는 다양한 유형의 테스트케이스를 생성할 수 있다. 최종적으로 본 연구에서는 최신 버전의 자바스크립트 인터프리터에서 알려지지 않은 취약점들을 찾았으며, 이를 각 회사에 제보했다.

퍼징 도구들의 비교 분석을 통한 효율적인 웹 브라우저 퍼징 전략 (An Efficient Web Browser Fuzzing Strategy through Comparative Analysis of Fuzzers)

  • 박영웅;이준혁;조성제
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2011년도 한국컴퓨터종합학술대회논문집 Vol.38 No.1(A)
    • /
    • pp.328-331
    • /
    • 2011
  • 최근 소프트웨어 결함이나 보안 취약점을 분석하고 발견하기 위해 퍼징(fuzzing)에 대한 연구가 활발하다. 퍼징은 무작위 입력 데이터를 대상 프로그램에 주입하여 그 결과를 관찰하면서 결함을 탐지하는 테스팅 방법이다. 본 논문에서는 웹 브라우저를 대상으로 기존의 '변이 기반의 덤 퍼징'(Mutation based Dumb Fuzzing) 방식과 '생성 기반의 지능적 퍼징'(Generation based Smart Fuzzing) 방식을 비교 분석하였다. 그리고 실험을 통해 기존의 퍼징 도구들의 성능을 측정하고 이를 바탕으로 브라우저 퍼징에서' 변이 기반의 덤 퍼징' 이 웹 브라우저의 결함 및 취약점 탐지에 더 효율적이라는 것을 보인다. 그리고 웹 브라우저를 대상으로 '변이 기반의 덤 퍼징' 방식을 적용할 때, 코드 실행 커버리지를 고려한 다수의 입력 템플릿 확보와 다수의 템플릿들에 대한 구성 요소들을 랜덤하게 섞어서 변이를 하는 효과적인 브라우저 퍼징 전략을 제안한다.

ER-Fuzz : Conditional Code Removed Fuzzing

  • Song, Xiaobin;Wu, Zehui;Cao, Yan;Wei, Qiang
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • 제13권7호
    • /
    • pp.3511-3532
    • /
    • 2019
  • Coverage-guided fuzzing is an efficient solution that has been widely used in software testing. By guiding fuzzers through the coverage information, seeds that generate new paths will be retained to continually increase the coverage. However, we observed that most samples follow the same few high-frequency paths. The seeds that exercise a high-frequency path are saved for the subsequent mutation process until the user terminates the test process, which directly affects the efficiency with which the low-frequency paths are tested. In this paper, we propose a fuzzing solution, ER-Fuzz, that truncates the recording of a high-frequency path to influence coverage. It utilizes a deep learning-based classifier to locate the high and low-frequency path transfer points; then, it instruments at the transfer position to promote the probability low-frequency transfer paths while eliminating subsequent variations of the high-frequency path seeds. We implemented a prototype of ER-Fuzz based on the popular fuzzer AFL and evaluated it on several applications. The experimental results show that ER-Fuzz improves the coverage of the original AFL method to different degrees. In terms of the number of crash discoveries, in the best case, ER-Fuzz found 115% more unique crashes than did AFL. In total, seven new bugs were found and new CVEs were assigned.

스마트폰 미디어 서버 데몬에 대한 파일 포맷 인식 기반의 퍼징 연구 (A Study of File Format-Aware Fuzzing against Smartphone Media Server Daemons)

  • 신민식;유정빈;권태경
    • 정보보호학회논문지
    • /
    • 제27권3호
    • /
    • pp.541-548
    • /
    • 2017
  • 스마트폰은 오디오 서비스를 처리하기 위해 미디어 서버 데몬을 운용한다. 백그라운드에서 높은 권한으로 실행되고 있는 미디어 서버 데몬은 스마트폰을 포함한 스마트 기기에서 가장 많이 사용하는 기능인만큼 관련 취약점이 많이 발생하고 있다. 소프트웨어 취약점을 찾기 위해 널리 사용되는 기존의 퍼징 기법은 미디어 서버 데몬과 같이 입력 파일 포맷 요구사항이 엄격한 환경에서 효과적이지 않다. 본 연구에서는 미디어 서버 데몬의 취약점을 효율적으로 찾기 위해 파일 포맷 인식 기반의 퍼징 기법을 제안한다. 실험을 통해 iOS/tvOS/MacOS/watchOS에서 원격 임의코드 실행 취약점을 발견하였으며 상용 퍼징 도구 FileFuzz, ZZUF와 비교하여 본 논문의 효율성을 검증하였다.

안드로이드 스마트폰에서 퍼징 기반의 멀티미디어 플레이어 취약점 분석 (Fuzzing-based Vulnerability Analysis for Multimedia Players on Android Smartphones)

  • 김동진;문재찬;박영웅;조성제
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2011년도 한국컴퓨터종합학술대회논문집 Vol.38 No.1(A)
    • /
    • pp.324-327
    • /
    • 2011
  • 스마트폰과 무선인터넷 상에서 멀티미디어 사용이 일반화되면서, 스마트폰 환경에서 멀티미디어 관련 취약점을 악용한 공격이 급증하고 있다. 이러한 취약점을 악용한 공격을 예방하기 위해, 퍼징(Fuzzing)을 적용하여 취약점을 미리 발견하려는 연구들이 진행되고 있다. 본 논문에서는 '임의 생성 기반 퍼징'(단순랜덤, simple random) 방법과 '구조적 변이 기반 퍼징'(구조적 변이, structured mutation) 방법을, 안드로이드 스마트폰용 멀티미디어 플레이어에 적용하는 실험을 수행하였다. 또한 PC 환경의 멀티미디어 플레이어들에서 발생했던 기존 취약점을 악용한 공격파일(exploit)을 안드로이드 스마트폰 환경의 멀티미디어 플레이어들에 적용하고 그 결과를 분석하였다. 실험 결과, PC 환경에서는 구조적 변이 퍼징이 효과적인데 비해, 안드로이드 스마트폰 환경에서는 단순 랜덤 퍼징이 효과적임을 알 수 있었다.

북한 서광문서처리체계 분석을 위한 Document Object Model(DOM) 기반 퍼징 기법 (A DOM-Based Fuzzing Method for Analyzing Seogwang Document Processing System in North Korea)

  • 박찬주;강동수
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제8권5호
    • /
    • pp.119-126
    • /
    • 2019
  • 자체 개발하여 사용하고 있는 대표적인 소프트웨어는 붉은별(Red Star)과 내부 응용 소프트웨어이다. 하지만 이러한 북한 소프트웨어에 대한 기존 연구는 소프트웨어 설치방법 및 일반적인 실행화면 분석이 대부분이다. 소프트웨어 보안 취약점을 확인하는 방법 중 하나인 파일 퍼징은 보안 취약점을 식별하는 대표적인 방법이며, 본 연구에서는 북한에서 개발하여 사용 중인 소프트웨어 중 서광문서처리체계에 대한 보안 취약점을 분석하기 위해 파일 퍼징을 사용한다. 이때 서광문서처리체계에서 생산되는 Open Document Text(ODT) 파일 분석 및 테스팅 대상을 정하기 위한 Document Object Model(DOM) 기반 노드 추출, 그리고 삽입과 대체를 통한 변이 파일 생성을 제안하며, 이를 통해 동일한 테스팅 시간에 크래시 발견 횟수를 증가시킨다.

복합 에뮬레이션을 이용한 효율적인 커버리지 가이드 IoT 펌웨어 퍼징 기법 (Efficient Coverage Guided IoT Firmware Fuzzing Technique Using Combined Emulation)

  • 김현욱;김주환;윤주범
    • 정보보호학회논문지
    • /
    • 제30권5호
    • /
    • pp.847-857
    • /
    • 2020
  • IoT 장비가 상용화되면서 IP카메라, 도어락, 자동차, TV 등 일반 생활기기에 블루투스나 유무선의 네트워크가 내재되어 출시되고 있다. IoT 장비는 네트워크를 통해 많은 정보들을 공유하며 개인적인 정보들을 수집하여 시스템을 가동하기 때문에 IoT 장비에 대한 보안은 더욱 중요해지고 있다. 또한, 현재 사이버 위협 중 웹 기반 공격과 애플리케이션 공격이 상당히 많은 비중을 차지하고 있고, 이를 보안하기 위해 보안 전문가들이 수동 분석을 통해 사이버 공격의 취약점들을 분석하고 있다. 그러나 수동 분석으로만 취약점을 분석하기에는 사실상 불가능하기 때문에 현재 시스템 보안을 연구하는 연구원들은 자동화된 취약점 탐지 시스템을 연구하고 있고, 최근 USENIX에서 발표된 Firm-AFL은 커버리지 기반의 퍼저를 사용하여 퍼징의 처리속도와 효율성에 대해 연구를 진행하여 시스템을 제안했다. 하지만, 기존 도구는 펌웨어의 퍼징 처리속도에 초점을 두고 연구를 진행하다 보니 다양한 경로에서 취약점을 발견하지 못했다. 본 논문에서는 기존 도구에서 찾지 못한 다양한 경로에서 취약점을 발견하고자 변이과정을 강화시켜 기존 도구가 찾은 경로보다 더 많은 경로를 찾고, 제약조건을 해결하며 더 많은 크래시를 발견하는 IoTFirmFuzz를 제안한다.