소개
이 문서에서는 Cisco ESA(Email Security Appliance)에서 CBC(Cipher Block Chaining) 모드 암호를 비활성화하는 방법에 대해 설명합니다. 보안 감사/스캔에서는 ESA에 SSL(Secure Sockets Layer) v3/TLS(Transport Layer Security) v1 Protocol Weak CBC Mode 취약성이 있다고 보고할 수 있습니다.
주의: AsyncOS for Email Security의 이전 코드를 실행 중인 경우 버전 11.0.3 이상으로 업그레이드하는 것이 좋습니다. 최신 버전과 정보는 Cisco Email Security 릴리스 노트를 참조하십시오. 업그레이드 또는 암호 비활성화에 대한 추가 지원이 필요한 경우 지원 케이스를 여십시오.
사전 요구 사항
요구 사항
이 문서에 대한 특정 요건이 없습니다.
사용되는 구성 요소
이 문서의 정보는 AsyncOS for Email Security(모든 수정 버전), Cisco ESA 및 가상 ESA를 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
- PCI DSS(Payment Card Industry Data Security Standard) 규정을 준수하려면 CBC 암호를 비활성화해야 합니다.
- 보안 감사/스캔에서 CBC 모드 암호를 사용하는 SSL v3/TLS v1 프로토콜의 잠재적 취약성을 확인했습니다.
팁: SSL 버전 3.0(RFC-6101)은 오래되고 안전하지 않은 프로토콜입니다. POODLE(Downgraded Legacy Encryption) 공격에서 Padding Oracle이라고 알려진 SSLv3 CVE-2014-3566, Cisco 버그 ID CSCur27131에 취약성이 있습니다. 암호를 변경하고 TLS만 사용하는 동안 SSL v3을 비활성화하고 옵션 3(TLS v1)을 선택하는 것이 좋습니다. 자세한 내용은 제공된 Cisco 버그 ID CSCur27131을 참조하십시오.
SSL v3 및 TLS v1 프로토콜은 HTTP 및 LDAP(Lightweight Directory Access Protocol)와 같은 다른 프로토콜에 무결성, 신뢰성 및 프라이버시를 제공하기 위해 사용됩니다. 이러한 서비스에서는 프라이버시를 위한 암호화, 신뢰성을 위한 x509 인증서, 무결성을 위한 단방향 암호화 기능을 제공합니다. SSL과 TLS는 데이터를 암호화하기 위해 원본 데이터의 고정된 블록만 같은 크기의 암호화된 블록으로 암호화할 수 있는 암호화 알고리즘인 블록 암호를 사용할 수 있다. 이러한 암호는 항상 동일한 원본 데이터 블록에 대해 동일한 결과 블록을 얻습니다. 출력의 차이를 달성하기 위해, 암호화의 출력은 초기화 벡터(IV)라고 하는 동일한 크기의 또 다른 블록과 XOR된다. CBC는 블록 암호 암호화의 출력 차이를 구하기 위해 초기 블록에 하나의 IV와 이후 블록마다 이전 블록의 결과를 사용한다.
SSL v3 및 TLS v1 구현에서는 전체 트래픽이 단일 초기 IV 집합과 하나의 CBC 세션을 공유하므로 CBC 모드 사용 선택이 낮았습니다. 나머지 IV들은, 앞서 언급된 바와 같이, 이전 블록들의 암호화의 결과들이다. 후속 IV는 도청자들에게 이용 가능하다. 이를 통해 임의의 트래픽을 일반 텍스트 스트림(클라이언트가 암호화함)에 삽입하여 주입된 블록 앞에 오는 일반 텍스트를 추측하는 것을 확인할 수 있습니다. 공격자의 추측이 정확하면 암호화 출력은 두 블록에 대해 동일합니다.
낮은 엔트로피 데이터에 대해서는 상대적으로 시도 횟수가 적은 평문 블록을 추측할 수 있다. 예를 들어, 1000개의 가능성이 있는 데이터의 경우 시도 횟수는 500회가 될 수 있습니다.
요구 사항
익스플로잇이 작동하려면 몇 가지 요건을 충족해야 합니다.
- SSL/TLS 연결은 DES 또는 AES와 같은 CBC 모드를 사용하는 블록 암호화 암호 중 하나를 사용해야 합니다. RC4와 같은 스트림 암호를 사용하는 채널은 결함의 영향을 받지 않습니다. 대부분의 SSL/TLS 연결에서는 RC4를 사용합니다.
- 이 취약성은 SSL/TLS 연결의 데이터를 가로채고 해당 연결에서 새 데이터를 능동적으로 전송하는 사용자에게만 악용될 수 있습니다. 결함이 악용되면 SSL/TLS 연결이 종료됩니다. 공격자는 메시지 해독을 위해 충분한 데이터가 수집될 때까지 계속해서 새로운 연결을 모니터링하고 사용해야 합니다.
- 연결이 매번 종료되므로 SSL/TLS 클라이언트는 메시지가 해독될 때까지 SSL/TLS 채널을 계속 재설정할 수 있어야 합니다.
- 애플리케이션은 생성한 각 SSL/TLS 연결에서 동일한 데이터를 재전송해야 하며 리스너는 데이터 스트림에서 해당 데이터를 찾을 수 있어야 합니다. 로그인할 고정 메시지 집합이 있는 IMAP/SSL과 같은 프로토콜은 이 요구 사항을 충족합니다. 일반 웹 브라우징은 그렇지 않습니다.
위협
CBC 취약성은 TLS v1의 취약성입니다. 이 취약성은 2004년 초부터 존재해 왔으며 TLS v1.1 및 TLS v1.2의 이후 버전에서 해결되었습니다.
AsyncOS 9.6 for Email Security 이전 버전에서는 ESA에서 TLS v1.0 및 CBC 모드 암호를 사용합니다. AsyncOS 9.6 릴리스에서 ESA는 TLS v1.2를 도입합니다. 그러나 CBC 모드 암호는 비활성화할 수 있으며, RC4 암호만 사용할 수 있는데, 이는 결함의 영향을 받지 않습니다.
또한 SSLv2가 활성화된 경우 이 취약성에 대해 오탐이 트리거될 수 있습니다. SSL v2를 비활성화하는 것은 매우 중요합니다.
솔루션
주의: AsyncOS for Email Security의 이전 코드를 실행 중인 경우 버전 11.0.3 이상으로 업그레이드하는 것이 좋습니다. 최신 버전과 정보는 Cisco Email Security 릴리스 노트를 참조하십시오. 업그레이드 또는 암호 비활성화에 대한 추가 지원이 필요한 경우 지원 케이스를 여십시오.
RC4 암호만 사용하도록 설정하려면 CBC 모드 암호를 사용하지 않도록 설정합니다. TLS v1 또는 TLS v1/TLS v1.2만 사용하도록 디바이스를 설정합니다.
- CLI에 로그인합니다.
- sslconfig 명령을 입력합니다.
- 명령 GUI를 입력합니다.
- "TLS v1"에 대해 옵션 번호 3을 선택하거나 AsyncOS 9.6 "TLS v1/TLS v1.2"에 나열된 대로 선택합니다.
- 다음 암호를 입력하십시오.
MEDIUM:HIGH:-SSLv2:-aNULL:@STRENGTH:-EDH-RSA-DES-CBC3-SHA:-EDH-DSS-DES-CBC3-SHA:-DES-CBC3-SHA
- INBOUND 명령을 입력합니다.
- "TLS v1"에 대해 옵션 번호 3을 선택하거나 AsyncOS 9.6 "TLS v1/TLS v1.2"에 나열된 대로 선택합니다.
- 다음 암호를 입력하십시오.
MEDIUM:HIGH:-SSLv2:-aNULL:@STRENGTH:-EDH-RSA-DES-CBC3-SHA:-EDH-DSS-DES-CBC3-SHA:-DES-CBC3-SHA
- OUTBOUND 명령을 입력합니다.
- "TLS v1"에 대해 옵션 번호 3을 선택하거나 AsyncOS 9.6 "TLS v1/TLS v1.2"에 나열된 대로 선택합니다.
- 다음 암호를 입력하십시오.
MEDIUM:HIGH:-SSLv2:-aNULL:@STRENGTH:-EDH-RSA-DES-CBC3-SHA:-EDH-DSS-DES-CBC3-SHA:-DES-CBC3-SHA
- 호스트 이름 프롬프트로 돌아갈 때까지 Enter를 누릅니다.
- commit 명령을 입력합니다.
- 변경 사항 커밋을 완료합니다.
이제 ESA는 RC4 암호와 함께 TLS v1 또는 TLSv1/TLS v1.2만 지원하도록 구성되었지만 CBC 필터는 허용하지 않습니다.
다음은 RC4:-SSLv2를 설정할 때 사용되는 암호 목록입니다. 목록에 CBC 모드 암호가 없습니다.
ECDHE-RSA-RC4-SHA SSLv3 Kx=ECDH Au=RSA Enc=RC4(128) Mac=SHA1
ECDHE-ECDSA-RC4-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=RC4(128) Mac=SHA1
ADH-RC4-MD5 SSLv3 Kx=DH Au=None Enc=RC4(128) Mac=MD5
RC4-SHA SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=SHA1
RC4-MD5 SSLv3 Kx=RSA Au=RSA Enc=RC4(128) Mac=MD5
PSK-RC4-SHA SSLv3 Kx=PSK Au=PSK Enc=RC4(128) Mac=SHA1
EXP-ADH-RC4-MD5 SSLv3 Kx=DH(512) Au=None Enc=RC4(40) Mac=MD5 export
EXP-RC4-MD5 SSLv3 Kx=RSA(512) Au=RSA Enc=RC4(40) Mac=MD5 export
이 익스플로잇은 익스플로잇의 복잡성 및 요구 사항으로 인해 우려되는 사항이 매우 적지만, 이러한 단계의 성능은 엄격한 보안 검사를 통과할 뿐 아니라 가능한 익스플로잇을 예방하기 위한 훌륭한 보호 조치입니다.
관련 정보