290
3
부
방어
취약점을 효율적으로 재현하려면 프로덕션 환경을 최대한 비슷하게 흉내 내는
스테이징
staging
환
경을 구성할 필요가 있다. 스테이징 환경을 구성하는 것은 어렵기 때문에 그 과정을 완전히 자
동화해야 한다.
새로운 기능은 릴리스하기 전에 내부망이나 암호화 로그인 방식을 통해 보호된 네트워크에서
만 액세스할 수 있는 애플리케이션 빌드에서 사용할 수 있어야 한다
스테이징 환경은 실제 프로덕션 환경을 흉내 내어야 하지만 실제 사용자나 고객이 필요한 것은
아니다. 하지만 프로덕션 모드에서 애플리케이션의 기능을 시각적, 논리적으로 표현하기 위해
모의 사용자
mock
user
와 모의 객체
mock
object
를 포함해야 한다.
보고된 각 취약점을 재현함으로써 거짓 긍정으로 인한 시간 낭비를 안전하게 피할 수 있다. 버
그 바운티 프로그램과 같이 대가를 지급하는 외부 프로그램을 통해 보고된 취약점은 반드시 재
현을 거쳐 거짓 긍정 취약점에 대해 보상금을 지불하지 않도록 해야 한다.
끝으로 취약점 재현은 코드베이스에서 취약점을 유발하는 원인에 대한 깊은 통찰을 제공하며
취약점을 해결하는 데 필수적인 첫 단계다. 취약점을 즉시 재현하고 결과를 기록해야 한다.
21.2
취약점 심각도 순위
취약점을 재현한 뒤에는 페이로드가 전달되는 메커니즘과 애플리케이션이 어떤 위험 유형(데
이터, 자산 등)에 취약한지를 이해하기 위해 익스플로잇의 기능에 대한 충분한 맥락을 얻어야
한다. 이 맥락을 염두에 두고 심각도에 근거해 취약점의 순위를 매겨야 한다.
취약점 ...