2021.11.16

“특히 의료 업종이 위험”··· 뉴클리어스 임베디드 TCP/IP 스택 내 취약점 경보

Lucian Constantin | CSO
수십 억 개의 기기가 영향받을 수 있는 뉴클리어스:13 취약점이 포착됐다. 원격 코드 실행이나 서비스 거부 공격이 가능하다는 설명이다. 

보안 연구진들이 이른바 실시간 운영체제(Real-Time Operating System, RTOS)의 TCP/IP 스택 내에 존재하는 심각한 취약점을 발견했다. ‘뉴클리어스(Nucleus)’라고 불리는 RTOS는 안전이 중요한 수많은 기기에서 활용된다.

포어스카우트(Forescout) 및 메디게이트 랩(Medigate Labs)의 연구진이 발견한 이 취약점은 서비스 거부(DoS), 정보 유출, 원격 코드 실행(RCE)으로 이어질 수 있다. 이 취약점은 통칭하여 ‘뉴클리어스:13’으로 명명됐다. 포어스카우트는 1년에 걸쳐 진행 중인 프로젝트 메모리아(Project Memoria)에서 이번 취약점을 발견했다. 프로젝트 메모리아는 임베디드 시스템에 쓰이는 14종의 TCP/IP 스택을 분석하는 프로젝트다.


현재 지멘스가 소유한 뉴클리어스 RTOS는 23년의 역사를 가졌다. 이 오랜 역사의 OS는 경량인데다 광범위한 회로기판 및 CPU 아키텍처를 지원하기 때문에 병원 및 여타 의료시설, 공장 및 산업설비, 자동차 및 항공 전자공학 시스템 내부의 수십억 대에 이르는 기기에 설치됐다. 심지어 전화기 및 무선 장비에 쓰이는 사물인터넷(IoT) 칩셋과 무선 베이스밴드 프로세서에도 찾아볼 수 있다.

포어스카우트는 자체 테스트 결과 127개의 고객 네트워크에서 16개 업체가 만든 5,500개의 취약 기기를 식별했다. 이들 가운데 13개 고객의 네트워크에는 취약 기기가 100개가 이상 존재했다. 업종별로는 의료 분야가 특히 취약했고 그 다음으로 정부, 소매, 금융, 제조가 이어졌다. 이 OS는 마취 기계, 환자 모니터, 제세동기, 초음파 기기, 여타 의료 장비에 널리 활용된다.

뉴클리어스:13 취약점 
모든 TCP/IP 스택과 마찬가지로, 뉴클리어스 NET 스위트에는 보편적인 프로토콜들이 IP 네트워크의 통신을 위해 포함돼 있다. IPv4, TCP, UDP, ICMP, FTP, TFTP, DHCP 등이 대표적이다. 대개 TCP/IP 스택은 다른 기기와의 미인증 통신을 통해 수신되는 수많은 패킷과 데이터 형식을 처리하기 때문에 넓은 공격 표면을 갖는다. 또한 이들 인터넷 프로토콜은 운영체제의 핵심에 자리해 커널과 직접 상호작용한다. 따라서 전체 시스템 권한이 쉽게 탈취될 수 있는 것이다.

윈도우, 리눅스 등의 범용 운영체제에서 발견되는 TCP/IP 요소는 여러 해에 걸쳐 보안 연구 커뮤니티의 정밀조사를 거쳤다. 그러나 임베디드 기기에서 사용되는 여러 실시간 운영체제의 TCP/IP 스택은 그렇지 못하다. 이들은 대개 사유 소프트웨어다.

뉴클리어스:13 보고서에 나온 3가지 RCE 취약점은 뉴클리어스 NET의 FTP 서버 요소에 위치한다. 특정 명령 길이에 대한 부적절한 검증의 결과로서 스택 버퍼 오버플로우 상태를 초래할 수 있다. CVE-2021-31886, CVE-2021-31887, CVE-2021-31888로 식별되는 이들 취약점은 심각도 점수에서 9.8(중대한) 및 8.8(높은)로 평가됐다.

연구진의 기술 보고서에는 다음과 같이 기술돼 있다. 
 

“고수준에서 CVE-2021-31886을 촉발하기 위해 공격자는 훼손된 FTP 서버에서 인증을 시도할 수 있다. 이 때 FTP ‘USER’ 명령을 저장하도록 지정된 내부 버퍼 크기보다 더 큰 이용자 이름을 전송한다(실제 버퍼 크기는 다양하다). 충분히 큰 이용자 이름을 전송하면 스택 버퍼 오버플로우로 이어진다. 이는 이렇다 할 제약 없이 훼손된 기기의 메모리로 제어된 쓰기를 허용하고, 실행 흐름을 가로채고, 공격자의 코드를 실행하는 결과로 이어진다. 이 취약점 악용은 표적의 어떠한 인증도 요구하지 않는다. 특정 길이를 가진 ‘USER’ 명령을 입력하면 취약점이 바로 촉발되기 때문이다.”


