본문 바로가기
  • Always Awake
정보처리기사/5과목

[정보처리기사 필기] Secure SDLC

by NerdyBoy 2022. 3. 1.

1. 개요

Secure SDLC는 보안상 안전한 소프트웨어를 개발하기 위해 SDLC에 보안 강화를 위한 프로세스를 포함한 것을 의미한다.

 

SDLC : 소프트웨어를 개발하기 위한 모든 과정을 각 단계별로 나눈 것

  • 소프트웨어 유지 보수 단계에서 보안 이슈를 해결하기 위해 소모되는 많은 비용을 최소화 하기 위해 등장
  • 요구사항 분석, 설계, 구현, 테스트, 유지 보수 등 SDLC전체 단계에 걸쳐 수행되어야 할 보안 활동을 제시
  • Secure SDLC의 대표적인 방법론
CLASP
  • Secure Software 사에서 개발하였으며, SDLC의 초기 단계에서 보안을 강화하기 위해 개발된 방법론
  • 활동 중심, 역할 기반의 프로세스로 구성되어 있으며, 현재 운용 중인 시스템에 적용하기에 적합하다
SDL 마이크로소프트 사에서 안전한 소프트웨어 개발을 위해 기존의 SDLC를 개선한 방법론이다. 전통적 나선형 모델을 기반으로 한다.
Seven
TouchPoints
  • 소프트웨어 보안의 모범사례를 SDLC에 통합한 방법론이다.
  • 설계 및 개발 과정의 모든 산출물에 대해 위험 분석 및 테스트를 수행한다.
  • SDLC의 각 단계에 관련된 7개의 보안 강화 활동을 수행한다.

 

2. 요구 분석 단계에서의 보안 활동

요구사항 분석 단계에서는 보안 항목에 해당하는 요구사항을 식별하는 작업을 수행한다.

  • 전산화되는 정보가 가지고 있는 보안 수준을 보안 요소별로 등급을 구분하여 분류한다

보안요소

기밀성 시스템 내의 정보와 자원은 인가된 사용자에게만 접근이 허용된다.
전송 중 정보가 노출되어도 데이터를 읽을 수 없다.
무결성 오직 인가된 사용자만 시스템 정보 수정 가능
가용성 인가받은 사용자는 언제라도 사용 가능
인증  시스템 내의 정보와 자원을 사용하려는 사용자가 합법적인 사용자인지 확인하는 모든행위
부인 방지 데이터 송 수진 증거 제공

 

3. 설계 단계에서의 보안 활동

설계 단계에서는 식별된 보안 요구사항들을 소프트웨어 설계서에 반영하고, 보안 설계서를 작성한다.

  • 소프트웨어에서 발생할 수 있는 위협을 식별하여 보안대책, 소요예산, 사고 발생 시 영향 범위와 대응책 등을 수립한다.
  • 네트워크, 서버, 물리적 보안, 개발 프로그램 등 환경에 대한 보안통제 기준을 수립하여 설계에 반영

 

4. 구현 단계에서의 보안 활동

구현단계 에서는 표준 코딩 정의서 및 소프트웨어 개발 보안 가이드를 준수하며, 설계서에 따라 보안 요구사항들을 구현한다.

  • 개발 과정 중에는 지속적인 단위 테스트를 통해 소프트웨어에 발생할 수 있는 보안 취약점을 최소화해야 한다.
  • 코드 점검 및 소스코드 진단 작업을 통해 소스코드 안전성을 확보해야한다.

 

5. 테스트 단계에서의 보안활동

테스트 단계에서는 설계 단계에서 작성한 보안 설계서를 바탕으로 보안 사항들이 정확히 반영되고 동작되는지 점검한다.

  • 동적 분석 도구 또는 모의 침투테스트를 통해 설계단계에서 식별된 위협들의 해결여부를 검증한다.
  • 모든 결과는 문서화하여 보존하고, 개발자에게 피드백 되어야 한다.

 

6. 유지보수 단계에서의 보안활동

유지보수 단계에서는 이전 과정을 모두 수행 하였음에도 발생할 수 있는 보안사고들을 식별하고, 사고 발생 시 이를 해결하고 보안 패치를 실시한다.

 

 


출처

자료 참고: 

시나공 정보처리기사 필기 2022를 참고하여 작성되었습니다

표지

댓글