상세 컨텐츠

본문 제목

다수의 IoT 기기 위협하는 Ripple20 취약점

국내외 보안동향

by 알약(Alyac) 2020. 6. 17. 16:06

본문

Ripple20 bugs in scores of IoT devices reveal third-party code dangers 


심각 수준의 일부 취약점을 포함하는 TCP/IP 소프트웨어 라이브러리를 사용하는 수백만 대의 IoT 기기가 원격 제어에 이용될 수 있으며 공격자에 의해 완전히 장악당할 수 있는 것으로 확인되었습니다. 


연구원들은 타사 코드를 자유롭게 적용할 수 있기 때문에 이러한 취약점은 추적이 어렵다고 경고합니다.


JSOF 연구원들은 임베디드 인터넷 프로토콜의 선두 기업인 Treck, Inc.의 하위 레벨 스택에서 총 19개의 취약점을 발견했습니다. 


'Ripple20'라는 이름으로 명명된 해당 취약점 그룹에는 CVSS 스코어 9.0 이상을 획득한 4개의 심각 수준의 취약점도 포함됩니다. 


영향을 받는 제품에는 정보 및 통신 기술, 산업 제어 시스템 및 운영 기술, 셀룰러 네트워크 및 데이터 센터, 전자 기기, 스마트 기기, 가정용 및 사무용 프린터가 포함됩니다. 


사실상 건강 관리, 에너지, 운송, 통신, 소매, 정부, 항공 등을 포함한 거의 모든 산업 분야에서 이러한 취약점의 영향을 받는 기기를 사용합니다.


JSOF에서 발행한 보고서 및 카네기 멜론 대학 CERT/CC와 U.S. ISC-CERT에서 발행한 취약점 보안 권고에 따르면, 해당 취약점의 영향을 받는 것으로 확인된 기업은 아래와 같습니다.


B. Braun, Baxter, Caterpillar, Digi International, Green Hills, HCL Tech, Hewlett Packard Enterprise, HP, Intel, Maxlinear, Rockwell Automation, Sandia National Labs, Schneider Electric/APC


그러나 아직 확인되지 않은 관련 기업도 더 있을 것으로 추정됩니다. 


해커들은 특정 취약점을 악용하여 적시에 공격을 수행하기 전 수년 간 악성코드를 기기에 숨길 수 있습니다. 


이들은 원격으로 인터넷 연결 네트워크 기기를 하이재킹하여 특정 기기를 공격할 수 있고, 한번에 모든 것을 제어할 수 있습니다. 


최악의 경우에는 NAT(네트워크 주소 변환) 설정을 우회하고 중간자 공격(MITM)을 실행함으로써 네트워크 외부로부터 기기를 공격하는 것 또한 가능합니다. 


이 때, DNS 캐시 포이즈닝 공격을 수행하거나 네트워크 경계에 남겨진 패킷에 응답함으로써 이러한 작업을 수행할 수 있습니다. 


Ripple20을 분석한 연구원들은 해당 취약점을 악용해 수행할 수 있는 가능한 일련의 공격 시나리오를 구상했습니다. 


예를 들어 프린터에서 정보를 탈취하거나 주입 펌프 장치 작동을 방해하거나 주요 인프라 시설에서 사용할만한 ICS 기기의 작동 오류를 발생시키는 것 등이 이에 해당합니다. 


TCP/IP 스택에 존재하는 취약점은 공격자에게 주어질 수 있는 낮은 레벨의 접근 권한으로 인해 위험할 수 있습니다. 대부분의 사업장에서 다량의 커넥티드 기기를 사용하고 있습니다. 


공격자가 이러한 커넥티드 기기에 Ripple20 취약점을 악용할 경우 전체 비즈니스 네트워크에 상당한 피해를 입힐 수 있습니다.


Ripple20은 기업 네트워크를 타깃으로 삼는 공격자들에게 IoT 기기가 일종의 로드맵이 될 수 있음을 보여주는 취약점 공격입니다. 