CVE-2021-31887과 CVE-2021-31888의 악용 과정도 비슷하다. PWD/XPWD 및 MKD/XMKD 명령 정보의 검증 허점을 악용하는 것만 다르다. 연구자들은 SHODAN 공개 검색 엔진 상의 쿼리를 이용하면서 뉴클리어스 FTP 서버를 실행하는 2,200개가 넘는 공개적으로 접근할 수 있는 기기를 발견했다. 단 현 상황을 그대로 반영하는 수치는 아니다. 대다수 취약한 기기가 기업 네트워크 내부에서만 액세스할 수 있기 때문이다. 그러나 거듭 증명된 바와 같이 네트워크에 접근하는 일은 그다지 복잡하지 않고, 다양한 방식으로 달성될 수 있다.

뉴클리어스 NET TCP/IP 스택에서 발견된 또 다른 9가지 취약점은 서비스 거부로 이어질 수 있거나, 기기의 메모리에 있는 정보의 유출로 이어질 수 있다. 두 취약점 모두에 노출될 수도 있다. 이들 취약점의 심각도 점수는 7.1 ~ 8.8 사이이다. 항상 켜져 있으면서 업무에 핵심적인 기능을 지원하도록 되어 있는 기기라면 데이터 송수신 시 불시의 충돌이나 중단은 심각한 영향을 초래할 수 있는 수준이다. 의료 기기의 경우 환자의 생명이 위험할 수 있다.

이 서비스 거부 취약점 가운데 2가지는 TCP 서버에, 4가지는 DHCP 클라이언트에, 하나는 ICMP 구현물에, 그리고 하나는 UDP 구현물에 위치한다. 모두 프로토콜 상에서 수신된 패킷 내의 특정 값의 길이를 부실하게 검증한 결과로 출현했다.

마지막이자 점수가 가장 낮은 취약점은(5.3) ICMP에 위치하하는 것이다. 취약한 기기가 ICMP 에코 응답을 네트워크 상의 임의의 호스트로 전송하도록 강제하는 데 악용될 수 있다. 이 수법은 소스 IP 주소 스푸핑을 통한 DDoS 반사 공격에서 보편적으로 쓰인다. 

뉴클리어스:13 취약점 완화하기
지멘스는 뉴클리어스:13 취약점의 패치를 배포했다. 그러나 벤더가 이를 통합해 펌웨어 업데이트를 배포해야 의미가 있다. 유감스럽게도 적시에 보안 패치를 배포하지 않거나, 심지어 자신의 제품이 심각한 취약점에 영향을 받고 있다는 사실조차 공개적으로 인정하려 들지 않는 기기 제조업체가 많다. 

취약한 기기의 소유자가 취할 수 있는 조치가 또 있기는 하다. 방화벽 규칙을 통해 뉴클리어스 FTP/TFTP 서버로의 접속이나 화이트리스트 연결을 끄거나 차단할 수 있다. 또한 스위치 기반의 DHCP 제어 메커니즘을 통해 악성 서버로부터 나오는 DHCP 응답을 차단할 수 있고, 방화벽 뒤에 취약한 기기를 배치하고 비정상적인 TCP, UDP, IP, ICMP 트래픽을 차단할 수 있다. 

또한 포어스카우트는 아래와 같은 완화 전략을 권고한다. 

• 뉴클리어스를 실행하는 기기를 찾아 목록을 만든다. 포어스카우트 리서치 랩은 뉴클리어스를 실행하는 기기를 검출하기 위해 능동적 상호작용(active fingerprinting)을 이용하는 오픈소스 스크립트를 배포했다.

• 분할 제어 수단과 올바른 네트워크 위생을 시행해 취약 기기로부터의 위험을 완화한다. 외부 통신 경로를 제한하고, 취약한 기기가 패치 될 수 없다면, 또는 이들이 패치 될 때까지, 완화책으로서 이들을 격리하거나 봉쇄한다.  

• 영향을 받는 기기의 벤더가 배포하는 진행 중인 패치를 모니터하고, 취약 자산에 대한 복원 계획을 세우면서, 비즈니스 위험과 비즈니스 지속성 요건 사이의 균형을 유지한다.

• 모든 네트워크 트래픽을 모니터하며 기지의 취약점이나 유망한 제로데이를 악용하려고 시도하는 악성 패킷을 찾는다. 이례적이고 비정상적인 트래픽은 차단되어야 하고, 아니라면 최소한 네트워크 운영자에게 이에 대한 존재를 경고해야 한다. ciokr@idg.co.kr



