산업용 시스템 전용 보안솔루션, AhnLab TrusLine
“맞춤형 보안 솔루션 시대 왔다”
디지털 컨버전스(Digital Convergence)의 시대를 본격적으로 맞이하면서 다양한 디지털 기기들이 등장하고 있다. 이 디지털 기기들은 우리의 삶을 편리하고 획기적으로 변화시킬 것이다. 반면 전통적인 산업에서 컴퓨터의 역할은 점점 더 세분화되어 특정한 목적으로 고도화되는 흐름도 증가하고 있다. 예를 들어, 생산라인을 제어하기 위한 공장자동화시스템(Factory Automation System)이나 판매 시점에서 결제 시스템의 운영을 위한 POS(Point-Of-System) 등이 이러한 특정한 목적을 위한 솔루션이라고 할 수 있다. 이러한 특정 목적의 산업용 시스템은 시스템의 사용 목적 및 환경의 차이에 의해 일반적 환경에서는 문제가 되지 않는 부분이 크리티컬한 문제로 발전할 수 있는 가능성이 존재한다. 특정 목적의 산업용 시스템의 사용 환경 및 특화된 요구사항이 무엇인지 살펴보고, 이러한 시스템의 경우 어떠한 보안 대책을 가지는 것이 좋을지 살펴보고자 한다
일반 PC와 산업용 시스템의 환경적 차이
일반적으로 사무실에서 업무용으로 사용하는 PC는 주기적으로 업그레이드나 교체되어 가장 최신의 하드웨어 사양을 가지고 있다. 또한 설치되어 있는 운영체제와 애플리케이션의 버전도 비교적 최신의 것인 경우가 많으며, 프로그램의 설치와 사용이 자유롭게 허가되어 있다.
이와는 반대로 특정한 생산 시스템의 운영을 위하여 설치되는 되어 운용되는 대부분의 산업용 시스템은 한번 도입되면 감가상각에 의한 라인의 폐쇄 시까지 교체 없이 운용되는 경우가 많다. 이러한 산업용 시스템은 일반적인 PC에 비하여 제한적인 기능을 담당하는 경우가 많고, 라인의 생산성이 우선시되기 때문에 운용 프로그램의 충돌 및 재 부팅 가능성 때문에 프로그램의 업데이트나 OS의 패치로부터도 자유롭지 못하다.
일반적인 사무 환경의 PC에는 다양한 프로그램을 설치하여 사용되어 있으며 그 숫자도 많게는 50여 종에 달한다. 하지만 산업용 시스템은 사용이 엄격하게 제한되어 10여 개 미만의 프로그램이 동작하게 된다. 이렇게 작은 숫자의 프로그램을 운용하기 위해서 개방형 시스템으로 설치와 사용을 허용하는 것이 아니라 폐쇄형 시스템으로 허가된 프로그램만 사용하도록 제한하는 것이 보안의 위협을 줄여서 생산성을 유지하는 데 더욱 바람직한 방법이 될 것이다.
산업용 시스템에서 발생하는 이슈
산업용 시스템의 가장 큰 목적은 시스템이 안정적으로 동작하여 중단 없는 생산 및 운영이 가능하도록 제어하는 것이다. 하지만 이 시스템들도 인터넷이나 네트워크에 연결이 되어 있거나, USB 등과 같은 장치 및 포트를 통하여 데이터를 주고 받기 때문에 보안 위협으로부터 자유로울 수가 없다.
그래서 일반 사무용 PC에서 사용하는 백신 프로그램을 설치하여 사용한다. 하지만 OS나 프로그램에 대한 업그레이드나 패치가 제때 이루어지지 않고, 장비의 사양이 낮은 상태에서는 보안 솔루션도 완벽한 기능을 제공하기 어려운 상황이다.
산업용 시스템의 경우 1년 365일 안정적으로 운영되어야 하므로 악성코드 침해 사고는 직접적인 매출의 손실, 기업 이미지 저하, 피해 복구를 위한 금전적 비용 지출 및 생산 효율성 저하 등 보다 심각한 이슈를 야기할 수 있다. 따라서 생산 및 서비스 기업에서 보안 사고가 한 번 발생하면 그 직접적인 피해가 매우 크며 복구하여 시스템을 정상화 하는 데에도 많은 시간과 비용이 소요된다.
따라서 산업용 시스템을 관리하는 관리자는 [그림 1]와 같은 현실적인 문제에 직면해 있다.

