• Title/Summary/Keyword: fuzzing Algorithm

Search Result 5, Processing Time 0.017 seconds

A Length-based File Fuzzing Test Suite Reduction Algorithm for Evaluation of Software Vulnerability (소프트웨어 취약성 평가를 위한 길이기반 파일 퍼징 테스트 슈트 축약 알고리즘)

  • Lee, Jaeseo;Kim, Jong-Myong;Kim, SuYong;Yun, Young-Tae;Kim, Yong-Min;Noh, Bong-Nam
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.23 no.2
    • /
    • pp.231-242
    • /
    • 2013
  • Recently, automated software testing methods such as fuzzing have been researched to find software vulnerabilities. The purpose of fuzzing is to disclose software vulnerabilities by providing a software with malformed data. In order to increase the probability of vulnerability discovery by fuzzing, we must solve the test suite reduction problem because the probability depends on the test case quality. In this paper, we propose a new method to solve the test suite reduction problem which is suitable for the long test case such as file. First, we suggested the length of test case as a measure in addition to old measures such as coverage and redundancy. Next we designed a test suite reduction algorithm using the new measure. In the experimental results, the proposed algorithm showed better performance in the size and length reduction ratio of the test suite than previous studies. Finally, results from an empirical study suggested the viability of our proposed measure and algorithm for file fuzzing.

Software Vulnerability Prediction System Using Neural Network (신경망을 이용한 소프트웨어 취약 여부 예측 시스템)

  • Choi, Minjun;Koo, Dongyoung;Yun, Joobeom
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.29 no.3
    • /
    • pp.557-564
    • /
    • 2019
  • As the number and type of software increases, those security vulnerabilities are also increasing. Various types of software may have multiple vulnerabilities and those vulnerabilities as they can cause irrecoverable significant damage must be detected and deleted quickly. Various studies have been carried out to detect the vulnerability of the current software, but it is slow, and prediction accuracy is low. Therefore, in this paper, we describe a method to efficiently predict software vulnerability by using neural network algorithm and compare prediction accuracy with conventional system using machine learning algorithm. As a result of the experiment, the prediction system proposed in this paper showed the highest prediction rate.

Software Vulnerability Prediction System Using Machine Learning Algorithm (기계학습 알고리즘을 이용한 소프트웨어 취약 여부 예측 시스템)

  • Choi, Minjun;Kim, Juhwan;Yun, Joobeom
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.28 no.3
    • /
    • pp.635-642
    • /
    • 2018
  • In the Era of the Fourth Industrial Revolution, we live in huge amounts of software. However, as software increases, software vulnerabilities are also increasing. Therefore, it is important to detect and remove software vulnerabilities. Currently, many researches have been studied to predict and detect software security problems, but it takes a long time to detect and does not have high prediction accuracy. Therefore, in this paper, we describe a method for efficiently predicting software vulnerabilities using machine learning algorithms. In addition, various machine learning algorithms are compared through experiments. Experimental results show that the k-nearest neighbors prediction model has the highest prediction rate.

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

Research of generate a test case to verify the possibility of external threat of the automotive ECU (차량 ECU의 외부 위협성 가능성을 검증하기 위한 테스트 케이스 생성 연구)

  • Lee, Hye-Ryun;Kim, Kyoung-Jin;Jung, Gi-Hyun;Choi, Kyung-Hee
    • Journal of the Korea Society of Computer and Information
    • /
    • v.18 no.9
    • /
    • pp.21-31
    • /
    • 2013
  • ECU(Electric Control Unit) on the important features of the vehicle is equipped, ECU between sending and receiving messages is connected to one of the internal network(CAN BUS), but this network easily accessible from the outside and not intended to be able to receive attacks from an attacker, In this regard, the development of tools that can be used in order to verify the possibility of attacks on attacks from outside, However, the time costs incurred for developing tools and time to analyze from actual car for CAN messages to be used in the attack to find. In this paper, we want to solve it, propose a method to generate test cases required for the attack is publicly available tool called Sulley and it explains how to find the CAN messages to be used in the attack. Sulley add the CAN messages data generated library files in provided library file and than Sulley execute that make define and execute file conform to the CAN communication preferences and create message rules. Experiments performed by the proposed methodology is applied to the actual car and result, test cases generated by the CAN messages fuzzing through Sulley send in the car and as a result without a separate tool developed was operating the car.