보안 제품정보


[기획특집]웹 특성에 맞는 웹 애플리케이션 보안 선텍 중요 2009.07.14

[특집] 웹 보안 한 번에 끝내기

웹 취약점에 적극 대응하고 개인정보보호 위한 웹 보안은 필수

 

웹 서비스는 인터넷 상에 오픈되어 있는 서비스라는 점에서 해커들의 주요 공격 대상이 되고 있다. 더욱이 정보의 공유는 웹이 가진 가장 좋은 장점중의 하나이므로 서비스 구조상 내부의 DB서버나 파일서버와 연계성을 가지고 있는 경우가 많아 내부 네트워크로 침투하기 위한 중간 경유지로 사용되기도 한다. 기존의 보안 시스템은 이러한 공격과 위협 요소들을 방어하기에 한계가 있어 이를 극복하고 실시간 침입에 대한 개인정보보호와 이에 대한 적극적 대응을 위해 웹 애플리케이션 보안이 필요하게 됐다.


웹 서비스는 인터넷 상에 오픈되어 있는 서비스라는 점에서 해커들의 주요 공격 대상이 되고 있다. 더욱이 정보의 공유는 웹이 가진 가장 좋은 장점 중의 하나이므로 서비스 구조상 내부의 DB서버나 파일서버와 연계성을 가지고 있는 경우가 많아 내부 네트워크로 침투하기 위한 중간 경유지로 사용되기도 한다. 이러한 웹의 특성을 고려하여 많은 보안 솔루션들이 나와 있지만 가장 적합한 보안 솔루션은 무엇이며 어떤 특징을 가지고 있는지 살펴보도록 하자.

 

웹 애플리케이션 보안이 어려운 이유

● 기능 구현 위주의 개발 프로세스

웹 애플리케이션을 구축하는 프로젝트를 보면 짧은 기간 안에 많은 기능을 구현해야 하는 경우가 많다. 특히 국내의 경우 정적인 구성보다는 다이나믹한 서비스를 요구하는 경우가 많아 개발 기간의 대부분이 화면 구성과 기능 구현 위주로 할당된다. 화려하고 많은 기능을 포함한 웹 서비스가 잘못되었다는 것은 아니다.

이제는 웹 애플리케이션의 구성을 기획하고 설계, 구현하는 단계에서 웹 취약성을 인지하고 보완할 수 있는 대비책이 마련되어야 한다.

● 설계, 구축 단계에서의 취약성 점검 미비

대부분 웹 애플리케이션이 개발 완료되고 운영되는 도중에 보안성 점검을 하는 경우가 많다. 완성된 웹 서비스를 대상으로 보안성 점검을 실시하는 것도 나름 중요하지만 예산 대비 취약성을 최대한 줄일 수 있는 최적의 효율성을 감안하자면 실제 기획, 설계, 구축단계에서 보안성 점검이 이루어지는 것이 훨씬 좋다고 본다.

예를 들어 게시판을 운영하는 경우 실제 데이터는 DB에 저장 되어 있는 경우가 대부분인데 운영 중에 DB 테이블 구조를 변경한다거나 데이터 타입을 바꾸는 것은 운영 전에 바꾸는 것보다 훨씬 큰 리스크를 감안해야 한다.

● 웹 애플리케이션 취약점에 대한 인식 부족

웹 취약점을 이용한 해킹이 사회적인 문제로 대두되고 있음에도 불구하고 다른 사람의 일이라고 생각하는 경향이 있다. 그러나 웹 서비스를 구현한 개발자가 모든 웹 취약점을 대비하여 애플리케이션을 개발할 수는 없으므로 언제나 보안의 홀은 존재함을 인식해야 한다.

● 웹 애플리케이션 공격 기법의 다양성

웹 취약점은 다양하다. SQL Injection이나 Command Injection, XSS 등의 취약점에서부터 DoS, DDoS 등의 서비스 거부 공격기법까지 수많은 공격 기법이 존재한다. 가장 많이 참조되는 정보는 OWASP(Open Web Application Security Protect)에서 발표한 Top 10 자료나 국가정보원에서 발표한 8대 취약점이 대표적인 자료라 할 수 있다.

 

보안 솔루션 도입 고려 사항

대부분 웹 방화벽 도입시 OWASP 10대 해킹 유형에 대한 대응이나 국가사이버안전센터의 8대 취약점을 기준으로 하여 도입을 검토하고 있다. 특히 웹 방화벽은 1년 365일 24시간 무정지 서비스를 목표로 가동되는 웹 서버를 보안해야 하기에 안정적인 무정지 서비스가 가능해야 하고 필터링을 위한 웹 방화벽 자체의 부하를 얼마나 최소화시켜 안정적인 서비스를 제공할 수 있는지가 중요하다.

그리고 운영자의 관리적 측면에서의 편의성과 구축 업체의 사후 관리 및 기술 지원, 재정, 비전 등을 고려해 선택해야한다. 즉 향후 다른 부분과 연관해서 순수한 기술 개발이 가능한 업체 선정이야 말로 고객 입장에서 중요한 부분이다.

● 웹 애플리케이션 코드 상에서의 보안성 강화

