하드코딩된 암호화 키 사용
Use of Hardcoded Cryptographic Key
설명
하드코딩된 암호화 키 사용(Use of Hardcoded Cryptographic Key)은 암호화 키를 소스 코드에 직접 포함하는 취약성입니다. 이는 소스 코드가 유출될 경우 심각한 보안 위험을 초래할 수 있습니다. 암호화 키가 하드코딩되면, 키를 변경하기 어렵고 여러 시스템에서 동일한 키를 사용하게 되어 보안이 약화됩니다.
잠재적 영향
키 유출: 하드코딩된 키가 유출되어 공격자가 암호화된 데이터를 복호화할 수 있습니다.
데이터 유출: 민감한 데이터가 공격자에게 노출될 수 있습니다.
보안 약화: 동일한 키를 여러 시스템에서 사용하면 전체 보안이 약화됩니다.
해결 방법
환경 변수 사용: 암호화 키를 소스 코드에 하드코딩하지 않고 환경 변수로 설정합니다.
안전한 키 관리: 암호화 키는 안전하게 저장하고 접근을 제한합니다.
보안 라이브러리 사용: 검증된 보안 라이브러리를 사용하여 암호화 키를 안전하게 관리합니다.
취약한 코드 및 안전한 코드 예시
AES encryption
취약한 코드
안전한 코드
설명:
취약한 코드: 암호화 키가 하드코딩되어 있어 키 유출 시 심각한 보안 위험이 있습니다.
안전한 코드: 환경 변수에서 키를 가져와 암호화에 사용하여 키 유출 위험을 줄입니다.
RSA encryption
취약한 코드
안전한 코드
설명:
취약한 코드: RSA 개인 키가 하드코딩되어 있어 키 유출 시 심각한 보안 위험이 있습니다.
안전한 코드: 환경 변수에서 키를 가져와 암호화에 사용하여 키 유출 위험을 줄입니다.
참조
Last updated