[그림 1] 산업용 시스템을 관리하는 시스템 관리자의 고민
기존 백신 프로그램의 한계와 새로운 해결책
앞서 언급했듯이 특정 목적의 산업용 시스템도 일반 사무용 PC와 마찬가지로 보안 위협으로부터 자유롭지 못하다. 더욱이 시스템 환경상 잦은 패치와 실시간 업데이트가 시스템 안정성을 크게 위협하는 것 또한 사실이다. 이는 산업용 시스템의 환경적인 특성뿐만이 아니라 악성코드의 변화와 백신 프로그램이 지닌 태생적 한계와 무관하지 않다. 이번 Ⅲ장에서는 산업용 시스템에서 기존의 백신 프로그램을 그대로 적용할 수 없는 이유와 새로운 해결책에 대해 알아보자.
악성코드의 변화와 백신 프로그램의 한계
컴퓨팅 환경의 개선과 더불어 악성코드의 증가 속도도 가파르게 상승하고 있다. 악성코드 제작자들은 공격 대상, 공격 방법, 공격 시간, 동원할 봇넷의 숫자 등을 입력하면 악성코드를 만들어 주는 자동화 툴을 이용하여 아주 손쉽게 코드를 만들어 내고 있다.

[그림 2] 신종 악성코드 발생 추이
반면, 백신 프로그램을 제공하는 보안 전문 회사들은 더 많은 악성코드를 잡기 위하여 시그니처의 업데이트에 노력하고 있지만, 과거 20년 동안 패턴에 기반하여 업데이트한 시그니처의 숫자보다 최근 1개월 동안 업데이트한 시그니처의 숫자가 더 많을 만큼 패턴에 기반한 업데이트 방식의 한계에 다다르고 있다.
백신 프로그램은 악성코드가 발견되면 이를 수집한 후 분석하여 엔진에 포함하여 배포하는 사후처리 방식을 사용하고 있다. 따라서 현재와 같이 악성코드의 숫자가 기하급수적으로 늘어나는 시점에서 단 시간 내에 모든 신종 및 변종 악성코드를 효과적으로 방어하기에는 한계가 존재한다.
또한, 업데이트 시그니처 숫자의 증가는 엔진 사이즈 증가라는 또 다른 이슈를 제공하고 있다. 백신 제품을 테스트하는 AVtest.org에 따르면 45개의 백신 제품을 테스트 해 본 결과 최근 18개월 동안 대부분의 백신 제품의 엔진 사이즈가 두 배 이상 증가했다. 이를 다운로드 받기 위하여 네트워크의 트래픽에 부담을 주고, 다시 실행하기 위하여 메모리에 올리는 부담까지 더욱 커져서, 아무리 하드웨어 사양이 좋아졌다고 해도 다양한 애플리케이션을 실행하는 환경에 부담을 주는 것이 사실이다.
결론적으로 기존 백신 프로그램은 신종 및 변종 악성코드를 사전에 방어 할 수 없고, 기하급수적으로 증가하는 악성코드를 방어하기 위해 점점 엔진 사이즈를 키울 수밖에 없는 태생적 한계를 내재하고 있다. 특히, 저사양 시스템과 24시간 무정지 시스템을 추구하는 산업용 시스템의 환경적인 조건에서 기존 백신 프로그램을 그대로 적용하기엔 무리가 따른다.
산업용 시스템의 요구사항과 새로운 해결책
그렇다면 산업용 시스템을 위한 보안 솔루션은 어떤 것이어야 할까? 산업용 시스템의 환경과 보안요구사항을 통해 해결책을 찾아보자.
산업용 시스템 보안 관리자의 요구 사항
1) 악성코드로 인한 장애가 없어야 한다
2) 시스템 사양이 낮은 장비이므로 리소스 점유가 적은 보안 솔루션이어야 한다
3) 허가하지 않은 프로그램의 설치와 예외적인 행동을 규제할 수 있는 환경이 마련되어야 한다

