본문 바로가기

보안/시큐어코딩

[금융보안원] 금융전산시스템 개발자를 위한 보안 과정

PART1. 안전한 소프트웨어 개발방법론


1. 시큐어코딩의 개요

    - 소프트웨어 개발 보안의 필요성을 이해한다.

    - 보안 사고 사례를 이해한다.

    - 다양한 보안 취약점 데이터베이스를 활용할 수 있다.

    - 행정자치부 시큐어코딩 가이드를 활용할 수 있다.

    - 금융 정보 보호 Compliance 이해


2. 개발 보안 방법론

    - 개발 보안 방법론을 이해한다.

    - OWASP CLASP를 이해한다.

    - MS-SDL을 이해한다.

    - 소프트웨어개발 보안 가이드를 이해한다.


PART2. 안전한 소프트웨어를 만드는 시큐어코딩 기법


3. 웹 애플리케이션 보안을 위한 기본 지식

    - 실습환경을 설정한다.

    - HTTP 와 웹 구조 를 이해한다.

    - 인증(Authentication) 과  권한부여(Authorization)을 이해한다.

    - 세션(Session) 과 쿠키(Cookie)를 이해한다. 

    - 인코딩 스키마 를 이해한다.

    - 정규식(regex) 을 이해한다.

    - 로그관리와 로그 분석 방법을 이해한다.


4. 보안취약점 제거를 위한 코딩 기법

    - 입력값 검증 부재로 인한 인젝션 취약점을 이해하고 제거한다. 

    - 세션과 인증관리 취약점을 이해하고 제거한다.

    - 크로스사이트 스크립팅(XSS) 취약점을 이해하고 제거한다.

    - 크로스사이트 요청 위조(CSRF) 취약점을 이해하고 제거한다.

    - 파일 업로드/다운로드 취약점을 이해하고 제거한다.

    - 민감한 데이터 노출 취약점을 이해하고 제거한다.

    - 잘못된 접근 제어 취약점을 이해하고 제거한다.

    - 안전하지 않은 리다이렉트와 포워드 취약점을 이해하고 제거한다.

    - 기타 입력값 검증부재로 인해 발생되는 취약점을 이해하고 제거한다.

    - 잘못된 관리 정책으로 인해 발생되는 취약점을 이해하고 제거한다.


5. 안전하지 않은 코딩 스타일

   - 제대로 처리되지 않은 예외의 위험성을 이해한다.

   - 널포인트 체크없이 사용되는 객체의 위험성을 이해한다.

   - 스레드의 공유데이터에 대한 동기화 처리의 필요성을 이해한다.

   - 캡슐화된 배열의 잘못된 사용을 이해한다.

   - 적절하지 않은 API사용의 위험성을 이해한다.

   - 코드에 남아있는 커맨트, 디버깅코드의 위험성을 이해한다.


PART3.  소프트웨어 보안 강화 기법


6. 오픈소스 보안 프레임워크 활용기법

   - ESAPI 라이브러리를 이해한다.

   - ESAPI 라이브러리의 기본 사용방법을 이해한다.

   - ESAPI 라이브러리를 커스터마이징해 활용하는 방법을 이해한다.


7. 보안약점 및 취약점 진단도구 활용

   - 정적 분석툴을 이용해 소스코드 취약점을 진단한다.

   - 정적 분석 진단 결과를 이해한다.

   - 동적 분석툴을 이용해 소스코드 취약점을 진단한다.

   - 동적 분석 진단 결과를 이해한다.


PART4. 최신 금융 정보 보안 이슈


8. 최신 금융 정보 보안 이슈

   - IT 10대 이슈

   - Non-ActiveX

   - 핀테크

   - 다양한 전자금융 보안 사고 유형

   - 다양한 인증방법으로 보안 강화