반응형
https://www.kisa.or.kr/public/laws/laws3.jsp
분석∙설계단계 SW 보안강화 - 설계보안항목 정의 및 설계 시 고려 사항 - 중요정보 저장
설명
- 중요정보(비밀번호, 개인정보 등) 저장 시 안전한 저장 및 관리방법을 설계해야 한다.
설계항목내용
- 중요정보 또는 개인정보는 암호화해서 저장해야 한다.
- 불필요하거나 사용하지 않는 중요정보가 메모리에 남지 않도록 해야 한다.
가. 취약점 개요
사례 1: 중요정보 평문 저장
- 메모리나 디스크에서 처리하는 중요 데이터(개인정보, 인증정보, 금융정보)가 제대로 보호되지 않을 경우, 보안이나 데이터의 무결성을 잃을 수 있다. 특히 프로그램이 개인정보, 인증정보 등의 사용자 중요정보 및 시스템 중요정보를 처리하는 과정에서 이를 평문으로 저장할 경우 공격자에게 민감한 정보가 노출될 수 있는 취약점이다.
사례 2: 사용자 하드디스크에 저장된 쿠키를 통한 정보 노출
- 개인정보, 인증정보 등이 영속적인 쿠키(Persistent Cookie)에 저장된다면, 공격자는 쿠키에 접근할 수 있는 보다 많은 기회를 가지게 되며, 이는 시스템을 취약하게 만든다.
나. 설계 시 고려사항
1. 중요정보 또는 개인정보는 암호화해서 저장해야 한다.
- 중요정보가 다뤄지는 “안전영역”을 설정하고 중요정보가 해당 영역 외부로 누출되지 않도록 설계한다.
- 서버의 DB나 파일 등에 저장되는 중요정보는 반드시 암호화해서 저장해야 하며 “암호연산” 보안 요구 항목에서 정의하고 있는 안전한 암호 알고리즘과 암호키가 적용된 암호화 정책이 적용되어야 한다.
- 특히 쿠키, HTML5 로컬 저장소와 같은 클라이언트 측 하드 드라이브에는 중요정보가 저장되지 않도록 설계해야 하며, 부득이 중요정보를 저장해야 하는 경우에는 반드시 클라이언트 측에 저장되는 민감정보를 암호화한다.
- 클라이언트 언어인 HTML 코드는 사용자에게 공개되어 있는 것과 마찬가지이므로 중요한 로직 및 주석처리는 서버 측 언어에서만 처리되도록 설계해야 한다.
2. 중요정보가 메모리에 남지 않도록 해야 한다.
- 개인정보 또는 특정 금융정보를 처리하는 기능 구현 시 더 이상 필요하지 않은 데이터에 대해 메모리를 0으로 초기화하여 중요 데이터가 메모리에 남지 않도록 시큐어코딩 규칙을 정의한다.
- 특히 민감한 정보를 포함하는 페이지는 사용자 측 캐싱을 비활성화하도록 제한적인 캐시 정책을 수립하여야 하며, 부득이 캐싱을 해야 하는 경우 캐싱되는 정보는 암호화하여 저장하도록 설계한다.
- 인증정보와 같은 민감한 정보를 포함하는 웹 폼을 구현하는 경우 자동완성 기능을 비활성화하도록 시큐어코딩 규칙을 정의한다.
참고자료
- CWE‐312, Cleartext Storage of Sensitive Information, MITRE,
http://cwe.mitre.org/data/definitions/312.html - CWE‐539 Information Exposure Through Persistent Cookies, MITRE,
http://cwe.mitre.org/data/definitions/539.html - 2016 OWASP Application Security Verification Standard, OWASP, Data Protection Verification Requirements,
http://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project - Sensitive Data, Microsoft Patterns & Practices, MSDN,
http://msdn.microsoft.com/en-us/library/ff650867.aspx - Password in the Clear, W3C,
http://www.w3.org/2001/tag/doc/passwordsInTheClear-52
반응형
'공부 > KISA' 카테고리의 다른 글
예외처리 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.17 |
---|---|
중요정보 전송 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.17 |
암호연산 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.16 |
암호키 관리 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.14 |
중요자원 접근통제 - KISA 소프트웨어 개발 보안 가이드 (0) | 2020.07.10 |
댓글