앞에서 언급된 것처럼 운영중인 웹 사이트를 대상으로 소스코드 레벨에서 보완하는 것 보다는 개발 중인 단계에서 사전 점검이 이루어지고 발견된 취약점에 대해 모든 조치가 완료된 이후에 서비스를 오픈 하는 것이 바람직하다. 최근 웹 방화벽 솔루션을 통해 사후 조치하는 것이 보편화 되어 가고는 있지만 웹 방화벽 서비스가 중단되는 경우가 발생할 수 있으므로 애플리케이션을 구성하는 소스 코드 레벨부터 보안은 이루어져야 한다.

● 주기적인 취약성 점검

웹 애플리케이션은 JSP나 ASP, PHP와 같은 Servlet 페이지로만 구성되지는 않는다. 애플리케이션을 운영하는 OS부터 웹 서비스를 구동하는 IIS나 Apache, Tomcat 서버 등이 반드시 필요하다. 해커들은 이러한 웹 서비스의 구조 속에서 취약한 부분을 공격하게 되므로 OS나 서블릿 엔진은 최신 패치를 적용하는 것이 바람직하며 주기적인 취약성 점검을 통해 해킹 사고를 사전에 예방하는 것이 필요하다.

● 기 구축된 보안 솔루션간의 연관성 파악

보안을 하나의 솔루션만으로 구축하기는 어렵다. 웹 애플리케이션의 구성은 매우 다양하며 웹 취약점 또한 무수히 많은 공격 기법이 존재하므로 솔루션 별 특성을 감안하여 구축하는 것이 바람직하다. 예를 들어 네트워크 방화벽, IPS, DB보안 솔루션, DRM 등의 보안 솔루션에서부터 웹 가속기, L4, L7 스위치 등 웹 서비스를 구성하는 요소가 매우 다양하므로 사전에 기능적 연관성을 고려하여 도입하는 것이 좋다.

● 구축비용에 따른 최적의 보안 솔루션 구축

웹 서비스를 구성하는 Content는 다양하다. Content에 따라 다양한 보안 솔루션이 구성될 수 있는데 DB를 주로 보안하고자 할 경우 DB 자료를 암호화하여 저장하고 Access 경로를 세분화하여 관리할 수 있는 DB 보안솔루션을 검토하는 것이 바람직하다.

내부 File서버와 연계된 경우에는 문서를 암호화하여 관리하는 DRM 솔루션이 유용하며 기본적인 Network 관리는 방화벽을 도입하는 것이 좋다. 웹 애플리케이션의 구조적 취약성을 보완하고자 할 경우엔 웹 방화벽을 도입해야 하며 웹 서비스의 취약점은 웹 취약점 스캐너를 통해 주기적인 점검이 가능하다. 서비스 전체를 한 번에 보안하고자 할 경우 많은 구축비용이 소요되므로 서비스 별 특성을 파악하여 리스크가 큰 Content 부터 순차적으로 보안하는 것이 바람직할 것이다.

 

웹 해킹과 위협요소 증가로 웹 서버 보안 필수

웹 애플리케이션 보안이 필요한 이유는 무엇일까? 웹 애플리케이션 하면 고객사들은 다소 생소하게 생각할 수 있다. 과거에는 시스템이나 네트워크 해킹이 주류였으나 최근 접근이 용이한 오픈된 웹 서버를 해킹하는 사례가 급증하고 있다. 웹 서버 해킹 유형을 보면 피싱의 경유지로 삼거나 홈페이지 변조, 단순침입, 기타 목적(악성코드 삽입, 내부 네트워크로 접근하기 위한 중간 경유지 등)의 순이다. 또한 최근에는 이러한 해킹에 의한 정보유출 사고가 빈번하게 발생해 이에 대한 고객의 요구가 증가하고 있는 추세다.

기존 보안 시스템은 이러한 공격과 위협 요소들을 방어하기에 한계가 있어 이를 극복하고 실시간 침입에 대한 개인정보보호와 이에 대한 적극적 대응을 위해 웹 애플리케이션 보안이 필요하게 됐다. 또한 웹 서비스는 설계단계부터 기능 구현위주로 작성되어 차후 보안을 적용하기도 어려울 뿐만 아니라 항상 취약점을 가지고 서비스할 수 밖에 없기 때문에 웹 보안이 필요하다.

웹 방화벽과 기존 보안 시스템의 차이는 기존 일반적인 방화벽의 경우 웹서비스를 위해 오픈해 놓은 80, 443포트에 대한 필터링이나 애플리케이션 레이어에 대한 필터링이 다소 취약하고 타 보안 시스템에서도 웹 서비스의 해킹을 차단하기 위한 목적으로 설계된 것이 아니어서 SQL Injection이나 Command Injection, XSS와 같은 웹 애플리케이션 취약성을 이용한 공격에 취약하다.

웹 방화벽은 이러한 애플리케이션 취약성을 보안하기 위해 설계된 적용 장비로서 웹 서버가 처리하는 Stream 단위로 데이터를 처리한다. 한마디로 말해 웹 서버에 전용적인 방화벽의 역할을 하며 프로토콜을 감시하고 필터링하는 장비라고 할 수 있다.

<글 : 마정우 잉카인터넷 기술지원부 차장(jwma@inca.co.kr)>


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

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