보안 제품정보


[류재철 교수] 전산시스템 계층적 방어체계로 위험 분산시켜야! 2010.06.28

계층적 방어 이론 구축 방법 및 위험평가

2000년대 초ㆍ중반 전자상거래의 활성화로 인해 쇼핑몰, 게임, 지식검색, 광고 등의 온라인 비즈니스가 크게 성장하게 되면서 국민들의 인터넷 사용률은 폭발적으로 증가하게 됐다. 그리고 공인인증서 기반의 인터넷 뱅킹과 홈트레이딩 시스템(HTS)의 활성화로 인해 대부분의 금융거래와 주식거래를 집이나 사무실 등에서 온라인으로 처리하는 환경이 조성되었다.


현재 대부분의 은행과 증권회사들은 인터넷 뱅킹과 HTS를 기본으로 제공하고 있으며 나아가 스마트 폰에서도 금융거래를 할 수 있도록 서비스를 구축하고 있다. 특히 전자상거래의 등장과 비약적인 발전은 기존의 오프라인 중심의 상거래를 새로운 형태의 온라인 중심의 상거래로 재편하였는바 이와 같은 상거래 방식은 대부분의 프로세스가 온라인 기반으로 이루어지기 때문에 기업의 폐쇄적인 네트워크 시스템이 아닌 외부에 공개되어야 하는 개방형 웹서비스 시스템을 필요로 하게 되었고 결과적으로 사용자들의 온라인 접근성이 급격하게 증가하게 되었다. 이러한 현상은 다른 분야에까지 급속도로 확대되고 있는 추세이다.

 

웹환경은 전자상거래에 있어서 필수적인 요소이기 때문에 해킹 사고가 발생한다고 하더라도 웹환경을 유지하면서 지속적인 보완작업을 할 수 밖에 없는 상황이다. 다만 지속적인 보완작업을 수행함에도 불구하고 이러한 기술적 취약점을 원천적으로 완전히 제거한다는 것은 불가능하였기 때문에 어느 하나의 단계에서 해킹이 성공하더라도 다음 단계의 방어선들이 전체 시스템을 보호할 수 있는 다계층 방어 체계의 필요성이 자연스럽게 대두되기에 이르렀다.

 

다계층 구조는 유조선의 이중선체 구조를 생각하면 쉽게 이해할 수 있다. 원유를 저장하는 유조선의 원유저장고는 외부 선체와 공간을 두고 있는 이중구조로 설계되어 있기 때문에 외벽에 구멍이 생기더라도 내부에 한 개의 내벽이 더 존재하여 기름이 유출되지 않도록 되어 있다.

 

태안반도 기름 유출 사고에서는 정박해 있던 유조선이 이러한 이중 선체구조로 설계되어 있지 않았기 때문에 한번의 외벽 손상으로 원유저장고에 있던 기름이 유출되었으며 그 피해는 상상할 수 없을 정도로 컸다.

 

따라서 안전한 온라인 시스템 운용을 목적으로 이러한 다중 선체구조와 유사하게 해킹 사고에 대한 방비와 신속한 복구 체계를 구축하고자 하는 필요성이 대두되는데 본고에서는 보안아키텍처의 기본적인 구조라고 할 수 있는 계층적 방어 이론에 대한 개념과 장점을 설명하고 그 개념을 바탕으로 기업 환경에서의 실제적 설계와 구현방법, 그리고 계층적 방어체계가 구축된 환경에 적합한 위험평가 방법에 대하여 설명하고자 한다.


계층적 방어 이론(Defense in Depth)

Defense in Depth는 NSA:Information Assurance Technical Framework(IATF)에서 정보자산 보호의 중요성을 인식하고 이에 대한 정의와 기술적인 이해를 돕기 위해 지난 2002년 9월 Defense-in-Depth, IATF Release 3.1 지침서를 제작 배포하면서 소개되었다.