2021.11.16

“특히 의료 업종이 위험”··· 뉴클리어스 임베디드 TCP/IP 스택 내 취약점 경보

Lucian Constantin | CSO
수십 억 개의 기기가 영향받을 수 있는 뉴클리어스:13 취약점이 포착됐다. 원격 코드 실행이나 서비스 거부 공격이 가능하다는 설명이다. 

보안 연구진들이 이른바 실시간 운영체제(Real-Time Operating System, RTOS)의 TCP/IP 스택 내에 존재하는 심각한 취약점을 발견했다. ‘뉴클리어스(Nucleus)’라고 불리는 RTOS는 안전이 중요한 수많은 기기에서 활용된다.

포어스카우트(Forescout) 및 메디게이트 랩(Medigate Labs)의 연구진이 발견한 이 취약점은 서비스 거부(DoS), 정보 유출, 원격 코드 실행(RCE)으로 이어질 수 있다. 이 취약점은 통칭하여 ‘뉴클리어스:13’으로 명명됐다. 포어스카우트는 1년에 걸쳐 진행 중인 프로젝트 메모리아(Project Memoria)에서 이번 취약점을 발견했다. 프로젝트 메모리아는 임베디드 시스템에 쓰이는 14종의 TCP/IP 스택을 분석하는 프로젝트다.


현재 지멘스가 소유한 뉴클리어스 RTOS는 23년의 역사를 가졌다. 이 오랜 역사의 OS는 경량인데다 광범위한 회로기판 및 CPU 아키텍처를 지원하기 때문에 병원 및 여타 의료시설, 공장 및 산업설비, 자동차 및 항공 전자공학 시스템 내부의 수십억 대에 이르는 기기에 설치됐다. 심지어 전화기 및 무선 장비에 쓰이는 사물인터넷(IoT) 칩셋과 무선 베이스밴드 프로세서에도 찾아볼 수 있다.

포어스카우트는 자체 테스트 결과 127개의 고객 네트워크에서 16개 업체가 만든 5,500개의 취약 기기를 식별했다. 이들 가운데 13개 고객의 네트워크에는 취약 기기가 100개가 이상 존재했다. 업종별로는 의료 분야가 특히 취약했고 그 다음으로 정부, 소매, 금융, 제조가 이어졌다. 이 OS는 마취 기계, 환자 모니터, 제세동기, 초음파 기기, 여타 의료 장비에 널리 활용된다.

뉴클리어스:13 취약점 
모든 TCP/IP 스택과 마찬가지로, 뉴클리어스 NET 스위트에는 보편적인 프로토콜들이 IP 네트워크의 통신을 위해 포함돼 있다. IPv4, TCP, UDP, ICMP, FTP, TFTP, DHCP 등이 대표적이다. 대개 TCP/IP 스택은 다른 기기와의 미인증 통신을 통해 수신되는 수많은 패킷과 데이터 형식을 처리하기 때문에 넓은 공격 표면을 갖는다. 또한 이들 인터넷 프로토콜은 운영체제의 핵심에 자리해 커널과 직접 상호작용한다. 따라서 전체 시스템 권한이 쉽게 탈취될 수 있는 것이다.

윈도우, 리눅스 등의 범용 운영체제에서 발견되는 TCP/IP 요소는 여러 해에 걸쳐 보안 연구 커뮤니티의 정밀조사를 거쳤다. 그러나 임베디드 기기에서 사용되는 여러 실시간 운영체제의 TCP/IP 스택은 그렇지 못하다. 이들은 대개 사유 소프트웨어다.

뉴클리어스:13 보고서에 나온 3가지 RCE 취약점은 뉴클리어스 NET의 FTP 서버 요소에 위치한다. 특정 명령 길이에 대한 부적절한 검증의 결과로서 스택 버퍼 오버플로우 상태를 초래할 수 있다. CVE-2021-31886, CVE-2021-31887, CVE-2021-31888로 식별되는 이들 취약점은 심각도 점수에서 9.8(중대한) 및 8.8(높은)로 평가됐다.

연구진의 기술 보고서에는 다음과 같이 기술돼 있다. 
 

“고수준에서 CVE-2021-31886을 촉발하기 위해 공격자는 훼손된 FTP 서버에서 인증을 시도할 수 있다. 이 때 FTP ‘USER’ 명령을 저장하도록 지정된 내부 버퍼 크기보다 더 큰 이용자 이름을 전송한다(실제 버퍼 크기는 다양하다). 충분히 큰 이용자 이름을 전송하면 스택 버퍼 오버플로우로 이어진다. 이는 이렇다 할 제약 없이 훼손된 기기의 메모리로 제어된 쓰기를 허용하고, 실행 흐름을 가로채고, 공격자의 코드를 실행하는 결과로 이어진다. 이 취약점 악용은 표적의 어떠한 인증도 요구하지 않는다. 특정 길이를 가진 ‘USER’ 명령을 입력하면 취약점이 바로 촉발되기 때문이다.”


