Applying the SDL at Windows Live

웹 어플리케이션 2010. 6. 20. 15:26 Posted by TEAMCR@K

Windows Live 팀에서 웹 어플리케이션 SDL(Security Development Lifecycle)에 대한 참고 문서를 새로 작성하여 발표하였습니다. cross-site scripting (XSS), cross-site request forgery (XSRF), open redirects (XSRs), JavaScript object notation (JSON) hijacking 에 대한 보안 코딩(Secure Coding)에 대해서 자세히 언급되어 도움이 될만한 문서들입니다.

http://blogs.msdn.com/b/sdl/archive/2010/06/17/applying-the-sdl-at-windows-live.aspx
http://blogs.msdn.com/b/sdl/archive/2010/06/14/new-paper-security-best-practices-for-developing-windows-azure-applications.aspx

ASP.NET Performance Toolset

웹 어플리케이션 2010. 3. 25. 09:38 Posted by TEAMCR@K

ASP.NET 환경시 Performance 에서 활용할 수 있는 도구(Tools) 을 잘 정리해놨습니다.

기능뿐만 아니라 보안 점검시에서도 사용될 수 있는 좋은 자료들이 있으니 참고하시기 바랍니다.

http://blogs.msdn.com/alikl/archive/2010/03/14/asp-net-performance-toolset.aspx

Hidden값을 서버 사이드 스크립트(ASP.NET)에서 암호화 하는 방식입니다.

주요 정보를 클라이언트 암호화 솔루션등을 사용하지 않고, 조작을 통한 공격을 원척적으로 차단 하기 위한 방법이겠죠?.

암호화 방식이 완벽할 수 없기 때문에 인증 및 세션 처리도 꼭 필수입니다!.

개발 환경에 따라 적용 가능 여부를 미리 확인하시기 바랍니다.

http://www.heartysoft.com/post/2010/02/25/Encrypted-Hidden-Inputs-in-ASPNET-MVC.aspx

HTML5 개요 및 취약점

웹 어플리케이션 2010. 2. 24. 16:11 Posted by 알 수 없는 사용자

HTML5 개요 및 취약점 


redjyjy@a3security.com
(A.K.A r3dy)


I. HTML5 개 요

1. 요 약

HTML5는 W3C에서 만들고 있는 차세대 웹 표준으로서 마이크로소프트, 모질라, 애플, 구글, 오페라 등 모든 웹 브라우저 벤더가 참여하고 있는 산업표준입니다. HTML5의 주요 목적은 과거 HTML의 호환성을 유지하면서 웹 개발자들이 실질적으로 부딪치는 문제를 해결하고 HTML문서가 좀더 의미 있으면서도 리치 웹 애플리케이션 기능을 수행할 수 있는 범용 표준을 만드는데 있습니다. HTML5에서는 기존의 HTML4보다 확장된 태그들을 지원하고 있으며, 문서 구조에 적합하게 header, footer, nav, section같은 구조화 마크업을 사용할 수 있습니다. XSS취약점이 존재한다면, 우회 할 수 있는 취약점 패턴이 증가하게 됩니다. 또한 HTML5 Cross Document Messaging기능이 규격에 추가됨에 따라 서로 다른 도메인간에 메시지 전송이 가능하므로 XSS취약점과 결합될 경우 이를 응용한 공격이 쉽게 이루어 질 수 있습니다.

2. 대상 시스템

- 마이크로소프트, 모질라, 애플, 구글, 오페라 등 HTML5를 지원하는 브라우저


II. 세부 분석

1. 내 용
HTML5에서는 기존의 HTML4보다 확장된 태그들을 지원합니다. 웹 어플리케이션 작성에 도움을 줄 다양한 API를 제공하여 이러한 요소가 많아짐에 따라 취약점 패턴도 함께 증가하게 됩니다.

HTML5에서 지원하는 확장된 태그를 이용하여 XSS취약점이 실행되는지 explorer와 opera를 이용하여 테스트 하였습니다.


다음은 explorer브라우저에서 XSS취약점이 존재하는 입력 값 부분에 악의적인 스크립트를 삽입한 화면입니다.

[그림 1] explorer 브라우저에서의 XSS (1)

 

다음은 스크립트가 실행되지 않은 화면입니다. 

[그림 2] explorer 브라우저에서의 XSS (2)



다음은 opera브라우저 환경에서 XSS취약점이 존재하는 입력 값 부분에 HTML5에서 쓰이는 확장태그를 이용하여 악의적인 스크립트를 삽입한 화면입니다.

                                                   [그림 3] opera 브라우저에서의 XSS (1)


다음은 스크립트가 실행되어 XSS취약점이 발생된 화면입니다. HTML5를 지원하고 있는 opera브라우저에서는 확장된 태그로 인해 편리함을 갖췄지만, XSS취약점 패턴의 폭이 넓어진 것이라 할 수 있습니다. 
                                     
[그림 4] opera 브라우저에서의 XSS (2)


2. 참고사항
URL) http://samples.msdn.microsoft.com/ietestcenter/html5.htm

