폭증하는 오픈소스 보안 위협… 원인과 대책은?

[AI요약] 최근 디지털 비즈니스를 구성하는 앱의 90% 이상이 오픈소스 코드를 활용해 제작되고 있는 상황에서 해커들은 소프트웨어 제작에 사용되는 수백 수천개의 오픈소스 패키지 사이에 교묘하게 악성코드를 심어 놓는다. 악질적인 것은 이러한 방식이 오픈소스 생태계를 유지해 온 ‘신뢰성’을 이용한 공격이라는 점이다.

최근 대부분의 개발자가 오픈소스 코드를 활용해 소프트웨어를 제작하는 환경에서 오픈소스에 악성 코드를 심어 공격을 하는 사례가 폭증하고 있다. (이미지=픽사베이)

코로나19 팬데믹을 거치면서 디지털 수요가 급증했다. 기업들은 시시각각 변화하는 시장의 속도에 맞춰 제품과 서비스를 빠르게 개발하기 위한 수단으로 ‘오픈소스’를 활용하고 있다. 오픈소스란 프로그래밍 설계도인 소스코드가 공개된 소프트웨어를 의미하는데, 누구나 자유롭게 배포·수정·복제·사용이 가능하다.  

문제는 최근 디지털 비즈니스를 구성하는 앱의 90% 이상이 오픈소스 코드를 활용해 제작되고 있는 상황에서 클라우드 등의 보안은 강화되는 반면, 오픈소스 공급망 보안은 상대적으로 허술하게 관리되고 있다는 점이다.

이에 전문가들은 ‘아무것도 신뢰하지 않는다’를 전제로 한 사이버 보안 모델, ‘제로 트러스트(Zero Trust)의 개념이 오픈소스에도 적용돼야 한다고 지적하고 있다.

공격에 무방비한 오픈소스 생태계

소프트웨어 개발에 마이크로서비스 아키텍처(MSA)가 채택되며 미션 크리티컬 앱(실패 시사업이나 사회에 큰 문제를 끼치는 컴퓨팅 시스템)까지 오픈소스를 사용하게 됐다. 즉 오늘날 소프트웨어 공급망은 오픈소스 공급망이라고 해도 과언이 아니다. 소프트웨어를 제작하는 프로세스에서 대부분의 개발자들이 오픈소스 코드를 쓰거나 외부 코드와 결합해 작업을 진행한다. 완성된 이후 강력한 보안 시스템을 적용하는 소프트웨어라고 해도, 이미 제작 과정에서 상당한 외부 의존성을 포함하고 있다는 말이다.

악성 오픈소스 패키지 사례. 공격자는 교묘하게 패스워드 등을 빼내는 악성 코드를 넣는다. (이미지=체크막스)

오늘날 해커들은 소프트웨어 제작에 사용되는 수백 수천개의 오픈소스 패키지 사이에 교묘하게 악성코드를 심어 놓는다. 이러한 악성코드 중에는 특정 예외 상황 시에만 발동하도록 설정돼 있어 소프트웨어가 특정 상황에 직면할 때 비밀번호 등의 보안 정보가 유출되도록 하는 경우도 있다. 또 대부분의 개발자가 오픈소스 라이브러리에서 패키지를 가져올 때 최신 버전이 자동으로 업데이트되도록 설정하는데, 해커들은 이점을 노린다. 해당 패키지에 악성 코드를 미리 삽입 후 상위 버전으로 업로드 될 때 자동으로 악성 코드가 삽입되게 하는 것이다.

최근에는 오픈소스 커뮤니티에서 신뢰도가 높은 유명 개발자의 계정을 사칭해 악성 코드가 심어진 오픈소스 패키지를 배포하거나 사람들이 자주 내려 받는 오픈소스 패키지 개발자의 계정을 해킹해 멀웨어 등을 심는 방식으로 공격 양상도 다양해지고 있다. 악질적인 것은 이러한 방식이 오픈소스 생태계를 유지해 온 ‘신뢰성’을 이용한 공격이라는 점이다.

문제는 최근까지 내부 개발 환경 보안성을 높이고, 프로세스를 철저히 관리·보호하는 기업조차도 수많은 오픈소스 중에 섞여 있는 정체 불명의 코드에 대해서는 무방비 상태인 경우가 적지 않았다는 점이다. 이러한 악성 코드는 정상적인 코드와 동일한 파일명으로 설정돼 있거나, 개발자들이 파일을 검색할 때 자주 실수하는 오타, 정상 파일과 유사한 스펠링의 제목으로 설정돼 있어 쉽게 구별할 수 없다는 것도 문제다.

