Home > 전체기사
루비 생태계의 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일까지모니터랩 파워비즈 5월 31일까지파워비즈배너 시작 11월6일 20181105-20200131
설문조사
7월 1일부터 주 52시간 근무제가 확대 시행됩니다. 보안종사자로서 여러분의 근무시간은 어느 정도 되시나요?
주 32시간 이하
주 40시간
주 48시간
주 52시간
주 58시간
주 60시간 이상
기타(댓글로)
      

티제이원
PTZ 카메라

인콘
통합관제 / 소방방재

현대틸스
팬틸트 / 카메라

파나소닉코리아
Sevurity Camera / CCTV

시큐인포
CCTV / NVR

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

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

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

쿠도커뮤니케이션
스마트 관제 솔루션

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

원우이엔지
줌카메라

AVIBILON
영상 보안 / 출입 통제

다후아 코리아
CCTV / DVR

씨앤비텍
통합보안솔루션

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

한국하니웰
CCTV / DVR

이화트론
DVR / IP / CCTV

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

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

한국씨텍
PTZ CCTV

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

트루엔
IP 카메라

디비시스
CCTV토탈솔루션

에스카
CCTV / 영상개선

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

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

CCTV프랜즈
CCTV

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

구네보코리아
보안게이트

옵티언스
IR 투광기

디케이솔루션
메트릭스 / 망전송시스템

지와이네트웍스
CCTV 영상분석

KPN
안티버그 카메라

베일리테크
랜섬웨어 방어솔루션

화이트박스로보틱스
CCTV / 카메라

신우테크
팬틸드 / 하우징

네이즈
VMS

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

혜인에스앤에스
통합보안시스템

셀링스시스템
IP 카메라 / 비디오 서버

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

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

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

이노뎁
VMS

새눈
CCTV 상태관리 솔루션

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

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

창우
폴대

수퍼락
출입통제 시스템

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

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

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

엔클라우드
VMS / 스위치

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

엘림광통신
광전송링크

싸이닉스시스템즈
스피드 돔 카메라

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

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

인사이트테크놀러지
방폭카메라

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

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

넷플로우
IP인터폰 / 방송시스템

글로넥스
카드리더 / 데드볼트

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

화인박스
콘트롤박스 / 배전향