위의 사이트에서 HTML5 Test Pages를 지원하고 있으니, 참고하시기 바랍니다.

[그림 5] HTML5 Test Pages


3. HTML5에서 추가, 수정 된 점

가. Javascript
HTML5에서 자바스크립트의 우선순위가 변경되었습니다. 기존HTML4에서는 뒤쪽에 선언된 자바스크립트가 실행되기 때문에 뒷부분에 악의적인 스크립트를 삽입하게 되면 공격자가 원하는 페이지로의 강제 이동(Page Defacement) 또는 Phishing Attack이 가능합니다. 하지만 우선순위가 변경된 HTML5에서는 앞쪽의 자바스크립트가 실행되기 때문에 공격자가 자바스크립트 뒷부분에 악의적인 스크립트를 삽입하더라도 앞쪽의 스크립트가 실행되게 됩니다. 이 부분은 공격 시 다른 방향을 모색해 봐야 할 듯 합니다.

자바스크립트를 두 개 이상 실행시킬 때, HTML4에서는 마지막으로 선언한 곳으로 이동하게 됩니다.

- HTML4

<script>
         Window.location = ”http://opera.com”;
         Window.location = http://a3sc.co.kr; << 이곳으로 이동
</script>

동일하게 자바스크립트를 두 개 이상 실행시킬 때, HTML5에서는 첫 번째 선언한 곳으로 이동하게 됩니다.

- HTML5

<script>
         Window.location = ”http://opera.com”; << 이곳으로 이동
</script>

<script>
         Window.location = http://a3sc.co.kr;
</script>


나. New Input elements
다음은 새롭게 추가된 Input elements입니다.

<input type=”date”>
<input type=”week”>
<input type=”datetime”>
<input type=”time”>
<input type=”number”>
<input type=”range”>
<input type=”email”>
<input type=”url”>


다. Attribute
다음은 정규식이 추가된 Attribute입니다. 정규식이 있어 찾고자 하는 정보를 보다 쉽게 추출할 수 있습니다.

<input type=”text”
Pattern=”[0-9]{3}-[0-9]{3}-[0-9]{3}
Title=”Enter phone number as xxx-xxx-xxx”>


라. event
다음은 새롭게 추가된 event입니다.

<input type=”text”
Pattern=”[0-9]{3}-[0-9]{3}-[0-9]{3}
Oninvalid=”handle_myself(); return false;”>



III. 대응 방안

1. 보안 대책
HTML5에서의 XSS취약점 대응방안으로는, 수정 및 추가된 부분이 있지만 기본적으로 XSS취약점 대응방안의 큰 틀에서 벗어나지 않습니다. 다음의 취약점 대응 권고사항을 지켜주시기 바랍니다.

가. 취약점 개요 및 대응 권고
XSS는 외부의 공격자가 정상적인 웹사이트를 악용하여 정상적인 웹사이트에 접속하려는 사용자로 하여금 공격자가 의도한 명령이나 작업을 수행하도록 하는 공격입니다. XSS를 이용한 공격 유형에는 사용자 쿠키 정보 추출을 통한 세션 가로채기 공격 등이 있습니다.

XSS 대응 방안은 사용자가 게시물을 업로드 할 수 있는 게시판의 경우와 사용자로부터 값을 입력 받는 경우로 나눌 수 있습니다.

- 사용자 게시판
운영상 필요한 경우 이외에는 사용자가 HTML을 사용하지 못하도록 하여야 합니다. 운영상 필요하여 HTML을 허용하여야 할 경우에는 스크립트 태그를 사용하지 못하도록 하여야 합니다. 사용자 태그뿐 아니라 본문에 “cookie” 나 “object”나 “document”와 특수한 문자열에 대한 체크를 하여 입력을 받지 못하도록 합니다.

- 파일의 argument로 값을 입력
HTML 태그가 입력되지 못하도록 하여야 합니다. 필터링 하여야 할 문자로는 <, >, & 등이 있고, 사용자 입력으로 원하는 값이 아닌 다른 모든 문자들을 필터링 하여야 합니다. 파일의 입력으로 받는 문자열일 경우에는 입력을 허용할 문자만을 선택하고 나머지는 필터링을 하거나 에러페이지로 이동하도록 합니다. 입력 값으로 <form>문을 작성할 때 다른 파일의 입력 값이 될 때와 같이 파일에 포함되어야만 할 때에는 입력 받은 문자는 URL Encoding을 하여 화면에 표시하도록 합니다.

- 입력 값 변환
<, >와 같은 문자들을 HTML에 표시하는 &lt; 와 &gt; 로 변환을 하여 저장을 하고 보여주는 방법이 존재합니다. 이 문자들이 HTML에서 <, >로 표시되기 때문에 화면에 나타날 때는 문제가 없습니다.

2. 관련 사이트
HTML5 대한 추가적인 정보를 확인할 수 있는 관련 사이트는 다음과 같습니다.
http://channy.creation.net/blog/776
http://channy.creation.net/project/html5/html4-differences/Overview_ko.html
http://www.hanb.co.kr/network/view.html?bi_id=1636
http://austinchau.blogspot.com/2008/11/html5-cross-document-messaging.html
http://samples.msdn.microsoft.com/ietestcenter/html5.htm
http://www.hagenburger.net/2009/03/html5-xhtml5-with-css-for-safari-firefox-opera-ie