[그림 3] 산업용 시스템 관리자의 요구사항과 해결책
이러한 요구사항을 충족하기 위해서는 기존의 보안 솔루션이 가지고 있는 컨셉을 벗어나서 새로운 방식을 적용해야만 한다.
이에 안철수연구소는 보유한 여러 가지 원천 기술을 바탕으로 산업용 시스템의 환경에 적합한 새로운 보안 솔루션을 고려하기 시작했다. 이러한 고민의 결과로 탄생한 것이 안철수연구소 트러스라인(AhnLab TrusLine, 이하 안랩 트러스라인)이다.
산업용 시스템 전용 보안 솔루션, AhnLab TrusLine
안랩 트러스라인은 시스템의 안정적 운용에 대한 민감도가 높고, 정해진 프로그램만 사용하는 산업용 시스템에 최적화된 전용 보안솔루션이다. 이 솔루션은 허용된 프로그램만 설치 및 실행 가능하게 함으로써 바이러스 등 악성 코드의 침입을 사전에 방지할 수 있으며, 악성코드를 이용한 정보유출도 방지할 수 있다.

[그림 4] 안랩 트러스라인(AhnLab TrusLine) 제품 컨셉
안랩 트러스라인의 특징은 다음과 같이 정리할 수 있다.
■ 화이트 리스트(White List) 기반의 보안 솔루션: 안랩 트러스라인은 관리자가 승인한 프로그램은 리스트에 등록하여 허용된 상태 그대로 동작하도록 하고, 리스트에 없는 프로그램은 실행을 거부하는 화이트 리스트(white List) 방식을 채택하였다. 이에 비해 기존 범용 백신 프로그램은 악의적인 행동을 하는 프로그램을 블랙 리스트(black List) 기반으로 관리하는 방식이다.
안랩 트러스라인은 사용자 환경에 맞는 리스트를 수집하고 관리하기 위하여 사전에 사용자 환경에 대한 점검 및 설정 과정을 거치게 되며, 이러한 과정을 통하여 사용 환경에서 운용되는 특수한 목적의 프로그램에 대한 파악과 운용 지원을 하게 된다.
■ 업데이트, 패치, 업그레이드의 불필요: 일반적인 산업용 시스템 환경에서는 운영 체제의 보안 패치나 서비스팩은 원하지 않아도 설치를 해야 하는 경우가 발생하고, 설치된 프로그램들도 업데이트가 요구된다. 하지만 안랩 트러스라인은 설치하여 운용에 필요한 상태를 그대로 유지하도록 Locking된 상태를 유지해준다. 물론 새로운 업데이트나 설치가 필요할 경우는 Unlock의 상태로 전환하여 정상적인 설치 활동을 보장한다. 따라서 운영 체제의 패치, 서비스팩, 백신 프로그램의 업데이트, 라인 관리 프로그램의 패치 등을 제한할 수 있다. 업데이트가 필요한 경우는 정기적인 라인 점검 시기에 스케줄링하여 진행하거나, Lock 상태를 해제하고 진행하면 된다.
■ 엔진 업데이트로 인한 시스템 부하를 제거: 안랩 트러스라인은 전체 시스템을 구성하고 있는 개별 클라이언트 시스템에 엔진 업데이트를 실시하지 않는다. 악성코드 대응 엔진은 관리 서버에만 존재하여 업데이트를 하고, 개별 클라이언트 시스템은 서버에서 생성한 화이트 리스트를 기반으로 실행 제어를 하게 된다. 즉, 악성코드의 검사와 화이트 리스트의 업데이트는 관리 서버에서 이루어진다. 따라서 매번 업데이트 시에 생산/운영 효율성을 떨어뜨리는 CPU의 점유나 네트워크의 점유를 걱정할 필요가 없다.
■ 관리 서버와의 유기적 연동을 통한 실행 파일 무결성 검증:
안랩 트러스라인의 관리서버는 개별 클라이언트에 설치되어 있는 파일의 DNA를 전달 받아 관리 서버의 화이트리스트 데이터베이스에서 안전한 파일인지 아닌지 확인 한 후 결과값을 전송한다. 또한 관리서버의 화이트리스트 데이터베이스에 없는 파일의 경우 해당 파일을 전송 받아 최신 백신 엔진을 사용하여 검사 후 결과값을 업데이트 하고, 개별 클라이언트로 전송하도록 되어 있다. 또한 Unlock 모드에서 개별 클라이언트에 새로운 프로그램이 설치되면 자동으로 해당 파일의 분석을 관리서버에 요청하도록 구성되어 있다. 이에 따라 언제나 무결성이 검증된 파일로만 실행하는 환경을 구축 할 수 있다.
■ 악성코드의 감염 및 신종 악성코드에 대한 예방: 안랩 트러스라인이 적용되어 Locking된 시스템은 화이트 리스트를 기반으로 운용되기 때문에 이 리스트에 존재할 수 없는 악성코드의 실행이 차단된다. USB 메모리를 통한 오토런(autorun)의 실행과 감염, 포트를 통하여 전파되는 웜 등의 실행 자체가 불가능해지며, 신종 악성코드도 리스트에 등록될 수 없기 때문에 감염이 될 수 없다.
■ 악성코드 침입 루트를 차단하기 위한 IP & Port 차단 기능: 안랩 트러스라인은 실행 프로그램의 제어 만으로는 해결하기 힘든 악성코드의 침입에 대비하기 위해 산업용 시스템에 설치된 프로그램이 사용하는 IP와 Port만 오픈 함으로써 보다 완벽한 보안 환경을 구축할 수 있다. 특히 기존에 백신 프로그램과 함께 설치되었던 Personal Firewall이 범용적 환경 지원을 위해 다양한 기능을 추가 함으로써 발생했던 리소스 점유율을 최소화 함으로써 저사양의 산업용 프로그램에서도 안정적으로 사용할 수 있는 기능을 제공하고 있다.
■ 시스템 관리 정책의 자연스러운 적용: 사용자들에게 USB 메모리나 공유 폴더 사용을금지해도 100% 막을 수 없다. 하지만 안랩트러스라인은 불필요한 프로그램 실행을 차단하므로 위험의 수준을 낮추고 관리의 편의성을 자연스럽게 확보할 수 있다.
산업용 시스템 관리자들은 신종 및 변종 악성코드의 감염, 잦은 업데이트와 패치, 재부팅, 사고 대응 등으로 골머리를 앓고 있다. 생산성과 보안이라는 두 마리의 토끼를 쫓다 보면 업무 성과보다는 격무와 스트레스에 시달리게 되는데, 발상의 전환을 통하여 새로운 시각을 가질 필요가 있다.
산업용 시스템의 생산 및 서비스의 안정성을 보장하면서 사용 환경 관리 및 보안 이슈까지 해결할 수 있는 방법은 일반적인 보안 솔루션의 적용이 아니라 시스템의 목적에 맞는 보안 환경을 구축하는데 있다. 이를 통하여 내부 환경을 자연스럽게 관리할 수 있는 관리 시스템을 만들고, 만약에 발생할지 모르는 보안 사고를 예방하여 안정적인 시스템 운영이 가능하다.@