하드코딩된 HMAC 키 사용
Use of Hard-coded Credentials
설명
하드코딩된 HMAC 키는 소스 코드 내에 비밀값(예: 암호화 키 또는 토큰 서명 키 등)이 직접 포함된 경우 발생하는 보안 취약점입니다. 이런 경우 공격자는 소스 코드 유출, 디컴파일 또는 저장소 접근만으로 중요한 비밀 정보를 쉽게 탈취할 수 있습니다.
공격자는 하드코딩된 HMAC 키를 악용하여 인증 우회, 위조 토큰 생성, 메시지 변조 등 다양한 공격을 할 수 있습니다.
잠재적 영향
인증 우회 및 위조 (인증 위조): 공격자가 키를 알아내면 접근 권한이 없는 리소스에 접근하거나 인증 우회가 가능합니다.
데이터 변조 (데이터 변조): 공격자가 키를 이용해 합법적으로 보이는 위조 메시지를 생성하거나 서명된 데이터를 변경할 수 있습니다.
기밀 정보 노출 (비밀 노출): 하드코딩된 키가 유출되면 전체 시스템의 안전성이 크게 감소합니다.
해결 방법
비밀 키(Secret Key)는 소스 코드에 직접 작성하지 말고 환경 변수(Environment Variable)나 안전하게 보호된 구성 파일을 통해 불러와야 합니다.
코드 저장소에서는 비밀 값이 절대 노출되지 않도록 주의해야 합니다.
하드코딩된 키를 발견했다면 즉시 폐기 및 변경하고, 키가 유출된 경우 관련 로그 등을 점검하여 피해를 파악해야 합니다.
취약한 코드 및 안전한 코드 예시
취약한 코드
안전한 코드
설명:
취약한 코드: 비밀 키(HMAC 키)가 코드에 직접 노출되어 있어, 코드가 유출될 경우 공격자가 키를 쉽게 획득할 수 있습니다.
안전한 코드: 비밀 키를 환경 변수로부터 읽어와서 보안성을 높였으며, 코드 유출 시에도 비밀 값이 드러나지 않습니다.
참조
Last updated