해커의 공격 형태는 표 1에서 보는 바와 같이 5가지로 분류할 수 있으며 다양한 공격 형태를 보여주고 있다. 따라서 해커의 공격 형태별로 적절하게 대응할 수 있는 방어 구조가 필요한데 IATF 표준 문서에서는 컴퓨팅 환경 방어(Defend the computing environment), 정보자산영역 방어(Defend enclave boundary), 네트워크와 기반환경 방어(Defend the networks and infrastructure) 3가지 계층으로 구분하여 방어체계를 구축하는 것이 보안 안정성을 높이는 방법이라고 제시하고 있다.

 

즉 한 가지 보안 요소만으로는 기업의 네트워크 환경 전체를 보호할 수 있는 방법은 현재 존재하지 않기 때문에 기업의 전산시스템을 외부 차단층에서 핵심 정보자산층까지 다계층 형태로 구분하여 기업의 정보자산을 보호하는 방어시스템을 구축하는 방안을 제시했다.

 

그리고 이와 같이 구축된 계층적 방어체계를 효율적으로 사용하기 위해서는 기반환경에 대한 지원(supporting infrastructures)도 다른 하나의 영역으로 분류하여 운용하도록 하고 있어 방어체제를 구축하는 것뿐만 아니라 운영하는 것 역시 상당히 중요한 관점에서 접근하고 있다.

 

그러나 무엇보다 Defense in Depth를 성공적으로 구현하기 위해서는 3가지 주요 방어 요소(People, Technology, Operation)가 유기적으로 동작하여야 한다고 하고 있다. 현재에 와서는 Defense in Depth 이론이 보안 아키텍쳐의 기본 구조로 자리 잡게 되었으며 이러한 형태의 계층형 방어 체계를 구축하는 것이 비교적 일반화되어 있다.

 

계층적 방어이론의 장점을 간략히 소개하자면 첫째, 해킹 표적에 대한 직접적 접속 시도를 원천적으로 차단하는 대신 단계적인 해킹을 시도케 함으로써 시간과 노력을 소진시키는 효과가 있으며 단계별 해킹으로 침해사고가 발생하였을 경우 침해사고 복구시 원인파악을 위한 포렌식 분석과 역추적(Back tracking)이 용이할 수 있을 뿐만 아니라 신속한 복구도 가능하다.

 

둘째, 현재의 다양한 온라인 비즈니스 모델과 방대한 네트워크 환경에서는 예상할 수 없는 취약점이 무수히 존재할 수 있으며 해커로서도 새로운 공격 방법을 개발할 수 있는 것이기 때문에 처음 단계의 방어벽이 해커에 의해 침입 당하더라도 다음 계층의 방어벽이 전체를 보호하는 계층형태로 방어 시스템을 구축하는 것이 좀 더 발전적이고 효과적이라고 할 수 있다.

 

셋째, 기업 입장에서는 보안인프라의 모든 요소에 대하여 투자하기 보다는 기업의 특성에 적합한 계층을 구성한 후 효율적으로 투자하여 계층적으로 방어하는 것이 보다 효과적인 방어체계를 구축할 뿐만 아니라 침해사고 복구에도 보다 신속하게 대응할 수 있다. 또한 방어하는 입장에서는 현실적으로 전산환경에 존재할 수 밖에 없는 개별 취약점들이 가지는 상대적인 위험을 분산하는 효과를 갖는다.

 

즉 다계층 방어체계가 구축된 환경에서는 하나의 취약점이 악용됨으로써 해킹이 완성된다고 볼 수 없으므로 개별 취약점에 상대적으로 실리는 위험부담은 줄어들게 되며 따라서 취약 지점에 보안투자를 집중하던 방식에서 탈피하여 전산환경 전반에 대한 고른 투자와 자원 사용이 가능하게 된다.


계층적 방어이론을 적용한 기업환경의 구현 및 설계

