보안 제품정보


PLC 시스템 위협하는 웜, 보안 전문가들이 만들어 시연 2016.08.11

PLC 공격하면 산업 시설에 치명적인 물리 피해 입히는 것 가능
TCP 및 에더넷 연결된 PLC들 전부 취약할 가능성 높아


[보안뉴스 문가용] 산업 시스템 및 장비의 통제 자동화에 사용되는 프로그램 가능 논리 제어 장치(Programmable Logic Controller, PLC)가 공격에 노출되어 있다는 소식이다. PLC가 장악을 당하거나 공격을 받으며 물리적인 피해가 대규모로 발생할 수 있다는 건 2010년 이란의 핵 관련 시설이 스턱스넷(Stuxnet) 공격을 받았을 때 증명된 바 있다. 당시 스턱스넷은 마이크로소프트 윈도우의 취약점을 악용해 시설 내 PC들을 장악하고, 이 PC들을 발판 삼아 PLC로 접근하는 데 성공했다.

▲ "네가 PLC냐?" "아닐세..."


오픈소스 시큐리티(OpenSource Security)의 랄프 스펜버그(Ralf Spenneberg)와 마이크 브루그만(Maik Bruggemann)는 PLC 내에 머무르며 다른 제어장치에도 스스로 확산이 가능한 웜을 자체 개발해 지난 주 블랙햇에서 선보였다. 스턱스넷 때와는 달리 PC 등의 중간과정을 필요로 한 것도 아니었다. 이 웜은 전통의 백신 툴을 가지고는 탐지가 매우 어려웠다.

랄프와 마이크에 따르면 “이 웜으로서 드러내고 싶었던 건 인증 절차 없이도 사용자 프로그램에 변경을 가할 수 있게 해주는 PLC 모델이 현장에 존재한다는 것과, 인터넷에 연결된 장비를 제어하는 데에 사용되는 명령에도 비슷한 취약점이 있다는 것”이라고 한다. 이런 취약점이 있다면, 공격자가 PLC에 코드를 주입하는 법을 잘 안다는 가정 아래, 제어장치의 오작동을 유발할 수 있다.

두 전문가가 이번 실험에 사용한 건 지멘스의 S7-1200 PLC 시스템이었다. 이 시스템을 작은 산업 장비에 연결해 공격을 시연했다. 먼저 시스템에 어떤 식으로 접근해 어떤 방식을 거쳐 악성 코드를 주입하는지를 선보인 이들은, PLC에 어떻게 명령을 전달할 수 있는지도 상세히 설명했으며, 이렇게 감염시킨 시스템을 가지고 같은 네트워크에 연결되어 있는 다른 PLC 시스템을 찾아나서는 것까지도 보여주었다.

이들이 제작한 웜은 먼저 자기가 심겨진 네트워크를 스캔해서 지멘스 S7-1200 시스템이 있는지 여부부터 파악했다. 그리고 TCP 숫자로부터 S7-1200을 탐지하는 데에 성공했다. 웜은 합법적이고 정상적인 소프트웨어 변경 프로세스를 가장해 스스로를 복제해서 다른 시스템도 감염시켰다. PLC에 도착한 후에, 웜은 똑같은 작업을 반복해 다른 PLC도 차례 차례 공격해 나갔다.

이 웜의 이름은 PLC 블래스터(PLC Blaster)로 원격의 C&C 서버와 TCP를 통해 통신하도록 설계되어 있었다.

공격이 쉽지만은 않았다. 가장 어려웠던 점은 지멘스 PLC 시스템이 사용하고 있는 통신 프로토콜을 파악하는 것이었다. 그것도 PLC 시스템들끼리 통신할 때의 프로토콜을 알아내는 것이 무척 어려웠다고 둘은 설명한다. “PLC 시스템 프로토콜에 대한 설명서를 구하기가 매우 힘들었고, 인터넷을 아무리 검색해도 관련 자료가 나오지 않았습니다. 즉 저희 스스로 알아내야 했던 것이죠. 그러나 프로토콜을 한 번 크래킹 하니 그 뒤 과정은 순조로웠습니다.”

지멘스의 PLC를 이번 실험에 사용하기로 결정한 건 이 제품들이 실제 현장에서 인기가 많고 자체 보안 장치를 포함하고 있기 때문이다. 승인 절차 없이 코드를 변경하지 못하게 설정되어 있거나 암호를 사용한다거나, AES를 통해 소스코드를 암호화한다거나 하는 보안 기능을 지멘스 PLC 시스템은 가지고 있다. 또한 카피 프로텍션(Copy Protection)이라는 기능도 있어 사용자 프로그램이 특정 PLC에서만 작동하도록 되어 있기도 하다.

하지만 이번에 선보인 웜 공격으로 인해 이런 보안 기능들 대부분이 불충분하다는 사실이 드러났다. “또한 현재 존재하는 코드의 보호에만 초점이 맞춰져 있죠. 공격자가 코드를 변화시키는 것에 대한 공격에 대한 방비가 좋다고는 말하기 힘듭니다.”

두 전문가는 “이번 시연에 사용한 지멘스 모델만의 문제가 아니”라고 설명을 이어간다. “프로그램이 가능한 TCP 기능을 지원하는 PLC들 대다수가 TCP를 통한 데이터 전송이 가능하도록 만들어져 있죠. 또한 대부분 산업용 에더넷에 연결되어 있고요. 이런 PLC들이 거의 전부 같은 취약점에 노출되어 있다고 결론을 내려도 됩니다.”

두 전문가는 다른 브랜드 및 장비들에 대한 실험도 계속해서 해나갈 것이라고 밝혔다. “장비들마다 작동법이나 원리가 미세하게 달라서 어떤 방비책이 가장 이상적이고 보편적일지 연구해나가려면 최대한 많은 장비들을 실험해보아야 합니다. 아직은 시작 단계에 불과합니다.”
Copyrighted 2015. UBM-Tech. 117153:0515BC
[국제부 문가용 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>