※ 현재 ㈜에이쓰리시큐리티에서 테스트 및 분석 중에 있으며, 이 문서는 계속 업데이트될 것입니다. 본 문서는 보안취약점으로 인한 피해를 최소화하는 데 도움이 되고자 작성되었으나, 본 문서에 포함된 대응방안의 유효성이나 기타 예상치 못한 시스템의 오작동 발생에 대하여서는 ㈜에이쓰리시큐리티에서는 일체의 책임을 지지 아니합니다.

"2010 CWE/SANS Top 25 Most Dangerous Programming Errors" 문서가 발표되었습니다.

http://cwe.mitre.org/top25/

PDF문서 : http://cwe.mitre.org/top25/archive/2010/2010_cwe_sans_top25.pdf

소프트웨어(S/W)의 각 담당자에 따라 보안대책에 대해서 설명이 잘 되어 있고, 25개의 심각한 영향에 따라 분류와 자세한 설명이 나와있습니다.


소프트웨어 개발하실때 참고하시기 바랍니다.

  • Guidance for Using the Top 25
  • Brief Listing of the Top 25
  • Category-Based View of the Top 25
  • Focus Profiles
  • Organization of the Top 25
  • Detailed CWE Descriptions
  • Monster Mitigations
  • Appendix A: Selection Criteria and Supporting Fields
  • Appendix B: What Changed in the 2010 Top 25
  • Appendix C: Construction, Selection, and Scoring of the Top 25
  • Appendix D: Comparison to OWASP Top Ten 2010 RC1
  • Appendix E: Other Resources for the Top 25
  • [.NET 개발 보안] 에러 처리

    웹 어플리케이션 2010. 2. 15. 11:31 Posted by TEAMCR@K

    ASP.NET 환경에서 에러 발생으로 서버의 주요 정보가 노출될 수 있습니다.
    이에 대한 좋은 대응방안 예시 중 하나입니다.

    환경에 따라 다를 수 있으니, 검토하시고 적용하시기 바랍니다.

    http://misfitgeek.com/blog/aspnet/trapping-intentional-cross-site-scripting-xss-attempts-in-asp-net/

    [사진 참조]
    http://ha.ckers.org/blog/20100203/accuracy-and-time-costs-of-web-application-security-scanner-report/

    웹 어플리케이션 자동 취약점 도구에 대해서 정확도 및 시간효율성 측면으로 보고서가 잘 나왔네요.

    나름 알려지지 않았던 취약점 도구들이 의외로 좋은결과를 얻고 있네요.

     I in NO WAY sponsored, encouraged or had anything to do with this test in any way

    이 문구는 믿어야겠죠?^^)

    [동영상]Web2.0 Attack

    웹 어플리케이션 2010. 2. 1. 14:30 Posted by TEAMCR@K

    http://www.irongeek.com/i.php?page=videos%2Fwhen-web-2-attacks-rafal-los&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+IrongeeksSecuritySite+%28Irongeek%27s+Security+Site%29

    Web 2.0 Attack 주제로 발표한 동영상입니다.

    Web 2.0 환경의 공격 가능성과 대응에 관해서 1시간정도 설명을 하고 있는데, 영어죠?^^);

    When Web 2.0 Attacks from Adrian Crenshaw on Vimeo.

    바코드값을 이용한 공격(?)

    웹 어플리케이션 2010. 1. 29. 17:47 Posted by TEAMCR@K

    URL : http://www.irongeek.com/xss-sql-injection-fuzzing-barcode-generator.php

    바코드값을 이용한 공격 가능성을 이야기한 재미있는 글이 있습니다.
    모바일 웹2.0 시대를 겨냥한 공격(?)이라고 할 수 있을까요?...

    특히, QR-Code 2d Barcodes 는 증강현실에서 사용되기도 합니다.
    (http://blog.naver.com/papanek8?Redirect=Log&logNo=60099995959)



    예시를 입력하고 "확인(Submit)"을 누르면 해당 글에 대한 바코드값이 생성됩니다.

    이글을 쓴 사람은 항상 재미있는 발상을 이야기합니다.
    http://www.irongeek.com/i.php?page=security/xss-sql-and-command-inject-vectors




    Web Application Security Scanner List

    웹 어플리케이션 2009. 12. 21. 15:45 Posted by TEAMCR@K

    웹 어플리케이션 취약점 점검 도구를 잘 정리해 놓았네요.

    출처 : http://projects.webappsec.org

    The following list of products and tools provide web application security scanner functionality.  Note that the tools on this list are not being endorsed by the Web Application Security Consortium - any tool that provides web application security scanning functionality will be listed here.  If you know of a tool that should be added to this list, please contact Brian Shura at bshura73@gmail.com.

    Commercial Tools

    Software-as-a-Service Providers

    Free / Open Source Tools