보안

“PLC를 무기화해 엔지니어링 워크스테이션을 해킹한다” 이블 PLC 공격의 위험

Lucian Constantin | CSO 2022.08.18
제조 또는 필수 인프라 산업 설비에 대한 대부분 공격 시나리오는 PLC(Programmable Logic Controller)를 해킹해 PLC가 제어 및 자동화하는 물리적 프로세스에 간섭하는 것에 집중한다. PLC에서 악성코드를 실행하는 대표적인 방법은 엔지니어가 프로그램을 관리/배포하는 데 사용하는 워크스테이션을 먼저 해킹하는 것인데, 이는 일종의 일반통행로를 만드는 셈이다. 탈취된 PLC를 사용해 엔지니어링 워크스테이션을 해킹하면 강력한 횡적 이동을 위한 길이 생긴다.
 
ⓒ Getty Images Bank

최근 ICS(Industrial Control System) 보안 업체 클라로티(Claroty)의 연구팀은 로크웰 오토메이션(Rockwell Automation), 슈나이더 일렉트릭(Schneider Electric), GE, B&R, 진제(Xinje), 오바로(OVARRO), 에머슨(Emerson) 등 7개 ICS 제조사의 엔지니어링 소프트웨어를 겨냥한 ‘이블 PLC 공격(Evil PLC Attack)’에 대한 개념 증명을 정리한 보고서를 발간했다.

클라로티 연구팀은 “이 공격은 산업용 네트워크에서 매일 작업하는 엔지니어들, 특히 유틸리티, 전기, 상수 및 폐수, 중공업, 제조, 자동차와 같은 필수 산업에서 프로세스의 안전성과 신뢰성을 확보하기 위해 PLC를 구성하고 문제를 해결하는 엔지니어를 공격 대상으로 한다”라고 말했다. 


악성 바이트코드부터 악성 메타데이터까지

PLC는 기본적으로 기계, 물리적 프로세스, 생산 라인 등을 제어하는 임베디드 컴퓨터다. 자체 CPU가 있고 제공업체의 수정사항 및 바이트코드 해석 프로그램과 함께 RTOS(Real-Time Operating System)을 실행한다. 엔지니어는 로직 코드를 작성하고 PLC 인터프리터가 이해하는 형식으로 컴파일링하고 배포하는 데 사용되는 특수 엔지니어링 소프트웨어를 통해 연결 컴퓨터에서 PLC를 모니터링 및 프로그래밍한다.

PLC는 래더 로직(Ladder Logic)으로도 알려진 컴파일링된 바이트코드와 함께 프로그램 이름과 기호와 같은 메타데이터, 하드웨어 및 네트워크를 위한 구성 파일, 메모리 맵핑, I/O 설정, 변수 선언, 파라미터, 엔지니어가 개발한 소스 코드 등 개발된 프로젝트의 사본 전체를 저장한다. 기술적으로는 이런 모든 추가 정보가 기능할 필요는 없다. 이들 정보는 PLC에 연결한 다른 엔지니어가 해당 PLC에서 구동하는 프로젝트의 사본 전체를 획득해 디버깅하거나 변경하는 데 사용된다. 즉, 엔지니어링 소프트웨어는 PLC로 데이터를 전송할 뿐 아니라 여러 데이터를 다시 읽어 들이고 분석한다.

역사적으로 형식이 다른 데이터의 분석은 여러 메모리 취약성의 근원이었으며, 이 사례도 예외가 아니다. 연구팀은 전매특허 소프트웨어들이 연결되는 PLC와 저장된 데이터를 완전히 신뢰할 수 있다는 전제하에 설계되지 않았으므로 최신 데스크톱 애플리케이션에서 제공하는 데이터 구문 분석을 위한 보안 검사가 많이 부족하다고 주장한다.

취약점을 찾는 것이 쉬운 일은 아니다. 모든 제공업체가 저마다의 전매특허 통신 프로토콜로 PLC에 데이터를 쓰고 읽으며, 다양한 패키징 형식으로 프로젝트 파일을 저장하는 데다가 그중 일부도 전매특허이기 때문이다. 연구팀은 각 엔지니어 소프트웨어의 프로토콜과 파일 형식을 역설계하여 공격자가 워크스테이션을 공격하기 위해 PLC에서 변경할 수 있는 사항과 그 방법을 파악했다.

