루비 생태계의 strong_password 젬, 오염된 버전이 퍼져나갔다
  |  입력 : 2019-07-09 15:40
페이스북 보내기 트위터 보내기 네이버 밴드 보내기 카카오 스토리 보내기
사용자가 비밀번호를 강력하게 설정하도록 해주는 젬의 수상한 버전
원래 개발자가 소유권 잃고도 몰라…이번 사건 통해 다시 회복했지만


[보안뉴스 문가용 기자] 한 개발자가 루비(Ruby)라는 프로그래밍 언어 생태계에서 사용되는 젬(gem)에서 악성 코드를 발견했다. 원격의 공격자가 임의의 코드를 실행하게 해주는 악성 코드였다. 발견자는 튜트 코스타(Tute Costa)라는 인물이며, 문제가 발견된 젬은 strong_password라고 한다.

[이미지 = iclickart]


코스타는 한 레일즈(Rails) 애플리케이션에서 사용되고 있는 젬들을 업데이트하고 있었다. 그러던 중 strong_password의 0.0.7 버전이 루비의 각종 젬들을 호스팅 하는 RubyGems.org를 통해 배포되고 있다는 것을 알아챘다. 이상했던 건, 다른 젬들이 보통 그러하듯 깃허브(GitHub)를 통해서는 배포되지 않고 있었다는 점이다.

“strong_password는 루비 언어에서 사용되는 젬입니다. 개발자들은 이 젬을 가져다가 자신이 개발한 애플리케이션에 집어넣음으로써, 사용자들이 강력한 비밀번호를 설정할 수 있도록 유도할 수 있게 됩니다. 이 젬은 꽤나 인기가 많고, 현재까지 25만 번 이상 다운로드 됐습니다. 0.0.6 버전의 경우 3만 8천번 정도의 다운로드 수를 기록하고 있습니다.”

약간은 다른 방식으로 배포되고 있던 strong_password 0.0.7이 수상했던 코스타는 분석을 시작했고, 그 결과 파일의 맨 마지막에 기존 버전에 없던 코드가 몇 줄 달려있음을 발견할 수 있었다고 한다.

“최대 한 시간까지 무작위의 시간 동안 대기하는 기능, strong_password 젬을 사용하는 애플리케이션이 실행되고 있는지 확인하는 기능, 실행되고 있을 경우 페이스트빈(Pastebin)의 게시글 하나에 저장되어 있는 코드를 가져와 실행시키는 기능을 가지고 있었습니다.”

문제의 페이스트빈 게시글은 편집이 가능한 상태였다. 즉 공격자가 마음만 먹으면 다양한 공격을 실시할 수 있었다는 뜻이다. 여기까지 알아낸 코스타는 strong_password의 개발자인 브라이언 맥마누스(Brian McManus)에 연락을 취했다. 사안을 검토한 맥마누스는 “누군가 젬을 하이재킹했고, 소유권을 뺐겼다”고 알렸다.

이 소식을 접한 Rubygems.org는 악성 strong_password 젬을 사이트에서 삭제하고, 관련 계정을 차단했다. 그리고 다시 맥마누스에게 strong_password의 소유권을 돌려주었다.

루비 생태계의 보안 서비스 제공업체인 루비섹(Rubysec)은 “strong_password 0.0.7 사태에 CVE-2019-13354라는 번호가 부여되었다”고 알리며 “이미 이 악성 버전을 설치한 사용자들이라면 0.0.6으로 다운그레이드 할 것”을 권고했다. Rubygems.org에 의하면 다운로드 회수는 537번이라고 한다.

이 사건은 현재 루비 커뮤니티에서 큰 화제다. 일부는 “루비 생태계 전체에 영향을 줄 수 있는 취약점을 공격자가 알아낸 것 같다”며 우려를 표현하고 있다. 그도 그럴 것이 본래 소유권을 가진 젬 개발자가, 자신의 소유권이 사라진 사실을 모르고 있었기 때문이다. 하지만 일부는 “해당 개발자의 계정만이 침해당했을 것”이라고 보고 있다.

또한 앞으로 다른 인기 젬을 통한 침해 시도가 꾸준히 일어날 수 있다는 점도 거론되고 있다. 인기가 높은 젬의 경우 수천만 번 이상 다운로드가 되기도 한다. 일각에서는 보다 인기가 적은 젬을 사용해 표적 공격을 조용히 실시하는 것도 가능할 수 있다는 시나리오를 제시했다.

