• Title/Summary/Keyword: 퍼징

Search Result 65, Processing Time 0.03 seconds

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

  • Park, Yeong-Ung;Lee, Jun-Hyuk;Cho, Seong-Je
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06a
    • /
    • pp.328-331
    • /
    • 2011
  • 최근 소프트웨어 결함이나 보안 취약점을 분석하고 발견하기 위해 퍼징(fuzzing)에 대한 연구가 활발하다. 퍼징은 무작위 입력 데이터를 대상 프로그램에 주입하여 그 결과를 관찰하면서 결함을 탐지하는 테스팅 방법이다. 본 논문에서는 웹 브라우저를 대상으로 기존의 '변이 기반의 덤 퍼징'(Mutation based Dumb Fuzzing) 방식과 '생성 기반의 지능적 퍼징'(Generation based Smart Fuzzing) 방식을 비교 분석하였다. 그리고 실험을 통해 기존의 퍼징 도구들의 성능을 측정하고 이를 바탕으로 브라우저 퍼징에서' 변이 기반의 덤 퍼징' 이 웹 브라우저의 결함 및 취약점 탐지에 더 효율적이라는 것을 보인다. 그리고 웹 브라우저를 대상으로 '변이 기반의 덤 퍼징' 방식을 적용할 때, 코드 실행 커버리지를 고려한 다수의 입력 템플릿 확보와 다수의 템플릿들에 대한 구성 요소들을 랜덤하게 섞어서 변이를 하는 효과적인 브라우저 퍼징 전략을 제안한다.

Design of Fuzzing Status Judgment Function for One-way Protocol Software Fuzzing (단방향 프로토콜 소프트웨어 퍼징을 제공하기 위한 퍼징 상태 판단 기능 설계)

  • An, Gae-Il;Choi, Yang-Seo
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2020.11a
    • /
    • pp.374-375
    • /
    • 2020
  • 소프트웨어 보안 취약점을 찾는 기술로서 퍼징(Fuzzing)이 있다. 기존 퍼징 기술은 요구-응답형 프로토콜을 사용하는 소프트웨어를 대상으로 하기 때문에 응답 메시기가 없는 단방향 프로토콜에서는 퍼징을 수행할 수 없는 문제가 있다. 본 논문에서는 단방향 프로토콜 소프트웨어에서 퍼징을 수행하는데 필요한 퍼징 상태 판다 기능을 정의하고 설계한다.

Survey on Advances in Test Case Generation and Reduction Algorithm of Fuzz Testing (퍼징 테스트 케이스 생성 및 축약 알고리즘 발전에 대한 연구)

  • Bae, Hyo-Bin;Eom, Jung-Ho;Kim, Hyun-Joo;Kim, Ik-Kyun;Chung, Tai-Myoung
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2013.11a
    • /
    • pp.831-834
    • /
    • 2013
  • 최근 퍼징(Fuzzing, Fuzz Testing)이 소프트웨어의 취약점을 찾아내기 위한 방법으로 활발하게 사용되고 있다. 퍼징은 반복적으로 비정상적인 데이터를 무작위로 생성하여 대상 소프트웨어에 입력 값으로 전달해 오작동을 유도하고, 오작동의 원인을 분석하여 소프트웨어의 취약성을 찾아낸다. 퍼징에서 사용되는 입력 값인 테스트 케이스에 따라서 취약점 탐지율 및 탐지 시간이 결정된다. 따라서 어떻게, 어떤 테스트 케이스를 생성하여 퍼징을 실행 할 것인지가 퍼징 연구의 핵심이다. 퍼징을 위해 생성하는 테스트 케이스는 숫자가 굉장히 많기 때문에 최근에 테스트 케이스의 크기를 축약하여 퍼징 결과 분석을 위해 소요되는 시간을 줄이는 연구가 발하게 진행되고 있다. 본 논문에서는 테스트 케이스 축약에 이용되는 다양한 알고리즘들에 대해 소개하고, 그 각각을 비교 분석하여 향후 퍼징의 테스트 케이스 축약에 관한 연구에 기여하고자 한다.

