웹보안에 대한 연구를 진행해 오고 있는 WASC(Web Application Securtiy Consortium)에서는 웹애플리케이션 보안 통계 프로젝트 2008 보고서를 발표했습니다. 이 보고서는 웹사이트의 취약점을 공동으로 해결하기 위한 노력의 일환으로 웹애플리케이션의 취약점에 대해 보다 쉽게 이해하기 위함입니다.

통계 보고서에는 약 12,186 개의 웹 애플리케이션에서 97,554 개의 취약점이 진단되었습니다. 다음은 통계 데이터를 분석한 결과를 요약한 것입니다.

  • 가장 널리 퍼진 취약점은 XSS(cross site scripting)입니다. 그 뒤를 정보 누출, SQL 인젝션, HTTP Response Splitting이 차지하고 있습니다.

  • 자동화된 진단 도구에서 웹애프리케이션을 검사한 결과 긴급 또는 치명적인 오류를 포함할 가능성은 49%입니다. 전문가가 분석한 경우에는 96%에 이릅니다.
  • 관리에 따른 문제점은 시스템 개발의 오류에 비해 약 20% 이상 발생할 가능성이 높습니다.
  • 99% 이상의 웹애플리케이션이 PCI DDS 표준 요구사항과 맞지 않습니다. 또한 PCI DSS가 정한 ASV 검사 범주에 맞지 않는 웹애플리케이션이 48%에 이릅니다.
  • 자동화된 진단도구에서는 웹사이트당 3개의 취약점이 발견되었지만 화이트박스 방식(신뢰할 수 있는 전문가의 소스 분석 및 실행파일 분석 방식)의 분석을 통해서는 91개의 취약점이 발견되었습니다.
  • 2007년도와 비교할 때에 SQL 인젝션 취약점은 13%, XSS 취약점은 20% 감소했습니다만, 정보 누출은 24% 증가했습니다. 하지만 호스트가 자동으로 감염될 수 있는 가능성은 7%에서 13%로 증가했습니다.
통계 정보는 WASC가 주관하는 웹애플리케이션 보안 평가 프로젝트를 통해 만들어졌으며 다음의 회사들이 참여했습니다. Blueinfy, Cenzic with Hailstorm, DNS with WebInspect, Encription Limited, HP Application Security Center with WebInspect, Positive Technologies with MaxPatrol, Veracode with Veracode Security Review, WhiteHat Security with WhiteHat Sentinel.

보다 자세한 사항은 아래 링크에서 다운로드받을 수 있습니다.

다운로드 링크
reTweet
Posted by 문스랩닷컴
blog comments powered by Disqus
    WAF(웹 애플리케이션 방화벽)을 이야기할 때 항상 언급되는 단어가 바로 OWASP입니다. 며칠 전에 OWASP 유럽 2009 컨퍼런스가 폴란드에서 개최되었는데 여기에서 WAF의 취약점에 대한 연구가 발표되었습니다.
    http://www.owasp.org/index.php/OWASP_AppSec_Europe_2009_-_Poland

    Wendel Henrique와 Sandro Gauci는 WAF의 특성을 파악하여 이를 공격하여 우회할 수 있다는 사실을 발표했으며, 특히 XSS와 같은 특정한 형태의 공격에 취약하여 공격받을 수 있다는 점을 보여주었습니다.

    WAF를 공격하기 위해서 먼저 WAF가 어떤 회사의 제품인지 그리고 버전이 무엇인지 알아내는 도구인 WafW00f를 자체 개발하여 사용했습니다. 또한, WafFun이라는 자체 개발한 도구를 통해 블랙리스트 모드 또는 화이트리스트 모드에서 동작하는 WAF의 취약점을 이용하여 WAF 뒤에 위치한 웹 애플리케이션을 해킹하여 공격을 실행할 수 있다는 것 또한 보여주었습니다.

    WAF 업계에서는 보통 화이트리스트 모드의 WAF와 블랙리스트 모드의 WAF로 나뉠 수 있습니다. 또한, 정규화(Normalization)과 인코딩, 디코딩을 지원하지 않는 서명 기반의 WAF도 볼 수 있습니다. WAF 벤더들은 자사 제품들이 숨김 모드(Stealth Mode)로 동작하기 때문에 외부에서 알아 낼 수 없다고 하지만, 실제 연구를 통해 이러한 주장이 정확하지 않다는 것이 밝혀졌습니다.

    예전의 사례를 보면 IDS, IPS 시스템을 파악하여 이를 우회하는 공격을 보여준 연구자들이 있었으며, 또한 시그니처 기반의 WAF에서 SQL 인젝션 공격을 성공한 사례도 있었습니다.

    하지만 보안 기업을 유명한 Imperva의 Mark Kraynak은 이들의 연구 중에 시그니처 기반의 툴에 대한 작품을 포함하여 이미 자사가 연구했던 것이라고 밝혔으며 이러한 많은 사항들이 새로 밝혀진것은 아니라고 합니다. 또한, WAF와 시그니처 엔진을 정확히 파악함으로써 취약한 시그니처 엔진을 침투할 수 있다고 합니다. 정규화나 인코딩/디코딩을 제공하지 않는 오직 서명 기반의 제품들은 실제로 WAF가 아니라고 밝혔습니다.

    이들은 Armorlogic과 같은 다양한 WAF 벤더와 함께 취약점을 찾아 해결하기 위해 공동 작업을 진행 중에 있으며 며칠 후에 20여개 이상의 WAF 제품을 식별할 수 있는 새로운 WafW00F 도구를 출시할 예정이라고 합니다.

    Herique는 "WAF는 정말 도움이 될만한 제품이지만, WAF보다는 보다 정확한 코드를 작성하고 정기적으로 테스트를 수행하여 취약점이 없는지 확인하는 것이 보다 더 안전하게 보호할 수 있는 방법"이라고 언급했습니다. "개발자들을 교육시키고 코드를 검증하고 웹 애플리케이션을 검사하는게 훨씬 유용하다"고 언급했습니다. 우리가 발견한 많은 WAF 제품의 문제점은 실제로 잘못된 설계상 문제점을 가지고 있으며 실제로 직접 공격당할 수 있습니다.

    블랙리스트/서명 기반의 WAF 엔진보다는 화이트 리스트 기반의 WAF 엔진이 보다 강력하다고 할 수 있지만 실제로 큰 웹사이트에서는 반드시 필요한 것은 아니며, 일반적으로 블랙리스트 모델을 사용한다고 언급하였습니다. 이럼으로써 WAF가 공격당할 여지를 남겨두게 되는 것입니다.

    결론: WAF는 우리가 사용하는 백신처럼 기본적으로 사용해야 하는 것이 현재 및 앞으로의 추세로 보입니다. 하지만, 가장 근본적인 문제점을 해결하는 것이 가장 중요합니다. 개발 단계에서부터 개발자에게 코드의 보안성에 대해 충분한 교육을 진행하고, 개발 단계 별로 코드를 검증하여 문제점이 발견될 때마다 수정하고, 마지막으로 사이트가 오픈되기 전에 전체적으로 점검하는 SDLC를 체계화할 필요가 있습니다.


    reTweet
    Posted by 문스랩닷컴
    blog comments powered by Disqus


      Web Analytics Blogs Directory