🇰🇷 한글 설명
Ruby의 openssl gem이 GCM 모드 암호화에서 IV를 키보다 먼저 설정할 때 동일한 초기화 벡터를 반복 사용한다. 이로 인해 공격자가 암호문 분석을 통해 원문을 유추할 수 있어 암호화 보호가 우회된다.
💡 쉬운 설명
암호화할 때 매번 같은 '시작 값'을 쓰게 되어 암호가 약해진다. 해커가 여러 암호문을 비교하면서 규칙을 찾아 원문을 맞출 수 있다.
🇺🇸 원문 (English)
The openssl gem for Ruby uses the same initialization vector (IV) in GCM Mode (aes-*-gcm) when the IV is set before the key, which makes it easier for context-dependent attackers to bypass the encryption protection mechanism.
📍 영향받는 시스템
Ruby openssl gem 2.0.4 이전 버전
⚔️ 공격 벡터
동일 키로 암호화된 여러 메시지의 IV 재사용으로 인한 암호문 분석 공격(Cryptanalysis)
🛡️ 대응 방법
openssl gem을 2.0.4 이상으로 업그레이드하고 매번 난수 기반의 고유한 IV를 생성하여 사용
🔧 검증 코드
설치된 openssl gem의 버전을 확인하여 2.0.4 이상인지 검증 (2.0.4 미만이면 취약)
gem list openssl | grep openssl