위반
BREACHBREACH(백로네임:하이퍼텍스트의 적응형 압축을 통한 브라우저 정찰 및 유출)은 HTTP 압축을 사용할 때 HTTPS에 대한 보안 취약성입니다.BREAQURE는 CRIM 보안 취약점을 기반으로 구축됩니다.BREACH는 2013년 8월 보안 연구원인 Angelo Prado, Neal Harris 및 Yoel Gluck에 의해 Black Hat 컨퍼런스에서 발표되었습니다.그 아이디어는 [1]발표 전에 커뮤니티에서 논의되었다.
세부 사항
CRIME 공격은 다수의 프로토콜에 대해 효과적으로 작동할 수 있는 일반적인 공격으로 제시되었지만, SPDY 요청 압축 및 TLS 압축에 대한 공격만이 브라우저와 서버에서 입증되고 크게 완화되었습니다.HTTP 압축에 대한 CRIME 부정 이용은 전혀 완화되지 않았습니다.이 취약성은 SPDY 및 TLS 압축을 합친 것보다 더 광범위하게 발생할 수 있다고 CRIME 작성자가 경고했습니다.
BREACH는 HTTP 압축에 대한 CRIME 공격의 일례입니다.많은 웹 브라우저 및 [2]서버에서 HTTP 내의 content-encoding 옵션을 통해 gzip 또는 DEFLATE 데이터 압축 알고리즘을 사용합니다.이 압축오라클을 지정하면 나머지 BREACT 공격은 CRIM 공격과 동일한 일반적인 행에 따라 초기 블라인드블루트 포스 검색을 실행하여 몇 바이트를 추측한 후 분할 및 정복 검색을 실행하여 정확한 추측을 임의의 대량의 콘텐츠로 확장합니다.
경감
BREACH는 기본 HTTP 프로토콜의 압축을 이용합니다.따라서 TLS 압축을 해제해도 BREACH에는 차이가 없습니다.BREACH는 HTTP [3]payload에 대해 선택된 플레인텍스트 공격을 실행할 수 있습니다.
그 결과 클라이언트와 서버는 HTTP 압축을 완전히 디세블로 하거나(따라서 퍼포먼스가 저하됨), 또는 개별 공격 시나리오에서 BREACE를 저지하기 위한 회피책을 채택해야 합니다(CSRF 보호 사용 등).[4]
또 다른 권장 접근법은 레퍼러 헤더가 사이트 간 요구를 나타낼 때 또는 헤더가 존재하지 [5][6]않을 때 HTTP 압축을 디세블로 하는 것입니다.이 접근방식을 사용하면 영향을 받는 요구에 대해서만 퍼포먼스 저하를 초래하면서 기능을 잃지 않고 공격을 효과적으로 완화할 수 있습니다.
또 다른 접근법은 TLS, HTTP 헤더 또는 페이로드 수준에서 패딩을 추가하는 것입니다.2013-2014년 경, IETF 초안에서는 길이 숨기기[7] 패딩을 위한 TLS 확장에 대한 제안서가 작성되었습니다.이것은 이론적으로 [5]이 공격에 대한 완화책으로 사용될 수 있습니다.패딩 삽입으로 TLS payload의 실제 길이를 위장하여 고정 길이 세트로 반올림하거나 외부 길이를 랜덤화할 수 있으므로 BREACH 공격의 기반이 되는 압축률의 작은 변화를 검출할 가능성이 줄어듭니다.그러나 이 초안은 이후 추가 조치 없이 만료되었습니다.
매우 효과적인 완화는 HTB(Heal-the-BREACH)[8]입니다.서버의 압축 라이브러리 gzip을 변경하여 출력 콘텐츠의 크기에 랜덤성을 추가합니다.이 랜덤성으로 인해 BREAQH는 시크릿토큰의 올바른 문자를 추측할 수 없습니다.HTB는 CPU 사용률을 최소화하고 대역폭 증가를 최소화하여 서버 내의 모든 웹 사이트와 페이지를 보호합니다.
레퍼런스
- ^ "Is HTTP compression safe?". Information Security Stack Exchange. Archived from the original on 2018-04-12. Retrieved 2018-04-11.
- ^ Goodin, Dan (August 1, 2013). "Gone in 30 seconds: New attack plucks secrets from HTTPS-protected pages". Ars Technica.
- ^ Angelo Prado, Neal Harris and Yoel Gluck. "SSL, gone in 30 seconds: A BREACH beyond CRIME" (PDF). Retrieved 2013-09-07.
- ^ Omar Santos (August 6, 2013). "BREACH, CRIME and Black Hat". Cisco.
- ^ a b Ivan Ristic (October 14, 2013). "Defending against the BREACH Attack". Qualys.com. Retrieved 2013-11-25.
- ^ manu (October 14, 2013). "BREACH mitigation". Qualys Community. Retrieved 2013-11-25.
- ^ A. Pironti; et al. (2013-09-11). "Length Hiding Padding for the Transport Layer Security Protocol". IETF Network Working Group. Retrieved 2017-10-18.
- ^ Palacios, R.; Fariña Fernández-Portillo, A.; Sánchez-Úbeda, E. F.; García-de-Zúñiga, P. (April 2022). "HTB: A Very Effective Method to Protect Web Servers Against BREACH Attack to HTTPS". IEEE Access. doi:10.1109/ACCESS.2022.3166175.
외부 링크
- BlackHat 2013에서 시연된 BREACH 공격을 실행하는 도구
- HEIST, BlackHat 2016에서 시연된 응답 본문에 대한 관련 압축 기반 공격