소프트웨어의 보안취약점 유형


다음은 행정안전부에서 분류한 소프트웨어의 보안취약점 유형이다. 이는 CWE(Common Weakness Enumeration) 분류방법 중의 하나인 ‘7 Pernicious Kingdoms' 분류체계를 준용한 것이다.

1. 입력데이터 검증 및 표현

프로그램 입력 값에 대한 검증 누락 또는 부적절한 검증이나 사용되는 데이터의 잘못된 형식지정으로 인해 발생할 수 있는 보안취약점. XSS, SQL삽입, 버퍼 오버플로우, 운영체제 명령어 삽입 공격이 대표적.

2. API 이용

의도된 사용에 반하는 방법으로 API를 사용하거나, 보안에 취약한 API를 사용하여 발생할 수 있는 보안취약점. gets(), J2EE: System.exit()함수 등이 대표적

3. 보안특성

보안특성(인증, 접근제어, 기밀성, 암호화, 권한 관리 등)을 부주의하게 구현시 발생할 수 있는 보안취약점. 부적절한 인가, 하드코드된 패스워드, 취약한 암호화 알고리즘 사용 등이 대표적

4. 시간 및 상태

동시 또는 거의 동시 수행을 지원하는 병렬시스템, 프로세스 또는 스레드 환경에서 시간 및 상태를 부적절하게 관리하여 발생할 수 있는 보안취약점.

5. 에러처리

에러를 불충하게 처리하거나 전혀 처리를 하지 않거나 에러 정보에 과도하게 많은 정보가 포함될 때 발생할 수 있는 보안취약점.

6. 코드품질

복잡한 소스코드로 인해 관리성, 유지보수성, 가독성이 저하되어 소프트웨어 개발ㆍ유지보수시 타입변환 오류, 자원(메모리 등)의 부적절한 반환 등과 같은 개발자가 범할 수 있는 코딩오류로 인해 유발되는 보안취약점.

7. 캡슐화

중요한 데이터 또는 기능성을 불충분하게 캡슐화하였을 때 인가되지 않은 사용자 또는 시스템에게 데이터 누출이 가능해지는 보안취약점.

* 법무법인 민후 김경환 대표변호사, 블로그(2012. 4. 4.) 기고.

  • Instagram

서울특별시 강남구 테헤란로 134 포스코타워역삼 21층

02-532-3483

​바로가기

© 2020 by NEPLA. All Rights Reserved.