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

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

관련 기사

마로솔, 산업용 로봇 단품 구매도 전문가 1대1 밀착케어

토탈 로봇 솔루션 기업 마로솔은 산업용 로봇을 단품으로 구매한 고객 대상 1:1 밀착케어 서비스를 진행한다고 14일 밝혔다. 전문 전담팀을 배치해...

소풍벤처스 타이푼 프로그램 1기 데모데이 현장…’떡잎’부터 남다른 스타트업 ‘주목’

지난해 8월 모집 당시 지원 팀만 440개가 넘은 것으로 알려진 타이푼 프로그램은 이후 서류 평가와 한 달 가량의 사전 액셀러레이팅을 거쳐 최종 참가팀을 선발했다. 지난 10월부터 약 6개월 간 진행된 소풍벤처스의 밀착 액셀러레이팅 끝에 남은 7개 팀은 토프모빌리티(전기비행기 전문 항공사), 아트라식스(미술작품관리 플랫폼), 인비고웍스(AI 기반 원가관리 솔루션), A76(레퍼런스 체크 솔루션), Maetel(AI 기반 소셜 콘텐츠 개발 솔루션), 비욘드캡처(전기화학 탄소 포집), 에이랩스(모듈형 이산화탄소 자원화 시스템) 등이다.

애플·구글 질렸다면 ‘마이크로소프트 모바일 게임스토어’는 어때?

EU의 디지털 시장법이 발효되면서 마이크로소프트의 모바일 게임 스토어 출시도 본격화 되고 있다. 현재 애플과 구글은 스토어 판매에 대해 대략 30%의 수수료를 청구하고 있으며, 이러한 관행에 대해 많은 기술기업의 불만이 제기돼 왔다. 마이크로소프트는 X박스와의 협업을 시작으로 점차 다른 게시자에게도 기회를 확대할 계획이다.

벌이 사라진다···이 로봇벌이 힘을 보탤까?

생체전자(바이오닉) 비행체 개발의 대가인 독일 페스토가 군집(무리)비행까지 할 수 있는 로봇벌을 개발해 주목을 모으고 있다. 로봇벌은 생성형 인공지능(AI) 설계 기술, 미세전자기술을 사용한 하드웨어적 특징, 통신기술 등을 통해 군집비행까지 실현했다. 로봇 벌은 무게 약 34g, 길이 22㎝, 날개 너비 24㎝다. 이제 관건은 크기를 더 줄이는 일이다. 미소전자기술의 발전은 이를 가능하게 해 줄 것 같다.