(왼쪽부터) 고려대 컴퓨터학과 양희동 박사과정, 박선하 석사과정, 우승훈 교수(교신저자) /고려대 제공
소프트웨어의 이름이나 형태가 달라져도 실제 코드를 비교해 오픈소스 사용 여부와 보안 위협을 찾아내는 기술이 개발됐다.
고려대학교는 컴퓨터학과 우승훈 교수 연구팀이 지난 5일부터 9일까지 캐나다 몬트리올에서 열린 소프트웨어공학 국제학술대회 'FSE 2026'에서 소프트웨어 공급망 보안 관련 논문 2편을 발표했다고 밝혔다.
연구팀이 개발한 'SBridge'는 소스코드의 함수와 컴파일된 바이너리의 함수를 비교해 서로 대응하는 함수를 식별하는 기술이다. 조건문과 반복문 등 함수의 실제 동작을 단위별로 분석해, 컴파일 과정에서 함수 이름이나 구조 정보가 사라지거나 형태가 바뀌어도 제품에 사용된 오픈소스 코드와 관련 취약점을 추적할 수 있도록 했다.
연구팀이 C와 C++ 바이너리 3904개를 대상으로 평가한 결과, SBridge는 기존 연구보다 함수 탐지 성능을 최대 73% 높였다. 실험 대상 함수의 약 40%에 함수 코드를 호출 위치에 직접 넣는 '함수 인라이닝' 등 최적화 기술이 적용된 상황에서도 탐지 성능을 유지했다.
두 번째 연구에서는 파이썬 패키지 저장소인 'PyPI'에 등록된 약 20만 개의 패키지를 대상으로 소스코드 유사성을 분석했다. 기존 코드를 다른 이름이나 관리자 계정으로 다시 배포하면 패키지 이름과 버전 정보만으로는 코드 재사용 여부를 확인하기 어렵다는 점을 보완하기 위한 연구다.
분석 결과 인기 패키지의 코드를 재사용한 복제 패키지 1361개가 확인됐다. 이 가운데 알려진 취약 코드가 그대로 포함된 패키지는 256개였으며, 기존에 알려지지 않은 악성 패키지 7개도 발견됐다.
우승훈 교수는 "실제 코드 분석을 통해 소프트웨어 자재명세서인 SBOM의 정확성을 높이고, 소프트웨어 공급망 보안의 사각지대를 줄이는 데 활용될 수 있을 것"이라고 말했다.
이번 연구는 과학기술정보통신부 재원으로 정보통신기획평가원의 정보보호핵심원천기술개발사업과 한국연구재단의 개인기초연구사업 지원을 받아 수행됐다.
댓글
0