728x90

Secure SDLC

Secure SDLC의 개요

- 보안상 안전한 소프트웨어를 개발하기 위해 SDLC(소프트웨어 개발 생명주기)에 보안 강화를 위한 프로세스를 포함한 것

- 유지보수 단계에서 보안 이슈를 해결하기 위해 소모되는 비용을 최소화하기 위함

- Secure Software 사의 CLASP, Microsoft 사의 SDL 등

 

요구사항 분석 단계에서의 보안 활동

- 보안 항목에 해당하는 요구사항을 식별하는 작업 수행

- 보안 수준을 보안 요소별로 등급을 구분하여 분류

- 보안 요소 : 기밀성, 무결성, 가용성, 인증, 부인 방지

 

설계 단계에서의 보안 활동

- 식별된 요구사항을 소프트웨어 설계서에 반영하고 보안 설계서 작성

- 네트워크, 서버, 물리적 보안, 개발 프로그램 등 환경에 대한 보안통제 기준을 수립하여 설계에 반영

 

구현 단계에서의 보안 활동

- 표준 코딩 정의서 및 소프트웨어 개발 보안 가이드를 준수하여 설계서에 따라 보안 요구 사항 구현

- 단위 테스트 실행

- 시큐어 코딩 : 구현 단계에서 발생할 수 있는 보안 취약점을 최소화하기 위해 보안 요소들을 고려하여 코딩

 

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

- 작성된 보안 설계서를 바탕으로 보안 사항들이 정확히 반영되고 동작되는지 점검

 

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

- 이전 과정을 모두 수행했음에도 발생할 수 있는 보안사고들을 식별하고 발생 시 해결하고 보안 패치 실시

 

세션 통제

세션 통제의 개요

- 서버와 클라이언트의 연결인 세션 간의 연결로 인해 발생하는 정보를 관리

- 요구사항 분석 및 설계 단계에서 진단해야 하는 보안 점검 내용

 

불충분한 세션 관리

- 일정한 규칙이 존재하는 세션ID가 발급되거나 타임아웃이 너무 길게 설정되어 있는 경우 발생

- 세션 하이재킹(세션 정보를 가로채는 공격)을 통해 획득한 세션 ID로 접근할 수 있음

 

잘못된 세션에 의한 정보 노출

- 다중 스레드 환경에서 멤버 변수에 정보를 저장할 때 발생

- 변수의 범위를 제한하는 방법으로 방지 가능

- 싱글톤 패턴에서 발생하는 레이스컨디션으로 인해 동기화 오류가 발생하거나 멤버 변수의 정보가 노출될 수 있음

- 레이스컨디션 : 두 개 이상의 프로세스가 공용 자원을 획득하기 위해 경쟁하고 있는 상태

 

세션 설계 시 고려사항

- 로그아웃 요청 시 할당된 세션이 완전히 제거되도록 함

- 이전 세션이 종료되지 않으면 새로운 세션이 생성되지 못하도록 함

 

입력 데이터 검증 및 표현

입력 데이터 검증 및 표현의 개요

- 입력 데이터로 인해 발생하는 문제들을 예방하기 위해 구현 단계에서 검증해야 하는 보안 점검 항목

- 개발 단계에서 유효성 검증 체계를 갖추고 검증되지 않은 데이터가 입력될 시 처리할 수 있도록 구현해야 함

- 일관된 언어셋을 사용하여 코딩

 

입력 데이터 검증 및 표현의 보안 약점

 

보안 기능

보안 기능의 개요

- 코딩하는 기능인 인증, 접근제어, 기밀성, 암호화들을 올바르게 구현하기 위해 구현 단계에서의 보안 점검 항목

 

보안 기능의 보안 약점

 

시간 및 상태

시간 및 상태의 개요

- 동시 수행을 지원하는 병렬 시스템이나 다수의 프로세스가 동작하는 환경에서 시간과 실행 상태를 관리하여 원활하게 동작되도록 하기 위한 보안 검증 항목

 

TOCTOU 경쟁 조건

- 검사 시점과 사용 시점을 고려하지 않고 발생하는 보안 약점

 

종료되지 않은 반복문 또는 재귀 함수

- 조건이나 논리 구조를 잘못 구성하여 종료할 수 없게 되는 경우 시스템 자원을 끊임없이 사용하여 자원고갈로 인한 서비스 또는 시스템 장애 발생

필기 정리

 

2020 정보처리기사 필기 정리

본 정리 글은 시나공 정보처리기사 필기책과 학교 특강을 참고하여 작성하였습니다. -> 책 정보 확인하기 시나공 정보처리기사 필기 2020년 정보처리기사 NCS기반 전면 개편!정보처리기사 시험은 NCS 학습 모듈 중..

1d1cblog.tistory.com

 

728x90

+ Recent posts