🇰🇷 한글 설명
애플리케이션이 치명적인 프로토콜 오류 발생 후 SSL_shutdown()을 두 번 호출할 때, 패딩 오류와 MAC 오류에 대해 OpenSSL이 서로 다르게 응답하여 패딩 오라클 공격이 가능해지는 취약점입니다. 특정 암호화 스위트가 사용되고 애플리케이션이 잘못된 방식으로 함수를 호출할 경우 데이터 복호화에 악용될 수 있습니다.
💡 쉬운 설명
통신 중 오류가 발생했을 때 시스템이 내보내는 미세한 반응 차이를 이용해 암호화된 정보를 몰래 알아낼 수 있는 보안 약점입니다. 해커가 이 차이를 이용하면 암호화된 데이터를 읽을 수 있는 위험이 있습니다.
🇺🇸 원문 (English)
If an application encounters a fatal protocol error and then calls SSL_shutdown() twice (once to send a close_notify, and once to receive one) then OpenSSL can respond differently to the calling application if a 0 byte record is received with invalid padding compared to if a 0 byte record is received with an invalid MAC. If the application then behaves differently based on that in a way that is detectable to the remote peer, then this amounts to a padding oracle that could be used to decrypt data. In order for this to be exploitable "non-stitched" ciphersuites must be in use. Stitched ciphersuites are optimised implementations of certain commonly used ciphersuites. Also the application must call SSL_shutdown() twice even if a protocol error has occurred (applications should not do this but some do anyway). Fixed in OpenSSL 1.0.2r (Affected 1.0.2-1.0.2q).
📍 영향받는 시스템
OpenSSL 1.0.2부터 1.0.2q 버전까지
⚔️ 공격 벡터
패딩 오라클 공격을 통한 암호화 데이터 복호화
🛡️ 대응 방법
OpenSSL 버전을 1.0.2r 이상으로 업데이트
🔧 검증 코드
출력된 버전이 1.0.2r 미만인지 확인하여 취약 여부를 판단합니다.