ETC

[보안] MS-SDL이란 (마이크로소프트 보안개발라이프사이클)

쟈비쓰 2022. 11. 7. 08:04
728x90

MS-SDL (마이크로소프트 보안개발라이프사이클)

  • 보안 개발 방법론의 대표적인 사례
  • 안전한 소프트웨어 개발을 위해 소프트웨어 생명주기에 적용할 각 단계별 보안활동을 정의

SD3 + C

  • Secure by Design
  • Secure by Default
  • Secure in Deployment
  • Communications

순서

  1. 교육 (Training)
    • 소프트웨어 개발 보안 교육 (core training)
  2. 계획/분석 (Requirement)
    • 보안요구사항 수립
    • 소프트웨어의 질과 버그 경계 정의 (Define quality gates/bug bar)
    • 보안과 프라이버스 위험 분석 (Analyze security and privacy risk)
  3. 설계 (Design)
    • 공격 영역 분석 (Attack surface analysis)
    • 위협 모델링 (Threat Modeling)
  4. 구현 (Implementation)
    • 도구 명세 (Specify Tool)
    • 금지된 함수 사용 제한 (Enforce banned functions)
    • 정적 분석 (Static analysis)
      • 코드를 실행하지 않고 시행하는 분석 방법
      • 코드를 읽어서 하는 것인데 사람이 직접 읽기보단 효율을 위해 정적 분석 툴을 사용함
  5. 시험/검증 (Verification)
    • 동적/퍼징 테스팅 (Dynamic/fuzz testing)
    • 공격 영역/위협 모델 검증 (Verify threat models/attack surface)
  6. 배포/운영 (Release)

      ⇒ 애플리케이션의 출시 후 보안 계획 

    • 사고 대응 계획 (Response plan)
    • 최종 보안 검토 (Final security)
    • 기록 보관 (Release archive)

7. 대응 (Response)

  • 사고 대응 수행 (Response execution)

 

위협 분류 (STRIDE)

  1. 신분 위장 (Spoofing identity)
    • 거짓된 identity로 시스템 접근 권한을 획득한다
  2. 데이터 변조 (Tampering with data)
    • 불법적인 데이터를 수정한다
  3. 부인 (Repudiation)
    • 사용자가 자신이 수행한 특정 액션이나 트랜잭션을 부인한다
  4. 정보 유출 (Information disclosure)
    • 유출되지 말아야 하는 개인정보가 유출된다
  5. 서비스 거부 (Denial of Service, DoS)
    • 시스템 또는 애플리케이션이 정상적으로 수행되지 않도록 한다
  6. 권한 상승 (Elevation of Privilege)
    • 제한된 권한을 가진 사용자가 권한 있는 사용자의 권한을 습득해 원하는 기능을 수행한다

위험도 계산 (DREAD)

낮은 위험도 ~ 높은 위험도 : 0 ~ 10

총 5가지 항목에 대해 50점 만점

  1. 예상 피해 (Damage potential)
    • 피해가 얼마나 클 것인가?
  2. 재현 확률 (Reproducibility)
    • 공격이 성공할 확률은 얼마인가?
  3. 공격 용이도 (Exploitability)
    • 공격을 위해 얼마나 많은 노력과 기술이 필요한가?
  4. 영향을 받는 사용자 (Affected users)
    • 위협이 악용되어 공격이 이뤄졌다고 할 때 얼마나 많은 사람이 영향을 받는가?
  5. 발견 용이성 (Discoverability)
    • 얼마나 쉽게 취약성이 발견되는가?
728x90