CVE-2021-31887과 CVE-2021-31888의 악용 과정도 비슷하다. PWD/XPWD 및 MKD/XMKD 명령 정보의 검증 허점을 악용하는 것만 다르다. 연구자들은 SHODAN 공개 검색 엔진 상의 쿼리를 이용하면서 뉴클리어스 FTP 서버를 실행하는 2,200개가 넘는 공개적으로 접근할 수 있는 기기를 발견했다. 단 현 상황을 그대로 반영하는 수치는 아니다. 대다수 취약한 기기가 기업 네트워크 내부에서만 액세스할 수 있기 때문이다. 그러나 거듭 증명된 바와 같이 네트워크에 접근하는 일은 그다지 복잡하지 않고, 다양한 방식으로 달성될 수 있다.

뉴클리어스 NET TCP/IP 스택에서 발견된 또 다른 9가지 취약점은 서비스 거부로 이어질 수 있거나, 기기의 메모리에 있는 정보의 유출로 이어질 수 있다. 두 취약점 모두에 노출될 수도 있다. 이들 취약점의 심각도 점수는 7.1 ~ 8.8 사이이다. 항상 켜져 있으면서 업무에 핵심적인 기능을 지원하도록 되어 있는 기기라면 데이터 송수신 시 불시의 충돌이나 중단은 심각한 영향을 초래할 수 있는 수준이다. 의료 기기의 경우 환자의 생명이 위험할 수 있다.

이 서비스 거부 취약점 가운데 2가지는 TCP 서버에, 4가지는 DHCP 클라이언트에, 하나는 ICMP 구현물에, 그리고 하나는 UDP 구현물에 위치한다. 모두 프로토콜 상에서 수신된 패킷 내의 특정 값의 길이를 부실하게 검증한 결과로 출현했다.

마지막이자 점수가 가장 낮은 취약점은(5.3) ICMP에 위치하하는 것이다. 취약한 기기가 ICMP 에코 응답을 네트워크 상의 임의의 호스트로 전송하도록 강제하는 데 악용될 수 있다. 이 수법은 소스 IP 주소 스푸핑을 통한 DDoS 반사 공격에서 보편적으로 쓰인다. 

뉴클리어스:13 취약점 완화하기
지멘스는 뉴클리어스:13 취약점의 패치를 배포했다. 그러나 벤더가 이를 통합해 펌웨어 업데이트를 배포해야 의미가 있다. 유감스럽게도 적시에 보안 패치를 배포하지 않거나, 심지어 자신의 제품이 심각한 취약점에 영향을 받고 있다는 사실조차 공개적으로 인정하려 들지 않는 기기 제조업체가 많다. 

취약한 기기의 소유자가 취할 수 있는 조치가 또 있기는 하다. 방화벽 규칙을 통해 뉴클리어스 FTP/TFTP 서버로의 접속이나 화이트리스트 연결을 끄거나 차단할 수 있다. 또한 스위치 기반의 DHCP 제어 메커니즘을 통해 악성 서버로부터 나오는 DHCP 응답을 차단할 수 있고, 방화벽 뒤에 취약한 기기를 배치하고 비정상적인 TCP, UDP, IP, ICMP 트래픽을 차단할 수 있다. 

또한 포어스카우트는 아래와 같은 완화 전략을 권고한다. 

• 뉴클리어스를 실행하는 기기를 찾아 목록을 만든다. 포어스카우트 리서치 랩은 뉴클리어스를 실행하는 기기를 검출하기 위해 능동적 상호작용(active fingerprinting)을 이용하는 오픈소스 스크립트를 배포했다.

• 분할 제어 수단과 올바른 네트워크 위생을 시행해 취약 기기로부터의 위험을 완화한다. 외부 통신 경로를 제한하고, 취약한 기기가 패치 될 수 없다면, 또는 이들이 패치 될 때까지, 완화책으로서 이들을 격리하거나 봉쇄한다.  

• 영향을 받는 기기의 벤더가 배포하는 진행 중인 패치를 모니터하고, 취약 자산에 대한 복원 계획을 세우면서, 비즈니스 위험과 비즈니스 지속성 요건 사이의 균형을 유지한다.

• 모든 네트워크 트래픽을 모니터하며 기지의 취약점이나 유망한 제로데이를 악용하려고 시도하는 악성 패킷을 찾는다. 이례적이고 비정상적인 트래픽은 차단되어야 하고, 아니라면 최소한 네트워크 운영자에게 이에 대한 존재를 경고해야 한다. ciokr@idg.co.kr

X