Design of Security Vulnerability Analysis Target Monitoring Function for Effective Fuzzing Test in VxWorks Environment (VxWorks 환경에서 효과적인 퍼징 테스트를 위한 보안취약점 분석대상 모니터링 기능 설계)

  • An, Gae-Il;Song, Won-Jun;Choi, Yang-Seo
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2019.10a
    • /
    • pp.407-408
    • /
    • 2019
  • 산업제어시스템에서 사용되는 소프트웨어의 보안취약점을 테스트하기 위한 방법으로 퍼징(Fuzzing)이 사용되고 있다. 퍼징 시스템은 크게 퍼징 대상을 테스트하는 퍼저(fuzzer)와 퍼징 대상을 모니터링하는 모니터링 모듈로 구성된다. 본 논문에서는 VxWorks 환경에서 효과적인 퍼징을 제공하기 위해 요구되는 퍼징 대상 모니터링 기능을 정의하고 모니터링 모듈을 설계한다.

Cooperative Firmware Fuzzing Technique for Lightweight Internet of Things (경량 IoT 를 위한 협력적 펌웨어 퍼징 기법)

  • Jin-Min Lee;Seung-Eun Lee;Na-Hyun Kim;Il-Gu Lee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2024.05a
    • /
    • pp.183-186
    • /
    • 2024
  • IoT(Internet of Things) 기기가 다양한 산업 분야에 활용되면서, 보안과 유지 보수를 위한 관리의 중요성이 커지고 있다. 편리한 IoT 기기 관리를 위해 무선 네트워크를 통한 펌웨어 업데이트 기술인 FOTA(Firmware Over The Air)가 적용되어 있지만, 컴퓨팅 파워가 제한된 경량 IoT 기기 특성상 취약점 탐지를 수행하기 어렵다. 본 연구에서는 IoT 기기들이 퍼징 테스트 케이스를 분할하여 협력적으로 퍼징하고, 노드 간의 퍼징 결과가 다르면 재검증을 수행하는 협력적 퍼징 기법을 제안한다. 실험 결과에 따르면, 중복되는 테스트 케이스를 2 개나 3 개 퍼징하는 협력적 퍼징 기법은 종래 방식 대비 연산량을 최소 약 16%, 최대 약 48% 줄였다. 또한, 종래 퍼징 기법 대비 취약점 탐지 성공률(Success rate of vulnerability detection)을 최소 약 3 배, 최대 약 3.4 배 개선시켰다.

A Design and Implementation of ROAD(RPC Object vulnerability Automatic Detector) (ROAD(RPC Object vulnerability Automatic Detector) 도구의 설계 및 구현)

  • Yang, Jin-Seok;Kim, Tae-Ghyoon;Kim, Hyoung-Chun;Hong, Soon-Jwa
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.17 no.2
    • /
    • pp.51-59
    • /
    • 2007
  • Software testing is the process of analyzing a software item to detect the differences between existing and required conditions and to evaluate the features of the software item. A traditional testing focuses on proper functionality, not security testing. Fuzzing is a one of many software testing techniques and security testing. Fuzzing methodology has advantage that low-cost, efficiency and so on. But fuzzing has defects such as intervening experts. Also, if there is no specification, fuzzing is impossible. ROAD Tool is automated testing tool for RPC(Remote Procedure Call) based protocol and software without specification. Existing tools are semi-automated. Therefore we must modify these tools. In this paper, we design and implement ROAD tool. Also we verify utility in testing results.

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

  • Kim, Dong-Jin;Moon, Jae-Chan;Park, Yeong-Ung;Cho, Seong-Je
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06a
    • /
    • pp.324-327
    • /
    • 2011
  • 스마트폰과 무선인터넷 상에서 멀티미디어 사용이 일반화되면서, 스마트폰 환경에서 멀티미디어 관련 취약점을 악용한 공격이 급증하고 있다. 이러한 취약점을 악용한 공격을 예방하기 위해, 퍼징(Fuzzing)을 적용하여 취약점을 미리 발견하려는 연구들이 진행되고 있다. 본 논문에서는 '임의 생성 기반 퍼징'(단순랜덤, simple random) 방법과 '구조적 변이 기반 퍼징'(구조적 변이, structured mutation) 방법을, 안드로이드 스마트폰용 멀티미디어 플레이어에 적용하는 실험을 수행하였다. 또한 PC 환경의 멀티미디어 플레이어들에서 발생했던 기존 취약점을 악용한 공격파일(exploit)을 안드로이드 스마트폰 환경의 멀티미디어 플레이어들에 적용하고 그 결과를 분석하였다. 실험 결과, PC 환경에서는 구조적 변이 퍼징이 효과적인데 비해, 안드로이드 스마트폰 환경에서는 단순 랜덤 퍼징이 효과적임을 알 수 있었다.

