본문 바로가기
KERD
논문KCI 등재

신경망을 이용한 소프트웨어 취약 여부 예측 시스템

Software Vulnerability Prediction System Using Neural Network

0

조회

0

다운로드

0

인용

0

참고문헌

키워드

주제분류컴퓨터학

초록

소프트웨어의 증가에 따라 소프트웨어의 취약점도 함께 증가하고 있다. 다양한 소프트웨어는 다수의 취약점이 존재할 수 있으며 취약점을 통해 많은 피해를 받을 수 있기 때문에 빠르게 탐지하여 제거해야 한다. 현재 소프트웨어의취약점을 발견하기 위해 다양한 연구가 진행되고 있지만, 수행 속도가 느리거나 예측 정확도가 높지 않다. 따라서 본논문에서는 신경망 알고리즘을 이용하여 소프트웨어의 취약 여부를 효율적으로 예측하는 방법을 제안하며 나아가 기계학습 알고리즘을 이용한 기존의 시스템과 예측 정확도를 비교한다. 실험 결과 본 논문에서 제안하는 예측 시스템이가장 높은 예측률을 보였다.

Abstract

As the number and type of software increases, those security vulnerabilities are also increasing. Various types of softwaremay have multiple vulnerabilities and those vulnerabilities as they can cause irrecoverable significant damage must bedetected and deleted quickly. Various studies have been carried out to detect the vulnerability of the current software, but itis slow, and prediction accuracy is low. Therefore, in this paper, we describe a method to efficiently predict softwarevulnerability by using neural network algorithm and compare prediction accuracy with conventional system using machinelearning algorithm. As a result of the experiment, the prediction system proposed in this paper showed the highest predictionrate.

참고문헌 (28)

  1. "Software Policy & Research Institute" (2018)[URL]
  2. "Microsoft Vulnerabilities Report 2017" (2018)[URL]
  3. Miller, Barton P, "An empirical study of the reliability of UNIX utilities", Communications of the ACM, 33(12), pp.32~44 (1990)
  4. King, James C, "Symbolic execution and program testing", Communications of the ACM, 19(7), pp.385~394 (1976)
  5. S. Neuhaus, "Predicting vulnerable software components", ACM, pp.529~540 (2007)
  6. Nguyen, Viet Hung, "Predicting vulnerable software components with dependency graphs", Proceedings of the 6th International Workshop on Security Measurements and Metrics, pp.3:1~3:8 (2010), ACM
  7. Yonghee Shin, "An empirical model to predict security vulnerabilities using code complexity metrics", Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement, pp.315~317 (2008), ACM
  8. Yonghee Shin, "Is complexity really the enemy of software security?", Proceedings of the 4th ACM workshop on Quality of protection, pp.47~50 (2008), ACM
  9. Young Jun Lee, "Learning Binary Code with Deep Learning to Detect Software Weakness", KSII The 9th International Conference on Internet (ICONI) 2017 Symposium (2017)
  10. Grieco, G., "Toward large-scale vulnerability discovery using Machine Learning", Proceedings of the Sixth ACM Conference on Data and Application Security and Privacy, pp.85~96 (2016), ACM
  11. 최민준, "기계학습 알고리즘을 이용한 소프트웨어 취약 여부 예측 시스템", 정보보호학회논문지, 28(3), pp.635~642 (2018), 한국정보보호학회[DOI]
  12. 이강윤, "인공지능 왓슨 기술과 보건의료의 적용", 의학교육논단, 18(2), pp.51~57 (2016), 연세대학교 의과대학[DOI]
  13. 최선화, "풍수해 예측을 위한 신경망 모델", 정보과학회논문지 : 소프트웨어 및 응용, 38(3), pp.115~123 (2011), 한국정보과학회
  14. Silver, David, "Mastering the game of Go with deep neural networks and tree search", nature, 529(7587), pp.484~489 (2016)
  15. 김대원, "알파고와 이세돌 대국이 지적(知的) 업무로의인공지능 도입에 대한 인식에 미친 영향 탐색: PR담당자의 유관된 인식 유형 변화를 통해", 사이버커뮤니케이션학보, 33(4), pp.107~158 (2016), 사이버커뮤니케이션학회
  16. Iltaek Kwon, "Study on Application of Recurrent Neural Network to Extract Malware API Call Pattern", Communications of KIISE, pp.1081~1083 (2017)
  17. 서재현, "딥러닝 기반 불균형 침입탐지 데이터 분류에 관한 비교 연구", 한국지능시스템학회 논문지, 28(2), pp.152~159 (2018), 한국지능시스템학회
  18. "Juliet Test Sutie" (2019)[URL]
  19. "python-ptrace, python-ptrace" (2018)[URL]
  20. "zzuf—multi-purpose fuzzer" (2018)[URL]
  21. Witten, Ian H, "Data Mining:Practical machine learning tools and techniques" (2016), Morgan Kaufmann
  22. Euijoong Kim, "Introduction to Artificial Intelligence, Machine Learning, Deep Learning with Algorithms", ~ (2016)
  23. Szymanski, P, "Scikit-multilearn: a scikit-based Python environment for performing multi-label classification", The Journal of Machine Learning Research, 20(1), pp.209~230 (2019)
  24. Pedregosa, Fabian, "Scikit-learn: Machine learning in Python", Journal of Machine Learning Research, pp.2825~2830 (2011)
  25. Domingos, Pedro, "A few useful things to know about machine learning", Communications of the ACM, 55(10), pp.78~87 (2012)
  26. Hsu, Chih-Wei, "A practical guide to support vector classification", 1~16 (2003)
  27. Batista, Gustavo EAPA, "A study of the behavior of several methods for balancing machine learning training data", ACM Sigkdd Explorations Newsletter, 6(1), pp.20~29 (2004)
  28. Müller, Andreas C., "Introduction to machine learning with Python: a guide for data scientists", ~ (2016)

관련 논문AI추천

이 간행물의 다른 논문 (19건)