본문 바로가기
IT기술노트/디지털보안

시큐어코딩(Secure Coding)

by 비트코기 2021. 2. 27.
반응형

I. 시큐어코딩의 개요

가. 시큐어코딩(Secure Coding)의 정의

   - 소프트웨어를 개발하는 모든 과정에서 프로그래밍 시 실수로 혹은 고의적으로 오류나 약점, 취약점이 삽입되지 않도록 프로그래밍하는 개발 방법

나. 정부 및 공공기관 의무적용을 통한 국가 정보화 사업 SW개발보안 활성화 가이드


II. 시큐어코딩 검증항목 유형과 보안 취약점 종류

유형

확인 취약점

설명

입력데이터

검증 및 표현

- SQL 삽입, 자원 삽입 등 19

- 프로그램 입력값에 대한 검증 누락 또는 부적절한 검증, 데이터의 잘못된 형식 지정으로 인해 발생할 수 있는 보안 약점

보안기능

- 부적절한 인가, 중요한 자원에 대한 잘못된 권한허용 등 17

- 보안기능을 적절하지 않게 구현 시 발생할 수 있는 보안약점

시간 및 상태

- 경쟁조건, 제대로 제어되지 않은 재귀 등 3

- 동시, 거의 동시 수행을 지원하는 병렬 시스템

- 하나 이상의 프로세스가 동작하는 환경에서 시간 및 상태를 부적절하게 관리하여 발생

에러처리

- 오류 메시지 통한 정보 노출, 오류 상황 대응 부재 등 3

- 에러를 처리하지 않거나, 불충분하게 처리하여 에러정보에 중요정보가 포함되어 발생

코드오류

- 널 포인터 역참조, 부적절한 자원 해제 등 9

- 타입변환 오류, 자원의 부적절한 반환 등과 같이 개발자가 범할 수 있는 코딩 오류로 인해 유발

캡슐화

- 제거되지 않고 남은 디버그 코드, 시스템 데이터 정보 노출 등 2

- 중요한 데이터 또는 기능성을 불충분하게 캡슐화 했을 때 인가되지 않은 사용자에게 데이터 누출이 가능

API 오용

- DNS Lookup에 의한 보안결정, 위험하다고 알려진 함수 사용 등 5

- 의도된 사용에 반하는 방법으로 API를 사용하거나 보안에 취약한 API를 사용하여 발생

 

반응형

'IT기술노트 > 디지털보안' 카테고리의 다른 글

랜섬웨어(Ransomware)  (0) 2021.02.28
악성코드  (0) 2021.02.28
코드 난독화(Code Obfuscation)  (0) 2021.02.27
난독화(Obfuscation)  (0) 2021.02.27
스마트폰 포렌식  (0) 2021.02.26
네트워크 포렌식  (0) 2021.02.26
스테가노그래피(Steganography)  (0) 2021.02.26
슬랙 스페이스(Slack Space)  (0) 2021.02.26

댓글