스턱스넷 출현 5주년, 우리가 놓친 교훈은? 보안

[보안뉴스 문가용] 이제 곧 스턱스넷(Stuxnet) 웜이 세상에 처음 공개된 지 5년이 지난다. 스턱스넷 때문에 많은 것이 변했다. 산업 제어 시스템 신제품들이 쏟아져 나왔고, 산업용 네트워크, 이론, 방법론이 다채롭게 개발됐다. 그런데 돌아보면 우리가 진짜로 배운 건 무엇이었을까 하는 의문이 든다. 우리는 스턱스넷이 휩쓸고 지나간 자리에 남아 가장 밝은 곳의 눈에 띄는 것들을 취했던가, 아니면 어두운 곳까지 샅샅이 뒤져 정말로 필요한 부분을 개선했던가?

▲ 아직 빛이 닿지 않은 부분이 많다.

1. 그때 우리는

가장 밝은 빛이 비춘 곳, 즉 가장 적나라하게 ‘약점’으로서 드러난 곳은 ‘모범 실무’였다. 즉 가장 생산성이 높고 업무 효율을 높여주는 곳에서 스턱스넷이 가장 활발하게 활동했다. 이 모범 실무 사례는 다음과 같다.


1. USB를 통한 스턱스넷 감염 : 스턱스넷 사건으로 가장 큰 피해를 입은 건 ‘업무에서의 USB 사용’이라고 해도 과언이 아니다. 스턱스넷이 USB를 통해 옮겨 다녔다는 사실이 드러나면서 각 기업의 USB 포트는 셧다운됐다. 파일을 옮기고 정보를 저장하는 방식에서 USB가 배제되기 시작했다.


2. 제로데이 취약점을 악용한 스턱스넷 : 스턱스넷이 제로데이 취약점을 악용해 몇 달 씩 시스템에 잠복해 있었다는 사실이 드러났지만, 사실 이 부분은 어떤 조치를 취하기가 어려웠다. 제로데이 취약점 없는 소프트웨어는 사실 없다고 봐야하고, 제조사의 발 빠른 패치만이 거의 유일한 해결책이다. 일상 업무의 과정에 속하긴 하지만 USB처럼 조치를 금방 취하기는 어려웠던 취약점이다.


3. 시멘스 S7의 하드코딩된 암호와 IT/OT 방화벽을 통해 퍼지는 스턱스넷 : 하드코딩된 암호는 산업 시스템에서는 어디나 볼 수 있는 필수불가결의 업무 요소다. 핵 시설의 원심분리기를 조정하는 시멘스 S7 역시 핵 시설에 있어서는 필수요소이긴 마찬가지다. 중요한 부품의 하드코딩된 암호가 뚫렸다니, 처음엔 시멘스 시스템에 모든 책임을 돌리는 것이 당연한 반응이었다. 그러나 손가락질해서만은 문제가 해결될 리가 없다. 사람들은 스턱스넷이 훑고 지나간 곳에서 더 이상 시멘스 S7을 믿지 못하고 정보기술(IT)과 운영기술(OT) 시스템을 합치기 시작했다. 그리고 모든 암호 정책 및 관리를 중앙에서 하기 시작했다.


이런 IT/OT 융합은 굉장히 빠르게 진행됐다. 그러면서 산업통제 시스템(ICS) 보안에 대한 책임과 제어권, 기능이 전부 중앙의 IT 보안팀으로 넘어갔다. 무슨 말이냐면, ICS에 특화되지 않은 보안 전문가가 ICS까지 한꺼번에 맡아서 처리하기 시작했다는 것이다. 매뉴얼 그대로, 배운 그대로, 교과서 그대로 하는 보안이 ICS에서 성행하기 시작했다.


2. 그래봐야 5분

그러나 이것이 정말 ‘스턱스넷으로부터 배운 교훈이자 발전’일까? 한 번은 ICS 보안 설계자와 이야기를 나눌 기회가 있었다. 업무 이야기를 듣고 있자니 정말 ‘교과서적’이었다. 감사기준도 여유롭게 통과했고, 이런 모범적인 보안을 몇 년 째 하다 보니 자연스럽게 취약점이며 오류가 없는 깨끗한 네트워크가 완성되었다고 했다. 취약점도 없고, 산업 보안기준은 모두 갖춘 환상의 네트워크가 존재한다는 것이었다.


그런데 그의 이야기는 여기서 그치지 않았다. 거기서 만족할 수가 없었단다. 딱 한 번만 더 확인해보고 싶었다. 그래서 침투전문가를 고용해 실험을 했다. 회사 네트워크 입구까지 그 모의해커를 데려다주고 다음과 같은 가상 시나리오를 짰다.


