취약한 암호 알고리즘 사용

취약한 암호 알고리즘 사용

설명

MD5와 SHA-1은 충돌 저항성이 필요한 보안 해시에 부적절하며, DES와 RC4는 새로운 데이터 암호화에 사용하면 안 됩니다.

잠재적 영향

  • 비밀번호 크래킹, 서명 우회, 암호문 복호화 가능성이 증가합니다.

해결 방법

일반적인 보안 해시에는 SHA-256 이상을, 데이터 암호화에는 검증된 AEAD 방식을 사용하세요. 비밀번호 저장에는 솔트와 적절한 작업량을 적용한 Argon2id, bcrypt, PBKDF2 같은 전용 비밀번호 해싱 방식을 사용하세요.

예시

변경 전

c
unsigned char out[MD5_DIGEST_LENGTH];
MD5(data, len, out);

변경 후

c
unsigned char out[SHA256_DIGEST_LENGTH];
SHA256(data, len, out);

설명:

  • 변경 전: MD5를 보안 해시에 사용합니다.
  • 변경 후: MD5를 SHA-256으로 바꿉니다. 단일 SHA-256 호출은 비밀번호 저장용 해싱이나 데이터 암호화를 대신하지 않습니다.

참조