웹사이트에 관련된 취약점의 여파가 나날이 커지고 있습니다.

최근 발간된 OWASP Top 10 2010년도 판에서도 이러한 경향을 반영하고 있습니다. 이 문서에 따르면 웹사이트의 취약점 중 가장 수위를 달리고 있는 것이 바로 SQL 인젝션(Injection)과 XSS(크로스 사이트 스크립팅) 공격입니다.

 
<그림 1. OWASP 2007년도와 2010년도 버전의 취약점 비교>

SQL 인젝션 및 XSS 취약점은 웹 사이트의 취약점 가운데 가장 많은 영향력을 미치고 있으며 그 피해도 매우 막대합니다. 최근에 발간된 IBM X-Force 2009 보안 경향 및 위험 보고서에 따르면 아래 도표와 같이 취약점의 약 40-50% 정도를 SQL 인젝션과 XSS 취약점이 차지하고 있습니다.

이 두가지 취약점을 해결하기 위해 보안 업계에서는 다양한 노력을 수년째 지속하고 있습니다. 웹 관련 취약점을 막기 위해서는 다음과 같은 조치가 요구됩니다.

  • 보안 프로그래밍(Secure Programming)
  • WAF(Web Application Firewall) 도입 및 운영
  • 꾸준한 보안 점검(Q/A) 및 툴 이용
이 중에서도 WAF는 현재 운영하는 웹사이트에 웹 취약점이 있는 경우에 긴급하게 도입할 때에 유용하게 사용할 수 있는 솔루션이며, 국내외에 다양한 제품이 판매되고 있습니다.

하지만, 웹 취약점을 해결하기 위해서는 웹 소스 코드에 대한 초기 개발시에 보안에 입각한 프로그래밍이 진행되어야 합니다. 즉, 웹 소스를 고치지 않고서는 웹 취약점을 막을 수 없다는 것입니다.

일 예로 WAF를 설치하여 현재에 안전하게 웹사이트를 보호하고 있더라도, 새로운 웹 취약점이나 공격 방법이 나타났을 때에는 무용지물이 될 가능성이 높습니다. 따라서, 개발시의 웹 소스에 대한 보안 검토가 반드시 필요합니다.

웹 사이트는 정적으로 유지되는 것이 아니라 새롭게 페이지가 추가되고, 제거되는 성질을 지니고 있습니다. 따라서, 이벤트와 같이 웹 사이트 내에 새로운 페이지가 추가되는 경우에는 기존 웹사이트에 취약점이 없더라도 새롭게 추가될 가능성이 있습니다.

따라서, 웹 개발 프로젝트가 진행될 때에는 정기적으로 Q/A 및 보안 검수를 거치고, 문제점이 발견될 때에는 이 문제점에 대한 원인 및 해결책을 프로그래머 및 PM 등이 충분히 검토하고 이해해야만 문제점을 해결할 수 있으며, 장차 새로운 개발 과정이 진행되더라도 취약점이 있는 웹 소스를 개발하는 실수를 줄일 수 있습니다.


하지만, 웹 사이트가 방대한 경우에는 웹 사이트의 보안 검토에는 많은 인력과 시간, 그리고 경비가 필요합니다. 또한, 웹 취약점을 점검하여 찾아 내는 수많은 웹 스캐너들이 판매 및 무료로 제공되고 있지만, 사이트가 커질수록 이 툴을 이용하여 보안을 검토하기에는 시간적, 툴의 한계 등으로 인해 현실적으로 사용하기 어렵습니다.

이러한 현실적인 문제점을 가지고 있는 사이트를 소개하고자 합니다.

모두가 다 알고 있는 사이트, 바로 마이크로소프트(Microsoft) 웹사이트입니다. 아마도 MS는 수많은 웹사이트, 국가별 웹사이트를 가지고 있으며, 이들 사이트를 관리하는데에는 엄청난 인력과 비용이 들 거라는 것은 명약관화합니다.

이렇게 큰 규모로 운영되는 웹사이트에서는 보안에 입각한 프로그래밍이 초기부터 진행되지 않는다면 아래의 화면과 같이 치명적인 취약점을 노출시킬 수 밖에 없습니다.


이 취약점은 웹 사이트 내에 포함되어 있는 데이터베이스에 바로 접속하는 아주 크리티컬한 부분은 아니지만, 그러한 공격 경로 및 기타 다른 방법으로 웹사이트를 공격할 수 있는 엔트리 포인트나 경로로 이용될 수 있다는 점을 명심해야 합니다.

감사합니다.




PS: 마이크로소프트 측으로 해당 취약점을 메일로 통보했습니다.

Posted by 문스랩닷컴

댓글을 달아 주세요