알 프로그래밍 언어의 버그, 공급망 공격에 의한 공급망 공격 가능케 해

2024-04-30 18:05
  • 카카오톡
  • 네이버 블로그
  • url
개발자들을 속여 취약한 프로그램을 만들어 전파하는 게 유행이다. 이른 바 공급망 공격이 이것이다. 그런데 그 개발자들이 사용하는 언어를 익스플로잇 하면 어떻게 될까? 이 또한 공급망 공격의 시발점이 된다. 언어 익스플로잇용 패키지를 개발자들이 속아서 작동시키면, 공급망 공격을 위한 공급망 공격이 시작된다.

[보안뉴스 문가용 기자] 알(R) 프로그래밍 언어에서 고위험군 취약점이 발견됐다. 이 취약점 때문에 알을 사용해 프로그램을 개발하는 기업들과, 그 프로그램을 사용하는 사람들 모두가 위험한 상황에 놓일 수 있다고 한다. 이른 바 공급망 공격이 가능하게 되는 것이다.


[이미지 = gettyimagesbank]

문제의 취약점은 CVE-2024-27322로, CVSS 기준 8.8점을 받았다. 이는 고위험군에 해당한다. 프로그래밍 언어인 알이 애플리케이션이나 프로그램 내에서 비직렬화 데이터나 JSON, XML 등의 방식으로 인코딩 된 객체들과 바이너리를 원래 형태로 되돌려 놓을 때 데이터를 처리하는 방식에서부터 발동된다고 한다.

알은 통계학적인 컴퓨팅을 실시해야 할 때나 그래픽 애플리케이션을 구축할 때 널리 사용되는 언어다. 그렇기 때문에 금융, 건강, 연구, 정부 기관과 같은 곳에서 근무하는 개발자들이 선호한다. 인공지능과 머신러닝 등 대량의 데이터를 처리해야 하는 환경에서도 알은 자주 사용되는 언어 중 하나다.

파이선과 같은 언어 생태계에 PyPI와 같은 리포지터리가 있듯이 알에도 리포지터리가 있는데, 가장 대표적인 것은 크랜(CRAN)이다. ‘통합 알 아카이브 네트워크(Comprehensive R Archive Network)’의 준말이다. 현재 이 리포지터리에만 2만 개가 넘는 패키지들이 공유되어 있다. 그 외에 알포지(R-Forge)와 같은 곳도 존재한다.

비직렬화 문제
이번에 이런 알에서 취약점을 찾아낸 건 보안 업체 히든레이어(HiddenLayer)의 연구원들이다. 이 취약점을 익스플로잇 할 경우 임의 코드 실행이 가능하다. 공격자는 특수하게 조작된 RDS 파일을 만들어 피해자에게 내보내기만 하면 된다. 알 프로그래머들은 RDS 파일을 흔히 사용하기 때문에 알 프로그래밍 환경에서 RDS 파일을 가져가 열게 하기는 어렵지 않은 일이라고 한다.

“이번에 발견된 취약점은 RDS 파일이나 알 패키지들을 피해자의 시스템에 로딩하기만 하면 익스플로잇이 가능합니다. 이 RDS 파일과 알 패키지들은 개발자들끼리 흔하게 공유하는 자원이기도 하지요. 데이터 과학자들도요.” 히든레이어의 연구원인 카시미르 슐츠(Kasimir Schulz)의 설명이다. “공격자는 임의의 알 코드가 내포되어 있는 패키지를 만들기만 하면 됩니다.”

알 메인테이너들은 이 문제를 제보받고 4.4.0으로 알을 업그레이드 해서 해결했다.

느슨한 확인 작업
이번에 발견된 취약점은 알이 근본적으로 가지고 있는 중요한 개념들과 맞닿아 있다. 하나는 ‘지연 연산(lazy evaluation)’이고, 다른 하나는 ‘프로미스 객체(promise object)’이다. 지연 연산이란, 일종의 프로그래밍 기법으로 표현이나 변수가 실제로 사용되기 전까지는 확인하지 않는 것을 말한다. 이렇게 함으로써 연산 자원을 줄여 프로그래밍 속도를 높일 수 있다. 후자는 이 지연 연산과도 밀접하게 연결되어 있는 개념으로, 확인 작업이 뒤로 미뤄진 객체들을 나타낸다.

“누군가 임의의 코드가 실행되도록 프로미스 객체를 생성한다면 어떻게 될까요? 그래서 알이 실제 연산을 시작할 때 이 조작된 프로미스 객체가 실행되도록 하면요? RDS 파일이 처리되는 동안 해당 코드가 실행됩니다.” 히든레이어가 큰 개념을 설명한다.

