$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

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

情報保護學會論文誌 = Journal of the Korea Institute of Information Security and Cryptology, v.28 no.3, 2018년, pp.635 - 642  

최민준 (세종대학교) ,  김주환 (세종대학교) ,  윤주범 (세종대학교)

초록
AI-Helper 아이콘AI-Helper

4차 산업혁명 시대에 우리는 소프트웨어 홍수 속에 살고 있다. 그러나, 소프트웨어의 증가는 필연적으로 소프트웨어 취약점 증가로 이어지고 있어 소프트웨어 취약점을 탐지 및 제거하는 작업이 중요하게 되었다. 현재까지 소프트웨어 취약 여부를 예측하는 연구가 진행되었지만, 탐지 시간이 오래 걸리거나, 예측 정확도가 높지 않았다. 따라서 본 논문에서는 기계학습 알고리즘을 이용하여 소프트웨어의 취약 여부를 효율적으로 예측하는 방법을 설명하며, 다양한 기계학습 알고리즘을 이용한 실험 결과를 비교한다. 실험 결과 k-Nearest Neighbors 예측 모델이 가장 높은 예측률을 보였다.

Abstract AI-Helper 아이콘AI-Helper

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 det...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

문제 정의

  • 컴퓨터의 보급화에 따라 다양한 소프트웨어가 개발, 사용되고 있고 소프트웨어에는 다수의 취약점이 존재하는데 해당 취약점으로 인해 개인 및 기업에 막대한 손실을 줄 수 있다. 막대한 손실을 가져올 수 있는 취약점을 찾기 위해서는 비용과 시간이 소요되는데, 이러한 손실을 줄이기 위해 본 논문에서는 기계학습 알고리즘을 이용해 소프트웨어 취약 여부를 예측하였고 더 나아가 기계학습 알고리즘 중 지도학습 알고리즘들의 예측률을 비교하였다. 실험 결과 기존 트레이스 기반 취약 여부 예측 방법[13] 연구에서 가장 뛰어난 예측률을 보인 Random Forest 알고리즘 보다 본 논문에서 제안한 VulPredictor에서 이용된 k-Nearest Neighbors을 사용할 시 전체적인 예측 수치가 향상되었다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
업무 처리를 위해 사용되는 소프트웨어 카테고리는 어떤 것들이 있나요? 현대 사회에서 컴퓨터는 개인과 기업, 더 나아가 국가에서 여러 업무를 효율적으로 처리하기 위해 사용하고 있으며 업무 처리를 위해 사용되는 소프트웨어에는 문서, 음성, 영상, 작성, 편집을 위해 다양한 소프트웨어가 사용된다. 다양한 소프트웨어들은 다수의 취약점이 존재할 수 있고[1], 해당 취약점은 개인이나 기업 자산에 막대한 손해를 끼칠 수 있기 때문에 탐지하여 제거해야 한다.
트레이스를 이용한 취약 여부 예측 중 가장 높은 예측률을 보인 기계학습 알고리즘은? 예측은 테스트할 바이너리의 특징을 트레이스를 통해 추출하고 추출된 특징을 기반으로 취약 여부를 예측한다. 예측 실험 결과 기계학습 알고리즘 중 지도학습 알고리즘의 한 종류인 Random Forest 알고리즘 예측률이 가장 높았음을 보여주었다. 트레이스를 이용한 취약 여부 예측은 소스코드 없이 실행 파일만 제공해도 취약 여부를 예측할 수 있다는 장점이 있지만, 예측 정확도가 높지 않다는 단점이 있다.
소프트웨어의 취약점을 탐지하기 위해서 사용하는 접근법 중 퍼징기법의 특징은 무엇인가? 이러한 소프트웨어의 취약점을 탐지하기 위해 다양한 접근법이 사용된다[2]. 그 중 첫 번째로 퍼징기법은 취약점 발견 확률을 높이기 위해 대상 분석, 입력 분석 등 여러 단계를 거쳐야 하며 데이터 형태, 포맷 구조 이해 여부 등에 따라 덤, 스마트 등 여건에 맞는 퍼징 기법을 선택[3]해야 하는 단점이 있다. 두 번째로 프로그램 흐름을 분석하여 취약점을 발견하는 기호 실행[4] 기법의 경우 분석할 바이너리마다 스크립트를 작성해야 하며 스크립트 작성을 위해 라이브러리 사용법까지 숙지하여야 하는 단점이 있다[5].
질의응답 정보가 도움이 되었나요?

