(왼쪽부터)고려대 컴퓨터공학과의 이희조, 우승훈 교수. (사진=고려대)
오늘날 소프트웨어는 다양한 오픈소스 코드를 조합하거나 수정해 개발된다. 이 과정에서 원본 오픈소스의 취약점이 수정되더라도 다른 소프트웨어에는 그대로 남거나 코드 수정 과정에서 새로운 취약점이 발생해 전파될 수 있다. 특히 여러 프로젝트를 거쳐 코드가 재사용되면 취약점이 어디까지 퍼졌는지 파악하기 어렵다.
이에 연구팀은 오픈소스 코드의 재사용 계보를 복원하는 기술 ‘GANADI’를 개발했다. 코드가 어떤 프로젝트를 거쳐 어디까지 전달됐는지 추적할 수 있는 것이다. 이를 통해 기존 기술로 파악하기 어려웠던 다단계 코드 재사용 관계를 확인할 수 있다.
연구팀은 깃허브(GitHub)의 주요 C/C++ 프로젝트 2500개를 수집·분석하고 GANADI를 기존 취약점 탐지 기술에 적용했다. 기존에는 관련성이 낮은 취약점 정보까지 검토해야 했지만 GANADI를 통해 실제 코드 재사용 경로로 연결된 프로젝트의 취약점만 선별했다. 이로써 검토 대상을 약 90% 줄이고 보안 점검의 효율성을 높였다.
이희조 교수는 “앞으로도 연구 성과가 산업 현장의 실질적인 보안 개선으로 이어지도록 힘쓰겠다”고 말했다.