Breaking Anti-Fuzzing (안티퍼징 기술 우회)

  • Su-Hwan Song;Byoungyoung Lee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2024.05a
    • /
    • pp.20-22
    • /
    • 2024
  • 이 논문은 시스템의 안전성을 강화하는 안티퍼징을 우회하는 방법을 제안한다. 먼저, 안티퍼징을 우회하기 위해 가짜 Basic Block 을 효과적으로 식별하는 방법을 제안한다. 이를 통해 공격자가 시스템의 취약점을 파악하고 이를 이용하는 것이 가능하게 할 수 있다. 또한, 이 논문은 안티퍼징 메커니즘을 우회하기 위해 커널의 Syscall signal 을 수정하여 프로그램이 크래시가 발생할 때 정상적으로 종료되지 않도록 하는 방법을 제시한다. 이를 통해 시스템이 안티퍼징 메커니즘을 우회하고 퍼징 공격을 가능하게 한다. 이러한 연구 결과는 향후 보다 안전하고 안정적인 시스템 보호를 위한 중요한 연구 방향을 제시하고자 한다.

Partial Fuzzing Technique for Lightweight Firmware Update of Internet of Things (사물 인터넷의 경량 펌웨어 업데이트를 위한 부분 퍼징 기법)

  • Na-Hyun Kim;Jin-Min Lee;Il-Gu Lee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2024.05a
    • /
    • pp.181-182
    • /
    • 2024
  • IoT(Internet of Things) 기기의 수가 급격히 증가하면서 무선 네트워크로 펌웨어와 데이터를 다운받아 업데이트하는 FOTA(Firmware Over-The-Air) 기술이 중요해지고 있다. 그러나, 종래 퍼징 기술은 펌웨어 취약점을 탐지할 때 요구되는 컴퓨팅 파워와 메모리가 커서 한정적인 자원을 지닌 IoT 기기에 적합하지 않다. 따라서 본 연구에서는 펌웨어 업데이트 파일에서 기존에 검증된 부분을 제외하고 업데이트된 부분만을 퍼징하는 부분 퍼징(Partial fuzzing) 기법을 제안한다. 실험 결과에 따르면 제안한 부분 퍼징 기법이 종래의 기법 대비 3 분 더 빨리 11 개의 크래시를 찾았고, 10 분의 퍼징 시간 동안 평균 1,044 (2 unique) 크래시를 추가로 발견했으며 평균 메모리 사용량을 232(KIB) 줄일 수 있었다.

Automated Building Fuzzing Environment Using Test Framework (테스트 프레임워크를 활용한 라이브러리 퍼징 환경 구축 자동화)

  • Ryu, Minsoo;Kim, Dong Young;Jeon Sanghoonn;Kim, Huy Kang
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.31 no.4
    • /
    • pp.587-604
    • /
    • 2021
  • Because the library cannot be run independently and used by many applications, it is important to detect vulnerabilities in the library. Fuzzing, which is a dynamic analysis, is used to discover vulnerabilities for the library. Although this fuzzing technique shows excellent results in terms of code coverage and unique crash counts, it is difficult to apply its effects to library fuzzing. In particular, a fuzzing executable and a seed corpus are needed that execute the library code by calling a specific function sequence and passing the input of the fuzzer to reproduce the various states of the library. Generating the fuzzing environment such as fuzzing executable and a seed corpus is challenging because it requires both understanding about the library and fuzzing knowledge. We propose a novel method to improve the ease of library fuzzing and enhance code coverage and crash detection performance by using a test framework. The systems's performance in this paper was applied to nine open-source libraries and was verified through comparison with previous studies.