“지금 당신은 저희 안내데스크 아가씨의 컴퓨터를 아주 평범한 방법으로 뚫어낼 겁니다. 당신이 사용한 멀웨어는 백신 프로그램들을 전부 우회하는데 이는 당신의 그 멀웨어에 대한 정보가 세상에 거의 알려지지 않았기 때문입니다. 즉, 지금 백신 기술로는 그 멀웨어를 잡을 수가 없다고 칩시다. 그리고 그 컴퓨터의 권한설정을 높일 수 있게 됩니다. 여기까지 해보세요.”


즉 안내데스크에 있는 PC 한 대를 통해 회사 시스템 전체에 침투해서 취약점이 하나도 없다던 그 ICS 네트워크를 마음껏 농락해보라는 주문이었다. 그리고서는 과연 그 컴퓨터 한 대로부터 몇 발자국이나 더 갈수 있을지 냉소적으로 지켜봤단다. 그런데 무슨 일이 벌어졌을까? 그 모의해커는 딱 5분 만에 ICS 시스템 제어기에 도착했다.


5분? 5분이라고? 과장이겠지? 되물었다. 그게 어떻게 가능해? 그는 심지어 특이한 공격방식을 사용하지도 않았다고 한다. 극히 평범하고 표준적인 해킹술만을 동원했다는 게 그의 증언이었다. 암호 스크래퍼를 다운로드 받고, 하루 전날 모의 해킹실험을 위해 실험용 PC(안내데스크 PC)를 네트워크에 연결시키느라고 잠깐 접속했던 도메인 관리자의 암호를 찾아냈을 뿐이라고 했다.


표정 하나 변하지 않은 테스터는 5분 후 아무렇지 않게 물었다. “그럼 원심분리기를 한번 휘저어 볼까요?” 보안담당자였던 그는 “키보드에서 당장 떨어지세요”라고 자기도 모르게 답을 했다고 한다.


3. 그렇다면 뭐가 진짜 교훈이었을까?

5분이 주는 의미가 크다. 결국 스턱스넷 사건으로부터 배운 게 하나도 없다는 말과 다름없기 때문이다. USB 포트를 차단하고, 제로데이 취약점 패치를 재촉하고, IT와 OT를 융합하는 건 결국 헛짓거리였을까? 그렇다면 우리는 어떤 교훈을 취해야 했을까?


1. 제어 네트워크들은 일반 사무 네트워크와 다르다 : ICS는 말 그대로 제어를 한다. 산업 현장은 강력한 물리 시스템으로 꽉꽉 차있는 공간이다. 그렇기 때문에 아주 작은 이상이나 변화가 상상도 못할 피해로 이어지는 경우가 많다. 스턱스넷이 강력한 이유는 그것이 타격을 가하는 원자력 발전소 특유의 구성에 기인하기도 한다. 스턱스넷은 1천~2천 우라늄 가스 원심분리기를 파괴했다고 알려져 있다.


2. 해킹이 가능한 공간은 정말 많다 : 사이버 보안의 제1 법칙은 완벽히 안전한 곳은 아무 데도 없다는 것이다. 시간, 돈, 재능이 충분히 투자된다면 뚫리지 않을 곳이 없다는 것이다. 취약점 평가는 어떤 식으로 공격이 이루어질 수 있는지에 대한 가능성을 전부 진단하는 것으로 마무리되어야 한다. 그리고 그 진단 보고서는 일반 사용자가 이해할 수 있는 언어로 구성되어야 한다.


3. 공격에 대비한 훈련은 반드시 필요하다 : 방어는 방어자의 능력을 반영하는 게 아니라 공격자의 능력에 맞추어야 한다. 스턱스넷의 경우 공격자들은 정부를 등에 업은 세력이라 유용 자금이 무한대에 가까웠다. 그리고 방어자의 입장도 비슷했다. 핵 시설은 국가의 중요 시설이기 때문이다.


보통 해커가 보통 웹 사이트를 노리는 보통 해킹의 경우 공격자가 주로 사용하는 툴을 이해하는 것으로 충분히 교훈을 삼을 수 있고, 그건 서로 엄청난 자금을 쏟아 부은 스턱스넷의 경우도 마찬가지다. 방화벽 너머의 신뢰 관계를 공략하는 원격 제어 공격법이 당시는 생소했지만 이제는 흔한 것이 되어버린 것만 봐도, 그때 스턱스넷의 공격을 더 집요하게 파헤치기만 했어도 그 후에 일어난 많은 공격을 막을 수 있었을 것으로 보인다. 요즘은 ‘원격에서 이루어지는 제어 시스템 및 신뢰 관계에 대한 공격’은 타깃형 공격의 표준이 되었다. 공격이 그렇게 흘러간다면 방어도 그것에 대비해야 마땅하다.


4. 정답자가 늘고 있다

