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 |
댓글