소프트웨어 개발 보안 설계
SW 개발 보안의 개념
소스 코드 등에 존재하는 보안 취약점을 제거하고, 보안을 고려하여 기능을 설계 및 구현하는 등 소프트웨어 개발 과정에서 지켜야 할 일련의 보안 활동
SW 개발 보안 생명주기
요구사항 명세
- 요구사항 중 보안 항목 식별
- 요구사항 명세서
설계
- 위협원 도출을 위한 위협 모델링
- 보안 설계 검토 및 보안 설계서 작성
- 보안 통제 수립
구현
- 표준 코딩 정의서 및 SW 개발 보안 가이드를 준수해서 개발
- 소스 코드 보안 약점 진단 및 개선
테스트
- 모의침투 테스트 또는 동적 분석을 통한 보안 취약점 진단 및 개선
유지보수
- 지속적인 개선
- 보안패치
SW 개발 보안의 구성요소
정보보안의 세 가지 요소인 기밀성, 무결성, 가용성을 지키고 서버 취약점을 사전에 방지하여 위협으로부터 위험을 최소화하는 구축 방법을 말함
SW 개발 보안의 3대 요소
기밀성(Confidentiality)
- 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성
- 인가된 사용자에 대해서만 자원 접근이 가능해야 하는 특성
무결성(Integrity)
- 정당한 방법을 따르지 않고선 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성
- 인가된 사용자에 대해서만 자원 수정이 가능하며 전송 중인 정보는 수정되지 않아야 하는 특성
가용성(Availability)
- 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속 사용할 수 있도록 보장하는 특성
- 인가된 사용자는 가지고 있는 권한 범위 내에서 언제든 자원 접근이 가능해야 하는 특성
SW 개발 보안 용어
자산(Assets) : 조직의 데이터 또는 조직의 소유자가 가치를 부여한 대상. 예를 들어, 서버의 하드웨어, 기업의 중요 데이터
위협(Threat) : 조직이나 기업의 자산에 악영향을 끼칠 수 있는 사전이나 행위. 예를 들어, 해킹, 삭제, 자산의 불법적인 유출, 위/변조, 파손
취약점(Vulnerability) : 위협이 발생하기 위한 사전 조건으로 시스템의 정보 보증을 낮추는 데 사용되는 약점. 예를 들어, 평문 전송, 입력값 미검증, 비밀번호를 공유
위험(Risk) : 위협이 취약점을 이용하여 조직의 자산 손실 피해를 가져올 가능성
'정보처리 > 정보시스템구축관리' 카테고리의 다른 글
소프트웨어 개발 보안 구축 설계 6/7 (0) | 2025.03.22 |
---|---|
소프트웨어 개발 보안 구축 설계 5/7 (0) | 2025.03.21 |
소프트웨어 개발 보안 구축 설계 4/7 (2) | 2025.03.20 |
소프트웨어 개발 보안 구축 설계 3/7 (0) | 2025.03.19 |
소프트웨어 개발 보안 구축 설계 2/7 (0) | 2025.03.18 |