취약점 리스크 정량화의 필요성
해당 취약점이 시스템에 어느 정도의 위험을 초래할 수 있는지 수치화해서 나타냄으로써 조치해야 할 우선순위를 정하고 효과적으로 관리할 수 있도록 함.
정량화에서 고려해야 하는 요소는 공격의 복잡성/범위, 취약점 유형, 영향 범위 등이 있다
취약점 리스크 정량화 모델
- CVSS (Common Vulnerability Scoring System)
: 각 취약점의 공격 복잡성, 범위, 영향 등 - DREAD (Damage, Reproducibility, Exploitability, Affected Users, Discoverability)
: 취약점의 해로움과 재현 가능성, 영향성, 발견되기 쉬운지 정도 등 - OWASP Risk Rating Methodology
이중 CVSS에는 여러 년도에 발표된 버전이 있는데 2019년도에 발표된 CVSS v3.1 점수 요소를 알아보자
아래 사이트에서 점수 계산이 가능함
Common Vulnerability Scoring System Version 3.1 Calculator
to the head for offline editing --> <!-- Copyright (c) 2019, FIRST.ORG, INC. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributi
www.first.org
CVSS 3.1 취약점들중에서 예를 들어서 하나를 살펴보자
SearchBlox라는 서치와 데이터 분석 서비스의 CSRF 취약점이다
일단 CSRF란 사용자가 웹 애플리케이션에 특정 요청을 보내도록 유도하는 공격 행위이다. 이 취약점에서는 피해자 유저가 유효한 세션을 가진 상태로 악성 요청을 하도록 유도하는 공격이다. 이를 통해 특정 유저 계정을 삭제 혹은 생성도 가능함.
기밀성 가용성 무결성 정보보안의 3 요소가 모두 High이고 8.8점인 꽤 높은 점수이다
버그헌팅을 위한 마인드 관리
1. Recon의 중요성
웹 어플리케이션의 자동/수동 탐색을 모두 해야 하는데 웹뿐만 아니라 모바일, 확장 프로그램 등 범위를 확장하는 것이 좋다.
특히 자바스크립트 파일에는 파라미터, 하드코딩된 크레덴셜, 만료된 도메인 등 힌트가 많다
2. 수동 보안 테스트의 중요성 Manual Security Testing
자동화툴에만 집착하면 심층적인 테스트를 하기 어려우므로 수동 테스트를 해야 한다.
그리고 이를 위해서는 앱 내부 구조와 동작을 깊이 이해해야 하고 SSO 구성, 공식 문서 읽기 같은 방법 참고
3. 자동화 보안 테스트는 준비물이다
자동화가 수동 테스트를 완전히 대체할 수는 없으나 쉽게 찾을 수 있는 취약점을 찾을 수 있어 duplicate일 가능성 높음
4. 보안 영향 고려
해당 취약점이 어떤 영향을 미치는지를 증명해야 하므로 CVSS 점수로 실행 계획을 수립해 시나리오 설계필요
작은 취약점을 발견하면 개별적으로 하기보다는 체이닝을 통해 영향을 더 키울 수 있다
5. 끈기와 인내!
당장 포상금 받는 것에 집착하지 말고 새로운 걸 배운다는 걸 목표로 하기
'웹해킹' 카테고리의 다른 글
[웹해킹] 클라이언트와 서버 통신 구조와 GET POST 메소드 (1) | 2025.03.07 |
---|---|
[웹해킹] 웹 어플리케이션 작동원리 Web Application (1) | 2025.03.06 |
버그헌팅 기초/종류/구성요소/프로세스 윤리적 해킹에 대하여 (0) | 2025.03.06 |
[웹해킹] Lab: File path traversal, traversal sequences stripped with superfluous URL-decode Writeup (1) | 2025.03.05 |
웹해킹 :: 경로 탐색 Path Traversal 취약점이란 | File Path Traversal 실습 (1) | 2025.03.05 |