소프트웨어 개발보안 가이드 (제 3장, 분석ㆍ설계단계 SW 보안강화 활동) (1)

SOO·2021년 2월 16일
0

분석ㆍ설계 단계 주요 보안활동

1. 분석ㆍ설계 단계 개발 보안 필요성

  • 기능 및 비기능 요구사항을 충족시키기 위한 소프트웨어의 구조와 그 성분을 명확하게 밝혀 구현을 준비하는 단계
  • 추가 비용 손실을 최소화 하기 위해 사전 설계 단계에서 반영하는 것이 중요

2. 정보에 대한 보안항목 식별

  • 분석 단계에서는 처리대상 정보와 이를 처리하는 기능에 대해 적용되어야 하는 설계보안항목들을 식별하는 작업이 수행
  • 정보에 대한 설계보안항목 식별은 권한을 가진 사용자만이 안전하게 수집, 전송, 처리, 보관, 폐기해야 하는 정보를 식별하는 것

3. 기능에 대한 보안항목 식별

  • 정보처리 시스템의 각 기능들을 안전하게 서비스하기 위해 필요한 설계보안항목들을 식별

3-1. 입력 데이터 검증 및 표현

  • 사용자, 프로그램 입력 데이터에 대한 유효성 검증 체계를 갖추고, 실패 시 처리할 수 있도록 설계

3-2. 보안 기능

  • 인증, 접근통제, 권한관리, 비밀번호 등의 정책이 적절하게 반영될 수 있도록 설계

3-3. 에러처리

  • 에러 또는 오류 상황을 처리하지 않거나 불충분하게 처리되어 중요정보 유출 등 보안약점이 발생하지 않도록 설계

3-4. 세션 통제

  • HTTP를 이용하여 연결을 유지하는 경우 세션을 안전하게 할당하고 관리하여 세션정보 노출이나 세션 하이재킹과 같은 침해사고가 발생하지 않도록 설계
    (*세션 하이재킹: 시스템 간 연결이 활성화된 상태, 즉 로그인(Login) 된 상태를 가로채는 것)

4. 구현단계 기준과의 관계

  • 분석ㆍ설계 단계의 보안설계기준과 구현단계 보안약점 제거기준의 연관 관계

    대부분의 기존 시큐어코딩 기준들은 분석ㆍ설계 단계에서부터 고려되어야 하며, 일부 항목들은 개발단계에 코딩규칙을 준수하는 것만으로도 보안 취약점들을 제거할 수 있다.

<분석ㆍ설계 단계 보안설계기준 분류와 구현단계 47개 보안약점 기준을 도표로 표시>

5. 설계단계 개발보안 적용 효과

  • 개발보안을 일관성 있게 적용: 소프트웨어에서 일관성 있게 취약점 방어가 가능
  • 구현 단계에서 개발보안 항목을 명확히 알 수 있음

[출처] 행정자치부 SW 개발보안 가이드 https://www.mois.go.kr/frt/bbs/type001/commonSelectBoardArticle.do?bbsId=BBSMSTR_000000000015&nttId=57473

0개의 댓글