차수영 성균관대 교수(제1저자,왼쪽), 오학주 고려대 교수(교신저자,오른쪽)

▲ 차수영 성균관대 교수(제1저자,왼쪽), 오학주 고려대 교수(교신저자,오른쪽)



정보대학 컴퓨터학과 오학주 교수 연구팀은 성균관대 차수영 교수팀과 공동연구를 통해 소프트웨어의 오류 및 보안 취약점 탐지 기술인 ‘기호 실행(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를 수상했다. 
* 논문명 : SymTuner: Maximizing the Power of Symbolic Execution by Adaptively Tuning External Parameters
* 학술대회명 : IEEE/ACM International Conference on Software Engineering (ICSE 2022)
* 저자 : 차수영 (제1저자/성균관대학교), 이명호,이석현(공동저자/고려대학교), 오학주(교신저자/고려대학교)


 [ 그 림 설 명 ]


그림1
(그림1) 개발한 기호 실행 기술로 찾은 소프트웨어 오류들. 
위 그림은 SymTuner가 최신 GNU 오픈-소스 C 소프트웨어들에서 자동으로 검출한 11개의 다른 소프트웨어 오류들을 보여준다. 특히, SymTuner는 두 개의 오픈-소스 소프트웨어 gcal-4.1과 combine-0.4.0에서 SymTuner만이 검출할 수 있는 소프트웨어 오류들을 보여줌으로 기존 기호 실행 기술(KLEE)과 비교하여 그 오류 검출에서의 효과성을 잘 보여주고 있다.



그림2
(그림2) 개발한 기호 실행 기술로 향상시킨 코드 커버리지(Code Coverage)
위 그림은 SymTuner가 최신 GNU 오픈-소스 C 소프트웨어들에서 주어진 테스팅 시간 동안 달성한 분기문 커버리지(Branch Coverage)를 보여준다. 그 결과, SymTuner는 전문가에 의해 손수 튜닝된 기호 실행 기술(KLEEhand)보다 동일한 테스팅 시간 대비 분기문 커버리지를 약 30% 향상시키는데 성공했다.



  그림3
(그림3) SymTuner에 대한 학회 발표 사진 (ICSE 2022, 온라인)


커뮤니케이션팀 서민경(smk920@korea.ac.kr)



관련기사

https://bit.ly/3awRma1