꿈을꾸는 파랑새

현재 SSL/TLS 에 가장 많이 사용되는 공개키 암호화 알고리즘인 RSA(RSA key cryptosystem) 해당 암호는 1978년 로널드 라이베스트(Ron Rivest),아디 샤미르(Adi Shamir),레너드 애들먼(Leonard Adleman)의 연구에 의해 체계화되었으며 RSA 방식을 제일 먼저 개발한 사람은 영국 GCHQ에 근무하던 수학자 이보다 빠른 1973년도에 개발 GCHQ에서 비밀로 취급되었으며 이후 1997년 세상으로 발표되었습니다.
1998년에 발견되어 해결된 것으로 여겨지는 SSL 서버의 PKCS #1 v1.5 패딩과 관련된 결함은 오늘날 널리 사용되는 여러 프로젝트에 여전히 영향을 주고 있으며 엔드투엔드 작업을 측정하는 광범위한 테스트를 거친 후 Red Hat 연구원들은 수정 사항과 완화를 효과적으로 우회할 수 있는 Marvin Attack이라고 총칭하는 원래 타이밍 공격의 여러 변형을 발견했습니다.
해당 문제를 악용하면 공격자는 잠재적으로 RSA 암호문을 해독하고, 서명을 위조하고, 심지어 취약한 TLS 서버에 기록된 세션을 해독할 수도 있음
연구원들은 표준 하드웨어를 사용하여 단 몇 시간 내에 Marvin Attack을 실행하는 것이 가능함을 보여 실용성을 입증
Red Hat은 취약점이 RSA에만 국한되지 않고 대부분의 비대칭 암호화 알고리즘으로 확장되어 부채널 공격에 취약하다고 경고
공격의 주요 장소는 TLS 서버이지만 이를 확산시킨 핵심 문제는 RSA뿐만 아니라 대부분의 비대칭 암호화 알고리즘(Diffie-Hellman, ECDSA 등)에 적용 가능
다음 구현은 Marvin Attack에 취약
OpenSSL(TLS 수준) RSA 암호 해독에서 Oracle 타이밍:CVE-2022-4304
OpenSSL(API 수준) : RSA 암호 해독 API를 PKCS#1 v1.5 패딩과 함께 사용하기에 안전하게 만듬 CVE 없음
GnuTLS (TLS 수준):ClientKeyExchange의 잘못된 RSA 암호 텍스트에 대한 응답 시간은 올바른 PKCS#1 v1.5 패딩이 있는 암호 텍스트의 응답 시간과 다름(CVE-2023-0361)

technology
technology

NSS(TLS 수준):RSA 작업의 지속성을 향상(CVE-2023-4421)
pyca/cryptography : RSA 암호 해독에 대한 Bleichenbacher 공격을 완화하려고 시도
효과가 없는 것으로 확인 대신 OpenSSL 수준 수정이 필요(CVE-2020-25659)
M2Crypto:RSA 암호 해독 API에서 Bleichenbacher 타이밍 공격을 완화
효과가 없는 것으로 확인
대신 OpenSSL 수준 수정이 필요(CVE-2020-25657)
OpenSSL-ibmca:RSA PKCS#1 v1.5 및 버전 2.4.0의 OAEP 패딩에 대한 상수 수정(CVE 없음)
Go:crypto/rsa DecryptPKCS1v15SessionKey의 누출이 제한되어 있음(CVE 없음)
GNU MP:mpz_powm_sec 결과에서 상위 비트 0이 유출됨(CVE 없음)
연구원들은 RSA PKCS#1 v1.5 암호화 사용을 권장하지 않으며 영향을 받는 사용자에게 이전 버전과의 호환성을 제공할 수 있는 대체 수단을 제공업체를 찾거나 요청할 것을 촉구
RSA 키 또는 인증서가 이를 지원하는 서버(SMTP, IMAP, POP 메일 서버 또는 보조 HTTPS 서버)의 다른 곳에서 사용되는 경우에도 위험은 동일
Red Hat은 FIPS 인증이 부채널 공격에 대한 우수한 저항을 보장하는 레벨 4 인증을 제외하고는 Marvin 공격에 대한 보호를 보장하지 않는다고 경고
실제 해커가 Marvin Attack을 사용하고 있다는 명백한 징후는 없지만, 테스트의 세부 사항과 일부를 공개하고 코드를 퍼징하면 이러한 일이 곧 발생할 위험이 커짐
결론 모든 비대칭 알고리즘에 영향을 줌

공유하기

facebook twitter kakaoTalk kakaostory naver band