보안

비지박스 취약점 14개 발견 “DoS, RCE 취약점 노출 우려, 업데이트 필수”

Lucian Constantin | CSO 2021.11.12
리눅스 기반 펌웨어 비지박스(BusyBox)에서 취약점 14개가 발견됐다. 치명적인 결함은 아니지만 RCE(Remote Code Execution) 취약점으로 이어질 수 있는 결함도 일부 확인됐다.
 
ⓒ Getty Images Bank

비지박스는 리눅스에서 사용하는 대표적인 명령줄 도구와 셸, DHCP 클라이언트, 서버를 하나의 바이너리에 모은 소프트웨어 유틸리티로, ‘리눅스에 탑재된 스위스 군용 칼’이라고 불린다. 독립형 바이너리로 리눅스 명령을 300가지 이상 실행할 수 있기 때문에 사실상 리눅스 사용자 환경에 탑재된 표준 프로그램으로 봐도 무방하다.

데브옵스 플랫폼 업체 제이프로그(JFrog)는 “다양한 OT 및 IoT 장치가 비지박스 기반으로 작동한다. PLC(Programmable Logic Controller)나 HMI(Human Machine Interface), RTU(Remote Terminal Units)가 대표적이다. 제이프로그 데이터베이스에 있는 1만 개 이상의 임베디드 펌웨어를 조사한 결과, 펌웨어 가운데 40%는 취약점이 발견된 애플릿과 연결되는 비지박스 실행 파일을 보유하고 있었다. 리눅스 기반 임베디드 펌웨어에 취약점이 퍼질 우려가 있다”라고 설명했다.

제이프로그는 사이버보안 업체 클라로티(Claroty) 연구팀과 함께 정적 및 동적 분석 기술과 개인 개발자가 만든 퍼징 기술로 비지박스를 분석했다. 분석 결과 비지박스 유명 애플릿인 man(manual pages), lzma/unlzma(compression), ash(shell), hush(shell), awk(text manipulation/scripting)에서 취약점이 발견됐다.


DoS, 정보 유출 및 RCE 취약점 공격 우려돼

14개 취약점 모두 DoS(Denial of Service) 공격으로 이어질 수 있는 것으로 나타났다. 일반적으로 DoS 공격은 다른 공격보다는 상대적으로 위험이 낮은 것으로 간주되지만, PLC같은 장치나 OT 환경이 DoS 상태에 놓이면 산업 프로세스의 중요한 부분이 중단될 수 있다.

비지박스 애플릿의 취약점을 악용하면 공격자는 명령에 따라 해당 애플릿에서 처리하는 입력을 제어할 수 있다. 장치가 제공하는 기능과 애플릿의 적용 방식에 따라 로컬에서 접속하지 않고 원격으로도 할 수 있다.

예를 들어, man 취약점(CVE-2021-42373)은 공격자가 man 명령에 전달된 모든 매개 변수를 제어해 섹션 이름을 제공할 수 있지만, 페이지 인자는 제공할 수 없는 상황에 적용된다. ash(CVE-2021-42375) 및 hush 취약점(CVE-2021-42376, CVE-2021-42377)은 셸 명령의 특정 특수 문자 또는 문자열을 잘못 처리한 결과다. ash 및 hush 명령 취약점을 악용하려면 특수하게 조작된 명령을 셸에 전달하는 기능이 필요하다. 그렇게 되면 CVE-2021-42377로 원격 코드를 실행할 수 있다. 

unlzma 취약점(CVE-2021-42374)은 DoS나 정보 유출로 이어질 수 있으며, 특수 조작된 LZMA-압축 입력을 애플릿에 전달하는 방식으로 악용된다. 특이한 점은 unlzma 애플릿이 사용할 수 있는 상태가 아니어도 ‘CONFIG_FEATURE_SEAMLESS_LZMA’가 활성상태인 경우에는 tar, unzip, rpm, dpkg, lzma, man과 같은 애플릿이 취약상태의 코드로 lzma 압축 파일을 처리한다. 비지박스에서는 이 기능이 기본적으로 활성화된 상태이기 때문에 공격 백터가 악용될 가능성이 높다.

연구팀은 “공격자의 입장에서 unlzma를 실행하는 것보다 unzip을 실행하는 상황이 더 일반적이기 때문에 ZIP 파일 형식이 훨씬 좋은 공격 백터다. 공격자는 유출된 데이터를 파일로 저장해 추후 원격으로 열람한다. 예컨대 미디어 리소스와 함께 ZIP 압축 파일을 업로드할 수 있는 임베디드 웹 서비스에서 공격자가 ZIP 압축 파일을 접근 가능한 위치로 추출해 유출된 데이터를 읽는 것이다”라고 설명했다. 

나머지 9개 취약점은 모두 awk 명령에서 발견된 것으로, 특수 조작된 awk 패턴을 처리할 때 UAF(Use-After-Free) 메모리 충돌을 일으킨다. DoS와 RCE 취약점 공격으로 확장될 수 있는 취약점이다. 연구팀은 “UAF 취약점을 악용해 RCE 공격을 할 수 있다. 하지만 현재까지 우리는 무기화된 공격을 시도해보지는 않았다. 외부에서 awk 패턴을 처리하는 것은 아주 드물고 본질적으로 위험한 일이다”라고 말했다.

14개 취약점은 비지박스 1.34.0버전에서 수정됐다. 펌웨어 개발자는 새 버전으로 업데이트하는 것이 좋다. 호환 문제로 업데이트할 수 없다면, 취약한 애플릿을 사용하지 않는 방법도 있다. 


정기 업데이트는 필수

수많은 IoT, OT 및 기타 임베디드 장치가 운영체제로 리눅스를 사용한다. 결과적으로 여러 가지 오픈소스 유틸리티와 서비스를 사용할 수밖에 없다. 몇몇 컴포넌트는 대규모 개발자 커뮤니티에서 관리하지만, 일부 컴포넌트는 아주 적은 규모의 개발자 팀이나 심지어 개발자 혼자서 관리하는 경우도 있다. 

취약점은 항상 흔한 리눅스 컴포넌트에서 발견됐으며, 때문에 수억 만 대 장치에 영향을 미칠 수 있다. 리눅스 서버와 데스크톱은 간편하게 자동 업데이트할 수 있지만, 임베디드 시스템 업데이트는 수작업이 필요한 절차다. 임베디드 펌웨어 개발자 다수가 호환성 문제로 인해 옛날 버전의 커널 및 사용자 도구를 사용하는 것도 문제다. 따라서 기업은 사내 IoT 및 OT 장치를 염두에 둔 업데이트 정책을 시행해야 하며, 정기적으로 보안 업데이트를 제공하는 업체의 제품을 선택해야 할 것이다. editor@itworld.co.kr

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.