“알 패키지들은 RDS 포맷을 활용해 데이터를 저장하고 로딩합니다. 이 과정을 촉진시키는 파일 유형은 두 개인데 직렬화 된 모든 객체들을 포함하고 있는 .rdb 파일과, 각 객체의 메타데이터를 저장하고 있는 .rdx 파일입니다. 패키지가 로딩될 때 .rdx 파일에 저장된 메타데이터가 활용되면서 .rdb 파일 내 객체들의 위치가 파악됩니다. 그러면 .rdb 파일 내 객체들이 비직렬화 됩니다.”

그렇다는 건 공격자가 임의의 코드가 삽입된 프로미스 객체를 만들어 RDS 파일에 포함시킬 수 있다는 뜻이 된다. “이 코드는 실제 로딩이 될 때까지 확인이 되지 않습니다. 알의 지연 연산 특성 덕분이죠. 그렇게 하다가 실제 RDS 파일이 처리되어야 할 때 확인을 하고 실행시키는데, 이 때 이 코드가 실행되면서 공격자가 원하는 악성 기능을 실행시키는 게 가능하게 됩니다. 비교적 간단한 방법으로 공급망 공격을 성공시키게 되는 겁니다.”

그러면서 슐츠는 “공격자가 이런 패키지를 만들어 크랜에 올려두면 알을 사용하는 개발자들을 쉽게 속일 수 있다”고 덧붙였다. 공급망 공격을 위해 공급망 공격을 실시하는 것도 가능하다는 뜻이다. 아직까지 정확한 피해 규모는 집계되지 않고 있다. 하지만 영향을 받는 개발자들과 시스템들은 적지 않을 것이라고 보인다.

슐츠는 “알을 사용하는 조직이라면 최신 버전을 사용하라”고 권한다. “알과 같은 프로그래밍 언어들도 당연히 취약점을 가지고 있습니다. 늘 버전 확인을 해야 합니다. 또한 리포지터리나 오픈소스들도 확인을 한 후에 활용하는 게 안전합니다. 모든 개발자들이 언어 버전 확인과 리포지터리 소스 확인을 필수로 해야 하는 시대입니다.”

3줄 요약
1. 프로그래밍 언어에서 고위험군 취약점이 발견됨.
2. 이 취약점을 익스플로잇 하는 게 그리 어렵지 않음.
3. 최신 버전으로 업그레이드 하고 리포지터리의 패키지들을 쉽게 믿지 않아야 함.

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

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

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


과월호 eBook List 정기구독 신청하기

    • 지인테크

    • 인콘

    • 엔텍디바이스코리아

    • 지오멕스소프트

    • 다봄씨엔에스

    • 아이디스

    • 씨프로

    • 웹게이트

    • 엔토스정보통신

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 비엔비상사

    • 원우이엔지
      줌카메라

    • 비전정보통신

    • 트루엔

    • 이화트론

    • 다누시스

    • 테크스피어

    • 렉스젠

    • 슈프리마

    • 혜성테크윈

    • 시큐인포

    • 미래정보기술(주)

    • 효성인포메이션시스템

    • 투윈스컴

    • 경인씨엔에스

    • (주)우경정보기술

    • 성현시스템

    • 디비시스

    • 다후아테크놀로지코리아

    • 유니뷰

    • 이오씨

    • 한국씨텍

    • 세연테크

    • 위트콘

    • 구네보코리아주식회사

    • 주식회사 에스카

    • 유에치디프로

    • 포엠아이텍

    • 넥스트림

    • 트렐릭스

    • 엔피코어

    • 투씨에스지

    • 블루문소프트

    • 엑소스피어랩스

    • 시엔스

    • 워터월시스템즈

    • 신우테크
      팬틸드 / 하우징

    • 에프에스네트워크

    • 네이즈

    • 케이제이테크

    • 셀링스시스템

    • 사라다

    • 아이엔아이

    • (주)일산정밀

    • 새눈

    • 앤디코

    • 유투에스알

    • 태정이엔지

    • 네티마시스템

    • 에이치지에스코리아

    • 에이앤티코리아

    • 미래시그널

    • 엘림광통신

    • 모스타

    • 주식회사 알씨

    • 에스에스티랩

    • 에이앤티글로벌

    • 지와이네트웍스

    • 현대틸스
      팬틸트 / 카메라

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

    • 티에스아이솔루션

    • 두레옵트로닉스

    • 엔에스티정보통신

    • 보문테크닉스

    • 포커스에이치앤에스

    • 엔시드

    • 동양유니텍

    • 메트로게이트
      시큐리티 게이트

    • 엠스톤

    • 글로넥스

    • 유진시스템코리아

    • 카티스

    • 세환엠에스(주)

Copyright thebn Co., Ltd. All Rights Reserved.

MENU

회원가입

PC버전

닫기