Computer Security

Secure SDLC - 공부하는 도비

DOVISH WISDOM 2020. 4. 10. 22:45  
728x90
반응형

저번에는 SDLC(Software Development Life Cycle); 소프트웨어 개발 생명주기에 대해 알아보았습니다.

 

2020/04/10 - [컴퓨터 기초] - [컴퓨터 기초] SDLC(소프트웨어 생명 주기) - 공부하는 도비

 

[컴퓨터 기초] SDLC(소프트웨어 생명 주기) - 공부하는 도비

오늘은 소프트웨어 개발 방법론의 기초가 되는 SDLC를 알아보도록 하겠습니다. SDLC(Software Development Life Cycle) ; 소프트웨어 개발 생명주기 : 소프트웨어 개발 방법론의 바탕이 되는 것으로, 소프트웨어를..

yang-wistory1009.tistory.com

 

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

  • SDLC의 유지 보수 단계에서 보안 이슈를 해결하기 위해 소모되는 많은 비용을 최소화하기 위해 나오게 되었습니다.
  • 대표적인 방법론에는, Secure Software 사의 CLASP, Microsoft 사의 SDL 등이 있습니다.

1. 요구 상황 분석 단계에서의 보안 활동

  • 전산화되는 정보가 가지고 있는 보안 수준을 보안 요소별로 등급을 구분하여 분류합니다.
  • 조직의 정보보호 관련 보안 정책을 참고하여 소프트웨어 개발에 적용할 수 있는 보안 정책 항목들의 출처, 요구 수준, 세부 내용 등을 문서화합니다.

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

  • 요구 상황 분석 단계에서 작성한 보안 정책을 소프트웨어 설계서에 반영하고, 보안 설계서를 작성합니다.
  • 소프트웨어에서 발생할 수 있는 위협을 식별하여 보안대책, 소요예산, 사고 발생 시 영향 범위와 대응책 등을 수립합니다.
  • 네트워크, 서버, 물리적 보안, 개발 프로그램 등 환경에 대한 보안 통제 기준을 수립하여 설계에 반영합니다.
    • 네트워크 : 외부의 사이버 공격으로부터 개발환경을 보호하기 위해 네트워크를 분리하거나 방화벽을 설치합니다.
    • 서버 : 보안이 뛰어난 운영체제를 사용하고 보안 업데이트, 외부 접속에 대한 접근 통제 등을 실시합니다.
    • 물리적 보안 : 출입통제, 개발 공간 제한, 폐쇄회로 등의 감시설비를 설치합니다.
    • 개발 프로그램 : 허가되지 않은 프로그램을 통제하고 지속적인 데이터 무결성 검사를 실시합니다.

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

  • 표준 코딩 정의서 및 소프트웨어 개발 보안 가이드를 준수하며, 설계서에 따라 보안 요구사항 들을 구현합니다.
  • 개발 과정 중에는 지속적인 단위 테스트(Unit Test)를 통해 소프트웨어에 발생할 수 있는 보안 취약점을 최소화해야 합니다.
  • 코드 점검 및 소스 코드 진단 작업을 통해 소스 코드의 안정성을 확보해야 합니다.

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

  • 설계 단계에서 작성한 보안 설계서를 바탕으로 보안 사항들이 정확히 반영되고 동작되는지 점검합니다.
  • 동적 분석 도구 또는 모의 침투테스트를 통해 설계 단계에서 식별된 위협들의 해결 여부를 검증합니다.
  • (동적 분석 도구 : 동적 분석 도구는 프로그램을 실제 또는 가상으로 실행시킨 상황에서 메모리 분석, 보안 취약점 검색, 오류 탐지 등의 다양한 기능을 수행하는 소프트웨어입니다.)

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

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

 

 

 

반응형