| 웹 보안의 New Trend | 2008.07.24 |
Web Security Solution All Guide Chapter 3. 웹 보안 전문가 노하우 훔쳐보기
단 한 개의 웹 취약점도 큰 피해 초래
과거에는 웹 기반의 침해사고가 발생하는 이유가 웹 응용프로그램의 설계 시에 데이터베이스 접근, 관리자 인증 및 사용자 인증, 웹 응용프로그램의 설계 방식에 대한 보안성 검토가 이루어지지 않기 때문에 주로 발생했다. 이와 함께 기존 보안 솔루션인 침입탐지·차단시스템인 IDS(Intrusion Detection System), IPS(Intrusion Prevention System)에서 방어가 불가능했던 것도 큰 이유 중에 하나였다. 최근 들어서 시스템을 새로 구축하는 시점에서 보안 요소를 설계에 반영하고 프레임워크에서 이미 기본적인 필터 기능을 탑재하는 등 개발 영역에서의 웹 보안을 위한 노력은 다양한 형태로 지속되고 있다. 하지만 일반적으로 모든 상황에서 100% 안전한 코드는 존재하지 않는다. 숙련된 전문 개발자가 보안 요소를 고려하여 안전한 웹 애플리케이션을 작성했더라도 웹 서버의 설정 오류나 애플리케이션이 사용하는 외부 코드(라이브러리)가 함께 동작하면서 개발자가 예상하지 못한 취약점이 발생하기도 한다. 일반적으로 개발자의 역할은 검수 목록에 있는 ‘기능’을 작성하는 것이고 보안에 영향을 미칠 수 있는 환경 요소를 충분히 파악할 수 없는 경우가 많다. 그런 보안 요소는 ‘내부 개발자’라고 하더라도 해당 시스템의 담당자가 아니면 외부에 노출할 수 없는 정보인 경우도 있기 때문이다.
웹 방화벽과 웹스캐너 함께 도입해야 웹 서버 측에 적용할 수 있는 보안 대책은 웹 방화벽의 도입, 웹 스캐너의 도입을 고려할 수 있다. 이 두 가지 방법을 통해 해킹 등 침해사고의 가능성을 줄일 수 있지만 점차 발전하는 해킹기법에 대응하기에는 어느 한 가지만으로는 역부족이라는 것이 알려지고 있다. 따라서 웹 방화벽과 웹 스캐너를 같이 도입하거나, 혹은 웹 방화벽이 도입된 곳에서도 웹 스캐너를 이용하여 주기적으로 취약점 점검을 하는 사례가 늘어나는 추세이다. 특히 새롭게 홈페이지를 구축하는 경우에는 개발 단계에서 근본적인 취약점을 없애기 위해서 웹 스캐너의 역할이 점차 커지고 있다고 할 수 있다. 웹 스캐너는 자동화된 웹 브라우저의 형태로 구동되는데 이런 자동 점검을 통해서 개발자는 해킹 공격이 들어오는 경우에 대한 예외 사항을 사전에 확인하여 조치할 수 있다. 이것은 중요 정보의 노출을 막는 것에도 도움이 되지만 데이터베이스 커넥션 또는 메모리와 관련한 오류를 미리 수정하여 웹 애플리케이션을 보다 견고하게 한다. 다시 말해서 웹 스캐너는 취약한 웹 소스를 자동으로 찾아주어 개발자로 하여금 미처 고려하지 못했던 부분을 수정하도록 한다. 웹 방화벽은 웹 소스가 포함하는 취약점을 소스의 수정이 없는 상태에서도 어느 정도는 보호할 수 있다. 웹 방화벽은 장비 형태로 설치하거나 웹 서버에 필터 형태로 설치하여 구성되는 경우가 대부분이다. 방화벽은 웹 서버의 앞에서 함께 운영되어야 하는데 방화벽은 그 성격상 웹 서버에 들어오거나 나가는 모든 데이터에 개입하여 실시간으로 탐지하기 때문에 데이터 처리 속도와 서비스의 안정성이 무엇보다도 중요하다. 웹 방화벽은 최신의 공격 패턴을 유지하고 높은 보안 정책을 적용하되 기존 웹 서비스에 문제가 없도록 하는 것이 현실적인 문제점으로 지적된다. 또한 웹 스캐너는 빠른 시간 내에 많은 수의 URL을 수집하고 공격 패턴을 웹 서버에 전송하여 그 응답을 분석하는 방식으로 취약점을 찾아내지만 발견된 취약한 소스코드를 개발자가 직접 수정해야 한다. 그리고 보안 전문가에 의한 모의해킹 등의 보안 컨설팅은 한정된 시간과 자원에서 이루어지기 때문에 점검 대상의 개수나 종류가 한정되어 대표적인 웹 애플리케이션에 대한 취약점 점검만 제한적으로 수행할 수밖에 없다. 모의해킹 등 보안 컨설팅도 고려해야 얼마 전까지만 해도 방화벽이나 스캐너 중에 하나만 선택하는 경우가 많았다. 하지만, 웹을 통한 공격이 진화하고 개인 정보 노출 및 웹 해킹의 사례가 증가하면서 위에서 언급한 두 가지를 모두 도입하는 경우가 늘고 있다. 이와 함께 모의해킹 등의 보안 컨설팅을 주기적으로 받는 경우도 많다. 보안 전문가에 의한 수동 점검은 웹 방화벽이나 웹 스캐너가 확인하지 않는 부분까지 직접 확인할 수 있기 때문이다. 또 다른 특이한 웹 보안의 형태는 웹 서버에 직접적인 공격은 없지만 웹 서버에 접속하는 클라이언트 사용자 PC를 공격하는 경우이다. 많은 웹 브라우저에 기본적으로 설치된 ActiveX의 취약점을 통하여 웹 페이지에서 악성 코드가 대량 유포되었는데 웹 페이지에 악성 코드가 최초로 삽입된 경로는 웹 애플리케이션 취약점이었다는 점에 유의할 필요가 있다. 이것은 웹 서버로부터 기업의 중요 정보를 빼내거나 서비스 장애를 초래하지 않았지만 그 기업(또는 기관)의 홈페이지에 방문한 개인의 PC를 해킹할 목적으로 악용된 경우였다. 관리되지 못한 1개의 웹 취약점이 기업의 자산뿐만 아니라 불특정 다수의 개인들에게도 커다란 피해를 줄 수 있는 것이다. 이러한 ActiveX 취약점은 점검 방법이 매우 어렵기 때문에 아직은 현실적인 대책이 거의 전무한 실정이지만 점진적으로 이에 대한 자동화 점검 솔루션이 개발되고 있다. <글·조일석 패닉시큐리티 개발팀장(cho@panicsecurity.com)>
[정보보호21c (info@boannews.com)] <저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지> |
|
|
|