Abstract
As automatic hacking tools and techniques have been improved, the number of new vulnerabilities has increased. The CVE registered from 2010 to 2015 numbered about 80,000, and it is expected that more vulnerabilities will be reported. In most cases, patching a vulnerability depends on the developers' capability, and most patching techniques are based on manual analysis, which requires nine months, on average. The techniques are composed of finding the vulnerability, conducting the analysis based on the source code, and writing new code for the patch. Zero-day is critical because the time gap between the first discovery and taking action is too long, as mentioned. To solve the problem, techniques for automatically detecting and analyzing software (SW) vulnerabilities have been proposed recently. Cyber Grand Challenge (CGC) held in 2016 was the first competition to create automatic defensive systems capable of reasoning over flaws in binary and formulating patches without experts' direct analysis. Darktrace and Cylance are similar projects for managing SW automatically with artificial intelligence and machine learning. Though many foreign commercial institutions and academies run their projects for automatic binary analysis, the domestic level of technology is much lower. This paper is to study developing automatic detection of SW vulnerabilities and defenses against them. We analyzed and compared relative works and tools as additional elements, and optimal techniques for automatic analysis are suggested.
자동으로 해킹을 수행하는 도구 및 기법의 발전으로 인해 최근 신규 보안 취약점들이 증가하고 있다. 대표적인 취약점 DB인 CVE를 기준으로 2010년부터 2015년까지 신규 취약점이 약 8만건이 등록되었고, 최근에도 점차 증가하는 추세이다. 그러나 이에 대응하는 방법은 많은 시간이 소요되는 전문가의 수동 분석에 의존하고 있다. 수동 분석의 경우 취약점을 발견하고, 패치를 생성하기까지 약 9개월의 시간이 소요된다. 제로데이와 같은 빠른 대응이 필요한 취약점에 대한 위험성이 더 부각되는 이유이다. 이와 같은 문제로 인해 최근 자동화된 SW보안 취약점 탐색 및 대응 기술에 대한 관심이 증가하고 있다. 2016년에는 바이너리를 대상으로 사람의 개입을 최소화하여 자동화된 취약점 분석 및 패치를 수행하는 최초의 대회인 CGC가 개최 되었다. 이 외에도 세계적으로 Darktrace, Cylance 등의 프로젝트를 통해 인공지능과 머신러닝을 활용하여 자동화된 대응 기술들을 발표하고 있다. 그러나 이러한 흐름과는 달리 국내에서는 자동화에 대한 기술 연구가 미비한 상황이다. 이에 본 논문에서는 자동화된 SW 보안 취약점 탐색 및 대응 기술을 개발하기 위한 선행 연구로서 취약점 탐색과 대응 기술에 대한 선행 연구 및 관련 도구들을 분석하고, 각 기술들을 비교하여 자동화에 용이한 기술 선정과 자동화를 위해 보완해야 할 요소를 제안한다.