여전히 다수의 기업들이 자신들의 업무 환경에서 사용 중인 IoT 기기 및 보호 방법을 제대로 파악하지 못하고 있으며, 이러한 헛점을 악용해 해커들은 단기 이익 실현과 장기 공격 캠페인을 위한 엔트리 포인트로 IoT 기기를 활용하고 있습니다.


Treck은 지난 3월 30일에 보안 권고문을 통해 해당 취약점에 대한 패치를 발행했으나, 여전히 일부 기기에서는 패치가 불가능한 것으로 확인됩니다.


특히 취약한 라이브러리가 별도의 물리 컴포넌트 또는 제조 업체에 의해 더이상 지원되지 않는 컴포넌트 상에 존재하는 경우에는 취약점으로 인한 위협이 남아있습니다.


또한 다양한 형태와 시나리로의 서드파티 라이브러리 코드를 많이 사용하기 때문에 전체 IoT 공급망의 취약한 인스턴스를 찾아내는 것 또한 어려운 것으로 확인됩니다. 


Tenable 연구원 Scott Caveza는 보고서를 통해 일반적인 소프트웨어 라이브러리를 재사용하고 용도 변경하여 사용하는 벤더들이 종종 보안 위협에 대해 간과합니다고 강조했습니다. 


이러한 관행은 코드에서 로직 및 보안 문제를 식별하고 패치하는 것과 관련하여 공급 업체별 문제를 야기합니다. 


하나의 취약점에 대한 패치에는 여러 벤더의 다양한 해결책이 포함될 수 있고 특정 패치가 제대로 구현되지 않을 경우 해커들은 이를 추가 공격 벡터로 이용할 수 있습니다. 


JSOF 보고서는 다음과 같이 설명합니다. 

"라이브러리는 그대로 사용하거나 광범위한 용도로 구성하거나 더 큰 라이브러리에 통합될 수 있습니다. 사용자는 소스코드 형태로 라이브러리를 구입하여 다양한 용도로 변경하여 사용할 수 있습니다. 


코드에 통함될 수 있고 다양한 기기에 이식될 수 있습니다. 최초의 구매자가 기업 아카이브에서 기존의 라이브러리 기록을 삭제하여 리브랜딩을 통해 재판매하거나 다른 기업에 의해 인수될 수 있습니다. 


시간이 지나면, 사실상 원본 라이브러리 컴포넌트는 인식할 수 없는 상태가 됩니다. 이러한 이유로 최초 버전의 취약점이 식별되고 패치된지 오랜 시간이 지난 후에도 취약점들이 여전히 공격에 악용될 수 있는 것입니다. 공급망을 정확하게 추적하는 것은 사실상 불가능다고 볼 수 있습니다."


JSOF의 CEO인 Shlomi Oberman은 인터뷰를 통해 다음과 같이 설명했습니다.

"이 경우 다수의 영향을 받는 기업과 취약한 기기들은 Treck 클라이언트가 아닌, 이전에 Treck의 클라이언트였던 기업의 클라이언트였습니다. 그러나 궁극적으로 아무리 작은 임베디드 컴포넌트라 할지라도 보안 기대치를 충족시키는 것은 공급 업체의 책임인 것을 인정합니다."


"공급망 내 모든 기업, 특히 운영자와 엔드유저를 대상으로 판매하는 기업들의 경우 판매의 최종 단계에서 고객을 상대로 판매를 담당하는 입장이므로 서드파티 컴포넌트에 대해서도 위협에 대한 책임을 감수해야 하며 구매자에 의문 사항에 대해 응답할 의무를 가집니다." 


Oberman은 향후 이러한 위험을 줄이기 위한 실행 가능한 한 가지 조치는 제품 제조업체가 사용된 모든 타사 코드 및 컴포넌트를 나열하는 소프트웨어 BOM을 요구하는 것이라 덧붙였습니다.


Synopsys의 선임 보안 연구원 Jonathan Knudsen은 소프트웨어를 제작하는 기업들이 서드파티 컴포넌트를 관리해야 하는 그러한 이유에 대해 동의합니다고 밝혔습니다. 