참고문헌 (21)

  1. S. Neuhaus, T. Zimmermann, C. Holler, and A. Zeller, "Predicting vulnerable software components," Proceedings of the 14th ACM conference on Computer and communications security, pp. 529-540, Oct. 2007. 

  2. Catal, Cagatay, and Banu Diri, "A systematic review of software fault prediction studies," Expert systems with applications, vol. 36, no. 4, pp. 7346-7354, May. 2009. 

  3. Sangsu Kim, and Dongsu Kang, "Software Vulnerability Analysis using File Fuzzing," Conference of The Korean Society Of Computer And Information, 25(2), pp. 29-32, Jul. 2017. 

  4. King, James C., "Symbolic execution and program testing," Communications of the ACM, vol. 19, no. 7, pp. 385-394, Jul. 1976. 

  5. Sunnyeo Park, Wonchan Oh, Hyeonkee Cho and Eunsun Cho, "Automated Vulnerability Analysis Tool for Binary Codes based on Symbolic Execution," Journal of Scientific Conference of Korean Institute of Information Scientists and Engineers, pp. 1917-1919, Jun. 2017. 

  6. Miller, Barton P., Louis Fredriksen, and Bryan So, "An empirical study of the reliability of unix utilities," Communications of the ACM, vol. 33, no. 12, pp. 32-44, Dec. 1990. 

  7. MinSik Shin, JungBeen Yu, and Taekyoung Kwon, "A Study of File Format-Aware Fuzzing against Smartphone Media Server Daemons," Journal of the Korea Institute of Information Security, 27(3), pp. 541-548, Jun. 2017. 

  8. Jegyeong Jo, and Jaecheol Ryou, "Method of Fuzzing Document Application Based on Android Devices," Journal of the Korea Institute of Information Security, 25(1), pp. 31-37, Feb. 2015. 

  9. Nguyen, Viet Hung, and Le Minh Sang Tran, "Predicting vulnerable software components with dependency graphs," Proceedings of the 6th International Workshop on Security Measurements and Metrics, pp. 1-8, Sep. 2010. 

  10. Yonghee Shin, and Laurie Williams, "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, Oct. 2008. 

  11. Yonghee Shin, and Laurie Williams, "Is complexity really the enemy of software security?," Proceedings of the 4th ACM workshop on Quality of protection, pp. 47-50, Oct. 2008. 

  12. Young Jun Lee, Sang-Hoon Choi, Chulwoo Kim and Ki-Woong Park, "Learning binary code with deep learning to detect software weakness," KSII The 9th International Conference on Internet 2017 Symposium, pp. 245-249, Dec. 2017. 

  13. Grieco, G., Grinblat, G.L., Uzal, L., Rawat, S., Feist, J. and Mounier, L., "Toward large-scale vulnerability discovery using Machine Learning," Proceedings of the Sixth ACM Conference on Data and Application Security and Privacy, pp. 85-96, Mar. 2016. 

  14. V. Stinner, python-ptrace, http://python-ptrace.readthedocs.org/ 

  15. Hocevar, S. zzuf-multi-purposefuzzer, http://caca.zoy.org/wiki/zzuf/ 

  16. Witten, I.H., Frank, E., Hall, M.A. and Pal, C.J., Data Mining: Practical machine learning tools and techniques, Morgan Kaufmann, Oct. 2016. 

  17. Muller, Andreas C. and Sarah Guido, Introduction to machine learning with Python: a guide for data scientists, O'Reilly Media, Inc., Oct. 2016. 

  18. Pedregosa, Fabian and et al., "Scikitlearn: machine learning in python," Journal of Machine Learning Research, pp. 2825-2830, Oct. 2011. 

  19. Domingos, Pedro, "A few useful things to know about machine learning," Communications of the ACM, vol. 55, no. 10, pp. 78-87, Oct. 2012. 

  20. Hsu, Chih-Wei, Chih-Chung Chang, and Chih-Jen Lin, "A practical guide to support vector classification," Department of Computer Science, National Taiwan University, Jul. 2003. 

  21. Batista, Gustavo EAPA, Ronaldo C. Prati, and Maria Carolina Monard, "A study of the behavior of several methods for balancing machine learning training data," ACM Sigkdd Explorations Newsletter, vol. 6, no. 1 pp. 20-29, Jun. 2004. 

저자의 다른 논문 :

LOADING...

관련 콘텐츠

오픈액세스(OA) 유형

FREE

Free Access. 출판사/학술단체 등이 허락한 무료 공개 사이트를 통해 자유로운 이용이 가능한 논문

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로