그 결과, 다음과 같은 취약점이 발견 및 보고됐다. 
 
  • 트윈소프트(TwinSoft), 오바로의 TBOX 플랫폼에 사용되는 엔지니어링 소프트웨어
  • B&R(ABB)의 X20 시스템에 사용되는 오토메이션 스튜디오(Automation Studio)
  • 슈다이더 일렉트릭의 모디콘(Modicon) PLC를 위해 사용되는 ESCE(EcoStruxure Control Expert(유니티 프로(Unity Pro))
  • GE의 마크VIe(MarkVIe) 플랫폼이 사용하는 툴박스ST(ToolBoxST)
  • 로크웰 오토메이션의 마이크로 컨트롤 시스템(Micro Control Systems) PLC가 사용하는 CCW(Connected Components Workbench)
  • 에머슨의 PAC시스템(PACsystems)이 사용하는 PAC 머신 에디션(Machine Edition)
  • 진제의 XDP프로(XDPPro)가 사용하는 XD PLC 프로그램 툴(Program Tool)

결함은 경로 탐색(path traversal)부터 힙 오버플로(heap overflow), 안전하지 못한 직병렬 변환까지 다양하다. 모두 엔지니어링 기기에서 임의 코드를 실행한 결과다. 

연구팀은 “각 표적/플랫폼에 대해 펌웨어와 엔지니어링 워크스테이션 소프트웨어를 역설계하여 다운로드/업로드 메커니즘 전체를 파악하기 위해 노력했다. 목표는 PLC가 사용하는 것과 엔지니어링 워크스테이션이 사용하는 것의 차이를 발견하는 것이었다. 불일치가 있다면 PLC에 영향을 미치지 않도록 특별히 조작된 데이터를 저장하기 위해 악의적인 다운로드 절차로 PLC를 무기화할 수 있고 엔지니어링 플랫폼에서 구문 분석을 할 때 취약점을 트리거하고 악용할 수 있다”라고 말했다. 


가장 큰 위험은 횡적 이동

이런 공격의 가장 확실한 목표는 조직의 OT(Operational Technology) 네트워크 안에서 횡적 이동을 통해 지속성을 확보하는 것이다. 공격자는 조직의 일반 IT 네트워크에서 고립되지 않은 엔지니어링 워크스테이션을 해킹하거나 심지어 내부자를 이용해 맬웨어를 심을 수 있다.

예를 들어, 이란의 나탄즈(Natanz) 핵발전소 내부의 우라늄 농축 원심분리기를 파괴하기 위해 사용되었던 스턱스넷(Stuxnet) 웜은 발전소에서 작업을 수행하는 서드파티 기업의 정비공으로 일했던 내부자에 의해 배치된 것으로 추측된다. 당시 기계 내부에 배치된 웜은 제로데이(Zero-day) 익스플로잇과 정교한 기법을 사용해 원심 분리기를 제어하는 PLC를 찾아냈다.

모든 공격자가 스턱스넷처럼 은밀하고 정교한 맬웨어를 구축할 수 있는 윈도우 제로데이 취약점을 확보하지는 못한다. 따라서 단일 워크스테이션을 감염시킨 후 네트워크를 통해 바이러스를 퍼뜨리는 또 다른 방법이 필요하거나, PLC의 프로젝트 파일을 감염시키는 것이 하나의 방법이 될 수 있다.

PLC는 다양한 원격 관리 인터페이스를 통해 인터넷에 연결된 경우가 많기 때문에 원격으로 해킹될 수 있다. 쇼단(Shodan)의 스캔에 따르면, 수만 개의 SCADA(Supervisory Control and Data Acquisition) 및 PLC 장치가 인터넷에 연결되어 있다. 이를 통해 2020년 4월 공격자들은 이스라엘에서 수처리 제어에 사용되는 시스템에 대한 원격 액세스를 확보할 수 있었으며, 2021년에는 유사한 공격이 플로리다의 올즈마(Oldsmar) 수처리 시설에 영향을 미쳤다.

클라로티 연구팀은 “조사에 따르면 공격자들은 인터넷에 연결된 PLC를 중심점으로 삼아 OT 네트워크 전체에 잠입할 수 있다. 단순히 노출된 PLC에 연결하여 로직을 수정하는 데 그치지 않고 이런 PLC를 무장시키고 엔지니어들을 꾀는 장애를 의도적으로 발생시킬 수 있다. 장애를 확인한 엔지니어가 진단 방법의 일환으로 기기에 위협이 되는 업로드 절차를 수행하면, 공격자는 OT 네트워크에 자리를 잡는다”라고 설명했다.

이블 PLC 공격을 통한 횡적 이동은 기업 전반에 걸쳐 발생할 수 있다. 많은 곳이 서드파티 시스템 통합 업체 또는 계약 업체에 의존해 PLC, 특히 원격 위치에 배포된 PLC을 관리하기 때문이다. 공격자가 덜 안전한 위치에 있는 PLC을 해킹한 후 시스템 통합 또는 계약 업체가 서비스를 제공하고 있다는 사실을 알게 되면, PLC에서 장애를 유발해 엔지니어를 유혹하고 컴퓨터를 해킹할 수 있다. 해당 엔지니어는 다른 기업의 OT 네트워크에 연결해 악성 페이로드를 확산시킬 가능성이 크다.

반면 이런 공격 벡터는 의도적으로 무기화된 PLC를 노출하는 허니팟(honeypot) 같은 시나리오에서도 활용할 수 있다. 공격자도 같은 엔지니어링 소프트웨어로 PLC와 상호작용해야 하므로 공격자의 기기가 노출될 수 있다. 클라로티 연구팀은 “이 방법은 열거(enumeration) 초기 단계에 공격을 감지하고 공격자가 인터넷에 연결된 PLC를 표적화하지 못하도록 하는 데도 도움이 된다. 공격자들은 공격할 표적에서 자신을 지켜야 하기 때문이다”라고 말했다.


이블 PLC 공격을 완화하는 방법

클라로티 연구팀은 발견한 모든 취약점을 영향을 받은 제조 업체에 보고했고, 각 업체는 패치 및 완화 지침을 공개했다. 하지만 OT 네트워크 내부에서 패치를 배치하는 프로세스는 느릴 수 있다. 연구팀은 기업이 가능한 한 클라이언트 인증 메커니즘을 배포해 PLC가 연결하는 모든 엔지니어링 워크스테이션의 ID를 검증하고 특정 시스템의 연결만 수락할 수 있도록 하라고 조언했다.

서로 통신할 필요가 없는 고립된 네트워크의 분할과 위생도 매우 중요하다. 의심스러운 연결에 대한 일반적인 네트워크 트래픽 모니터링뿐 아니라 가능한 한 PLC와 엔지니어링 워크스테이션 사이의 트래픽 암호화하고 공개 키 인증을 지원하는 것도 좋은 방법이다.
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.