EASY7
CVE-2015-0204 SSL/TLS 취약점 "Freak" 본문
Freak 취약점
Freak : Factoring attack on RSA-EXPORT Keys
웹 브라우저의 암호시스템을 허술한 체계로 변경할 수 있도록 하는 취약점이다.
SSL/ TLS 등 암호화 프로토콜을 사용하는 웹브라우저에 영향을 미치며
브라우저와 웹사이트(HTTPS) 간의 암호화 수준을 낮추는 버그이다.
s3_clnt.c의 ssl3_get_key_exchange 함수를 이용하여 SSL 서버가 수출용 RSA를 허용하도록 다운 그레이드 공격을 수행하고 Brute Forcing 공격으로 RSA 키를 얻고 중간자 공격을 수행할 수 있는 취약점
수출용 RSA?
1990년대에 미국은 전세계 트래픽 감시에 대한 목표가 있어 암호화 시스템의 수출을 제한하려고 하고자 하였다. 그래서 해외 수출용으로는 암호화 키를 의도적으로 약하게 만들었으며 RSA 암호의 경우, 키의 길이를 512로 줄여 수출하였다. 또 수출용 암호 시스템을 이용한 모든 통신에 NSA가 모두 접근이 가능하도록 하였다. 서버는 강력한 버전과 약한 버전 모두 지원하였고 오랜 시간이 지나, 수출용 암호에 대해 재조명되었다.
관련 CVE정보
CVE-2015-0204
취약한 버전
OpenSSL 0.9.8zd 이전 버전
OpenSSL1.0.0 ~ OpenSSL1.0.0p 이전 버전
OpenSSL1.0.1 ~ OpenSSL1.0.1k 이전 버전
이 밖에 취약한 OpenSSL을 사용한 구글 , 애플 등의 제품
보안 조치 방법
OpenSSL 0.9.8zd 이상으로 업그레이드
OpenSSL1.0.0p 이상으로 업그레이드
OpenSSL1.0.1k 이상으로 업그레이드
실습
1. 사용자는 Hello 메세지로 표준 RSA ciphersuites를 요청한다.
2. MITM 공격자가 이 메시지를 '수출용 RSA'를 요청하는 것으로 변조한다.
3. 서버는 512 bit의 수출용 RSA 키를 응답한다.
4. OpenSSL과 SecureTransport 의 버그로 클라이언트는 이 약한 키를 받아들인다.
5. 공격자는 이에 상응하는 RSA 복호화키를 복구한다.
6. 클라이언트가 'pre-master secret'을 암호화하여 서버로 보내면 공격자는 TLS 'master secret'을 복구하기 위해 이를 복호화한다.
7. 여기서부터 공격자는 플레인 텍스트를 보게된다.
공격자가 RSA의 복호화키를 획득하면 공격받은 서버가 재시작 하기 전까지 스니핑이 유효하다
참고자료
https://www.us-cert.gov/ncas/current-activity/2015/03/06/FREAK-SSLTLS-Vulnerability
NIST : https://nvd.nist.gov/vuln/detail/CVE-2015-0204
'보안 공부 > 취약점 실습' 카테고리의 다른 글
서비스 거부 공격 Ping of Death 죽음의 핑 (0) | 2020.06.10 |
---|---|
getAsynkeystate 함수를 이용한 KeyLogger 제작 (0) | 2020.06.10 |
CVE-2019-0708 RDP 취약점 BlueKeep 취약점 (0) | 2019.10.26 |
path traversal을 통한 RCE (0) | 2019.09.26 |
CVE-2014-0160 OpenSSL heartbleed 하트블리드 취약점 (0) | 2019.09.22 |