Caution
이 글은 CVE-2017-15361에 대한 CRoCS wiki(Center for Research on Cryptography and Security)글을 일부 한글로 옮긴 것입니다. (원본보기, ROCA: Vulnerable RSA Generation (CVE-2017-15361)) 전체 내용을 다루지 않았으며, 일부 내용만 번역했으므로 중요한 내용의 누락이 있을 수 있습니다. 보다 자세한 내용은 해당 원본 페이지를 확인하시기 바랍니다.
CVE-2017-15361
이 취약점에 대하여 아주 잘 설명하는 페이지(취약점 발표자)가 있어 해당 내용을 일부 옮겨본다.
About ROCA (CRoCS Wiki)
A newly discovered vulnerability in generation of RSA keys used by a software library adopted in cryptographic smartcards, security tokens and other secure hardware chips manufactured by Infineon Technologies AG allows for a practical factorization attack, in which the attacker computes the private part of an RSA key. The attack is feasible for commonly used key lengths, including 1024 and 2048 bits, and affects chips manufactured as early as 2012, that are now commonplace. Assess your keys now with the provided offline and online detection tools and contact your vendor if you are affected. Major vendors including Microsoft, Google, HP, Lenovo, Fujitsu already released the software updates and guidelines for a mitigation. Full details including the factorization method will be released in 2 weeks at the ACM CCS conference as ‘The Return of Coppersmith’s Attack: Practical Factorization of Widely Used RSA Moduli’ (ROCA) research paper.
출처 : https://crocs.fi.muni.cz/public/papers/rsa_ccs17
- 암호화를 지원하는 스마트카드, 보안토큰, Infineon Technologies AG가 생산한 보안하드웨어칩에 내장된 소프트웨어 라이브러리의 RSA 키 생성에 취약점이 새로이 발견되었다.
- Practical factorization attack이라하는 이 취약점은, 공격자가 RSA키 중 개인키를 계산해낼 수 있게 만든다.
- 이 공격은 흔히 사용하는 1024나 2048비트의 키 길이인 경우 가능하며, 2012년 초에 생산된 칩이 영향을 받는다.
- 영향이 있는지는 온오프라인 툴을 사용하고, 제조사에 연락해보기를 바란다.
- Microsoft, Google, HP, Lenovo, Fujitsu는 이미 소프트웨어 업데이트와 가이드라인을 제공하고 있다.
- 자세한 내용은 ACM CCS 컨퍼런스에서 ‘The Return of Coppersmith’s Attack: Practical Factorization of Widely Used RSA Moduli’ (ROCA)로 발표될 예정이다.
RSA키 생성을 지원하는 기능의 Infineon Technologies사의 칩이, 내장한 라이브러리의 구현상의 문제가 있어 계산이 불가능해야 할 개인키가 공개키 만으로도 계산할 수 있게된다는 것이다. 앞서 공개된 KRACK과 마찬가지로 일부 제조사들은 이미 패치를 제공하고 있다고하니 그리고 취약점 점검 도구를 함께 배포하고 있으니 확인해볼만 하겠다.
What to do?
취약점에 대해 어떻게 대응해야 하는가에 대한 문제는, Q&A 섹션의 내용을 참고하면 되겠다.
Q: RSA 알고리즘이 다 취약한 것인가?
A: 아니다. RSA 소수(primes)가 완전히 임의의 숫자들로 생성이 된다면, 이 공격은 적용할 수 없다. 예를들어, OpenSSL 라이브러리는 영향을 받지 않는다.
Q: 내 키에 영향이 없는지 어떻게 확인할 수 있나?
A: 제공하는 탐지 툴중 하나를 실행해보다. 거짓양성 결과나 거짓음성 결과가 나오지 않을 것이다.
Q: 이 취약점을 어떻게 대응해야 하는가?
A: 제조사에게 도움을 요청하고, 패치가 있을경우 적용하라.
Q: 마이크로소프트, 구글 등의 제조사들이 최근 (10월 10일) Trusted Platform Module(TPM)에 대한 보안권고를 내놓았다. 이 취약점이랑 관계가 있는 것인가?
A: 그렇다.
Q: 해당 칩에서 만들어진 ECC 키들도 취약한가?
A: 아니다. 취약한 라이브러리의 ECC 키 생성에서는 취약점을 찾지 못했다.
Q: The Coppersmith’s 공격은 이미 스마트카드의 암호화 키를 인수분해하는데 쓰였다. 그것과 같은 취약점인가?
A: 아니다. 이건 다른것이다. 2013년에 Daniel J. Bernstein, Yun-An Chang, Chen-Mou Cheng, Li-Ping Chou, Nadia Heninger, Tanja Lange, Nicko van Someren 이 대만 시민 카드의 제조상의 결함으로 인한 일부카드에 존재하는 난수생성기(random number generator)의 취약점을 공격하는 방법을 만들었다. https://smartfacts.cr.yp.to/smartfacts-20130916.pdf. 이 것은 새로운 취약점으로, 취약한 라이브러리를 포함한 모든 칩에 영향이 있다.
Q: FIDO U2F 인증 토큰도 영향이 있을까?
A: 아니다. U2F 명세에서는 오직 ECC기반의 인증만을 허용한다.
Reference
- ROCA: Vulnerable RSA generation (CVE-2017-15361)
https://crocs.fi.muni.cz/public/papers/rsa_ccs17 - Security Newsletter, Week #42, 2017 중 Malware/Exploit/Vulnerability 참고