요즘 산업용 시스템을 겨냥한 보안 위협을 경고하는 전망이 많다. 산업용 시스템을 겨냥한 공격은 최근 불거지는 현상은 아니다. 2000년대 중반 세상을 떠들썩하게 했던 스턱스넷도 산업 현장을 공격한 대표적인 악성코드로 꼽힌다.
스턱스넷은 미국 정부 주도로 개발됐고 이란 핵 개발을 막는데 사용됐다는 것 정도로만 아는데, 와이어드 기자 앤디 그린버그가 쓴 샌드웜을 보니 대단히 위력적인 악성코드로 평가받는 것 같다.
책을 보면 스턱스넷은 미국 정부 기관인 NSA가 대통령 승인 아래 지멘스 소프트웨어 제로데이 취약점을 활용해 개발한 악성코드다. 이란 핵 개발을 막기 위한 일환이었다. 제로데이 취약점은 세상에 알려지지 않아 패치가 없는 취약점을 말한다.
이란의 강경파 대통령 아무드 아마디네자드는 2005년 정권을 잡은 후 이란의 핵 처리 능력을 발전시키겠다고 공언했다. 이에 대해 대응이 바로 스턱스넷이다.
시간이 점점 지나면서 부시의 국가 안보팀은 두 가지 선택지를 제시했지만 어느 쪽도 문제를 해결할 것 같지 않았다. 이란의 변덕스럽고 공격적인 정부가 대량 살상 무기를 갖는 것을 좌시하든지, 나탄즐 향해 미사일을 발사해 전쟁을 벌이자는 내용이었다. 사실 무엇을 선택하든 전쟁을 불가피해 보였다.
스턱스넷은 굉장히 추상적인 아이디어였다. 몇 줄의 코드로 이란의 핵 프로그램을 파괴하겠다는 전략이며, 전면전에 따른 위험이나 피해 없이 물리적 공격과 동일한 효과를 내겠다는 계획이다. 특수접근작전실(TAO)이라는 이름으로 알려진 NSA의 최종에 공격 해킹팀, 그리고 이스라엘의 사이버 보안 팀 유닛8200과 함께 국방부의 전략 사령부는 악성코드 제작에 나선다. 목적은 나탄즈의 주요 시설을 마비시키는 것이 아니라 파괴하는 것이었다.
당시 이란 핵개발 기지는 인터넷과 분리된 네트워크를 운영하고 있었다. 어떻게 이걸 파고들 수 있었을까? 저자는 이렇게 말한다.
지멘스 엔지니어들이 먼저 감염돼 숙주와 전달자 역할을 했을 수 있다. 또한 나탄즈에서 일하는 스파이를 통해 좀더 계획적으로 USB 악성코드가 퍼졌을 수도 있다.
스턱스넷은 에어갭을 극복할 수 있도록 디자인됐다. 이란 엔지니어들이 나탄즈 네트워크를 인터넷과 물리적으로 분리했기 때문이다. 에어갭은 민간한 데이터를 다루는 네트워크를 다른 네트워크와 분리하는 보안 기술을 말한다. 그래서 스턱스넷은 진화된 기생충처럼 네트워크 연결이 아니라 인간의 연결에 의존해 USB 드라이브를 통해 감염되고 전파됐다. 악성코드는 핵 농축시설의 네트워크에 연결될 때까지 컴퓨터안에서 숨어 지냈다.
일단 에어갭을 통과하면 스턱스넷은 병 속의 배처럼 스스로를 전개했다. 자동화된 악성코드는 외부에서도 어떤 명령어도 받을 필요가 없었다. 스스로 천천히 제로데이 취약점을 공격하면서 지멘스 STEP7 소프트웨어를 실행 중인 컴퓨터를 찾아다녔다. 일단 발견하며 감염시키고 때를 기다린다. PLC가 부착된 원심분리기가 스턱스넷에 감염되면 원심분리기는 스스로를 파괴했다. 관리자에게는 아무런 문제가 없다는 신호를 보냈다. 눈에 보이는 문제가 발생했을 때는 이미 늦었다.
스턱스넷은 계획대로 침투해 임무를 완료했다. 과정이 꽤 으스스하다.
2007년쯤 에너지부 소속 연구원들은 이란이 사용하는 P1 원심 분리기를 손에 넣을 수 있었다.전신주 두께의 반짝이는 원통이었으며, 2미터 정도의 길이었다. 수개월동안 연구원들은 원심분리기의 물리적 특징을 테스트했다. 또한 어떻게 하면 디지털 명령어로 이들을 완벽히 파괴할 수 있을지 실험했다. 실험이 시작되고 나서 얼마 지나지 않아 부시의 정보 참모진은 디지털로 파괴한 원심분리기의 쇠 조각을 테이블 위에 펼쳐놨다. 실험은 성공적이었다. 대통령은 악성코드를 이용한 공격 계획을 승인했다. 작전명은 '올림픽게임'이었다. 악성코드의 능력은 매우 뛰어났다. 에스토니아와 조지아 사건에서 사용됐던 사이버 공격과 비교하자면 중세의 투석기와 현대의 공격 무기를 비교하는 것에 비유할 수 있을 만큼, 압도적인 차이가 있었다.스턱스넷은 우라늄 농축에 핵심적인 원심 분리 과정을 조용이 망치도록 설계됐다.
2008년 언젠가부터 나탄즈 엔지니어들은 알 수 없는 문제에 직면했다. 원심분리기의 회전이 불규칙적으로 말썽을 부리기 시작한 것이다. 베어링이 견딜 수 없을 만큼 빠른 속도로 원신 분리기가 회전했다. 때로는 원심분리기 내부의 압력이 너무 높아져 궤도를 벗어났다. 빠르게 회전하던 원통이 하우징에 초음속으로 부딪히면 원심분리 장치 내에서부터 문제가 발생했다. 지난해 아이다오 국립연구소에서 디젤 발전기 내부를 초토화시켰던 오로라 테스트와 비슷한 양상이었다.
원심분리 장치가 스스로 자폭하는 상황을 설명할 어떠한 징후도 원심분리기의 디지털 모니터링 시스템에서 찾아 볼 수 없었다. 하지만 문제는 끊이지 않고 발생했다. 결국 관리자들은 엔지니어들에게 이 상황을 설명할 수 있을 때까지 원심분리기를 직접 눈으로 보고 있으라는 지시까지 내렸다. 문제의 원인을 파악하기 위해 164개의 원심분리기를 하나씩 가동해 보기도 했지만 원인을 찾아낼 수는 없었다.
미국과 이스라엘 정보국은 이란 과학자들 사이에서 분열이 발생한 것도 감지할 수 있었다. 이란 과학자들이 반복되는 문제에 대해 서로를 탓하기 시작했다. 해고된 과학자들도 있었다.
책을 보면 스턱스넷은 미국 정보기관이 몰래 갖고 있던 제로데이 취약점을 활용해 만들었고 이후 의도치 않게 세상에 공개됐다. 이후 이란 밖으로도 꽤 퍼졌다. 스턱스넷 사레를 보면 각국 정보기관들 입장에선 제로데이 취약점은 전략적 가치가 클 것 같다는 생각도 든다.