반응형
https://www.kisa.or.kr/public/laws/laws3.jsp
구현 단계 시큐어코딩 가이드 - 보안 기능 - 하드코드 된 암호화 키
가. 개요
- 코드 내부에 하드코드 된 암호화 키를 사용하여 암호화를 수행하면 암호화된 정보가 유출될 가능성이 높아진다.
- 많은 SW 개발자들이 코드 내부의 고정된 암호키의 해시를 계산하여 저장하면 암호키를 악의적인 공격자로부터 보호할 수 있다고 믿고 있다. 그러나 많은 해시 함수들이 역계산이 가능하며, 적어도 무차별 대입(Brute-Force) 공격에는 취약하다는 것을 고려해야만 한다.
나. 보안대책
- 암호화 수행 시, 상수가 아닌 암호화 키를 사용하도록 설계해야 한다. 또한, 암호화되었더라도 소스 코드 내부에 상수 형태의 암호화 키를 저장하여 사용해서는 안된다
다. 코드예제
JAVA
더보기
소스 코드 내부에 암호화 키를 상수 형태로 하드코딩하여 사용하면 악의적인 공격자에게 암호화 키가 노출될 위협이 있다.
암호화 과정에 사용하는 암호화 키는 외부 공간(파일)에 안전한 방식으로 암호화하여 보관해야 하며, 암호화된 암호화 키는 복호화하여 사용한다.
C#
더보기
소스 코드 내부에 암호화 키를 상수 형태로 하드코딩하여 사용하면 악의적인 공격자에게 암호화 키가 노출될 위협이 있다.
암호화 과정에 사용하는 암호화 키는 외부 공간(파일)에 안전한 방식으로 암호화하여 보관해야 하며, 암호화된 암호화 키는 복호화하여 사용한다.
C
더보기
하드코드 된 비밀번호를 사용할 경우, 코드에 접근 권한이 있는 사용자가 비밀 번호를 알 수 있습니다.
암호화되어 저장된 암호를 외부에서 불러오고 이를 비교하는 코드가 작성되어야 한다.
참고자료
- CWE-321 Use of Hard-coded Cryptographic Key, MITRE,
http://cwe.mitre.org/data/definitions/321.html - Be careful while handling sensitive data, such as passwords, in program code, CERT,
http://www.securecoding.cert.org/confluence/display/c/MSC18-C.+Be+careful+while+handling+sensitive+data,+such+as+passwords,+in+program+code - Use of hard-coded password, OWASP,
https://www.owasp.org/index.php/Use_of_hard-coded_password
반응형
'공부 > KISA' 카테고리의 다른 글
사용자 하드디스크에 저장되는 쿠키를 통한 정보노출 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.21 |
---|---|
취약한 비밀번호 허용 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.21 |
적절하지 않은 난수값 사용 - KISA 소프트웨어 개발 보안 가이드 (1) | 2020.07.21 |
충분하지 않은 키 길이 사용 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.21 |
하드코드된 비밀번호 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.21 |
댓글