• 제목/요약/키워드: Fuzzing

검색결과 73건 처리시간 0.023초

안드로이드 스마트폰에서 퍼징 기반의 멀티미디어 플레이어 취약점 분석 (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 환경에서는 구조적 변이 퍼징이 효과적인데 비해, 안드로이드 스마트폰 환경에서는 단순 랜덤 퍼징이 효과적임을 알 수 있었다.

파일 퍼징을 이용한 SW 취약점 분석 (Software Vulnerability Analysis using File Fuzzing)

  • 김상수;강동수
    • 한국컴퓨터정보학회:학술대회논문집
    • /
    • 한국컴퓨터정보학회 2017년도 제56차 하계학술대회논문집 25권2호
    • /
    • pp.29-32
    • /
    • 2017
  • 보안 취약점을 악용하여 소프트웨어를 무력화하는 사이버 공격이 증가함에 따라, 조기에 소프트웨어의 취약점을 발견하고 분석하는 보안 테스팅에 대한 중요성이 높아지고 있다. 보안 테스팅의 자동화된 방법 중 하나인 퍼징 기법은 소프트웨어의 입력에 타당하지 않은 무작위 값을 삽입하여 해당 소프트웨어의 예외 즉, 잠재적인 취약점을 발견할 수 있다. 본 논문은 파일 퍼징 과정에서 효율적인 파일 변이 방법을 제안하고 이를 활용한 퍼징 기법을 통해 소프트웨어의 보안성을 높이고자 한다.

  • PDF

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

  • 안개일;송원준;최양서
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2019년도 추계학술발표대회
    • /
    • pp.407-408
    • /
    • 2019
  • 산업제어시스템에서 사용되는 소프트웨어의 보안취약점을 테스트하기 위한 방법으로 퍼징(Fuzzing)이 사용되고 있다. 퍼징 시스템은 크게 퍼징 대상을 테스트하는 퍼저(fuzzer)와 퍼징 대상을 모니터링하는 모니터링 모듈로 구성된다. 본 논문에서는 VxWorks 환경에서 효과적인 퍼징을 제공하기 위해 요구되는 퍼징 대상 모니터링 기능을 정의하고 모니터링 모듈을 설계한다.

기호 실행에서의 인공 지능 적용에 대한 연구: 퍼징과 취약점 탐지에서의 활용 (A Study on the Application of Artificial Intelligence in Symbolic Execution: Usage in fuzzing and vulnerability detection)

  • 하회리;안선우;김현준;백윤흥
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2020년도 춘계학술발표대회
    • /
    • pp.582-584
    • /
    • 2020
  • 기호 실행 (symbolic execution)은 프로그램을 특정 상태로 구동하는 입력 값을 찾는 코드 분석기법이다. 이를 사용하면 자동화 소프트웨어 테스트 기법인 퍼징 (fuzzing)을 훨씬 효율적으로 사용하여 더 많은 보안 취약점을 찾을 수 있지만, 기호 실행의 한계점으로 인하여 쉽게 적용할 수 없었다. 이를 해결하기 위해 인공 지능을 활용한 방법을 소개하겠다.

커버리지 기반 웹어셈블리 퍼저의 분류와 한계점 (The Classification and Limitation of Coverage-based WebAssembly Fuzzer)

  • 강하영;송수현;권동현
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2023년도 춘계학술발표대회
    • /
    • pp.154-155
    • /
    • 2023
  • WebAssembly(Wasm)은 웹에서 네이티브에 가까운 속도로 실행 가능하고, 고성능 어플리케이션의 구현도 가능하기 때문에 브라우저 및 기타 플랫폼에서 활발히 사용되고 있다. 이로 인해 Wasm에 대한 보안성이 대두되고 있는데, 이때 취약점을 탐지하는 Fuzzing 기법을 적용한 연구들이 있다. Fuzzing 기법에 대한 분류 및 대표적인 도구를 소개하고 각 기법 간 차이점 및 한계점과 향후 연구 방향을 제시한다.

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

  • 김나현;이진민;이일구
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2024년도 춘계학술발표대회
    • /
    • 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) 줄일 수 있었다.

  • PDF

