일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- GDPR
- AWS CI/CD
- AWS구축
- opt/anaconda3/bin/jupyter_mac.command
- aws따라하기
- 리눅스기초명령어
- terraform with aws
- aws기본
- 최소권한
- aws기초
- AWS배포자동화
- terraform따라하기
- AWS CodeDeploy
- aws
- cissp
- 리눅스명령어
- 직무분리
- 리눅스기초
- AWS 공격테스트
- terraform기본
- 주피터노트북 설치
- aws terraform
- 리눅스
- AWS실습
- 쉘스크립트
- terraform기초
- blue/green배포
- linux명령어
- Linux
- Cissp sdlc
ysuekkom의 IT study note
[CISSP] SDLC, 소프트웨어 개발 방법론 단계별, 성숙도 모델(CMM), 변경통제 본문
[CISSP] SDLC, 소프트웨어 개발 방법론 단계별, 성숙도 모델(CMM), 변경통제
ysuekkom 2023. 1. 9. 21:32cissp 자격증 취득 및 보안 전반 study note로, 무단 복제 및 배포를 금함
Domain8 Software Development Security 8-2
II. 소프트웨어 개발 방법론
**전 과정에서 고려해야 하는 요소: 보안
1. Project Initiation and planning
>개념적 정의
2. Functional requirements definition
>기능요구사항 정의
>시스템 환경 사양 정의
3. System Desing Specification
>시스템 기능 설계
>상세한 기능 분할
>사전 설계
>코드 설계
4. Development and implementation
>프로그래밍 & 문서화
5. Documentation and common program controls
>프로그래밍 & 문서화
6. Testing and Evaluation Controls
>Test Data
>Data Validation
>Bounds Checkings
7. Certification and Accreditaion
>인증
>인정/인가
8. Transition to Production
>운영 이관
9. Revision/Replacement/Destruction
>개정/대치/폐기
**출제 비율이 굉장히 높으므로, 단계별로 세세하게 파악해야 함
1. 프로젝트 착수 및 계획 작성(Project Initiation and planning) >개념적 정의
-프로젝트의 개념 정의 결정: 1st 비즈니스의 목적 이해
-보안의 필요조건 확인: ex)인증강화, 통신구간 암호화 등
-초기 위험분석 수행
-위협 및 대응책 분석: ex) 단말기 분실(위협) ——> 원격 초기화(대응책: 분실 단말기를 무력화 시킴)
-보안관리의 관여가 가장 효과적인 시기: 초기 단계에서 관리 시, 비용대비 효과 극대화
2. 기능적 요구사항 정의(Functional requirements definition) >기능요구사항 정의 >시스템 환경 사양 정의
-프로젝트 계획 준비: 보안 관련 업무 및 테스트 계획 등
-보안 요구사항 정의
-기능관련 요구사항 정의 단계
3. 시스템 설계 명세(System Desing Specification) >시스템 기능 설계 >상세한 기능 분할 >사전 설계 >코드 설계
-시스템 상세 설계 개발 - 보안 명세 정의
-보안 체크리스트
-테스트 계획의 업데이트: 프로젝트 진척에 따라 테스트 계획은 그에 맞추어 업데이트 되어야 함
-소프트웨어의 기준선(baseline) 설정 = 범위
>보안의 수준=baseline : Acceptable Risk Level에 맞춘 기준선 설정 필요
-제품이 필요한 보안수준을 제공할 것이라는 명세를 고객과 함께 검토
4. 소프트웨어 개발(Development and implementation) >프로그래밍 & 문서화
4.1 소프트웨어 개발(Software Development): 코드 개발 작업 시에 보안 관련 코드가 작성/설치 됨
-단위 테스트의 수행 및 평가: 개발자가 직접 수행
-효율적인 프로그램의 조건: 높은 응집도(Cohesion), 낮은 결합도(Coupling=의존도), 재사용성, 유지보수성의 증가
-기존 secure coding에서 Security Design Architecture으로, 즉 설계 단계에서 보안이 들어가야 한다는 추세**
5. 제품의 문서화(Documentation and common program controls) >프로그래밍 & 문서화
제품의 문서화(사용자 설명서, 설치 안내서, 참고자료 등): 운영절차, 재시작/복구 절차, 로그정책, 변경관리 등
5.1 계약의 종류
-SLA(Service Level Aggrement): 벤더가 고객과 SLA를 체결 할 경우, 운용 및 유지보수의 책임
-ESCROW
SW구매 계약은 '현 시점'에서 일어남 ------> S/W 유지보수 계약은 '미래시점' 기준으로 유지보수 미이행 위협이 존재함
**대응책: 소스코드 설계문서, OS 정보, 컴파일러 버전 등 개발 환경에 대한 정보를 제 3자 기업에 위탁 보관하는 제도
6. Testing and Evaluation Controls >Test Data >Data Validation >Bounds Checkings
7. Certification and Accreditaion
>인증(certification): 제공자의 주장-기술적으로 인증기관에서 검토하는 것=인증
>인정/인가(accreditation): 경영자의 공시적인 선언-제품에 대한 책임을 수락함
Q)SDLC의 마지막 단계는? a.인정(1st) b.인증 c.폐기/소멸(2nd)
Q)변경관리(Change Management)의 마지막 단계는? a.인정 b.인증 c.폐기/소멸
8. Transition to Production >운용/유지보수(Maintenance/Operation)
>운영 이관
-주기적인 감사/테스트
.병행테스트: 서로 다른 시스템 간 기능 비교 테스트
.파일럿 테스트: 시범 도입, 우선 도입
.회귀 테스: 업그레이드, 이전 테스트 항목 포함
.사회성 테스트: 호환성 테스트
>제품의 설치 및 운영: Hardening(경화) == Simple: 꼭 필요한 기능만 있게 하여 단단하게 만드는 기술
9. Revision/Replacement/Destruction
>개정/대치/폐기
III. 소프트웨어 성숙도 모델
**조직/프로세스를 봄: 정보기술 프로세스 능력 평가 및 개선모델
각 성숙도 단계별 이행하여야 할 핵심 프로세스 및 각 프로세스 별 이행방법을 제시:조직 수준에 맞는 프로세스별 이행 방법을 제시하기 위해 단계를 제시하는 것으로, 좋은 조직이 좋은 서비스와 소프트웨어를 만들 가능성이 높다는 전제하에 제시된 모델
1. CMM의 필요성
-각 조직에 맞는 프로세스 개선에 대한 로드맵을 제공
2. 기대효과
-시행착오 최소화, 효율적 운영이 가능함(훈련비용 절감)
-생산성 향상, 품질 오차율 감소, ROI 향상 등
3. CMM 모델 각 단계
-1단계(Initial): 프로세스를 예측할 수 없고 관리가 빈약하며, 작업자의 능력에 의한 성과 단계 = 혼돈, 성공사례 없음 = 전형적인 스타트업
-2단계(반복=Repeatable): 조직의 정책에 따라 가이드라인 제시, 성공 사례들이 반복되는 단계 = 시행착오 감소, 신규 입사 시 사수가 교육하는 형태로, 필요성이 확립되고 문서화되고 준수되는 단계
-3단계(정의됨=Defined): 조직차원의 프로세스가 정의되고 문서화 됨 = 프로세스의 특징이 정의되고 상당히 잘 이해되는 단계
-4단계(관리됨=Managed): 수치로 나타나는 품질 목표가 설정됨 = 관리, 수치, 평가 = 프로세스가 측정되고 통제되는 단계
-5단계(최적화/고도화=Optimizing): 지속적인 프로세스 리엔지니어링 = 고도화 = 프로세스 혁신에 초점을 맞추는 단계
IV. 변경통제
변화 제어/관리(Change Control & Management)
무결성 훼손 > 변경관리 동반 필수 > 사전검토 > 변경승인 > test 기록 관리 필수
1. 변화 제어 및 관리가 보안의 이슈가 되는 이유
-데이터의 무결성에 의존하는 비즈니스 생존원리
-변경은 보안 모델의 무결성을 훼손할 수 있음 —————>변경관리 동반이 필수적**
2. 변화 제어/관리의 주요 사항
모든 변경을 철저히 검토/승인되고, 테스트되며, 기록되어야 함
-변경된 시스템은 인가 과정을 거쳐야 함
-벤더가 제공한 변경사항도 모두 검토
-경영자에게 변화내용을 반드시 보고해야함 = 경영진의 공식적인 승인 = 인정
Q)변경 통제의 마지막 단계는? a.인정 b.인증 c.폐기/소멸
'CISSP > domain8 Software Development Security' 카테고리의 다른 글
[CISSP] 소프트웨어 개발 보안, SDLC 방법론 및 폭포수 모델 등 (0) | 2023.01.02 |
---|