계층적 방어이론의 Best Practice 접근방법은 다음과 같이 정리할 수 있다. 이하에서 설명하는 내용은 매우 높은 또는 이상적인 보안수준이라고 할 수 있을 것이다. 다만, 어느 구체적인 네트워크 운영기업이 이러한 계층적 방어이론을 응용하여 기업환경을 실제로 구현하는데 있어서는 당해 시스템 운영현황, 예산, 인력 등 여러 가지 제한사항들을 고려하지 않을 수 없을 것이므로, 각 보안계층 자체 또는 각 보안계층내의 보안요소들을 그 형편에 따라 일부 생략하거나 간이화하는 등의 접근이 보다 현실적이고 합리적일 것이다.


● 경계선(Perimeter): 경계선 보안 계층은 외부의 공격으로부터 내부 네트워크를 보호하기 위해 가장 외부에 구축하는 방어선으로 경계선 보안 계층은 일반적으로 침입차단시스템(Firewall)과 DMZ에 위치하는 서버들로 구성이 된다. DMZ의 서버는 웹서버, 이메일 게이트웨이, 네트워크 서버, 안티 바이러스 서버, DNS 서버 등이 있으며 VPN으로 안전한 전용망을 구축할 수도 있다.

 

네트워크(Network): 네트워크 보안 계층은 내부 LAN과 WAN을 보호하기 위해 설치되는 2번째 방어선이다. 네트워크에는 데스크톱과 각종 서버들이 복잡한 구조로 서로 연결되어 있으며 외부에서 내부 네트워크의 시스템으로 원격 접속하여 제어가 가능하도록 되어 있을 수 있는데 네트워크 상에 침입탐지시스템(IDS)을 침입차단시스템(Fire Wall)과 함께 설치하여 네트워크 트래픽을 분석하도록 하고 침입이 탐지되었을 때는 보안담당자에게 즉각 경고를 보내어 신속한 대응이 이루어질 수 있도록 해야 한다.

 

호스트(Host): 호스트 보안 계층은 3번째 계층에 해당되며 스위치, 라우터, 서버, 데스크 탑 등 네트워크를 구성하는 각각의 개별적인 시스템에 대한 보안계층이다. 호스트 기반 취약점 평가, 네트워크 접근제어, 안티 바이러스, 접근제어 및 사용자 인증 등의 보안요소를 각 시스템에 적용하여 호스트와 네트워크를 보호하는 강도 높은 보안을 적용해야 한다. 특히 이 호스트 계층은 운영체계 및 그 상층부에 위치한 여러 응용프로그램들에 내재된 각종 취약점이나 default setting 또는 설정상의 오류와 같이 운영현실측면에서 네트워크 운영자가 탐지해내거나 관리하기 매우 어려운 다양한 취약점들을 내포하고 있기 때문에 본고에서 다루는 계층적인 방어체계 구축의 필요성이 더욱 강조될 만한 부분이라고 하겠다.

 

응용프로그램(Application): 응용프로그램 보안 계층은 기밀데이터에 접근 가능한 응용프로그램의 보안에 대한 내용이며 4번째 계층에 해당된다. 전통적으로 대부분의 개발자들은 프로그램을 개발할 때 보안적인 측면을 생각하지 않고 응용프로그램을 개발한다. 그러나 응용프로그램 보안 계층에서의 취약점은 기밀정보에 바로 접근 가능한 약한 고리가 될 수 있기 때문에 장기적인 관점에서 지속적으로 위험평가를 수행하여 취약점을 제거해야 한다. 그리고 개발 단계에서부터 소스코드와 입력값 등을 점검하여 취약점을 사전에 제거하고 접근제어, 사용자 인증 등 응용프로그램의 접근제어 정책을 완벽히 구현하도록 점검해야 한다.

 

데이터(Data): 데이터 보안계층은 다섯번째 계층으로 시스템에 저장되어 있는 기밀 데이터가 네트워크를 통해 전송될 때, 데이터의 기밀성, 소유자, 무결성 등을 보장하기 위한 방법으로 데이터베이스에 대한 접근제어, 사용자 인증, 데이터 암호화 등의 실시를 고려해야 한다.


