[정보보안] 소프트웨어 보안약점 8가지 유형
by
딸둘아비
·
2024년 07월 21일
KISA의 소프트웨어 개발보안 가이드 및 소프트웨어 보안약점 진단 가이드에 명시된 소프트웨어 개발 시 발생할 수 있는 보안 취약점입니다. 분석·설계단계에서는 4가지 보안 취약점을, 구현단계에서는 7가지 보안 취약점을 진단하도록 하고 있습니다.
보안약점 |
설명 |
분석· 설계단계 |
구현단계 |
입력 데이터 검증 및 표현 |
- 프로그램 입력값에 대한 검증 누락 또는 부적절한 검증, 데이터의 잘못된 형식 지정 때문에 발생할 수 있는 보안 취약점
- SQL 삽입, XML 삽입, 코드 삽입, 경로 조작, 자원 삽입, XSS, OS 명령어 삽입, CSRF, SSRF, HTTP 응답 분할, 버퍼 오버플로우 등
|
√ |
√ |
보안 기능 |
- 보안 기능(인증, 인가, 권한 관리, 암호화 등)을 적절히 구현하지 않았을 때 발생할 수 있는 보안 취약점
- 적절한 인증없는 중요 기능 허용, 부적절한 인가, 중요한 자원에 대한 잘못된 권한 설정, 취약한 암호화 알고리즘 사용 등
|
√ |
√ |
시간 및 상태 |
- 동시 또는 거의 동시 수행을 지원하는 병렬 시스템, 하나 이상의 프로세스가 동작하는 환경에서 시간이나 상태를 부적절하게 관리하여 발생할 수 있는 보안 취약점
- 경쟁 조건, 종료되지 않는 반복문 또는 재귀 함수
|
|
√ |
에러 처리 |
- 에러를 처리하지 않거나 불충분하게 처리하여 에러 메세지에 중요 정보(시스템 등)가 포함될 때 발생할 수 있는 보안 취약점
- 오류 메세지 정보 노출, 오류 상황 대응 부재, 부적절한 예외 처리
|
√ |
√ |
코드 오류 |
- 타입 변환 오류, 자원(메모리 등)의 부적절한 반환 등과 같이 개발자가 범할 수 있는 코딩 오류로 말미암아 유발되는 보안 취약점
- Null 포인트 역참조, 부적절한 자원 해제, 해제된 자원 사용, 초기화되지 않는 변수 사용, 신뢰할 수 없는 데이터의 역직렬화
|
|
√ |
캡슐화 |
- 중요한 데이터 또는 기능을 불충분하게 캡슐화하였을 때 인가되지 않는 사용자에게 데이터 누출이 가능해지는 보안 취약점
- 잘못된 세션에 의한 데이터 정보 노출, 제거되지 않고 남은 디버그 코드, Public 메소드로부터 반환된 Private 배열, Private 배열에 Public 데이터 할당
|
|
√ |
API 오용 |
- 의도된 사용에 반하는 방법으로 API를 사용하거나 보안에 취약한 API를 사용하여 발생할 수 있는 보안 취약점
- DNS Lookup에 의존한 보안 결정, 취약한 API 사용
|
|
√ |
세션 통제 |
- 인증 시 일정한 규칙이 존재하는 세션ID(동일, 반복, 생성룰 추정)가 발급되거나 세션 타임아웃을 너무 길게 설정한 경우, 서로 다른 세션 간에 데이터를 공유하는 경우 공격자에 의해 사용자 권한이 도용될 수 있는 보안 취약점
- 사용자 권한 도용, 잘못된 세션에 의한 데이터 정보 노출
|
√ |
|
Tags: IT zest > 정보보안기사소프트웨어
You may also like...