하이브리드 분석 기반의 스마트 퍼징 시스템 설계 (A Design of Smart Fuzzing System Based on Hybrid Analysis)

  • 김만식;강정호;전문석
    • 디지털융복합연구
    • /
    • 제15권3호
    • /
    • pp.175-180
    • /
    • 2017
  • 전 세계적으로 IT 산업이 발전함에 따라 소프트웨어 산업 또한 크게 성장하였으며, 사회전반에 걸쳐 일상생활에서부터 금융과 공공 기관까지 영향력을 미치고 있다. 특히 ICT 기술의 활성화로 인해 소프트웨어 산업은 더욱 고도화 되고, 다양한 기능과 기술을 공유하게 되었다. 그러나 이렇게 성장하는 소프트웨어 산업과 비례하여 제공되는 서비스에 치명적인 위협을 가할 수 있는 다양한 보안 위협 또한 크게 증가 하였다. 이미 OpenSSL 하트블리딩 취약점으로 전 세계적으로 큰 이슈를 일으켰으며, 그밖에도 이란의 원자력 발전시설, 미국의 에너지 기업들이 소프트웨어 취약점으로 인해 많은 피해를 입었다. 본 논문에서는 응용프로그램 보안 사고의 큰 비중을 차지하고 있는 소프트웨어 취약점을 효과적으로 탐지 식별 할 수 있는 블랙박스, 화이트박스 테스트를 연계한 하이브리드 퍼징 시스템을 제안한다.

제어프로토콜 퍼징 기반 열차제어시스템 취약점 검출 기법 (Vulnerability Discovery Method Based on Control Protocol Fuzzing for a Railway SCADA System)

  • 김우년;장문수;서정택;김상욱
    • 한국통신학회논문지
    • /
    • 제39C권4호
    • /
    • pp.362-369
    • /
    • 2014
  • 열차전력원격감시제어시스템은 열차 운행에 필요한 전력을 공급하는 제어시스템이다. 열차전력원격감시제어시스템은 관제실에서 원격지의 RTU(Remote Terminal Unit) 장치에 제어명령을 내리면, RTU는 이를 해석하여 입출력 모듈을 제어하고, 각 입출력 모듈로부터 수집된 데이터는 사령실로 전송함으로써, 사령실에서 열차에 공급되는 전력 상태를 감시 및 제어하는 시스템이다. 본 논문은 열차전력원격감시제어시스템의 구성요소인 VxWorks 실시간 운영체제 기반의 RTU에서 동작하는 DNP3 제어프로토콜 통신 소프트웨어의 취약점을 검출하기 위한 퍼징 기술에 대하여 제안한다. VxWorks는 동작중인 프로세스의 상태를 감시하기 위한 모니터링 에이전트를 설치할 수 없기 때문에, 모니터링 에이전트 없이 프로세스의 상태 정보를 획득하기 위해서 VxWorks의 디버그 채널을 이용하였다. 또한 DNP3 제어프로토콜은 제어명령을 순서대로 전송하지 않을 경우 패킷을 무시하기 때문에 제어프로토콜 함수코드 순서를 고려한 퍼징을 수행하였다. 이러한 두 가지 기술을 이용하여 VxWorks 기반의 RTU에서 실행되는 DNP3 제어프로토콜 응용프로그램의 취약점을 시험할 수 있었다.

복합 에뮬레이션을 이용한 효율적인 커버리지 가이드 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를 제안한다.

A Practical Intent Fuzzing Tool for Robustness of Inter-Component Communication in Android Apps

  • Choi, Kwanghoon;Ko, Myungpil;Chang, Byeong-Mo
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • 제12권9호
    • /
    • pp.4248-4270
    • /
    • 2018
  • This research aims at a new practical Intent fuzzing tool for detecting Intent vulnerabilities of Android apps causing the robustness problem. We proposed two new ideas. First, we designed an Intent specification language to describe the structure of Intent, which makes our Intent fuzz testing tool flexible. Second, we proposed an automatic tally method classifying unique failures. With the two ideas, we implemented an Intent fuzz testing tool called Hwacha, and evaluated it with 50 commercial Android apps. Our tool offers an arbitrary combination of automatic and manual Intent generators with executors such as ADB and JUnit due to the use of the Intent specification language. The automatic tally method excluded almost 80% of duplicate failures in our experiment, reducing efforts of testers very much in review of failures. The tool uncovered more than 400 unique failures including what is unknown so far. We also measured execution time for Intent fuzz testing, which has been rarely reported before. Our tool is practical because the whole procedure of fuzz testing is fully automatic and the tool is applicable to the large number of Android apps with no human intervention.