SVA란?
SVA란?
서론
보안 관련 자료를 보다 보면 "SVA"라는 용어를 가끔 볼 수 있습니다.
일반적으로 SVA는 Security Vulnerability Assessment, 즉 보안 취약점 평가를 의미합니다.
초보 개발자 입장에서는 "취약점 스캐너 한 번 돌리는 거랑 뭐가 달라?"라는 생각이 들 수 있는데,
이 글에서는 SVA를 조직에서 보안을 진단하는 하나의 과정으로 이해할 수 있도록 정리해 보겠습니다.
1. SVA란 무엇인가?
1.1 용어 정리
SVA(Security Vulnerability Assessment)는 말 그대로:
- 시스템, 애플리케이션, 네트워크를 대상으로
- 어떤 취약점이 존재하는지 체계적으로 찾고
- 그 심각도와 영향을 평가하여
- 개선 우선순위를 정하는 활동입니다.
즉, "우리 서비스/인프라가 어디가 약한지 지도 그리는 작업"이라고 볼 수 있습니다.
1.2 단순 스캐닝과의 차이
취약점 스캐너만 돌리면:
- 수백 개의 결과가 나오고
- 뭘 먼저 고쳐야 할지 감이 안 오기 쉽습니다.
SVA는 보통 다음을 포함합니다.
- 어떤 자산(서비스, 서버, DB 등)이 중요한지 파악
- 각 자산에 대해 어떤 공격이 가능한지 분석
- 자동/수동 도구를 사용해 취약점을 진단
- 결과를 위험도/우선순위 기준으로 정리
2. SVA의 기본 흐름
2.1 자산 식별
먼저 "무엇을 평가할 것인가?"를 정해야 합니다.
- 공개된 웹 서비스
- 내부 관리 콘솔
- 데이터베이스 서버
- 네트워크 장비 등
초보 개발자라면:
- 최소한 내가 만드는 웹 서비스와 관련된 주요 자산(웹 서버, API 서버, DB, 스토리지 등)을 한 번 리스트업해 보는 것만으로도 도움이 됩니다.
2.2 위협/공격 시나리오 생각해 보기
다음으로, 각 자산에 대해:
- "공격자가 된다면 어디를 어떻게 노릴까?"
를 간단히라도 생각해 보는 단계입니다.
예시:
- 로그인 페이지 → 브루트포스 공격, 인증 우회
- 게시글 작성 API → XSS, SQL Injection
- 파일 업로드 기능 → 악성 파일 업로드, 경로 조작
3. 취약점 진단 방법
3.1 자동 스캐닝 도구 활용
대표적으로:
- 웹 취약점 스캐너 (OWASP ZAP, Burp Suite 등)
- 서버/OS 취약점 스캐너
이런 도구를 사용하면:
- 알려진 취약점 패턴을 빠르게 찾아낼 수 있습니다.
하지만:
- 모든 취약점을 다 찾지는 못한다는 점을 꼭 기억해야 합니다.
3.2 수동 점검
자동 도구로 잡기 어려운 부분은 사람이 직접 확인해야 합니다.
예시:
- 비즈니스 로직 취약점 (할인 쿠폰 여러 번 쓰기, 권한 체크 누락 등)
- 특정 워크플로우에서만 발생하는 엣지 케이스
초보 개발자라면:
- 완벽한 모의해킹까지는 아니어도,
- "이 입력을 이상하게 바꿔보면 어떻게 될까?" 정도의 간단한 테스트만 해 봐도 많은 것을 배울 수 있습니다.
4. SVA 결과를 어떻게 활용할까?
4.1 위험도 기준 정리
SVA 결과를 정리할 때는 보통:
- 심각도(High/Medium/Low)
- 영향 범위(데이터 유출 가능성, 서비스 마비 등)
- 재현 방법
을 함께 정리합니다.
이렇게 정리해 두면:
- 개발/운영 팀이 무엇을 먼저 고쳐야 하는지 결정하기 쉬워집니다.
4.2 개선 계획 수립
예를 들어:
- High 등급 취약점은 1개월 내 조치
- Medium은 분기 내 조치
- Low는 설계 리팩토링 시 함께 개선
같은 기준을 세울 수 있습니다.
5. 초보 개발자가 할 수 있는 작은 SVA
모든 걸 정식 프로세스로 하지 않더라도, 개발자가 할 수 있는 최소한의 SVA는 있습니다.
- 릴리즈 전에 간단한 체크리스트 만들기:
- 주요 입력값에 대해 XSS/SQLi 패턴 한 번씩 넣어보기
- 인증/인가(권한) 체크가 필요한 API 정리해 보기
- 관리자 기능이 외부에 노출되어 있지 않은지 확인
- 무료/오픈소스 취약점 스캐너로 스테이징 환경 한 번 스캔해 보기
이런 작은 습관만으로도,
- "보안은 나중에"가 아니라,
"보안을 개발 과정의 일부"로 가져오는 첫 걸음이 됩니다.
마무리
이 글에서는 SVA(Security Vulnerability Assessment)를
**"우리 시스템이 어디가 약한지 지도 그리는 과정"**으로 이해해 보았습니다.
핵심을 정리하면:
- SVA는 단순히 스캐너 한 번 돌리는 게 아니라,
- 자산 파악 → 위협 시나리오 → 자동/수동 진단 → 결과 정리 → 개선 계획
까지 이어지는 하나의 흐름입니다.
앞으로 다른 보안 개념을 공부하면서도,
"이걸 우리 시스템에 어떻게 적용해 보고, 어떤 취약점을 줄일 수 있을까?"
라는 질문을 같이 떠올려 본다면,
보안에 강한 개발자로 한 걸음 더 나아갈 수 있을 것입니다.