루비 젬을 통한 악성 공격 시도가 발견된 건 처음이 아니다. 지난 3월 누군가 bootstrap-sass라는 젬을 악의적으로 조작해 커뮤니티 전체로 푸시한 적이 있다. 공격자가 임의의 명령어를 실행할 수 있도록 해주는 내용이 담겨 있었다. 당시 2900만 명이 이 젬을 다운로드 받았었다.

3줄 요약
1. 루비 프로그래밍 언어 생태계에서 사용되는 젬, 누군가 오염시켜 퍼트리려 함.
2. strong_password라는, 암호 설정 관련 젬에서 수상한 코드가 발견된 것.
3. 개발자들 사이에 유통되는 젬을 오염시키는 공격, 조금씩 그 모습을 드러내고 있음.

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

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

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


  •  SNS에서도 보안뉴스를 받아보세요!! 
IBM 파워비즈 배너 2019년2월8일~2020년2월7일까지/7월25일 수정위즈디엔에스 2018파워비즈배너 시작 11월6일 20181105-20200131
설문조사
2019년 국정감사에서 가장 중점적으로 다뤄야 할 보안이슈는 무엇이라고 보시나요?
잇따른 개인정보 유출사고
드론 테러 대응 대책
보안 관련 법 체계, 제도 정비
국가 사이버안보 거버넌스(보안 콘트롤타워) 정립
국가 차원의 사이버테러 대응 방안
스마트시티에서의 보안위협 대응
https 접속 차단 정책
국가핵심기술 및 기업 기밀 보호 방안
기타(댓글로)
      

유니뷰코리아
CCTV / 영상보안

인콘
통합관제 / 소방방재

현대틸스
팬틸트 / 카메라

아이디스
DVR / IP / VMS

시큐인포
CCTV / NVR

한화테크윈
CCTV 카메라 / 영상감시

Videotec
PTZ 카메라

대명코퍼레이션
DVR / IP카메라

티제이원
영상 보안 / 출입 통제

하이크비전 코리아
CCTV / IP / NVR

원우이엔지
줌카메라

도마카바코리아
시큐리티 게이트

다후아 코리아
CCTV / DVR

씨앤비텍
통합보안솔루션

지케이테코
출입통제 / 얼굴인식

아이디스
DVR / IP / VMS

한국하니웰
CCTV / DVR

이화트론
DVR / IP / CCTV

경인씨엔에스
CCTV / 자동복구장치

테크스피어
손혈관 / 차량하부 검색기

비전정보통신
IP카메라 / VMS / 폴

슈프리마
출입통제 / 얼굴인식

동양유니텍
IR PTZ 카메라

트루엔
IP 카메라

링크플로우
이동형 CCTV 솔루션

보쉬시큐리티시스템즈
CCTV / 영상보안

엔토스정보통신
DVR / NVR / CCTV

CCTV협동조합
CCTV

아이티엑스엠투엠
DVR / NVR / IP CAMERA

디비시스
CCTV토탈솔루션

씨오피코리아
CCTV 영상 전송장비

테크어헤드
얼굴인식 소프트웨어

씨엠아이텍
근태관리 소프트웨어 / 홍채 스케너

구네보코리아
보안게이트

다민정보산업
기업형 스토리지

에스카
CCTV / 영상개선

이스트시큐리티
엔트포인트 보안

신우테크
팬틸드 / 하우징

에프에스네트웍스
스피드 돔 카메라

엔클라우드
VMS / 스위치

케이제이테크
지문 / 얼굴 출입 통제기

알에프코리아
무선 브릿지 / AP

사라다
지능형 객체 인식 시스템

일산정밀
CCTV / 부품 / 윈도우

엘림광통신
광전송링크

티에스아이솔루션
출입 통제 솔루션

창우
폴대

퍼시픽솔루션
IP 카메라 / DVR

새눈
CCTV 상태관리 솔루션

이노뎁
VMS

케이티앤씨
CCTV / 모듈 / 도어락

아이유플러스
레이더 / 카메라

진명아이앤씨
CCTV / 카메라

브이유텍
플랫폼 기반 통합 NVR

아이엔아이
울타리 침입 감지 시스템

두레옵트로닉스
카메라 렌즈

이후커뮤니케이션
CCTV / DVR

DK솔루션
메트릭스 / 망전송시스템

옵티언스

대산시큐리티
CCTV 폴 / 함체 / 랙

포커스에이치앤에스
지능형 / 카메라

휴컴스
PTZ 카메라 / 줌카메라

더케이
투광기 / 차량번호인식

유진시스템코리아
팬틸트 / 하우징

세환엠에스
시큐리티 게이트

지에스티엔지니어링
게이트 / 스피드게이트

카티스
출입통제 / 외곽경비

유니온커뮤니티
생체인식 / 출입통제