"이름 바꾸고 형태 숨겨도 취약점 찾는다"…고려대, 소프트웨어 공급망 추적 기술 개발

  • 소스코드-바이너리 함수 비교 'SBridge' 통해 탐지 성능 최대 73% 향상

  • 파이썬 패키지 20만개 분석해 악성 패키지 발견…"SBOM 정확성 높일 것"

왼쪽부터 고려대 컴퓨터학과 양희동 박사과정 박선하 석사과정 우승훈 교수교신저자 사진고려대
(왼쪽부터) 고려대 컴퓨터학과 양희동 박사과정, 박선하 석사과정, 우승훈 교수(교신저자). [사진=고려대]

소프트웨어의 이름이 바뀌거나 형태가 달라져도 실제 핵심이 되는 '알맹이' 코드를 정밀하게 분석해 공급망 보안 위협을 찾아내는 기술이 국내 연구진에 의해 개발됐다. 날이 갈수록 교묘해지는 오픈소스 기반의 악성코드와 취약점을 원천적으로 추적할 수 있어 소프트웨어 공급망 보안의 사각지대를 크게 줄일 수 있을 것으로 기대된다.
 
고려대학교는 컴퓨터학과 우승훈 교수 연구팀이 지난달 5일부터 9일까지 캐나다 몬트리올에서 열린 소프트웨어공학 분야 최상위 국제학술대회 'FSE 2026(ACM International Conference on the Foundations of Software Engineering)'에 참가해 이 같은 내용을 담은 관련 논문 2편을 발표했다고 2일 밝혔다.
 
첫 번째로 발표된 기술은 소스코드의 함수와 컴파일된 바이너리의 함수를 비교해 서로 대응하는 함수를 식별하는 'SBridge' 기술이다. 연구팀은 단순한 이름 비교를 넘어 조건문과 반복문 등 함수의 실제 동작을 단위별로 세밀하게 비교했다. 그 결과 소프트웨어를 컴파일하는 과정에서 함수 이름을 포함한 구조 정보가 사라지거나 형태가 크게 달라지더라도 제품에 사용된 오픈소스 코드와 관련 취약점을 추적할 수 있게 됐다.
 
실제로 C와 C++로 작성된 바이너리 3904개를 대상으로 평가한 결과 'SBridge'는 기존 연구 대비 함수 탐지 성능을 최대 73%나 향상시켰다. 특히 실험 대상 함수의 약 40%에 원래 형태를 크게 바꾸는 '함수 인라이닝(함수 코드를 호출 위치에 직접 넣는 최적화 기법)'이 적용됐음에도 높은 탐지 성능을 유지해 실효성을 입증했다.
 
두 번째 연구는 전 세계 개발자들이 널리 사용하는 '파이썬 패키지 저장소(PyPI)' 내의 보안 위협을 실제 소스코드 유사성 분석 기법을 통해 정밀하게 추적했다. 기존에는 코드를 재사용해 다른 이름이나 관리자 계정으로 배포할 경우 이름과 버전 정보만으로 악성 여부를 가려내기 어려웠으나, 이러한 한계를 극복한 것이다.
 
연구팀이 PyPI 내 약 20만 개의 패키지를 분석한 결과 인기 패키지의 코드를 그대로 재사용한 복제 패키지 1361개를 찾아냈다. 더 나아가 알려진 취약점이 그대로 복제된 패키지 256개와 기존에 알려지지 않은 새로운 악성 패키지 7개를 발견하는 성과를 거뒀다. 이는 겉으로 보이는 패키지 이름과 버전 정보에만 의존할 경우 코드 재사용을 통해 유포되는 악성 위협을 놓칠 수 있음을 여실히 보여준다.
 
우승훈 교수는 "오픈소스 활용이 늘어날수록 소프트웨어에 어떤 코드가 들어 있는지 투명하게 확인하는 일이 중요하다"며 "이번 연구가 실제 코드 분석을 통해 SBOM의 정확성을 높이고, 소프트웨어 공급망 보안의 사각지대를 줄이는 데 활용되기를 기대한다"고 밝혔다.
 
한편 이번 연구는 과학기술정보통신부의 재원으로 정보통신기획평가원(IITP)의 정보보호핵심원천기술개발사업과 한국연구재단(NRF)의 개인기초연구사업의 지원을 받아 수행됐다.

©'5개국어 글로벌 경제신문' 아주경제. 무단전재·재배포 금지

컴패션_PC
댓글0
0 / 300

댓글을 삭제 하시겠습니까?

닫기

로그인 후 댓글작성이 가능합니다.
로그인 하시겠습니까?

닫기

이미 참여하셨습니다.

닫기