취약한 해시 사용

Use of Hash With Insufficient Computational Effort

설명

취약한 해시 알고리즘은 사용시 빠른 대신 계산 자원이 적게 들어 공격자가 원문을 쉽게 추측할 수 있는 경우 발생합니다. 비밀번호와 같은 민감한 데이터에 취약한 해시 알고리즘을 사용하면 해당 데이터가 손쉽게 공격자로부터 복구 당할수 있습니다.

잠재적 영향

  • 비밀번호 크래킹: 공격자가 빠른 해시 알고리즘을 이용해 비밀번호를 쉽게 추측하고 탈취할 수 있습니다.

  • 계정 탈취: 탈취된 비밀번호를 통해 공격자가 계정을 탈취할 수 있습니다.

  • 데이터 유출: 공격자가 시스템에 접근하여 민감한 데이터를 유출할 수 있습니다.

해결 방법

  • 안전한 해시 알고리즘 사용: SHA-256, Bcrypt, Argon2 등과 같은 안전한 해시 알고리즘을 사용합니다.

  • 해시 알고리즘 강화: 해시 함수의 반복 횟수를 늘려 계산 노력을 증가시킵니다.

  • 최신 보안 지침 준수: OWASP, NIST 등의 최신 보안 지침을 준수합니다.

취약한 코드 및 안전한 코드 예시

위험한 코드

MD5

SHA-1

안전한 코드

SHA-256

Bcrypt

Argon2

설명:

  • 취약한 코드: MD5 및 SHA-1과 같은 해시 알고리즘은 계산 노력이 적게 들어 비밀번호 크래킹에 취약합니다.

  • 안전한 코드: SHA-256, Bcrypt 및 Argon2를 사용하여 안전한 해시 알고리즘으로 데이터를 안전하게 해시할 수 있습니다.

참조

Last updated