ㅣ 엔진QA 안형봉
지난 11월 1일 방영된 SBS스페셜(185회) `최악의 시나리오` 3편 `사이버 전쟁-디지털 아마겟돈`편을 보면 사회기반 시설 대부분을 원격 제어로 운영하는 SCADA시스템(Supervisory Control Data Acquisition)의 위험성이 거론됐다.
이러한 시스템은 데이터의 침해뿐만 아니라 각각의 단말 모듈들을 통해 시스템들을 로봇을 움직이듯이 원격으로 제어해 물리적 피해를 입힐 수 있기 때문에 심각성은 매우 크다고 할 수 있다.
▲ `최악의 시나리오` 3편 `사이버 전핸-디지털 아마겟돈` 편의 한장면(자료출처:SBS)
이러한 위험을 방지하기 위해 장비에 설치된 단말과 데이터의 처리/운용/제어를 하는 메인 시스템과의 분리를 했으나 메인 시스템 내부에서의 침해사고에는 취약하다는 내용을 볼 수 있다.
왜 물리적으로 여러 입/출입 구간을 나누어 놓은 시스템에서도 침해사고가 발생하는 것일까? 필자는 학생들과 일반인으로부터 가끔씩 `안철수연구소도 바이러스에 걸리나요?`라는 질문을 받을 때가 있다. 그리고 그에 대한 대답은 `예`라고 한다.
악성코드를 예방/치료하는 보안회사에서 내부감염이 발생한다는 말이 이상하게 들릴 수 있겠지만 매일 내부감염은 일어나고 있다. 컴퓨터보안회사도 제약회사와 같이 감염을 통한 분석이나 치료를 하는 임상실험을 하기 때문이다.
따라서 이러한 내부감염이 외부로 나가지 않도록 용도별로 폐쇄된 시스템 구간으로 돼있고 생화학무기가 나오는 영화에서처럼 감염이 발생되면 네트워크가 폐쇄돼 있으므로 해당 공간만 오염된다.
엔진제작 중 악성코드에 감염되는 예를 통해 폐쇄망에서 발생할 수 있는 문제점의 개념에 대해 알아보도록 하자.
악성코드 백신의 제작과정을 생물학적 백신과 비교하면 다음과 같다.
신규악성코드/취약점 발생(신종 바이러스의 창궐) 역학조사(병원체 발견/샘플채취) 테스트시스템 감염 및 분석 (증상확인/실체 규명/분석) 진단코드/시그니처 제작(선정/하이브리드 백신균주 제작) 엔진 빌드 (배양) 다른 엔진과 병합/업데이트가능구조로 패킹(항원/백신원액 제조) 진단 및 안정성테스트(임상실험) 고객 업데이트(시판)
이러한 각 단계에 사용되는 시스템들은 생물학적 백신제작 시설의 무균실과 같이 보안패치 및 심지어 백신프로그램도 설치하지 않는다. 단지 네트워크의 분리와 데이터의 입/출력을 지정된 단말을 통해서만 이루어지도록 해 보호하기 때문이다. (인터넷 연결이 필요한 테스트룸은 내부와의 연결이 차단돼 있다. 데이터 및 제어의 입/출력은 혈관의 판막처럼 한 방향으로만 이동할 수 있는 구간이 설정돼 있다.)
▲ 악성코드 백신 제작 과정
얼마 전 수정된 스캐닝프로그램을 진단 테스트실에 전달하는데 사용하는 USB가 악성코드 테스트실에서 사용된 사고가 발생했다. USB에 들어있는 스캐닝프로그램이 분석중인 악성코드에 감염돼 있는 상태로 진단테스트실에 업로드 된 것이다.
이로 인해 진단테스트실에 있는 Clean OS(무균상태의 실험실 쥐와 같은 개념)시스템들이 분석이 완료된 악성코드만 진단 가능한 엔진파일과 함께 감염된 스캐닝프로그램을 구동하게 됐다.
진단시스템 상당수가 동작과 무결성 검사에서 에러를 발생하고 순식간에 1/4의 시스템이 감염됐으며 모든 스위치 장비들의 전원이 차단되고 엔진배포는 중단됐다. 백신 임상실험 대상이 진단되지 않는 바이러스가 섞인 백신을 맞고 발병한 것과 같다.
감염이나 분석에 사용되는 장비들은 감염과 분석이 완료되면 자동으로 원본이미지로 복구되도록 돼 있어 매회 감염이나 치명적인 손상을 입게 되는 것이 용도이지만 진단테스트실의 장비들은 Clean OS 상태나 특정환경으로 구축돼 있기 때문이다. 즉 용도에 맞지 않는 입력 수단에 매우 취약한 구조이기 때문이다.
결과물을 산출하는 시스템은 `무`에서 `유`를 창조할 수 없기 때문에 입/출력 구간이 존재하게 돼있고 최소한의 비용이 소요되고 이론적으로 철저한 격리가 되는 폐쇄망과 SCADA시스템도 이러한 물리적 구조에 따른 보안위협이 존재하게 된다.
밀폐된 유리병에 넣어 판매되는 장미꽃이 조금이라도 병에 금이 가면 금세 시들어 버리는 것처럼 외부환경에 취약한 시스템을 밀봉해둔 것이기에 아주 작은 유입이 전체를 파괴할 수 있음을 잊어서는 안 된다.
ㅣ 엔진QA 안형봉
| |
안철수연구소의 시큐리티대응센터에서 엔진QA를 담당하며 병렬테스트시스템, 컨텐츠배포네트워크시스템(CDN) 개발을 진행하고 있다. 현재 "안랩 칼럼리스트"로 활동하며, 일반인들에게 보안 사건, 사고의 원인을 네트워크단에서 해석한다. 최악의 네트워크상태인 곳에서도 안정성과 속도가 유지되는 배포시스템을 설계하는 아키텍트가 되는 것이 목표로 하고 있다. 많은 실무 경험을 통해 학생들에게 보다 생생한 교육을 할 수 있는 날을 준비하고 있다.