계층적 방어이론에 따라 완성도 높은 방어 체계를 구축하였다고 하더라도 새로운 운영체제와 보안장비, 컴퓨터 시스템들이 지속적으로 개발되고 있는 환경에서는 예측할 수 없는 기술적 취약점과 시스템 오류 등이 발생할 수 있는 근본적인 한계점이 존재하기 때문에 시스템의 완벽한 보안성을 보장할 수 있는 것은 아니다.

 

해커 역시 이러한 근본적인 한계점을 인식하고 있으며 그림 2, 3과 같이 공격루트를 표기하는 Attack Graphs를 그리는 등 고도로 지능화된 해킹 공격방법을 개발하여 사용하고 있다. 그림 1과 같은 네트워크 구조가 있다고 가정하면 해커는 그림 2와 그림 3에서 보여 주듯이 각 계층별로 취약점 목록을 만들고 확률적으로 침입하기 용이한 쪽으로 공격 루트를 설계하는 공격전략 수립방법을 사용한다. 이때 공격 경로 가운데 약한 고리가 존재하지 않더라도 상대적으로 공격 성공 확률이 높은 쪽으로 공격 방향을 설정하고 이러한 시도에도 불구하고 해킹 공격이 저지당한다면 더욱 고난도의 해킹 기법과 해커 개인의 경험 등을 총동원하여 결국 최종 목표지점까지 도달할 수 있는 방법을 사용한다.

 

계층적 방어이론은 발표된 보안방어이론 중 가장 진보된 개념이면서 가장 보편적으로 사용되고 있는 보안이론임은 사실이나 그럼에도 불구하고 해킹사고가 끊임없이 발생하고 있다는 점은 계층적 방어이론이 적용된 환경이라고 하더라도 보안시스템, 애플리케이션 등 각종 프로그램 등의 태생적, 근본적인 한계점이 있음을 밝혀주는 것이다. 그림 4에서 나타나듯이 단순침입, 스팸, 피싱, 홈페이지 변조, 기타 해킹 등 다양한 형태의 해킹이 발생하고 있다는 것은 이를 잘 나타내고 있다.

 

앞서 살펴본 바와 같이 계층적 방어이론에 의하여 보안시스템을 구축하였더라도 해커의 대응 역시 이에 맞추어 발전하고 있다. 따라서 보다 성숙한 계층적 방어이론을 구축하기 위해서는 다음과 같은 사항을 고려해야 한다.

 

첫째, 계층별로 보안담당자의 역할을 분담하여 각 담당 계층만 중점 관리하는 방안을 고려해 볼 수 있다. 이러한 역할 분담은 효율성 측면에서 상당한 효과를 기대할 수 있으며 각 담당자의 전문성을 향상 시킬 수 있는 방법이기도 하다. 그리고 한 사람이 모든 네트워크 장비와 컴퓨터 시스템들의 보안 패치를 담당할 수 없기 때문에 각 계층의 담당자들이 충실히 자기 역할을 수행하도록 한다면 자연스럽게 보안성 향상이 이루어 질 것이다. 게다가 각 계층을 구성하는 장비들의 형태와 특성이 다양하기 때문에 각 계층마다 강점을 보이는 장비들을 선별적으로 구성하여 사용할 수 있어 비용, 효율성 측면에서 훨씬 유리하다.

 

둘째, 보안 정책 수립. 계층적 방어 체계를 구축할 경우에는 접근제어가 복잡해지기 때문에 정책적으로 접근제어와 사용자 인증에 대한 체계를 효율적이게 중ㆍ장기적인 관점에서 구축해야 하고 피해 규모 산정 및 측정에 대하여서도 객관적이고 정략적으로 파악할 수 있도록 보안정책을 설계해야 한다. 그리고 보안 정책은 단편적으로 수립하고 종료하는 것이 아니라 보안평가를 통해 지속적으로 업데이트해야 하므로 이러한 보안정책 수정보완 절차를 구축하는 것도 매우 중요한 사항이다.

 

