보안 취약점은 컴퓨터보안 체계에서 보호 장치가 비어 있거나 약해져 공격자가 의도하지 않은 동작을 유도할 수 있는 상태를 말한다.[1][2] 이런 약점은 사용자 인증, 네트워크 보안, 데이터 보안처럼 서로 다른 계층에 동시에 나타날 수 있으므로, 단일 점검만으로는 전체 위험을 판단하기 어렵다.[2]
1. 개요
보안 취약점은 결함을 발견하는 일과 실제로 악용 가능한지를 따지는 일을 분리해서 봐야 한다. 보안성을 높이려면 단순한 결함 목록보다 서비스 영향도, 노출 범위, 대응 가능 시간을 함께 살펴야 한다.[2] 사이버보안프레임워크 관점에서도 취약점은 기술적 결함만이 아니라 운영 절차와 관리 체계의 허점까지 포함한다.[2]
2. 정의와 범위
3. 흔한 유형
가장 자주 문제 되는 영역은 사용자 인증과 권한 확인이다. 세션 탈취, 비밀번호 재사용, 접근 통제 누락, 계정 전환 오류는 단순한 기능 문제처럼 보여도 실제로는 권한 상승으로 이어질 수 있다. 암호화 키 관리와 공개키 검증이 부실한 경우에도 데이터 기밀성이 흔들린다.[4]
입력 검증 실패나 파라미터 변조는 웹 서비스에서 특히 자주 보이는 형태다. 이 경우 공격자는 필터 우회를 시도하거나 요청 값을 바꿔 서버가 의도하지 않은 작업을 하게 만든다. 브라우저 측에서는 브라우저 기능 제한이나 보안 설정 강화가 일부 위험을 낮추지만, 근본 해결은 서버와 애플리케이션의 검증 강화에 있다.[1]
4. 평가와 진단
취약점 평가는 자산을 나열하는 작업이 아니라, 어떤 약점이 실제로 도달 가능하고 얼마나 큰 영향을 주는지 가르는 작업이다. 검토 단계에서는 자산 중요도, 외부 노출 여부, 재현 가능성, 완화책 유무를 함께 본다. 이때 네트워크 보안 점검, 정적분석, 수동 점검을 결합하면 놓치는 부분을 줄일 수 있다.[2]
조직은 취약점 평가 결과를 바로 조치 목록으로 바꾸어야 한다. 보안정책과 연결되지 않은 보고서는 남아 있는 결함을 우선순위 없이 쌓아 두는 데 그치기 쉽다. 따라서 평가, 수정, 재검증, 추적이 하나의 흐름으로 이어져야 한다.[2][4]