반응형
https://www.kisa.or.kr/public/laws/laws3.jsp
구현 단계 시큐어코딩 가이드 - 보안 기능 - 중요정보 평문 전송
가. 개요
- 사용자 또는 시스템의 중요정보가 포함된 데이터를 평문으로 송·수신할 경우, 통신채널 스니핑을 통해 인가되지 않은 사용자에게 민감한 데이터가 노출될 수 있는 보안약점이다.
나. 보안대책
- 민감한 정보를 통신 채널을 통하여 내보낼 때에는 반드시 암호화 과정을 거쳐야 하며, 필요할 경우 SSL 또는 HTTPS 등과 같은 보안 채널을 사용해야 한다.
- HTTPS와 같은 보안 채널을 사용하거나 브라우저 쿠키에 중요 데이터를 저장하는 경우, 쿠키 객체에 보안 속성을 설정하여 (Ex. setSecure(true) 메소드 사용 등) 중요정보 노출을 방지한다.
- 보안속성이 설정된 쿠키는 HTTP로는 전송되지 않으므로, 중요 데이터를 저장한 쿠키를 HTTP로 전송하기 위해서는 보안 속성을 대신하여 반드시 암호화를 적용하여야 한다
다. 코드예제
JAVA
더보기
아래 예제는 패스워드를 암호화하지 않고 네트워크를 통해 전송하고 있다. 이 경우 패킷 스니핑을 통하여 패스워드가 노출될 수 있다.
아래 예제는 패스워드를 네트워크를 통해 서버로 전송하기 전에 AES 등의 안전한 암호 알고리즘으로 암호화한 안전한 프로그램이다.
C#
더보기
아래 C# 예제 또한 패스워드를 암호화하지 않고 네트워크를 통해 전송하고 있다. 이 경우 패킷 스니핑을 통하여 패스워드가 노출될 수 있다.
패스워드를 네트워크를 통하여 전송할 때에는 암호화하는 것이 바람직하다.
C
더보기
파일에서 읽어온 패스워드를 바로 사용하는 C예제 코드이다.
외부에서 입력된 패스워드는 검증의 과정을 거쳐서 사용해야 한다.
참고자료
- CWE-319, Cleartext Transmission of Sensitive Information, MITRE,
http://cwe.mitre.org/data/definitions/319.html - Insecure Transport, OWASP,
https://www.owasp.org/index.php/Insecure_Transport
반응형
'공부 > KISA' 카테고리의 다른 글
충분하지 않은 키 길이 사용 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.21 |
---|---|
하드코드된 비밀번호 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.21 |
중요정보 평문저장 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.21 |
취약한 암호화 알고리즘 사용 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.20 |
중요한 자원에 대한 잘못된 권한 설정 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.20 |
댓글