한국은 오픈소스 보안 사각지대, 사고 나면 것 잡을 수 없다

오늘날 약 4000만개 이상의 오픈소스 소프트웨어 컴포넌트가 존재하고 있고 오는 2026년에는 그 수가 10배 이상으로 늘어날 것으로 전망되고 있다. 현재도 주요 리포지토리(저장소)에서 1년에 다운로드 되는 오픈소스 패키지는 약 2조개에 달한다. 문제는 이렇듯 오픈소스 사용량이 엄청나게  증가하는 상황에서 일일이 모든 코드를 체크할 수 없다는 것이다.

글로벌 보안업체 소나타입의 SW 공급망 보고서에 따르면 잘 알려진 오픈소스 패키지 중 약 29%가 취약성을 포함하고 있는 것으로 나타났다. 이러한 취약성은 배포 시점부터 사용자에게 도달하는 모든 과정에서 존재한다.

또한 최근 우리나라를 방문한 체크막스의 조렌슈타인 공급망 보안 총괄은 "이메일 주소와 패키지 이름, 해당 패키지가 어떤 오픈소스 프로젝트와 관련 있는지 등을 기재하면 악성 오픈소스 패키지를 쉽게 생성할 수 있다"며 "특히 유명한 프로젝트 이름을 사용할수록 신뢰도는 더 높아진다"며 악성 오픈소스 패키지 공격의 실태를 지적했다.  

이스라엘 보안업체 체크막스의 조렌슈타인 보안 총괄은 "시장에 대응해 빨리 소프트웨어를 만들어야 하는 개발자들은 많은 사람이 사용한 오픈소스 패키지를 신뢰하며 확인 없이 다운받고 있다"며 주의가 필요함을 당부했다. (사진=체크막스)

체크막스는 이스라엘 보안 업체로 애플리케이션 보안 테스팅 솔루션을 통한 소프트웨어 공급망 보안 해법을 제시하고 있다. 문제는 체크막스와 같은 업체들의 노력에도 불구 매월 50만개 이상 만들어지는 악성 오픈소스 패키지의 증가세다.

조렌슈타인 총괄은 “빨리 소프트웨어를 개발해야 하는 개발자 입장에서는 오픈소스를 쓰지 않을 수 없다”면서 “일반적으로 바쁜 개발자들은 많은 사람이 사용한 패키지를 신뢰하는 성향이 있어 확인 없이 내려받다가 사고가 발생한다”고 피해 사례가 늘어나는 이유를 설명했다.

문제는 이러한 악성 오픈소스 패키지가 단지 소프트웨어 공급망을 위험하게 할 뿐 아니라 소프트웨어를 쓰는 모든 사람에게 피해를 입힐 수 있다는 점이다. 악성코드를 이용해 패스워드를 탈취하거나 심하면 사용자도 모르게 해당 컴퓨터를 좀비PC로 만들어 범죄에 악용할 수도 있다.

이에 조렌슈타인 총괄은 영화 스파이더맨에 나오는 “큰 힘에는 큰 책임이 따른다(With great power comes great responsibility)”는 문구를 인용하며 “우리가 쓰는 소프트웨어이기 때문에 결국 보호하는 것도 우리의 책임”이라고 강조했다.

조렌슈타인 총괄은 자신의 옷에 새겨진 'Don't take code from strangers(모르는 코드를 받지 말라)'는 문구까지 보여주며 주의를 당부했다. (사진=테크42)

소프트웨어 공급망 공격, 대응책은?

악성 오픈소스 패키지에 의한 피해를 줄이기 위해서는 앞서 체크막스와 같은 업체들이 제공하는 공급망 보안 솔루션을 활용하는 것이 방법이다. 이러한 솔루션은 오픈소스를 포함한 모든 소프트웨어의 구성을 분석하는 SCA와 함께 작동하며, 오픈소스 프로젝트의 건전성과 보안 이상 징후를 파악하고 ‘기여자 평판(Contributor Reputation)’을 분석해 실제로 신뢰할 수 있는 개발자가 개발한 것인지 검증한다.

