독일 보안 연구원들이 새로운 PLC 웜을 발표했다. 이 웜은 PC를 감염시킬 필요 없이 오직 PLC에서만 실행된다는 점에서 스턱스넷과 차별화된다. PLC는 반복 작업의 기계화를 회로기판에 프로그램하는 제어장치로 오늘날 공장, 발전소, 정유공장, 송유관, 원자력 발전소 등의 주요기반시설과 항공 우주 인공위성에 이르기까지 광범위하게 사용된다.
3월 31일 싱가포르에서 열린 블랙햇 아시아 보안 컨퍼런스에서 독일 보안 컨설팅社 오픈소스시큐리티 보안 연구원 랄프 스페넨버그와 마이크 브뤼게만은 독일의 지멘스 PLC S7-1200 버전3용 웜을 발표했다. 이 웜은 PLC 소프트웨어 개발 전용 프로그램 언어인 ST(Structured Text)로 제작되었다.
세상을 떠들썩하게 했던 스턱스넷은 이란 원자력 발전소의 윈도우 컴퓨터를 USB로 감염시킨 뒤 감염된 컴퓨터에 지멘스사에서 만든 PLC(SIMATIC S7-300) 제어용 소프트웨어(SIMATIC WinCC/Step 7)가 설치되어 있는지를 확인했다. 지멘스 PLC는 산업화 공정에 사용되는 ICS로 윈도우용 소프트웨어로 제어되는 경우가 많으며 바로 이 점이 스턱스넷이 노리는 것이었다. 이 소프트웨어가 발견되지 않으면 스턱스넷은 아무것도 하지 않았고, 발견되면 다른 취약점으로 감염시킨 뒤 PLC 데이터를 고쳤다.
이번에 발표된 웜은 PLC 데이터를 고칠 수 있고, 무한루프를 수행해 DoS 공격처럼 PLC를 멎게 할 수도 있으며, PLC 소프트웨어가 전송되는 지멘스 TIA 포털로 위장하고, 지멘스 프로토콜 사용, PLC에 설치된 소프트웨어에서 병렬로 실행되어 기존 바이러스 백신이나 침입 탐지 시스템으로는 탐지가 불가능하다고 한다. 감염된 PLC는 로컬 네트워크를 스캔해 S7-1200 PLC를 찾아 발견되면 스스로를 해당 기기에 업로드해 감염시킨다. 커맨드앤컨트롤 기능도 있어 감염된 PC는 C&C 서버에 자동 접속해 물리적 입출력 조작 등의 원격지 제어가 가능하다.
PoC는 아직 공개되지 않은 상태로 국내에서는 자동차, 석유공장, 발전소 설비 등에는 독일의 지멘스 PLC가 많이 사용되고 있다.
- 블랙햇 아시아: https://www.blackhat.com/asia-16/briefings.html#plc-blaster-a-worm-living-solely-in-the-plc
- 프레젠테이션 자료: https://www.blackhat.com/asia-16/briefings.html#plc-blaster-a-worm-living-solely-in-the-plc
- White Paper: https://www.blackhat.com/docs/asia-16/materials/asia-16-Spenneberg-PLC-Blaster-A-Worm-Living-Solely-In-The-PLC-wp.pdf