Home > 전체기사

모든 개발 프로젝트의 필수 요소인 오픈소스 리포지터리, 보안은?

  |  입력 : 2020-11-18 15:17
페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기 네이버 블로그 보내기
오픈소스 리포지터리, 사용하지 않는 개발자 하나도 없다고 해도 과언 아냐
유명 리포지터리들에서 악성 요소 발견된 사례 있어…아직 대단히 많지 않지만


[보안뉴스 문가용 기자] 현재 소프트웨어 개발 과정에 있어서 오픈소스 리포지터리들은 상당히 중요한 역할을 담당하고 있다. 거의 모든 소프트웨어 프로젝트가 적어도 한 개 이상의 오픈소스 요소들을 포함하고 있다고 볼 수 있다. 그렇기 때문에 공격자들이 오픈소스 요소들을 공략할 때 위험 요소들이 일파만파 퍼질 수 있다.

[이미지 = utoimage]


그래서 올 한 해 보안 전문가들은 오픈소스 요소들에서 취약점이나 위험 요소를 찾고자 하는 프로젝트를 시작했다. 그 중 하나가 보안 업체 스트라이프(Stripe)의 엔지니어인 조단 라이트(Jordan Wright)다. 라이트는 파이선 패키지 인덱스(Python Package Index, PyPI)라는 오픈소스 리포지터리에 마련된 모든 파이선 요소들을 다운로드 하고 악성 요소를 탐색했다.

그 결과 여러 가지 목적을 위해 네트워크 연결을 성립시켜 주는 기능을 가진 요소들이 수없이 많이 발견됐고, 보다 더 위험한 요소도 적잖게 발견됐다고 한다. 명령을 감추기 위한 난독화 기술을 내포한 것들도 있었다. 그렇지만 순수 악의적 목적성을 띈 패키지들, 즉 노골적으로 악성 기능을 가진 것들은 발견되지 않았다고 한다. 하지만 라이트는 “나쁜 소식이라고 할 수는 없으나, 내가 조사한 것만으로 완전한 결과가 나왔다고 볼 수 없다”고 덧붙였다.

실제 오픈소스 리포지터리에 악성 요소가 숨어 있는 건 사실이다. 오픈소스 리포지터리에서 비롯된 공격이 실재하는 것이 그 증거다. 2년 전 한 해커는 인기 높은 자바스크립트 패키지인 ESLint의 악성 버전을 배포하여 여러 개발자들의 프로젝트에 악성 코드를 심은 바 있다. 현재 이 공격은 적발돼 제거된 상태다.

오픈소스 리포지터리에서 여러 가지 요소들을 오염시키는 유형의 공격을 하는 자들은 타이포스쿼팅(typosquatting)이라는 기법을 자주 활용한다. 인기 높은 패키지의 악성 버전을 만든 뒤, 교묘하게 한두 글자만 바꾼 이름을 붙이고 누군가 진짜와 혼동하기를 기다리는 것이다. 지난 4월 한 공격자는 루비 패키지 리포지터리인 루비젬스(RubyGems)에 진짜와 비슷한 이름을 가진 악성 패키지 760개 이상을 업로드한 바 있다.

하지만 오픈소스에서 악성 요소를 파악해 낸다는 건 상당히 힘든 일이다. 보안 업체 트레일오브빗츠(Trail of Bits)의 수석 보안 엔지니어인 마이크 마이어스(Mike Myers)는 “구글과 애플은 각자의 앱 스토어에 어마어마한 투자를 함으로써 정적 분석과 샌드박시 기술을 구축하고, 이를 통해 여러 가지 앱들에서 악성 요소들을 찾아낸다”고 설명하며 “그게 가능한 건 구글과 애플이 자신들만의 탐지 기술을 몰래 개발해 구축함으로써 공격자들이 방어 원리를 모르게 할 수 있기 때문”이라고 말한다. 오픈소스는 모든 사람이 들여다 볼 수 있기 때문에 이런 방어가 불가능하다.

한 편 조지아공과대학의 연구원들은 세 가지 유명 리포지터리를 분석했다. 위에서 언급된 파이파이(PyPI)를 포함하여 노트패키지매니저(Note Package Manager, NPM)와 루비젬스다. 연구원들은 자신들이 개발한 말오스(MalOSS)라는 시스템을 활용해 메타데이터 분석, 정적 코드 분석, 동적 런타임 분석을 실시했다. 그 결과 파이파이에서는 7개, NPM에서는 41개, 루비젬스에서는 291개의 악성 패키지들이 나왔다.

라이트도 조지아공과대학의 이러한 연구에 영감을 받아 자신의 연구를 진행한 것이라고 한다. 그는 먼저 파이파이의 API를 사용해 26만 8천여 개의 패키지들을 컨테이너에 다운로드 했다. 그리고 각각의 패키지들을 하나하나 설치해 보고 수상한 흔적이 없는지 살폈다고 한다. 이런 조사를 하는 데 들어간 비용은 클라우드 사용료인 120달러 정도였다고 그는 밝혔다. 현재도 그는 파이파이를 꾸준히 모니터링 하고 있으며, 다른 리포지터리도 검사할 계획이다.

라이트는 “인기 많고 유명한 리포지터리들이라면 나름의 보안 장치들을 구축할 필요가 있다”고 주장하고 있다. “결국 오픈소스 리포지터리를 통한 ‘개발의 공급망’을 호시탐탐 노리는 공격은 끝나지 않을 것이며, 그렇기 때문에 사실상 아무런 자체 보안 기술이 없다시피 한 현재 상태로 리포지터리가 계속 운영되어서는 안 됩니다.”

그러나 여러 연구에서도 드러났듯, 아직까지는 정상적인 오픈소스 요소와 패키지들이 압도적으로 많은 상황이다. 악성 혹은 비정상 요소들의 비율은 극히 낮다. 그렇기 때문에 리포지터리를 운영하는 입장에서는 보안 장치를 구축하는 게 비효율적일 수밖에 없다. 라이트는 “그러한 경제적 논리 때문에 당분간 리포지터리는 안전하지 않은 상태 그대로 남아 있을 것”이라고 예상한다. “외부 보안 전문가들의 자발적 노력만이 현재 최선의 보안 장치라는 것이 안타깝습니다.”

3줄 요약
1. 개발의 과정에서 절대 빼놓을 수 없는 오픈소스 리포지터리.
2. 하지만 오픈소스 리포지터리 운영자들은 정식 보안 장치를 마련하지 않음.
3. 여기에 악성 요소가 심기면, 일파만파 퍼질 수 있다는 것 기억해야 함.

[국제부 문가용 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

  •  
  • 0
  • 페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기 네이버 블로그 보내기

  •  SNS에서도 보안뉴스를 받아보세요!! 
시큐아이 에스케어 파워비즈 배너 2022년 3월15일 시작~ 12개월 위즈디엔에스 2018
설문조사
산업 전 분야의 지능화·융합화·스마트화 추세에 따라 스마트시티와 스마트공장, 스마트의료, 스마트상점 등 각 분야에서도 정보보안과 물리보안이 함께 접목되는 융합보안이 이슈가 되고 있습니다. 올해 융합보안이 가장 활발하게 적용될 분야는 어디라고 보시나요?
스마트시티 보안
스마트공장 보안(OT 보안)
스마트의료 보안
스마트상점 보안
기타(댓글로)