본문 바로가기
정보처리/정보시스템구축관리

소프트웨어 개발 보안 구축 설계 1/7

by 피갓자 2025. 3. 17.

소프트웨어 개발 보안 구축 설계
소프트웨어 개발 보안 구축 설계

소프트웨어 개발 보안 설계

SW 개발 보안의 개념

소스 코드 등에 존재하는 보안 취약점을 제거하고, 보안을 고려하여 기능을 설계 및 구현하는 등 소프트웨어 개발 과정에서 지켜야 할 일련의 보안 활동

 

SW 개발 보안 생명주기

요구사항 명세

  • 요구사항 중 보안 항목 식별
  • 요구사항 명세서

설계

  • 위협원 도출을 위한 위협 모델링
  • 보안 설계 검토 및 보안 설계서 작성
  • 보안 통제 수립

구현

  • 표준 코딩 정의서 및 SW 개발 보안 가이드를 준수해서 개발
  • 소스 코드 보안 약점 진단 및 개선

테스트

  • 모의침투 테스트 또는 동적 분석을 통한 보안 취약점 진단 및 개선

유지보수

  • 지속적인 개선
  • 보안패치

SW 개발 보안의 구성요소

정보보안의 세 가지 요소인 기밀성, 무결성, 가용성을 지키고 서버 취약점을 사전에 방지하여 위협으로부터 위험을 최소화하는 구축 방법을 말함

 

SW 개발 보안의 3대 요소

밀성(Confidentiality)

  • 인가되지 않은 개인 혹은 시스템 접근에 따른 정보 공개 및 노출을 차단하는 특성
  • 인가된 사용자에 대해서만 자원 접근이 가능해야 하는 특성

결성(Integrity)

  • 정당한 방법을 따르지 않고선 데이터가 변경될 수 없으며, 데이터의 정확성 및 완전성과 고의/악의로 변경되거나 훼손 또는 파괴되지 않음을 보장하는 특성
  • 인가된 사용자에 대해서만 자원 수정이 가능하며 전송 중인 정보는 수정되지 않아야 하는 특성

용성(Availability)

  • 권한을 가진 사용자나 애플리케이션이 원하는 서비스를 지속 사용할 수 있도록 보장하는 특성
  • 인가된 사용자는 가지고 있는 권한 범위 내에서 언제든 자원 접근이 가능해야 하는 특성

SW 개발 보안 용어

산(Assets) : 조직의 데이터 또는 조직의 소유자가 가치를 부여한 대상. 예를 들어, 서버의 하드웨어, 기업의 중요 데이터

협(Threat) : 조직이나 기업의 자산에 악영향을 끼칠 수 있는 사전이나 행위. 예를 들어, 해킹, 삭제, 자산의 불법적인 유출, 위/변조, 파손

약점(Vulnerability) : 위협이 발생하기 위한 사전 조건으로 시스템의 정보 보증을 낮추는 데 사용되는 약점. 예를 들어, 평문 전송, 입력값 미검증, 비밀번호를 공유

험(Risk) : 위협이 취약점을 이용하여 조직의 자산 손실 피해를 가져올 가능성