웹 애플리케이션 보안을 강조하는 이유 ( ZDNet Korea 2013. 11. 12 )

Penta Security logo

웹 애플리케이션 보안을 강조하는 이유

 

 

지난 10 8일 지디넷코리아에 기고한 글, ‘사이버 공격, 웹 보안이 핵심을 통해 웹 보안의 중요성과 웹 위협의 유형을 살펴보았다.

 

한국인터넷진흥원 자료에 의하면전체 해킹 시도 중 전체 70% 이상이 웹을 통해 이루어지고 있는 만큼 이제 웹 보안은 선택이 아닌필수가 됐다.

 

하지만 웹 보안은 전문가라고해도 안전을 보장하기 어렵다. 웹 보안의 경우,현재 표준화된보안대책이 없으며 기업마다 제각각 보안을 구축하고 있기 때문이다.

 

안전한 웹 보안을 위해서는기업 보안 담당자가 웹 보안에 대해 충분한 이해하고, 자사 IT 시스템에맞는 웹 보안을 구축해야 한다. 이를 위해 기업들은 대부분 웹 보안 솔루션을 도입하고 있지만, 웹 보안을 이해하고 적재적소에 웹 보안 솔루션을 설치 및 운영하는 곳은 많지 않다.

 

이번 글에서는 웹 보안을 쉽게이해할 수 있도록 전반적인 IT 시스템 구조를 살펴보고, 웹보안이 IT 시스템에 어떻게 적용되는가를 설명해 보고자 한다. 우선 IT 시스템에 대한 이해, 그리고 이에 맞는 웹보안의 개요을 살펴보자.

 

클라이언트서버 구조에 대한 이해

 

우리는 일반적으로 데스크톱 PC나 노트북, 모바일 기기를 통해 웹을 사용한다. 이걸 IT 용어로 보자면, 웹에접속하기 위해 사용하는 PC나 노트북, 모바일 기기는클라이언트‘, 웹사이트나 모바일앱 화면과 같은 웹 콘테츠를 저장하고있다가 클라이언트가 접속하면 콘텐츠를 보여주는 시스템을서버라고한다.(IT 시스템에서 서버가 전부 웹서버는 아니지만, 여기에서는웹보안을 논하는 자리이니 웹서버를 예로 들겠다.)

 

또 클라이언트와 웹서버를 연결해주는연결망이 바로이다.

 

보안 관점에서 보면, 일반적으로 클라이언트 보안은 개별 시스템의 안전과 관련있고, 서버보안은 기업 시스템 안전과 관련이 있다. 물론 기업 내부에 있는 클라이언트 보안도 있을 수는 있겠지만, 이번 글에서는 기업내 웹보안의 핵심이 되는 서버 보안에 대해 살펴본다.

 

기업 서버시스템 구조

 

기업 내 서버 시스템 구조를이해하기 위해, IT 시스템 구조를 먼저 살펴보자.

 

위 그림에서 보듯, IT 시스템은 크게 네트워크, 시스템, 애플리케이션 이렇게 3개 계층으로 구성되어 있다. OSI 7 계층, TCP/IP 계층과 같은 여러 IT 시스템 모델이 있지만, 이러한 계층적 분류에서 가장 공통적인구조는 네트워크, 시스템, 애플리케이션 3가지 계층이다. 3계층은서로 상호작용을 통해 IT 시스템을 구성한다.

 

네트워크 계층은 데이터 송수신과관련된 통신을 담당하는 역할을 하고, 시스템 계층은 우리가 흔히 알고있는 윈도,리눅스와 같은 운영체제(OS)가 하는 역할처럼 여러 애플리케이션이동작할 수 있는 플랫폼 역할을 한다. 애플리케이션은 이 시스템 계층 위에서 여러 기능을 갖고 동작하는프로토콜(HTTP, FTP) 및 응용 서비스를 제공한다.

 

서버 시스템 구조도 이 IT 시스템 구조를 기본적으로 따른다. 결국 안전한 서버 보안이란 IT 시스템에서 세가지 계층의 보안, 즉 네트워크 보안, 시스템 보안, 애플리케이션 보안이 모두 안전하게 구축된 것을 의미한다.

 

웹보안의 핵심 = 애플리케이션 보안


 

이해를 좀더 돕기 위해 이론적인얘기에서 현실로 돌아가 웹보안과 관련된 IT 시스템의 각 계층별 보안이 실제로 어떻게 구축되는지 살펴보자.

 

네트워크 보안을 위해서는 안전하지않은 IP나 포트(Port)에 대한 접근 제어가 필요하고, 허용한 IP나 포트로 들어온 트래픽에 대해서도 유해성 여부를 체크할필요가 있다. 이를 위해 대부분의 기업은 방화벽(Firewall)과침입탐지/방지시스템(IDS/IPS)를 구축한다.

 

하지만 방화벽의 경우 허용된 IP나 포트로부터의 공격은 막을 수 없고, IDS/IPS에서 진행되는 네트워크 계층에서의 유해성 검사는 애플리케이션 계층에 대한 이해가 없이 이뤄져, 애플리케이션 취약성을 노린 공격에 대해서는 방어가 불가능하다는 한계가 있다.

 

시스템 보안은 대부분 OS 와 연관된 항목이 많다. 윈도,리눅스, 유닉스 등 OS에 대한 개발 및 제공을담당하는 제조업체들은 자사 시스템에 대한 주기적인 보안 업데이트 및 패치를 통해 알려진 웹 위협에 대비하고 있다.

 

기업 보안 담당자는 보안 업데이트및 패치 뿐만 아니라, 주기적으로 시스템 악성코드 점검을 통해 시스템을 항상 안전한 상태로 유지해야한다. 이를 위해 기업들은 주로 안티 바이러스 솔루션을 구축한다.

 

이번 글에서 네트워크 및 시스템보안에 대한 설명을 보고 느꼈겠지만, 대부분의 기업이 네트워크나 시스템 보안은 이해하고 있고 이에 따른보안을 구축하려고 노력한다. 하지만 애플리케이션 보안에 대해서는 그렇지 않다.

 

애플리케이션은 네트워크나 시스템계층에 비해 다양화되어 있고, 애플리케이션 종류도 많기 때문에, 대부분의보안 관리자들이 보안을 적용함에 있어 많은 어려움을 겪는다. 웹보안을 구축할 때도 마찬가지다.

 

웹보안에 있어 그 중요도가가장 높은 것은 애플리케이션 보안이다. 우리가 일반적으로 이용하는 웹은 모두 애플리케이션으로 구성되어있다. 웹사이트, 모바일 앱 등은 모두 애플리케이션으로 이뤄져있고, 이를 타겟으로 공격하는 웹 공격 또한 애플리케이션 취약성을 이용한 공격이 대부분이다.

 

SQL 인젝션(Injection), XSS과 같은 유명 웹 공격도결국 모두 웹 애플리케이션인 웹사이트의 취약성을 노린 공격이다. 웹쉘이라고도 불리는 웹 기반 악성코드또한 php등으로 구성된 웹 애플리케이션이다.

 

<<기사 원문 보기>>