Context Technology로 ZAP 스캔 속도 올리기
ZAP의 Context(Scope)에는 Technology 라는 항목이 존재합니다. 이는 Context
> Technology
경로에 존재하며 자세히 살펴보면 DB, Language, OS 등 여러가지 Technology 리스트와 체크박스가 존재합니다. 기본적으로 전부 체크되어 있습니다.
그럼 용도가 무엇일까요? 단순히 서비스에서 사용되는 기술을 작성하는 걸까요? 물론 그건 아닙니다. 이 Technology 항목은 ActiveScan 과 밀접한 영향이 있습니다. 하나 예시로 ActiveScan Rule의 SQL Injection 부분의 코드를 보면 이유를 알 수 있습니다.
코드 내 Tech.MySQL
, Tech.MsSQL
같은 인자 값들이 존재하는데, 이게 바로 ActiveScan Rule과 Technology와의 매핑을 위한 값입니다. 결국 ActiveScan은 Technology에 명시된 항목을 대상으로 스캔을 진행하며, 적절히 값을 조정한다면 불필요한 스캔은 줄일 수 있어서 속도를 향상할 수 있습니다.
그리고 API에서도 컨트롤할 수 있기 때문에 굳이 UI를 통하지 않고, 구성하기에 따라 자동으로도 처리할 수도 있습니다.
Name | Method | API | Paramters |
---|---|---|---|
Get | GET | /JSON/context/view/technologyList/ | |
Exclude | GET/POST | /JSON/context/action/excludeContextTechnologies/ | contextName=Target&technologyNames=MySQL |
Include | GET/POST | /JSON/context/action/includeContextTechnologies/ | contextName=Target&technologyNames=MySQL |
ATTACK Mode를 자주 사용하거나 DevSecOps의 DAST로 사용하고 대상 시스템에 대해 잘 아는 경우 적절한 값 조정으로 스캔 속도를 조금 더 빠르게 바꿔보는 것도 좋은 시도라고 생각합니다 😊