← 목록으로

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는 단순히 스캐너 한 번 돌리는 게 아니라,
  • 자산 파악 → 위협 시나리오 → 자동/수동 진단 → 결과 정리 → 개선 계획
    까지 이어지는 하나의 흐름입니다.

앞으로 다른 보안 개념을 공부하면서도, "이걸 우리 시스템에 어떻게 적용해 보고, 어떤 취약점을 줄일 수 있을까?"
라는 질문을 같이 떠올려 본다면,
보안에 강한 개발자로 한 걸음 더 나아갈 수 있을 것입니다.