[한국기술뉴스] 고려대학교(총장 정진택) 정보대학 컴퓨터학과 오학주 교수 연구팀은 성균관대 차수영 교수팀과 공동연구를 통해 소프트웨어의 오류 및 보안 취약점 탐지 기술인 ‘기호 실행(Symbolic Execution)’의 성능을 획기적으로 높일 수 있는 기술을 개발했다.
기호 실행은 소프트웨어의 잠재적 보안 오류 및 취약점을 탐지하는데 가장 많이 활용되는 기술 가운데 하나이다. 한 예로, 마이크로소프트에서는 윈도우즈 운영체제의 보안 취약점을 탐지하는데 기호 실행 기술을 적극 활용하고 있다. 기호 실행은 퍼징 등 다른 취약점 분석 기술에 비해 프로그램 내의 더 깊은 곳에 위치하여 발견하기 어려운 오류들을 효과적으로 탐지하는 기술로 각광 받아왔다. 하지만 유용하게 사용하기 위해서는 아래 그림과 같이 다양한 파라미터들을 손수 조절해 주어야 하며, 따라서 기호 실행에 전문성이 없으면 활용하기 어렵고, 전문가라고 하더라도 최적의 성능으로 사용하기 어려운 한계가 있었다.
연구팀은 이러한 단점을 극복하여, 전문성이 없는 사용자도 손쉽게 기호 실행 기술을 사용할 수 있도록 하는 기술을 개발했고, 이러한 자동 튜닝 기술을 사용하면 전문가가 손수 튜닝한 기호 실행에 비해 월등히 높은 오류 탐지 성능을 가질 수 있음을 보였다. 또한, 연구팀의 자동 튜닝 기술은 소프트웨어 품질의 주요 척도인 ‘코드 커버리지’를 전문가가 손수 튜닝한 기호 실행보다 약 30% 향상하는데 성공했다.
연구책임자인 오학주 고려대 교수는 “실제 현장에서 활용하기 까다로운 기술이었던 기호 실행을 이제는 누구나 전문가처럼 활용할 수 있게 되었다.”라고 기대했다.
삼성미래기술육성센터, 과학기술정보통신부 SW컴퓨팅산업원천기술개발사업(SW스타랩)과 ICT명품인재양성사업의 지원을 받아 수행된 이번 연구 논문은 한국시간 5월 22일과 27일에 컴퓨터 소프트웨어 분야 최우수 학술대회인 IEEE/ACM International Confernce on Software Engineering 2022 (ICSE 2022)에서 발표된다. 특히 이번 논문은 제출된 논문 가운데 상위 1%(9/751)에 수여한 ACM SIGSOFT Distinguished Paper Award를 수상했다.