​변호사가 직접 작성한 지식글만 게재합니다.

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

8월 13일 업데이트됨


다음은 행정안전부에서 분류한 소프트웨어의 보안취약점 유형이다. 이는 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.) 기고.

Today's Pick

All post