웹 보안에 관련된 취약점 가운데 가장 문제가 많이 발생하는 것으로는 SQL Injection과 XSS(Cross-Site Scripting) 취약점을 들 수 있습니다.

 
위 표는 OWASP에서 선정한 웹 취약점 10대 항목으로 그 심각성을 손쉽게 알 수 있습니다.

이 중에서 XSS 취약점은 로그인한 사용자의 계정 정보(쿠키 등)를 훔치거나 다른 사이트로 착각하게 하여 정보를 훔치는 피싱 공격의 주요한 수단으로 이용됩니다.

지난 주말에 XSSed.COM에서는 네이버에서 발견된 다수의 XSS 취약점에 대한 정보가 공개되었습니다. 아직 수정되지 않은 것으로 보이며, 빠른 해결이 시급합니다.


이러한 취약점은 일반적인 방화벽이나 웹방화벽(WAF) 등으로 막기에는 한계가 있으며 근본적인 해결책은 소스를 수정하는 것으로 개발 시점부터 이러한 문제점을 고려하는 것이 좋습니다.

출처: http://xssed.com/search?key=naver

감사합니다.






reTweet
Posted by 문스랩닷컴
blog comments powered by Disqus
    최근 SNS 서비스에 대한 다양한 공격이 진행된 적이 있습니다.

    9월 21일 오후에는 트위터에서 XSS(Cross-site Scripting) 공격이 발견되어 수천명 이상이 피해를 본 것으로 알려지고 있습니다. 아래는 이러한 공격 중의 하나입니다.


    아직 해당 공격에 사용된 트윗이 트위터에서 검색되기도 합니다.

    주: 가급적 링크를 사용하지 마십시오.


    이 공격을 통해 해당 트윗을 본 사용자들은 RT(ReTweet)을 하지 않고, 단순하게 마우스를 대는 순간에 포르노 사이트로 이동하는 신기한 현상을 경험할 수 있었습니다.


    아래 동영상은 보안 기업으로 유명한 소포스(Sophos)에서 트위터의 XSS 취약점을 이용하여 데모로 시연한 동영상입니다.




    지난 번에 XSS 공격의 원인 및 미치는 영향에 대해서 언급한 적이 있지만, 이렇게 대규모로 문제를 일으킬 만큼 매우 위험한 취약점으로 OWASP 2010 - Top 10의 2번째로 위험하다고 분류하고 있습니다.



    다행인것은 현재는 XSS 취약점을 해결한 상태입니다. 하지만, 완벽한 해결이라고 보기에는 역부족이지 않을까요?

    출처: http://ht.ly/2HtEL




    reTweet
    Posted by 문스랩닷컴
    blog comments powered by Disqus
      웹 보안에 관련되어 다양한 문서들이 인터넷에 공개되어 있거나 책으로 판매됩니다. 이중에서 가장 널리 인용되는 자료는 바로 OWASP Top-10이며, 이 문서는 최신의 보안 경향을 반영하기 위해 약 1-3년 주기마다 업데이트됩니다.


      이 문서에 따르면 가장 위협이 되는 취약점은 INJECTION, XSS(Cross-Site Script) 순으로 분류되어 있습니다.

      이 중에서 SQL Injection 취약점은 그 공격의 결과가 서버의 장악이나 데이터베이스(데이터) 손상이 발생하기 때문에 상대적으로 보안 관리자가 인식하기가 쉽습니다.

      하지만, XSS 공격은 실제로 취약점이 있는 웹서버를 공격하는 것이 아니라 제 3자를 공격하는 공격 경유지 성격을 띠고 있기 때문에 취약점으로 인해 공격이 발생하는지 알아차리기가 쉽지 않습니다.

      XSS 취약점을 이용하여 공격자는 웹 애플리케이션에 접근하는 다른 사용자에게 자바스크립트를 실행할 수 있게끔 허용함으로써 공격이 시작됩니다. 즉,  사용자는 위험할 수도 있다는 생각은 전혀 하지 않은 상태에서 교묘하게 조작된 악성 스크립트가 실행되어 이로 인해 크나큰 피해가 발생할 수 있습니다.

      XSS 공격의 예로 가장 대표적인 것이 계정 정보를 빼내는 기술입니다. 아래와 같은 방식으로 공격이 진행되며 최후의 단계에서는 공격자가 피해자의 정보를 도용하여 로그온할 수 있게 됩니다.

      1. XSS 취약점이 있는 게시판, 검색(입력 부분), 매개변수에 교묘하게 조작된 스크립트를 작성하여 글로 게시합니다.
      2. 사용자가 해당 웹서버에 로그온한 후에 공격자가 미리 올린 글을 읽습니다.
      3. 사용자의 쿠키 값을 웹프록시와 같은 방법을 써서 전송받습니다.
      4. 공격자는 사용자의 쿠키 값을 이용하여 로그온하고, 그외의 공격을 진행합니다.

      이러한 방식은 지난 2008년 9월에 작성된 보고서의 일부분으로, 전북대학교 건지인사랑방에서 발생한 예입니다. (관련 자료 다운로드: http://iscert.springnote.com/pages/1770388/attachments/775186 )

      아래 화면은 엘에이타임즈(LA Times, http://www.latimes.com ) 웹사이트의 특정 URL에서 발견된 XSS 취약점에서 alert("문자열") 스크립트를 실행한 화면입니다. 이외에도 이 사이트에는 다수의 XSS 취약점이 존재할 것으로 생각됩니다.



      만약, 은행과 같은 금융권, 쇼핑몰, 적립금을 적립/충전하여 사용할 수 있는 사이트에서 이러한 XSS 취약점을 이용하는 공격이 발생할 때에는 치명적인 결과를 나을 수 있습니다.

      결론적으로, 로그온이 사용되는 웹사이트에서는 XSS 공격에 대해 충분한 검토하여 문제점을 미리 파악하여 해결해야 합니다. 물론, 로그온이 안되는 경우에도 다양한 공격이 이뤄질 수 있지만, 계정 정보 노출이 가장 중요한 것임은 분명합니다.

      감사합니다.
       

      reTweet
      Posted by 문스랩닷컴
      blog comments powered by Disqus
        웹사이트에 관련된 취약점의 여파가 나날이 커지고 있습니다.

        최근 발간된 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: 마이크로소프트 측으로 해당 취약점을 메일로 통보했습니다.


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


          Web Analytics Blogs Directory