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

[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 무단전재 및 재배포 금지

관련 기사

유럽 eVTOL 3개사 도미노 추락 위기···릴리움에 볼로콥터·버티컬까지

독일 전기식 수직이착륙(eVTOL)항공기 3총사로 꼽히는 릴리움, 볼로콥터, 에어버스 가운데 두회사가 에어택시를 띄우기도 전에 흔들리고 있다. 여기에 영국 버티컬 에어로스페이스도 심각한 재정위기를 맞고 있다. 이들은 기술적 판단 오류나 재정적 문제, 또는 둘 모두를 겪으면서 상용화 계획에 심각한 차질을 빚고 있는 것으로 알려졌다.

‘탈모·발기부전·피부관리’ 주기적으로 챙겨주는 ‘아마존 원격의료’ 알아보기

아마존이 미국 소비자들이 불만이 많은 의료 시스템을 오히려 수익창출의 기회로 잡으면서 원격의료 및 약물 배달 서비스를 확대하고 있다. 아마존의 원격의료 서비스를 이용하면, 탈모나 발기부전, 피부관리와 같은 일반적인 질환에 대한 치료 플랜을 저렴한 가격으로 제공받을수 있다.

미국 대선 여파…사용자들 ‘X’ 손절하고 ‘블루스카이’에 몰린다

미국 대선 이후 소셜 플랫폼 사용자들이 X에서 대거 이탈하고 경쟁사인 블루스카이에 합류하고 있다. 그동안 도널드 트럼프 대통령 당선자를 공개적으로 지지한 일론 머스크의 행보와 인종차별 및 성차별 등 유해한 게시물을 급격하게 증가하고 있는 것을 목격한 사용자들이 X를 이탈하고 있다는 분석이 나온다.

[인터뷰] 김충섭 퍼플아이오 CTO “마케터의 시간을 돌려주는 ‘AI 기반 온사이트 마케팅 SaaS 서비스’를 아세요?”

코드앤버터의 개발을 주도한 퍼플아이오의 김충섭 CTO는 지금은 개발자들이 일반적으로 쓰는 기술인 ‘도커’를 처음 한국에 소개한 사람이다. 개발 관련 블로그는 물론 팟캐스트, 유튜브 활동을 통해 기술로 세상의 문제 해결을 고민해 온 김 CTO는 코드앤버터를 ‘그로스 플랫폼’이라고 이야기한다. 고객들의 고충과 문제를 해결함으로써 고객의 성장을 돕는 플랫폼이라는 의미다. 그리고 그 가치는 지속적인 고도화를 통해 코드앤버터의 영역 확장으로 이어지고 있다.