Knudsen은 Ripple20 취약점이 광범위하게 영향을 미치는 이유에 대해 다수의 제품에서 다수의 기업에 의해 사용되는 네트워크 컴포넌트에 존재하는 취약점이기 때문이며, 소프트웨어 개발 기업들은 이러한 위협을 최소화하기 위해 그들이 사용하는 서드파티 컴포넌트에 대해 숙지할 필요가 있다고 설명했습니다. 


Knudsen은 또한 연구를 통해 두 가지 핵심 요소를 발견했습니다. 

"첫 번째는 소프트웨어 개발의 각각의 부분에 적절한 보안 시스템을 구축해야 합니다는 것이며 두 번째는 시스템과 장비들이 스스로 안전하게 업데이트되어야 하며, 제조 업체는 소프트웨어 유지 보수에 있어 적시에 적절한 지원을 제공해야 합니다는 것입니다."


1990년 대에 설립되어 현재는 Zuken Elmic라는 이름으로 알려진 기업 Treck은 추후 분리되어 독자적인 제품을 출시하기 전까지 일본 회사인 Elmec Systems와 버그가 있는 TCP/IP 스택을 공동 개발했습니다. 


이 때문에 연구원들은 일본 CERT/CC의 도움을 받아 Zuken Elmic에 별도로 연락을 취해야 했습니다. 


Armis 연구원 Seri는 다음과 같이 설명했습니다.

"URGENT/11(TCP/IP 스택에서 발견된 11개의 취약점)을 찾은 경험을 통해 하나의 TCP/IP 스택을 사용하는 벤더의 에코 시스템에 접근하는 것이 얼마나 어려운지 알게 되었습니다. 다수의 IoT 시스템이 혼동 지점과 상호 연결되어 있으며 여러 비즈니스를 위협에 노출시킵니다."


Treck이 자체 고객의 피해 범위에 대한 추적을 시도함에 따라 JSOF 또한 보안 벤더 CyberMDX 및 Forescout와의 협력을 통해 TCP/IP 스택 사용에 해당하는 서명이 있는지 각 클라이언트 네트워크에 대한 확인 작업을 시행했습니다. 


Treck 패치를 적용할 수 없는 사용자들에게 제공된 다른 완화 조치에는 임베디드 기기 및 중요 기기의 네트워크 및 인터넷 노출 최소화, 인터넷 액세스 제한, OT 네트워크 및 방화벽 보호 기기의 분리 및 격리, 안전한 원격 액세스 방법 선별 활성화가 포함됩니다. 


JSOF는 또한 비정상적인 IP 트래픽 차단, 심층 패킷 검사를 통한 네트워크 공격 차단 및 선제적 트래픽 필터링 사용을 제안합니다.


CyberX 연구원 Phil Neray는 다음과 같이 설명했습니다.

"이번 경우는 수 년전에 제작되어 패치가 불가능한 임베디드 IoT 기기에 존재하는 취약점을 발견한 전형적인 사례입니다. 최선의 전략은 네트워크 분리와 같은 보조 제어 수단을 적용함으로써 해커들이 이러한 기기에 연결하는 것을 더욱 어렵게 만드는 것입니다. 


또한 SOAR (Security Orchestration, Automation, Response)을 사용하는 NTA (Network Traffic Analysis)는 안전 사고를 일으키거나 생산을 중단하거나 지적 재산을 탈취하는 등의 피해가 발생하기 전에 비정상적인 동작을 신속하게 발견하고 차단할 수 있습니다."


JSOF 연구팀은 2019년 9월부터 Treck 분석을 시작했으며 몇 개월 내 취약점 악용 징후를 발견했습니다고 밝혔습니다. 또한 해당 취약점의 영향을 받는 다수의 벤더에 대규모 캠페인에 대해 경고했습니다.


JSOF는 보고서를 통해 취약점 내용을 대중에 공개하는 것을 두번 연기함으로써 결과적으로 기업들에게 취약점을 패치할 수 있는 120일 간의 유예 기간을 제공했습니다고 밝혔습니다.