프랑스의 ANSSI(국가정보시스템보안에이전시)의 ICS는 작년 보안 표준을 발표했는데, 모든 사항들이 정답에 가깝다. 일부 제어 네트워크를 신뢰도가 낮은 기업 네트워크에 연결시킬 때 방화벽 사용을 금지시켰고, 특히 치명적인 네트워크에 한해서는 원격 제어 역시 금지시켰다. 미국의 NERC CIPV5 표준 역시 이 방향으로 움직이고 있다.


정답에 가깝게 움직이고 있는 이 두 표준 지침들은 망분리 혹은 에어갭 네트워크를 무작정 지지하지는 않는다. 이미 그런 방면의 해킹 기술들이 여럿 나와 있고, 네트워크 연결 속도의 발전은 더 이상 막을 수 없을 정도로 늘어났다. 그런 상태에서 망분리의 무조건적인 신뢰는 오히려 독이 될 것이라는 게 이 두 표준의 입장이다. 대신 단일 방향의 보안 게이트웨이와 시큐어 터널들을 활용하라고 권한다.


단일 방향의 게이트웨이들로는 신뢰도가 다소 떨어지는 네트워크에 산업 서버들을 단일 방향 하드웨어 모듈을 통해 복제하는 게 가능하다. 이게 무슨 말이냐면, 기업 사용자들과 서버들이 보호받고 있는 제어 네트워크에 메시지를 되돌려 보낼 필요 없이 쿼리를 전송할 수 있다는 것이다. 단일 방향 게이트웨이는 애초부터 물리적으로 메시지를 보내는 게 불가능한 구조를 가지고 있기 때문이다. 신뢰도가 높은 네트워크에 있는 정보를 신뢰도가 떨어지는 네트워크로 보낼 때 한 방향 하드웨어를 사용하면, 신뢰도가 낮은 네트워크에서 높은 네트워크로 그 어떤 정보도 거슬러 올라가지 못한다.


그에 반해 시큐어 터널은 신뢰도가 같은 네트워크를 연결하는 데에 사용된다. 특히 이 네트워크가 지리적으로 분리되어 있을 때 유용하다. 치명적인 네트워크를 원격 관리해야 할 때는 VPN 터널을 사용해 관리자가 있는 사무실에까지 네트워크를 확장시키는 편이 좋다고 ANSSI 표준은 권고하고 있다. 또한 치명적인 네트워크라면 신뢰도가 낮은 네트워크 등과 분리해서 관리하는 편이 좋다. 연결이 부득이 필요할 때는 단일 방향 게이트웨이만을 사용해야 하며 방화벽은 절대 금물이다. 이런 식으로 보안을 단계별로 잘 고려해서 만들어진 확장 네트워크가 잘 수립되었다면, 중앙 보안 관리자에게는 딱 두 대의 컴퓨터만 할당하면 된다. 하나는 이 확장 네트워크에 물리적으로 연결된 컴퓨터이고, 또 하나는 인터넷에 노출된 기업의 네트워크를 관리하는 컴퓨터다.


5. 이제부터 시작

실무 단계에서 스턱스넷으로부터 파생한 올바른 지침들이 이제야 등장하고 있다. 그래서 ICS의 어두운 구석구석에까지 빛이 스며들기 시작했다. 제어 시스템이 관리하는 범위는 굉장히 넓고, 비싼 구성품을 아우르며, 물리적으로도 복잡하기가 이루 말할 수가 없다. 때문에 아무리 조그만 변화(혹은 공격)라도 걷잡을 수 없는 피해를 남긴다. 하지만 그렇다고 ICS를 없앨 수도 없고, 완벽하기를 기대할 수도 없다. 세상에 100% 완벽한 시스템이란 존재하지 않고 앞으로도 그럴 것이다.


그렇다면 어떤 식으로 공격이 들어올 수 있는지를 연구하고, 그에 대해 우리가 어떤 조치를 취할 수 있을지 알아보는 게 현실적이고 실용적일 것이다. 또한 우리가 접하는 모든 정보에 대해 일단 의심을 해보는 자세를 견지하는 것도 중요하다. 회사 내 돌아다니는 USB, 노트북, 백신 업데이트, 메신저로 들어오는 메시지 등이 전부 이에 해당한다. 가장 효율이 좋다던 모범 실무 과정을 바꿀 수도 있어야 한다. 그리고 실제로 윗선에서부터 바뀌어 가고 있다. 개인적인 태도는 물론 이런 변화에 적응할 수 있어야만 한다.


가상화가 이제 당연히 되는 시대, 보안은 다른 누군가의 업무, 즉 가상이거나 환상 속에 존재하는 일이 아님을 받아들여야 할 것이다. 또한 개인에게 모든 보안 책임을 돌리는 것도 바람직하지 못하다. 보다 큰 정책의 차원에서 변화할 줄 아는 것, 그리고 그것에 모두 참여하는 것, 그게 중요하다.


글 : 앤드류 긴터(Andrew Ginter)

@DARKReading

원문 :
http://www.boannews.com/media/view.asp?idx=45869