정보처리기사 기출 핵심 [49] 보안 소프트웨어 개발과 SDL 완전 정복

보안 소프트웨어 개발의 중요성

개발 후 보안 결함을 수정하는 비용은 설계 단계의 30배 이상입니다. 정보처리기사 시험에서는 SDL(Security Development Lifecycle), OWASP SAMM, 위협 모델링 도구, 보안 코드 리뷰가 핵심 출제 범위입니다.

Microsoft SDL(Security Development Lifecycle)

소프트웨어 개발 전 과정에 보안을 통합하는 방법론입니다.

  • 훈련(Training): 개발자 보안 교육. 최소 연 1회
  • 요구사항(Requirements): 보안 요구사항 정의. 개인정보 영향 평가
  • 설계(Design): 위협 모델링(STRIDE), 공격 표면 분석
  • 구현(Implementation): 보안 코딩 가이드라인, 금지 API 목록
  • 검증(Verification): 정적 분석, 동적 분석, 퍼징(Fuzzing)
  • 릴리스(Release): 인시던트 대응 계획, 최종 보안 리뷰(FSR)
  • 대응(Response): 취약점 보고 접수, 패치 배포

OWASP SAMM(Software Assurance Maturity Model)

소프트웨어 보안 프로그램의 성숙도를 측정하고 개선하는 프레임워크입니다.

  • 거버넌스: 전략·지표, 정책·컴플라이언스, 교육·지도
  • 설계: 위협 평가, 보안 요구사항, 보안 아키텍처
  • 구현: 보안 빌드, 보안 배포, 결함 관리
  • 검증: 아키텍처 평가, 요구사항 검증, 보안 테스트
  • 운영: 인시던트 관리, 환경 관리, 운영 관리
  • 성숙도 레벨 1~3: 초기 → 관리 → 최적화

퍼징(Fuzzing) 테스트

무작위 또는 변형된 입력값을 자동으로 생성해 예외 상황을 찾는 테스트 기법입니다.

  • 블랙박스 퍼징: 내부 구조 모르고 입력 변형
  • 화이트박스 퍼징: 코드 커버리지 기반으로 입력 생성. AFL, libFuzzer
  • 발견 가능 결함: 버퍼 오버플로, NULL 포인터 역참조, 무한 루프, 포맷 스트링

공급망 보안(Supply Chain Security)

  • 의존성 취약점: Log4Shell(CVE-2021-44228)은 단 하나의 Java 라이브러리로 전 세계 영향
  • SCA(Software Composition Analysis): 오픈소스 의존성 취약점 지속적 모니터링
  • SBOM: 소프트웨어 구성 요소 목록. 미국 행정명령 EO 14028에서 의무화

정보처리기사 기출 핵심 정리

  • SDL = 훈련·요구사항·설계·구현·검증·릴리스·대응 7단계
  • OWASP SAMM = 5개 비즈니스 기능, 레벨 1~3 성숙도
  • 퍼징 = 무작위 입력으로 버퍼 오버플로·메모리 오류 탐지
  • SBOM = 소프트웨어 구성 요소 목록, 공급망 투명성
  • 개발 후 수정 비용 = 설계 단계의 30배(Shift Left)

Leave a Comment