홈페이지 취약점 분석 이야기 | 파일 지도 사진 깨알 |
---|
>> 목록보이기 SSL Strip 공격과 HSTS(HTTP Strict Transport Security)
대부분의 웹 브라우저는 HSTS 헤더(예:
2009년 BlackHat DC에서 - 참고할만한 바깥고리
SSL 벗기기 공격의 개요
SSL 벗기기 공격(SSL Strip)은 중간자(MITM, Man in the Middle) 공격이다.
모든 중간자 공격이 그렇듯이 SSL Strip 공격을 하기 위해서는 [
+------+ http://facebook.com/ +------+ | 웹사 |--------------------------------------------------------------->| 페이 | | 용자 |<---------------------------------------------------------------| 스북 | +------+ https://facebook.com/ +------+ (가) 일반적인 HTTP-HTTPS 전환 /=============================================\ || +------+ http://facebook.com/ +------+ || https://facebook.com/ +------+ || | 공격 |------------------------>| 중간 | ||------------------------->| 페이 | || | 표적 |<------------------------| 공격 | ||<-------------------------| 스북 | || +------+ http://facebook.com/ +------+ || https://facebook.com/ +------+ \=============================================/ [ 동일 네트워크 대역 ] (나) SSL벗기기 중간자공격의 개념도 [ ↑ SSL 벗기기 공격의 기본적인 개념 ] SSL 벗기기 공격의 방어정책: HSTS
HSTS헤더는" Moxie Marlinspike가 SSL Strip 공격 기법을 공개한 것은 2009년이다. 하지만 이 공격을 방어할 수 있는 방법이 제안된 것은 2008년이다("ForceHTTPS: Protecting High-Security Web Sites from Network Attacks", Collin Jackson & Adam Barth, WWW2008). 2009년에 위의 논문을 바탕으로 STS(Strict-Transport-Security) 토대가 만들어졌고 2010년에 - HTTP에만 해당하므로 - HSTS(HTTP Strict Transport Security)라는 이름으로 초안이 만들어졌다. 2012년 11월 19일에 IETF의 표준으로 출판되었다(RFC 6797)
HSTS 지정방법은 간단하다.
웹 서버는 HTTPS 응답에 " root@kali:~# curl -I https://www.facebook.com/ HTTP/1.1 200 OK P3P: CP="Facebook does not have a P3P policy. Learn why here: http://fb.me/p3p" Strict-Transport-Security: max-age=15552000; preload Cache-Control: private, no-cache, no-store, must-revalidate Expires: Sat, 01 Jan 2000 00:00:00 GMT Pragma: no-cache public-key-pins-report-only: max-age=500; pin-sha256="WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18="; pin-sha256="r/mIkG3eEpVdm+u/ko/cwxzOMo1bk4TyHIlByibiA5E="; pin-sha256="q4PO2G2cbkZhZ82+JgmRUyGMoAeozA+BSXVXQWB8XWQ="; report-uri="http://reports.fb.com/hpkp/" X-Content-Type-Options: nosniff X-XSS-Protection: 0 X-Frame-Options: DENY Set-Cookie: fr=0X4aj06pzBlJ34Si4..BYJ0fn.6A.AAA.0.0.BYJ0fn.AWWMN1-w; expires=Fri, 10-Feb-2017 16:48:39 GMT; Max-Age=7776000; path=/; domain=.facebook.com; httponly Vary: Accept-Encoding Content-Type: text/html X-FB-Debug: 1YTkJyYqt8BvFUfXn5F/WuEDT8jzCu2F9VXCQWLXQ39KYdvYqPBgVJDK4ndEkkXoZk2fW25OAlNR5oLCVSOAMg== Date: Sat, 12 Nov 2016 16:48:39 GMT Connection: keep-alive root@kali:~#
페이스북의 경우에는 최대 180일 동안( 참고할 바깥고리
웹취약점 점검자를 위한 참고사항
연결이 안전하지 않음 www.facebook.com의 소유자가 웹사이트를 적절히 설정하지 않았습니다. 정보가 도난당하는 것을 막기 위해서 Firefox가 웹사이트에 연결하지 않았습니다. 이 사이트는 Firefox가 안전한 경우에만 연결함을 명시하기 위해서 HTTP Strict Transport Security (HSTS)를 사용합니다. 그래서 이 인증서에 예외를 추가할 수 없습니다. 더 알아보기… 오류 보고서를 보내면 멜웨어 사이트를 차단하거나 그 오류를 분석하는데 도움이 됩니다. www.facebook.com는 유효하지 않은 보안 인증서를 사용합니다. 발급자 인증서를 알 수 없기 때문에 인증서를 신뢰할 수 없습니다. 서버가 적절한 중간 인증서를 보내지 않을 수 있습니다. 가져오기를 하기 위해 추가적인 루트 인증서가 필요할 수 있습니다. 오류 코드: SEC_ERROR_UNKNOWN_ISSUER [ ↑ OWASP-ZAP 프록시를 연동한 FireFox의 페이스북 접근시 오류 ]
OWASP-ZAP을 통하여 HSTS 사이트에 접속하면 " [처음 작성한 날: 2016.11.12] [마지막으로 고친 날: 2016.11.13] < 이전 글 : Kali Linux, open-vm-tools, Shared Folder (2016.11.13) > 다음 글 : 모든 꼬리표 모아보기(태그 클라우드) (2016.11.11) 이 저작물은 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스에 따라 이용할 수 있습니다. 잘못된 내용, 오탈자 및 기타 문의사항은 j1n5uk{at}daum.net으로 연락주시기 바랍니다. 문서의 시작으로 컴퓨터 깨알지식 웹핵 누리집 대문 |