TOP

대학원 소식

우승훈 박사과정생(제1저자), 이동욱 석사과정생(제2저자), 박성한 석사(제3저자), 보안취약점 최초 근원지 탐지기술로 SW보안성 높인다

2021.09.08 Views 467

보안취약점 최초 근원지 탐지기술로 SW보안성 높인다
이희조 교수팀, 취약점 최초 발생 지점 탐지기술 ‘V0Finder’ 개발
세계 최고 권위 보안 학술대회 `USENIX Security 2021`에서 논문 발표




▲ 윗줄 왼쪽부터 우승훈 박사과정생(제1저자), 이동욱 석사과정생(제2저자), 박성한 석사(제3저자)

아랫줄 왼쪽부터 이희조 고려대 교수(교신저자), Sven Dietrich 뉴욕시립대 교수(교신저자)



정보대학 컴퓨터학과 이희조 교수(소프트웨어보안 연구소 센터장)연구팀은 소프트웨어 보안취약점의 최초 근원지(취약점이 최초 발현된 소프트웨어와 그 버전 정보)를 자동화된 방식으로 정확하게 탐지하는 기술을 개발해 보안 취약점 관리 및 공급망 보안 향상에 기여하는 성과를 거뒀다.

소프트웨어(SW)를 개발할 때 오픈소스 소프트웨어(OSS)를 재사용 하는 것은 개발 과정에서의 하나의 트렌드로 자리잡았다. 이런 소프트웨어의 개발 환경에서, 특정 오픈소스 소프트웨어에서 발견된 취약점은 해당 오픈소스 소프트웨어를 재사용하는 다른 소프트웨어로 전파될 가능성이 존재한다. 전파된 취약점을 적시에 탐지하지 못하면, 개발자들은 취약점이 내포되어 있는 오픈소스를 활용해서 소프트웨어를 개발하게 되며, 이는 곧 전체 소프트웨어의 보안성을 위협한다. 

의학계에서 전염병의 첫 번째 감염자를 탐지하는 것은 광범위한 확산을 방지하기 위해 매우 중요한 요인이 된다. 마찬가지로, 소프트웨어 보안취약점의 최초 근원지를 정확하게 탐지하는 것이 전파된 취약점 조기 탐지에 큰 영향을 미친다는 점에 착안하여 고려대 우승훈 박사과정 연구원을 비롯한 이희조 교수팀은 자동화된 방식으로 정확하게 취약점의 최초 근원지, 즉 취약점이 최초로 발생한 지점을 의미하는 ‘Vulnerability Zero’를 탐지하는 기술인 ‘V0Finder’를 개발했다.
 
V0Finder는 취약점의 최초 근원지를 높은 정확도(98% 정밀도 및 95% 재현율)로 탐지해 낼 수 있는 자동화된 툴이다. 이희조 교수팀은 V0Finder를 활용해 취약점의 올바른 최초 근원지가 제공되면, 전파된 취약점을 조기에 발견하고 패치를 적용할 수 있다는 사실을 밝혀냈다. 구체적으로, 이번 연구는 보안취약점에 대한 국제 표준 식별번호인 CVE(Common Vulnerabilities and Exposures) 취약점의 올바른 최초 근원지가 제공되는 경우, 개발자들이 해당 전파된 CVE취약점을 평균 1년 이내에 패치 할 수 있었던 반면, 근원지가 잘못된 CVE의 경우 이를 사용하는 소프트웨어는 2배 이상 패치 시간이 지연된다는 사실을 입증했다 (즉, 취약점 패치까지 약 2년 이상 필요).

또한, 연구팀은 V0Finder를 활용해 현재의 공개 취약점 데이터베이스가 잘못된 최초 근원지 정보를 제공하는 96개의 CVE 취약점을 발견했다. 이는 검증에 사용된 5,671개 CVE의 2%에서 취약한 소프트웨어 정보가 잘못되어 있는 것을 의미하며, 해당 CVE 취약점들에 대해 올바른 최초 근원지 정보를 CNA(CVE Numbering Authority, CVE번호 부여 기관)에 보고했다. 즉각적으로 수정이 이루어진 사례를 포함하여, CNA로부터 내용을 확인 후 취약점 데이터베이스에 반영하겠다는 답변을 받았다. 

미국 국립표준기술연구소(NIST)의 국가 취약성 데이터베이스(NVD) 및 CVE를 감독하는 비영리 단체인 CVE MITRE를 비롯한 현재 공개 취약점 데이터베이스들은, 취약점 보고를 받았을 때 전달받은 최초 근원지 정보를 검증하거나, 혹은 올바른 최초 근원지를 탐지하려고 시도하지 않는다. 또한, 특정 소프트웨어 개발 및 보안팀이 버그 바운티 프로그램 등으로 취약점을 보고 받았을 때, 타사 소프트웨어(third-party software)에서 발견된 취약점일지라도 그들은 자체 소프트웨어의 취약점으로 보고하는 경향이 많다. 이는 취약점이 잘못된 최초 근원지 정보와 함께 공개 취약점 데이터베이스를 통해 제공되는 원인이 된다. 

