반응형
https://www.kisa.or.kr/public/laws/laws3.jsp
구현 단계 시큐어코딩 가이드 - 보안 기능 - 하드코드 된 비밀번호
가. 개요
- 프로그램 코드 내부에 하드코드된 패스워드를 포함하고, 이를 이용하여 내부 인증에 사용하거나 외부 컴포넌트와 통신을 하는 경우, 관리자 정보가 노출될 수 있어 위험하다. 또한, 코드 내부에 하드코드 된 패스워드가 인증 실패를 야기하는 경우, 시스템 관리자가 그 실패의 원인을 파악하기 쉽지 않은 단점이 있다.
나. 보안대책
- 패스워드는 암호화하여 별도의 파일에 저장하여 사용하고, SW 설치 시 사용하는 디폴트 패스워드, 키 등을 사용하는 대신 "최초-로그인" 모드를 두어 사용자가 직접 패스워드나 키를 입력하도록 설계 한다
다. 코드 예제
JAVA
더보기
데이터베이스 연결을 위한 패스워드를 소스코드 내부에 상수 형태로 하드코딩하는 경우, 접속 정보 가 노출될 수 있어 위험하다
패스워드는 안전한 암호화 방식으로 암호화하여 별도의 분리된 공간(파일)에 저장해야 하며, 암호화된 패스워드를 사용하기 위해서는 복호화 과정을 거쳐야 한다.
C#
더보기
Credential 객체를 생성하기 위한 패스워드를 소스코드 내부에 상수 형태로 하드코딩 하는 경우, 접속 정보가 노출될 수 있어 위험하다.
암호화된 패스워드로 Credential 객체를 생성한다.
C
더보기
하드코드 된 패스워드를 바로 사용하는 C예제 코드이다.
패스워드는 코드 상에서 보이지 않게 사용해야 한다. 아래의 예시는 환경 변수를 이용하여 패스워드를 사용한다.
참고자료
- CWE-259 Use of Hard-coded Password, MITRE,
http://cwe.mitre.org/data/definitions/259.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 - Password Management: Hardcoded Password, OWASP
https://www.owasp.org/index.php/Password_Management:_Hardcoded_Password
반응형
'공부 > KISA' 카테고리의 다른 글
적절하지 않은 난수값 사용 - KISA 소프트웨어 개발 보안 가이드 (1) | 2020.07.21 |
---|---|
충분하지 않은 키 길이 사용 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.21 |
중요정보 평문전송 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.21 |
중요정보 평문저장 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.21 |
취약한 암호화 알고리즘 사용 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.20 |
댓글