보안

스턱스넷의 이해 : 코드가 기계를 망가뜨리고 전쟁을 일으키는 방법

Josh Fruhlinger | CSO 2017.08.24
스턱스넷(Stuxnet)은 대단히 정교한 컴퓨터 웜으로, 기존에 알려진 여러 가지 윈도우 제로데이 취약점을 이용해 컴퓨터를 감염시키고 확산된다. 목적은 단순히 PC를 감염시키는 것이 아니라 물리적인 피해를 입히는 데 있다. 구체적으로, 스턱스넷은 핵무기와 원자로를 가동하는 농축 우라늄을 생산하는 데 사용되는 원심분리기를 타격한다.



스턱스넷은 2010년 정보보안 커뮤니티가 처음 발견했지만, 개발은 2005년부터 시작된 것으로 추정된다. 엄청난 확산 능력과 광범위한 감염율에도 불구하고 우라늄 농축에 관여하지 않는 컴퓨터에는 거의 해를 입히지 않는다. 일단 컴퓨터를 감염시키면 그 컴퓨터가 지멘스(Siemens)에서 제조한 특정 PLC(Programmable Logic Controller)에 연결되어 있는지 여부를 확인한다. PLC는 컴퓨터가 산업용 장비와 상호작용하고 이를 제어하는 데 사용된다. 문제의 PLC에 연결된 것을 확인하면 스턱스넷은 PLC의 프로그램을 변경하여 원심분리기가 장시간 동안 지나치게 빠른 속도로 회전하게 하고, 이로 인해 장비는 고장 나거나 파괴된다. 이 과정이 진행되는 동안 PLC는 컨트롤러 컴퓨터에 모든 부분이 정상 가동 중이라고 알리므로 문제를 알아차릴 때면 이미 너무 늦은 시점이 된다.

스턱스넷 제작자
스턱스넷을 만든 주체는 미국과 이스라엘의 정보 당국이라는 것이 중론이다. 스턱스넷 웜을 개발하기 위한 기밀 프로그램은 “올림픽 게임 작전(Operation Olympic Games)”이라는 코드명으로 불렸다. 조지 W. 부시 대통령 시절 시작돼 오바마 정부에까지 이어졌다. 두 정부 모두 스턱스넷 개발을 공식적으로 인정한 적은 없지만 2011년 이스라엘 방위군 참모총장 가비 아슈케나지의 은퇴 기념식 동영상을 보면 스턱스넷을 재임 시절 성공적 작전 중 하나로 거론하는 장면이 나온다.

스턱스넷을 개발한 개별 엔지니어들은 확인되지 않았지만 이들이 매우 뛰어난 기술을 갖췄으며 그 수도 많다는 것을 알 수 있다. 카스퍼스키 랩(Kaspersky Lab)의 로엘 쇼웬버그는 최종 형태의 스턱스넷 웜은 코더 10명으로 구성된 팀이 2~3년 정도 걸려 만들었을 것으로 추정했다.

두쿠(Ducu)와 플레임(Flame) 등 스턱스넷과 비슷한 감염 능력을 가진 다른 웜도 발견되었으나 이러한 웜의 목적은 스턱스넷과는 전혀 다르다. 전문가들은 스턱스넷과의 유사성을 근거로 동일한 개발진이 만든 것으로 추정한다.

스턱스넷의 목적
미국 및 이스라엘 정부는 스턱스넷을 이란의 핵무기 개발을 와해하거나 최소한 지연시키기 위한 도구로 만들었다. 부시 및 오바마 행정부는 이란의 핵무기 개발이 현실화될 경우 이스라엘이 이란 핵 시설을 공습하고 이로 인해 중동 지역에 전쟁이 일어날 가능성이 있다고 판단했으며 올림픽 경기 작전을 비폭력적 대안으로 봤다. 물리적 인프라에 대한 이러한 사이버 공격이 가능한지조차 불확실했지만 부시 행정부 당시 백악관 상황실의 한 회의에서 파손된 원심분리기 조각이 공개됐고 이를 기점으로 미국은 스턱스넷 맬웨어 작전에 본격적으로 착수했다.

스턱스넷의 목적은 오로지 나탄즈에 위치한 이란 핵시설이었으므로 그 외의 시스템 감염은 염두에 두지 않고 개발됐다. 정보 요원이나 내부 직원이 USB 스틱을 시설 안으로 가져가 감염시켜야 했다. 즉, 의도대로 흘러갔다면 감염이 통제를 벗어나 확산될 일은 없었다. 그러나 어찌어찌해서 스턱스넷은 인터넷에 연결된 컴퓨터에 설치됐고, 극도의 정밀함과 공격적인 속성 탓에 겉잡을 수 없이 퍼지기 시작했다. 다만 앞서 언급했듯이 핵시설 외부의 컴퓨터는 감염시킨다 해도 거의 아무런 피해도 입히지 않았다. 많은 미국인들은 스턱스넷이 광범위하게 확산된 것은 이스라엘이 코드를 수정했기 때문이라고 생각한다. 당시 부통령 바이든은 이스라엘의 이 같은 행동에 특히 분노했던 것으로 전해진다.