고려대 연구팀의 V0Finder는 세계 최고 권위의 보안 학술대회인 `USENIX Security 2021`에서 그 효율성을 인정받고, 이를 논문으로 발표했다.
- 논문명 : "V0Finder: Discovering the Correct Origin of Publicly Reported Software Vulnerabilities"
- 저자 : 우승훈(제1저자), 이동욱, 박성한, 이희조(교신저자), Sven Dietrich(뉴욕시립대학교))
- 오픈소스 : GitHub (https://github.com/wooseunghoon/v0finder-public)  


소프트웨어 취약점을 조기에 탐지하고 이를 해결하는 것은 안전한 소프트웨어 생태계를 구축하기 위한 가장 첫 걸음이다. 취약점의 올바른 최초 근원지가 제공되면, 소프트웨어 개발 및 보안팀들은 그들이 재사용하고 있는 오픈소스 소프트웨어가 CVE 취약점의 최초 근원지에 영향을 받는지를 확인할 수 있게 되며, 결과적으로 소프트웨어 보안성을 향상시킬 수 있다. 오픈소스 소프트웨어 단위의 취약점 점검과 더불어, 소스코드 레벨에서의 CVE 취약점 스캐닝까지 진행한다면(예: IoTcube의 Hmark기술 활용, https://iotcube.net/hmark), 전파된 취약점의 위협을 더 효율적으로 대응할 수 있다. 

연구를 주도한 이희조 고려대 교수는 “취약점의 최초 근원지 정보가 올바르게 제공되면 전파된 취약점 해결이 더 효율적이고 더 빠르게 이루어진다는 이번 연구결과는 취약점으로부터 인한 보안 위협의 조기 예방에 큰 도움이 될 것이며, 궁극적으로 안전한 소프트웨어 개발 및 취약점 관리 생태계에 직접적인 기여를 할 것”이라고 기대했다.

 

[ 용 어 설 명 ]

1.소프트웨어 취약점 (Software vulnerability)
  〇 소프트웨어 시스템에서 제기되는 보안상의 결점을 말한다. 프로그램이 의도대로 동작하지 않는 버그들 중에 악용할 수 있는 결점을 말하며 정보유출, 권한 상승 등을 일으킬 수 있다.

2.CVE (Common Vulnerabilities and Exposures)
  〇 CVE는 공개적으로 알려진 소프트웨어 취약점 목록으로, 일반적으로 소프트웨어 취약점에 관한 여러가지 정보를 포함한다 (예: 식별자, 취약점에 대한 설명, 취약점의 유형 등). CVE는 알려진 취약점을 식별하는 방식을 표준화하기위해 활용된다. 

3.취약점의 최초 근원지 (Vulnerability Zero)
   〇 소프트웨어 취약점이 최초 발현된 소프트웨어 및 그 버전 정보를 칭한다. 


[ 그 림 설 명 ] 

  


(그림 1) V0Finder 학회 발표 사진 (USENIX SECURITY 2021, 온라인)



(그림 2) V0Finder를 개발한 고려대 연구팀. 좌측부터 이희조 교수 (교신저자), 홍현지 연구원, 우승훈 연구원 (제1저자), 이동욱 연구원



(그림3) JPEG-compressor 취약점이 Android로 보고된 CVE-2017-0700 취약점의 전파경로. 본 그래프는 CVE-2017-0700 취약점의 최초 근원지를 탐지하기 위해 생성된 취약점 전파 그래프로, 노드는 V0Finder가 탐지한 CVE-2017-0700 취약점의 취약 함수를 포함하고 있는 소프트웨어들을 나타내며, 그래프의 간선은 V0Finder가 식별한 해당 취약점이 전파된 방향을 나타낸다. 본 취약점은 Android의 취약점으로 보고되었으나 올바른 최초 근원지는 Android에서 재사용 되고있는 JPEG-compressor 소프트웨어이다. Android팀은 해당 취약점을 발견 및 패치 한 후 올바른 최초 근원지인 JPEG-compressor에게 보고하지 않았고, 이로 인해 JPEG-compressor의 최신버전에서도 해당 취약점이 여전히 남아있었다. 고려대 연구팀은 JPEG-compressor를 비롯하여 취약한 JPEG-compressor를 재사용하는 소프트웨어(예: Godot, LibGDX) 개발팀에게 해당 내용을 보고하였고, 즉각적인 취약점 패치가 이루어졌음을 확인했다. 


(그림4) 취약 코드가 특정 소프트웨어로 전파된 후 탐지되기까지의 경과 시간에 대한 정규분포 그래프. 올바른 최초 근원지를 제공하는 취약점의 경우 전파된 취약점을 탐지 및 패치 하는데 평균 308일이 소요된 반면, 잘못된 최초 근원지 정보를 제공하는 취약점의 경우 전파된 취약점 탐지 및 패치 시간이 평균 521일이 소요되는 것을 확인할 수 있다. 이는 취약점의 최초 근원지 정보가 전파된 취약점을 조기에 탐지 및 패치 하는데 중요한 요소 중 하나라는 것을 나타내는 결과이다.


 

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

file