Ripple20에 관한 흥미로운 점은 공급망 요인에 의해 취약점의 영향이 상당한 수준으로 확대되었다는 점입니다. 소프트웨어 라이브러리 및 내부 취약점이 널리 확산된 것은 공급망 파급 효과의 자연스러운 결과라 볼 수 있습니다. 


하나의 취약한 컴포넌트 자체만으로는 영향력이 상대적으로 적을 수 있으나, 다양한 산업, 애플리케이션, 기업, 사용자에게 광범위한 파급 효과를 미칠 수 있습니다.


복잡한 공급망은 해커들에게 완벽한 유포 경로를 제공해줌으로써 최초의 취약점 악용을 통해 거의 무제한으로 침투 및 위장 공격을 수행할 수 있습니다.


가장 높은 스코어를 획득한 취약점은 아니었지만, Ripple20 취약점 중 가장 위협적이라고 판단되는 취약점은 CVE-2020-11901로, 권한이 없는 네트워크 공격자가 전송한 패킷을 처리할 때 DNS 리졸버 컴포넌트에서 입력값 유효성 검사를 제대로 하지 않아서 발생합니다.


해당 취약점 익스플로잇을 통해 Schneider Electric APC UPS에서 원격 코드 실행이 가능했으며 DNS 기능을 지원하는 모든 Treck 실행 기기에 영향을 미칩니다. 


보고서에 따르면, 기기에서 생성된 단일 DNS 요청에 응답하는 과정에서 취약점이 트리거되며, DNS 요청은 네트워크 상에 기기 위치를 기록하기 때문에 가장 심각한 위협이 될 수 있습니다. 


숙련된 해커가 해당 취약점을 악용하면 DNS 캐시 포이즈닝 및 다른 수단을 이용해 네트워크 외부로부터 기기를 완전히 장악할 수 있습니다. 


이를 통해 모든 보안 시스템을 우회함으로써 하나의 취약점 악용만으로 네트워크에 침투하고 기기를 장악할 수 있게됩니다. 


악성 패킷은 거의 완전한 RFC [Requests for Comments] 컴플라이언트로, 방화벽과 같은 보안 제품이 해당 취약점을 탐지하는 것은 어렵습니다. 


일부 기기에서 실행하는 Treck 스택의 구 버전의 경우 트랜잭션 ID가 랜덤화되지 않아 공격이 더욱 쉽게 이루어집니다. 


CVSS 최고 스코어를 획득한 두 개의 취약점은 CVE-2020-11896 및 CVE-2020-11897입니다. 


CVE-2020-11896는 RCE 및 서비스 거부 취약점으로 디지털 인터넷 장비에 영향을 미치는 것이 확인되었고, 특정 설정이 적용된 모든 Treck 실행 장비에도 영향을 미칩니다. 


JSOF 보고서에 따르면, 다수의 악성 IPv4 패킷을 IPv4 터널링 지원 장비에 전송함으로써 취약점이 트리거될 수 있습니다. 


CVE-2020-11897의 경우 경계 밖 쓰기 취약점으로 다수의 악성 IPv6 패킷을 기기에 전송함으로써 트리거됩니다. 


2009년에 수행한 정기 코드 변경 작업을 통해 패치되었지만, IPv6 지원이 포함된 Treck 구버전 실행 장비에는 여전히 영향을 미칩니다. 


나머지 16개의 취약점은 CVSS 스코어 3.1 ~ 9.1점을 획득하였으며 중요 정보 노출, 원격 코드 실행, 서비스 거부 등을 발생시킵니다. 


19개의 취약점 중 15개가 제로데이로 발견되었으며 나머지는 시간이 지남에 따라 코드가 변경되어 패치되었습니다.





출처:

https://www.scmagazine.com/home/security-news/vulnerabilities/ripple20-bugs-in-scores-of-iot-devices-reveal-3rd-party-code-dangers/

https://www.zdnet.com/article/ripple20-vulnerabilities-will-haunt-the-iot-landscape-for-years-to-come/

https://www.wired.com/story/ripple20-iot-vulnerabilities/

관련글 더보기

댓글 영역