또한 체크막스는 오픈소스를 포함한 모든 소프트웨어 개발 시 보안을 내재화 할 수 있도록  ▲Build/CI 솔루션을 통한 자동화된 보안 취약점 점검 절차 확립 ▲오픈소스 취약점 관리 ▲맞춤형 가이드를 통한 개발자 보안 역량 강화를 반드시 점검해야 한다고 지적한다. 현재 체크막스가 분석하는 오픈소스 패키지는 월 100만건에 달한다.

체크막스는 오픈소스 패키지 분석 정보를 공유하는 '레드릴리 인포'를 운영해 소프트웨어 공급망 생태계의 건전성을 유지하려 노력하고 있다. (이미지=레드릴리 웹사이트)
오픈소스보안재단은 협업을 통해 소프트웨어 공급망을 안전하게 만드는 노력을 진행하는 한편, 개발자 교육을 통해 보안 문제 예방에도 힘쓰고 있다. (이미지=오픈소스보안재단)

한편 업체에서 제공하는 솔루션 외에도 리눅스 재단 산하 프로젝트 오픈소스보안재단(이하 오픈SSF)은 협업을 통해 소프트웨어 공급망을 안전하게 만드는 노력을 펼치고 있다. 리스크가 높은 SW 프로젝트를 찾고 우선순위를 부여하거나 특정한 프로젝트에 대해 감사를 진행하거나 팀을 구성해 빌드를 지원하고 버그를 수정할 수 있도록 돕는 노력 등이다.

그 외에도 오픈SSF는 보안 문제를 해결하기 위해 개발자 교육에도 중점을 두고 있다. 교육은 대략 15~20 시간 분량으로 개발자라면 누구나 들을 수 있다. 교육을 마친 개발자를 대상으로는 퀴즈를 풀게 하고 이를 통과하면 인증을 해주는 테스트도 진행한다.

황정호 기자

jhh@tech42.co.kr
기자의 다른 기사보기
저작권자 © Tech42 - Tech Journalism by AI 테크42 무단전재 및 재배포 금지

관련 기사

[인터뷰] 백명현 스테이지랩스 대표 “아티스트와 팬을 연결하는 양방향 라이브 플랫폼을 만들고 있습니다”

지난 2016년 백명현 대표가 창업한 스테이지랩스는 K-팝 디지털 포토카드 플랫폼 ‘tin(틴)’을 비롯해 CJ ENM과 전략적 협업을 통해 탄생한 글로벌 K-팝 컬쳐 플랫폼 ‘엠넷플러스’, 최근 론칭한 ‘링크(liNC)라는 삼각 사업 포트폴리오를 구축하기에 이르렀다. 그렇게 확보한 글로벌 이용자 수가 무려 1200만명에 이른다. 특히 자체 개발 플랫폼 ‘링크(LiNC)의 경우 이용자의 84%, 누적 매출의 95%가 글로벌에서 발생하는 상황이다. 갖 론칭한 플랫폼이라는 점에서 놀라운 지표가 아닐 수 없다.

트럼프 2기 행정부, AI규제 완화한다는데... AI 산업계 어떻게 달라질까?

도널드 트럼프 전 대통령의 재선으로 미국의 AI 정책이 큰 변화를 맞이할 전망이다. 트럼프 2기 행정부는 AI 혁신과 국가안보를 최우선 과제로 삼고, 바이든 행정부의 AI 규제를 대폭 완화할 것으로 보인다.

AI챗봇, 온라인 데이트를 완전히 바꾼다

데이트 기업들이 AI 기술을 사람들이 온라인에서 연결하고 만나는 방식에 큰 변화를 가져올수 있는 방법을 고려하고 있다. 기업들은 사용자를 위한 AI 코칭을 통해 보다 개인화된 매칭 결과를 줄수 있을 것으로 기대하고 있다. 특히 AI는 시간이 지남에 따라 사용자에게 적용하고 더욱 잘 이해하는 스마트한 알고리즘을 제공할수 있다.

[마루에서 만난 사람] 김연석 제틱에이아이 대표 “AI 기업을 위한 원스톱 온디바이스 AI 전환 솔루션을 만들고 있습니다”

멜란지는 현재 베타 버전 단계에서도 전 세계에 보급된 모바일 NPU의 80%에 적용 가능한 수준이다. 향후에는 아직 지원되지 않은 나머지 20%를 채워 나가는 것이 목표다. 궁극에는 NPU가 적용된 세상의 모든 기기에서 동작하는 온디바이스 AI 서비스를 지원하겠다는 것이다. 김 대표는 그 시점을 언급하며 ‘공존하는 생태계’에 대한 구상을 털어놨다.