스턱스넷 소스 코드
시만텍의 보안 기술 및 대응 그룹 이사이며 스턱스넷을 처음 규명한 팀에 있었던 리암 오머추는 스턱스넷이 “우리가 지금까지 본 코드 중에서 단연 가장 복잡한 코드였다. 기존의 다른 코드와는 아예 차원이 달랐다”고 말했다. 또한 오머추는 스턱스넷 소스 코드를 다운로드로 제공한다고 주장하는 웹사이트는 많지만 이를 믿으면 안 된다고 말했다. 오머추는 미국과 이스라엘 정보 기관의 코더들이 작성한 스턱스넷 웜의 원본 소스 코드는 공개되거나 유출된 적이 없으며, 현재 떠도는 바이너리에서 코드를 추출하는 것도 불가능하다고 강조했다. (전체 패키지의 아주 작은 일부분인 한 드라이버용 코드는 리버스 엔지니어링을 통해 재구성됐지만 이는 원본 코드와는 다르다.)

그러나 오머추는 바이너리의 작동을 살펴보고 리버스 엔지니어링하는 것으로 코드의 많은 부분을 이해할 수 있다고 말했다. 예를 들어 오머추는 “이 앱을 처음 분석했을 때부터 특정 지멘스 장비를 찾는다는 점은 명확히 알 수 있었다”며, “3~6개월에 걸친 리버스 엔지니어링 이후 이 코드에서 수행하는 모든 작업의 99%를 파악할 수 있었다”고 말했다.

스턱스넷의 목적을 드러낸 것은 철저한 코드 분석이다. 오머추는 “이 코드가 각각 168개의 주파수 변환기로 구성된 8개 또는 10개의 어레이를 찾아 탐색한다는 것을 알아냈다. 우라늄 농축 시설을 점검하는 방법에 관한 국제 원자력 에너지 협회의 문서를 온라인으로 볼 수 있는데, 이 문서를 통해 주파수 변환기가 몇 개인지, 원심분리기가 몇 개인지 등 우라늄 시설의 구성을 구체적으로 볼 수 있다. 문서에 따르면 우라늄 시설은 8개의 어레이로 구성되고 각 어레이에 168개의 원심분리기가 있다. 스턱스넷 코드에서 탐색하는 구조와 정확히 일치했다”고 말했다.

오머추는 “이 사실을 밝혀내고 우리는 무척 흥분했지만, 곧 이것이 국제적인 첩보 작전일 가능성을 인식하고는 큰 두려움을 느꼈다”고 덧붙였다. 시만텍은 2010년 9월 이 정보를 공개했다. 서방 세계 분석가들은 2009년 말부터 이란이 원심분리기 문제를 겪고 있음을 알았지만 그 이유까지 아는 사람은 극소수였다.

스턱스넷 다큐멘터리
 ‘엔론: 세상에서 제일 잘난 놈들(The Smartest Guys In The Room)’, ‘고잉 클리어(Going Clear)’와 같은 작품을 만들고 오스카상 후보에도 올랐던 다큐멘터리 제작자 알렉스 기브니는 스턱스넷의 역사와 이 사건이 이란과 서방 세계 간의 관계에 미친 영향을 분석한 다큐멘터리 ‘제로 데이(Zero Days)’를 만들었다. 제로 데이에는 오머추 및 그 동료들과의 인터뷰가 포함되어 있으며 유튜브에서 전체를 볼 수 있다.

이 다큐멘터리에서 극적인 한 장면은 스턱스넷이 실제 물리적 세계를 파괴할 수 있음을 시만텍 팀이 납득시키는 장면이다. 시만텍 팀은 풍선에 공기를 넣도록 지멘스 PLC를 프로그램한 다음 스턱스넷으로 이 PLC를 조작하는 PC를 감염시켰다. 결과는 극적이었다. 컨트롤러는 단 5초 동안 풍선을 불도록 프로그램되었지만 그 시간을 지나 계속 공기를 불어넣었고 결국 풍선은 터졌다.

.
이란 우라늄 원심분리기 파괴(풍선과 동일한 논리로, 과도한 속도로 회전해 결국 파괴됨)의 경우 시각적 효과는 풍선이 터지는 것만큼 강하진 않겠지만 최종 결과가 극적임은 마찬가지다. 이 다큐멘터리에서도 언급하듯이 우리는 지금 컴퓨터 맬웨어 코드가 물리적 수준에서 파괴를 일으키는 세계에 살고 있다. 앞으로 이와 비슷한 일이 더 많이 생길 것임은 분명하다.  editor@itworld.co.kr
Sponsored

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

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

Copyright © 2024 International Data Group. All rights reserved.