서브메뉴

본문

전자정부 SW 개발 운영자를 위한 소프트웨어 개발보안 가이드 (전자정부 SW 개발.운영자를 위한, 개정판)
전자정부 SW 개발 운영자를 위한 소프트웨어 개발보안 가이드 (전자정부 SW 개발.운영자를 위한, 개정판)
저자 : 행정자치부^한국인터넷진흥원
출판사 : 진한엠앤비
출판년 : 2017
ISBN : 9791129001023

책소개

『전자정부 SW 개발 운영자를 위한 소프트웨어 개발보안 가이드』는 구현단계(코딩)의 보안약점 제거가 주요 내용인 기존 가이드에서 나아가 분석/설계 단계로 적용 범위가 확대했다. 가령 CSRF의 경우 기존 가이드에서 GET 방식으로 데이터 전송하는 것을 지양하고 POST 방식의 전송을 구현하는 것으로 보완하도록 하고 있으나, 신규 가이드에서는 보안토큰(Token)을 활용하는 방안이 가이드 되고 있다.
[교보문고에서 제공한 정보입니다.]

출판사 서평

본 도서 [전자정부 SW 개발·운영자를 위한 소프트웨어 개발보안 가이드]는 행정자치부에서 2017년 초에 공개한 개정본이다.

큰 틀에서 기존 7개 유형의 47개 보안약점항목은 그대로 유지되고 있지만 몇 가지 큰 변화가 있다. 우선 소프트웨어 개발주기(SW Develope Lifecycle) 전 과정에 대한 보안요건 준수 활동이 강화되었다. 기존 가이드에서는 구현단계(코딩)의 보안약점 제거가 주요 내용이었으나, 분석/설계 단계로 적용 범위가 확대되었다. 분석단계에서 보안 요구정의 항목과 요구사항정의서, 요구사항 추적표 사례가 수록되었고 분석/설계 단계에 적용해야 하는 보안설계 유형 4가지가 신규로 추가되었다.

두 번째는 보안약점 예제 코드와 약점보완 방안이 정비되었다. 기존에 일부 고유한 보안약점의 특징이 명확하지 않던 소스코드를 정제하였고, 약점 보완방안(안전한 코드 구현방안)이 보강되었다. 가령 CSRF의 경우 기존 가이드에서 GET 방식으로 데이터 전송하는 것을 지양하고 POST 방식의 전송을 구현하는 것으로 보완하도록 하고 있으나, 신규 가이드에서는 보안토큰(Token)을 활용하는 방안이 가이드 되고 있다.

소스코드도 기존에 Java 와 C 언어를 예제코드로 제시하였지만, 신규 가이드에서는 Java와 C# 코드를 제공하고 있다. 개발자가 생성하는 소스코드에서 시큐어코딩을 적용하는 방식 외에도 공통필터나 validator, Interceptor를 활용하여 입력 값 검증을 하는 프레임워크 기반환경의 개발보안 방안도 가이드 하고 있다.
[교보문고에서 제공한 정보입니다.]

목차정보

1장. 개요
제1절 배경
제2절 가이드 목적 및 구성

2장. 소프트웨어 개발보안
제1절 개요
1. 소프트웨어 개발보안 필요성
제2절 소프트웨어 개발보안 체계
제3절 소프트웨어 개발보안 방법론
1. 소프트웨어 개발 생명주기 이해
2. 소프트웨어 개발 방법론 이해
3. 소프트웨어 개발보안 방법론 이해
4. 소프트웨어 개발보안 적용 사례
5. 소프트웨어 개발보안 적용 효과
제4절 프로젝트 참여 직무별 보안활동
1. 역할(Role)별 보안활동

3장. 분석·설계 단계 SW보안강화 활동
제1절 보안항목 식별
1. 정보에 대한 보안항목 식별
2. 기능에 대한 보안항목 식별
3. 구현 단계 기준과의 관계
제2절 기능설계시 보안요구항목 적용 방법
제3절 보안요구사항 정의 및 설계시 고려사항
1. 입력데이터 검증 및 표현
2. 보안기능
3. 에러처리
4. 세션통제

4장. 구현 단계 시큐어코딩 가이드
제1절 입력데이터 검증 및 표현
1. SQL 삽입
2. 경로 조작 및 자원 삽입
3. 크로스사이트 스크립트
4. 운영체제 명령어 삽입
5. 위험한 형식 파일 업로드
6. 신뢰되지 않는 URL 주소로 자동접속 연결
7. XQuery 삽입
8. XPath 삽입
9. LDAP 삽입
10. 크로스사이트 요청위조
11. HTTP 응답분할
12. 정수형 오버플로우
13. 보안기능 결정에 사용되는 부적절한 입력값
14. 메모리 버퍼 오버플로우
15. 포맷 스트링 삽입
제2절 보안기능
1. 적절한 인증 없는 중요기능 허용
2. 부적절한 인가
3. 중요한 자원에 대한 잘못된 권한 설정
4. 취약한 암호화 알고리즘 사용
5. 중요정보 평문저장
6. 중요정보 평문전송
7. 하드코드된 비밀번호
8. 충분하지 않은 키 길이 사용
9. 적절하지 않은 난수값 사용
10. 하드코드된 암호화 키
11. 취약한 비밀번호 허용
12. 사용자 하드디스크에 저장되는 쿠키를 통한 정보노출
13. 주석문 안에 포함된 시스템 주요정보
14. 솔트 없이 일방향 해시함수 사용
15. 무결성 검사 없는 코드 다운로드
16. 반복된 인증시도 제한 기능 부재
제3절 시간 및 상태
1. 경쟁조건: 검사 시점과 사용 시점(TOCTOU)
2. 종료되지 않는 반복문 또는 재귀함수
제4절 에러처리
1. 오류 메시지를 통한 정보노출
2. 오류 상황 대응 부재
3. 부적절한 예외 처리
제5절 코드오류
1. Null Pointer 역참조
2. 부적절한 자원 해제
3. 해제된 자원 사용
4. 초기화되지 않은 변수 사용
제6절 캡슐화
1. 잘못된 세션에 의한 데이터 정보노출
2. 제거되지 않고 남은 디버그 코드
3. 시스템 데이터 정보노출
4. Public 메서드로부터 반환된 Private 배열
5. Private 배열에 Public 데이터 할당
제7절 API 오용
1. DNS lookup에 의존한 보안결정
2. 취약한 API 사용

부록
제1절 설계 단계 보안요구항목
제2절 구현 단계 SW보안약점항목
제3절 설계 단계 보안요구항목별 적용 계획서
제4절 보안요구항목 설계 산출물 적용 예
제5절 용어정리
[교보문고에서 제공한 정보입니다.]

QuickMenu