행정안전부 가이드(Guide)에 따른 49개 항목의 핵심 체계입니다.
| 보안 약점 유형 | 기술적 정의 및 상세 설명 | 주요 점검 항목 (49개 중 핵심) |
|---|---|---|
| 입력데이터 검증 및 표현 | 프로그램 외부 입력값에 대한 유효성 검증 미비로 발생하는 취약점 | 구조화된 질의 언어(Structured Query Language, 이하 SQL) 삽입, 크로스 사이트 스크립팅(Cross-Site Scripting, 이하 XSS), 경로 조작 및 자원 삽입 |
| 보안 기능 | 인증, 인가, 암호화, 권한 관리 등 보안 기능의 부적절한 구현 | 적절하지 않은 인증, 취약한 암호화 알고리즘(Algorithm) 사용, 중요 정보 평문 저장/전송 |
| 시간 및 상태 | 동시 실행 환경에서 공유 자원 접근 순서 및 타이밍(Timing) 오류 | 검사 시점과 사용 시점(Time of Check to Time of Use, 이하 TOCTOU) 경쟁 조건, 교착 상태 |
| 에러 처리 | 오류 발생 시 시스템 내부 정보가 노출되거나 예외 상황을 악용 | 오류 메시지(Message)를 통한 정보 노출, 부적절한 예외 처리 |
| 코드 오류 | 개발자의 실수로 인한 자원 해제 미흡 및 타입(Type) 오인 | 널 포인터(Null Pointer) 역참조, 부적절한 자원 해제, 스택(Stack) 오버플로우(Overflow) |
| 캡슐화 | 중요 데이터(Data)나 내부 구조가 불필요하게 외부에 노출되는 현상 | 제거되지 않은 디버그(Debug) 코드, 시스템 데이터(Data) 정보 노출, 사적인 멤버(Member)에 공공적 접근 허용 |
| API 오용 | 보안에 취약하거나 권장되지 않는 응용 프로그램 프로그래밍 인터페이스(Application Programming Interface, 이하 API)의 잘못된 사용 | 취약한 함수 사용(예: gets(), strcpy()), 질의 문자열(Query String) 내 개인정보 노출 |
개발 단계에 보안 기술을 접목하여 취약점을 전이(Shift-Left)시키는 전략입니다.
| 구분 | 정적 분석 (SAST) | 동적 분석 (DAST) | 상호작용 분석 (IAST) |
|---|---|---|---|
| 분석 대상 | 소스 코드(Source Code), 바이너리(Binary) | 실행 중인 애플리케이션(Application) | 런타임(Runtime) 시 에이전트(Agent) 분석 |
| 장점 | 초기 발견, 논리 오류 탐지 | 런타임 오류, 구성 오류 탐지 | 높은 정확도, 실시간 분석 |
| 단점 | 오탐(False Positive) 발생 빈도 | 모든 경로 테스트(Test) 불가 | 시스템 부하 발생 가능성 |
보안 약점을 악용한 웹(Web) 공격에 대한 구체적인 대응 기술입니다.
PreparedStatement 등 매개변수화된 질의를 사용하여 입력값의 코드 실행 방지.;), 주석(--) 등 특수문자 차단 필터링(Filtering) 적용.< → <).소프트웨어(Software) 개발 보안은 단순히 기술적인 코딩(Coding) 문제를 넘어 DevSecOps와 공급망 보안으로 확장되어야 합니다.