[재무재표] 위메이드 사업보고서(2020.12)

읽으면 진짜 재무제표 보이는 책   위메이드 사업보고서(2020.12) [재무상태표] 2020년 12월 31일 현재 (단위: 십억원) 자산 220 부채 22 자본 198

[ECSP] Module 01: Introduction to Secure Coding


Module 01: Introduction to Secure Coding
 - Explain the need for secure coding
 - Discuss the vulnerabilities statistics and programming errors
 - Discuss why security mistakes are made
 - Discuss the need for secure programming and why secure coding is important
 - Determine the building blocks of software security and explains the various types of security vulnerabilities
 - Determine the software vulnerability cycle, and types of attacks
 - Explain the various secure coding principles and guidelines for developing the secure codes
 - Prepare a checklist for software security mechanisms


모듈 01 : 시큐어 코딩 소개
  - 시큐어 코딩에 대한 필요성을 설명
  - 취약점 통계 및 프로그래밍 오류에 대해 논의
  - 왜 보안 실수 생기는지 논의
  - 시큐어 프로그램의 필요성과 시큐어 코딩이 중요성에 대해 논의
  - 소프트웨어 보안의 빌딩 블록을 이해하고 보안 취약점 다양한 유형에 대해 설명
  - 소프트웨어 취약점주기 및 공격방법에 대해 이해
  - 시큐어 코드를 개발하기 위한 다양한 시큐어 코딩 원칙과 지침을 설명
  - 소프트웨어 보안 메커니즘에 대한 체크리스트를 준비



< 시큐어코딩(secure coding)>

  '소프트웨어(SW) 개발보안'은 SW개발과정에서 개발자 실수, 논리적 오류 등으로 인해 SW에 내포될 수 있는 보안취약점(vulnerability)의 원인, 즉 보안약점(weakness)을 최소화하는 한편, 사이버 보안위협에 대응할 수 있는 안전한 SW를 개발하기 위한 일련의 보안활동을 위미한다. 광의적 의미로는 SW개발생명주기(SDLC, Software Development Lifecycle)의 각 단계별로 요구되는 보안활동을 모두 포함하며, 협의적 의미로는 SW개발과정 중 소스코드 구현단계에서 보안약점을 배제하기 위한 '시큐어코딩(secure coding)'을 의미한다.


<소프트웨어 보안약점 유형>
  • 입력데이터 검증 및 표현
    • 프로그램 입력값에 대한 검증 누락 또는 부적절한 검증. 데이터의 잘못된 형식지정으로 인해 발생할 수 있는 보안약점
    • 예) SQL삽입, 자원삽입, 크로스사이트스크립트 등
  • 보안기능
    • 보안기능(인증, 접근제어, 기밀성, 암호화, 권한 관리 등)을 적절하지 않게 구현시 발생할 수 있는 보안약점
    • ㅇ) 부적절한 인가 허용, 중요정보 평문저장, 하드코드된 패스워드 등
  • 시간 및 상태
    • 동시 또는 거의 동시 수행을 지원하는 병렬 시스템, 하나 이상의 프로세스가 동작되는 환경에서 시간 및 상태를 부적절하게 관리하여 발생할 수 있는 보안약점
    • 예) 경쟁조건(TOCTOU), 제어문을 사용하지 않는 재귀함수 등
  • 에러처리
    • 에러를 처리하지 않거나, 불충분하게 처리하여 에러정보에 중요정보(시스템 등)가 포함될 떄 방생할 수 있는 보안약점
    • 예) 오류상황 대응 부재, 오류메세지를 통한 정보노출 등
  • 코드오류
    • 타입변환 오류, 자원(메모리 등)의 부적절한 반환 등과 같이 개발자가 범할 수 있는 코딩오류로 인해 유발되는 보안약점
    • 예) 널 포인터 역참조, 부적절한 자원 해제 등
  • 캡슐화
    • 중요한 데이터 또는 기능성을 불충분하게 캡슐화 하였을 때 인가되지 않는 사용자에게 데이터의 누출이 가능해지는 보안약점
    • 예) 제거되지 않고 남은 디버거 코드, 시스템 데이터 정보노출 등
  • API 오용
    • 의도된 사용에 반하는 방법으로 API를 사용하거나, 보안에 취약한 API를 사용하여 발생할 수 있는 보안약점
    • 예) DNS lookup에 의존한 보안결정 등

참고자료

 1. "복지 기업 CEO 니키:: 네이버 블로그", "Secure Coding 이란?", http://chogar.blog.me/80161593480
 2. "복지 기업 CEO 니키:: 네이버 블로그", "Secure Coding 범위", http://chogar.blog.me/80163290213

댓글

이 블로그의 인기 게시물

[C#][System.IO.Directory.GetFiles] 지정된 폴더의 파일목록 가져오기

[C#] File to Byte Array, Byte Array to File

[WPF][WebBrowser] Allow Blocked Content Setting