셋째, 보안관제 시스템과 계층적 방어 시스템을 잘 운용하기 위해서는 시스템 현황을 한눈에 파악할 수 있어야 하며 로그분석을 정기적으로 수행해야 한다. 즉 계층별 네트워크 장비와 보안장비를 한눈에 볼 수 있는 보안관제 시스템이 필요하며 이를 담당하는 전문가도 필요하다. 또한 기록되는 로그 데이터 양이 많아지기 때문에 이를 저장하고 분석하는 방법과 로그 분석 전용 시스템을 구축하는 것을 고려할 수 있다. 그렇지 않을 경우 약한 고리를 통한 침해사고가 발생하였을 경우 침해사고의 원인분석을 찾기 위해 약한 고리가 어디인지 파악하느라 모든 고리를 조사하게 되므로 많은 시간과 인력을 낭비하게 될 뿐 아니라 적기 대응이 힘든 결과를 낳게 된다.

 

넷째, 물리적 보안 계층과의 연동을 고려해야 하는데 출입게이트, 엘리베이터, 사무실, 서버실 등 보안 출입 통제와 연계하여 계층적 방어 체계를 구축해야 한다. 마약 단속시 보안게이트, 적외선, 소지품 검사, 마약탐지견 등 여러 가지 단계를 거쳐 보안성을 높이는 것과 같은 것으로 이해할 수 있다.

 

상기 기술한 바와 같이 계층적 방어 체계는 초기 구축이 어렵고 각 계층별로 전문가와 전체 구조를 살펴 볼 수 있는 전문가가 필요하며 로그 분석 시스템, 보안정책 수립 체계 등이 필요하다. 기업 입장에서 비용과 노력이 많이 들어가지만 가장 발전적인 보안 모델이라고 할 수 있다.


약한 고리 이론과 계층적 방어체계의 위험평가

계층적 방어체계가 일반화 되어있는 현재의 보안시스템 환경에서는 위험을 평가하는 방법에 있어서도 기존의 약한 고리 이론으로 보안성을 평가하기 보다는 다양한 기준으로 보안 시스템 전체를 평가하는 통찰력 있는 시각이 필요하다.

 

약한 고리 이론은 보안 아키텍쳐를 하나의 체인과 비교하여 가장 취약한 고리의 강도가 전체적인 강도를 대변한다고 설명하여 왔는데 이는 비계층적 방어체계가 구축되어 있던 시스템에서 보안성을 평가하고 그곳을 집중 방어하는 전통적인 위험평가 방법에서 기인하였다. 예를 들어 기존의 비계층적 방어 체계는 네트워크 침입차단시스템에만 의존하여 내부 응용프로그램, 서버, 데스크톱 등의 내부 자산에 대한 접근통제를 구현하였으나 시스템에는 항상 약한 연결고리가 존재하기 마련이다.

 

이때 해커는 침입차단시스템을 우회할 수 있는 사회공학적 방법, 사용자 PC 악성코드 감염, 내부 시스템에서의 역접속 등의 방법을 사용하여 방어체계를 무너뜨리곤 하는데 해커의 이러한 공격방법이 약한 고리를 대상으로 한 공격이며 시스템과 네트워크 사이의 약한 고리를 찾아내어 최대한 방어하여야 한다는 것이 비계층적 방어 체계하에서의 위험평가 방식이라고 할 수 있다. 그러나 온라인 중심의 비즈니스가 구축된 환경에서 이미 많은 기업들은 보안 시스템을 각 계층으로 접근이 불가능하도록 계층적 방어 형태로 구축하고 있고 이를 운용하기 위하여 현재 많은 비용과 인력을 투입하고 있기 때문에 이상과 같은 약한 고리 이론에서 바라보는 시각만으로 현재 시스템의 위험을 평가하는 것은 매우 적합하지 않다고 할 수 있다.

 

