🇰🇷 한글 설명
OP-TEE의 ECDH 공유 비밀 경로에서 공개 키가 올바른 곡선 위의 점인지 검증하지 않는 취약점이 발견되었습니다. 공격자가 조작된 공개 키를 전달하면 중국인의 나머지 정리(CRT)를 이용해 개인 키를 복구할 수 있습니다.
💡 쉬운 설명
암호화 과정에서 검증되지 않은 가짜 열쇠를 입력하여 시스템의 진짜 비밀번호를 알아낼 수 있는 결함입니다. 약 30~40번의 잘못된 입력만으로도 보안 핵심 정보인 개인 키가 유출될 수 있습니다.
🇺🇸 원문 (English)
OP-TEE is a Trusted Execution Environment (TEE) designed as companion to a non-secure Linux kernel running on Arm; Cortex-A cores using the TrustZone technology. Prior to version 4.11.0, on many of the ECDH shared secret paths, the public key isn't verified to be a point on the correct curve. By passing approximately 30-40 crafted public keys to OP-TEE, the private key can be reconstructed by a normal world attacker. When calling TEE_DeriveKey the public key is provided with full X and Y values, but the (X, Y) point might not satisfy the `Y^2 == X^3 + aX + b mod P` math for the specific curve that is used. When those public keys aren't rejected, the attacker can select public keys such that each DeriveKey call will leak `d % r` where `d` is the private key and `r` comes from the relationship between the correct curve and the attacker selected curve. With enough leaked data the Chinese remainder theorem can be used to recover the full private key. Version 4.11.0 fixes the issue.
📍 영향받는 시스템
OP-TEE version 4.11.0 미만 버전
⚔️ 공격 벡터
정상 세계(Normal World)의 공격자가 조작된 X, Y 좌표를 가진 공개 키를 TEE_DeriveKey 함수로 전달
🛡️ 대응 방법
OP-TEE를 버전 4.11.0 이상으로 업데이트
🔧 검증 코드
출력된 버전이 4.11.0 미만인 경우 해당 취약점에 노출된 상태입니다.
optee_version_cmd --version 2>/dev/null | grep -E '4\.[1-9]\.'