예를 들어 보안사고와 관련한 네트워크 운영자의 잘못이나 책임을 인정하기 위해서는 보안시스템에 계층적 방어체제를 구축하였는지 여부를 우선 점검하고 만일 이를 구축하였다면 어느 한 계층 또는 한 지점의 취약점에만 집착하지 말고 전체적인 방어체제의 효과, 체제의 효율성, 관련 기술의 수준과 구현 가능성 등을 포함하여 종합적으로 평가해야 한다.

 

이렇듯 보안과 관련된 사고 발생시 네트워크 운영자가 정보보안에 관한 책임을 부담해야 하는지 여부에 대한 평가도 이러한 계층적 방어이론을 적용하게 되면 기술적, 사회적으로 의미 있는 평가의 기준을 제시할 수 있게 된다.

 

결국, 계층적 방어이론에 의한 보안시스템 구축이 현재로서는 최선의 방법인데, 어느 한 지점에 보안상의 취약점이 존재한다는 단순한 이유로 막 바로 네트워크 운영자에게 그로 인한 잘못이나 책임을 물을 수 있다고 보는 것은 공격 방법과 관련된 기술 발전과 방어 가능성이라는 현실 간의 불가피한 괴리를 전혀 도외시한 접근방법일 수 있다.


다계층의 보안통제 구축으로 해킹 공격 방어

본고에서는 계층적 방어 이론과 위험평가 방법에 대해 살펴보았다. 요약하면 계층적 방어이론은 이중구조의 벽을 통하여 외벽 손상으로부터 배를 보호하는 격벽구조와 마찬가지로 다계층의 보안통제를 구축함으로써 보다 효과적으로 해킹 공격을 방어하는 보안아키텍처이다.

 

계층적 방어체계를 통해 전산환경에 불가피하게 존재할 수 밖에 없는 취약점들로부터 발생하는 위험을 분산시키는 효과를 얻을 수 있으며 개별 취약요소에 대한 해킹공격이 곧바로 중요 자산에 대한 침해로 연결되는 것을 미연에 방지할 수 있다. 네트워크, 호스트, 응용프로그램 및 데이터 등 모든 영역에 취약점이 존재하고 위협이 상존하는 상황에서 특정 취약영역에 투자를 집중하는 것보다는 분산된 계층적 혹은 순차적인 방어체계를 수립하는 것이 현재의 기업환경에 보다 적합하다고 할 수 있다.

 

그리고 해킹, 정보유출사고와 같은 침해사고대응은 방어기술, 인력 등 어느 한 가지 구성요소로서 해결될 수 있는 것이 아니기 때문에 보다 보안성 높은 방어체제를 구축, 유지하기 위해서는 인력(People), 보안기술(Technology), 운영관리(Operation)가 삼위일체의 구조로 상호 유기적으로 운영되어야 한다고 할 수 있다.

 

그리고 한 기업의 보안 시스템의 위험을 평가하기 위해서는 평가의 기준이 되는 잣대가 타당하고 적합해야 도출된 결과를 신뢰할 수 있는데 기존의 약한 고리 이론은 비계층적 방어체계가 구축되어 있을 때 사용되던 위험평가 방법으로 현재의 계층적 방어체계가 구축된 기업 등의 전산 시스템의 보안성을 평가하기에는 적합하지 않은 잣대라고 할 수 있다. 따라서 보안 시스템의 전체 구조, 보안 시스템간의 상호 연관성, 시스템의 운영 실태 등 실로 다양하고도 종합적인 견지에서 잣대를 설정해야 계층적 방어체계하에서의 합리적이고도 바람직한 위험 평가기준으로서 기능할 수 있으리라 생각한다.

<글 : 류재철 충남대학교 컴퓨터공학과 교수(jcryou@home.cnu.ac.kr)>


[월간 정보보호21c 통권 제118호(info@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>