느린 ZAP을 빠르게 만들자! Zed Attack Proxy 최적화하기

취약점 분석에서 필수적으로 사용되는 도구 중 하나인 ZAP(or Burp 이지만, 이번 포스팅에선 ZAP만 다룹니다)은 많은 기능을 가지고 있지만, 모든 기능을 한번에 사용하기에는 확실히 속도를 걱정하지 않을 수가 없습니다.

우선 Java App으로 JVM 위에서 동작하고, 기본적인 동작 자체도 굉장히 느릴뿐더러 기본적으로 제공되는 옵션들로 인해 한참 켜두게 되면 버벅거리거나 심한 경우 PC가 죽는 경우까지 만날 수 있습니다.

오늘은 ZAP을 최적화하는 방법 4가지에 대해 이야기할까 합니다. (솔직히 거의 다 passive scan 관련이네요…)

Passive scan rule 조정하기

Passive 스캔에서 적용되는 룰들을 on/off할 수 있습니다. 블필요한건 내려주세요.

저는 거의 일부 필요한 것만 제외하고 거의 custom rule 위주로 사용합니다

Passive scan Tags

Passive에서 체크하는 태그들을 지정할 수 있는데, 패시브 스캔 성능 자체에 영향을 줄 수 있는 부분이라 개인적으론 유지하는게 좋을 것 같습니다만, 혹시나 그래도 느리다면 이 부분도 조정해주시면 빨라집니다.

Passive Scanner

사실 모든 페이지에 대해 패시브 스캐닝을 돌 필요는 없습니다. in scope만 돌도록 적용해주시는게 좋긴합니다.

어차피 패시브 결과 잘 안볼꺼자나요

[2021] 이 글 작성한지 벌써 2년이나 지났네요. 지금까지 쭉 써오면서 느낀점으론 Passive rule의 disable 보다 max alerts any rule can raise 옵션 값을 줄여서 너무 많은 탐지를 막는게 훨씬 효과적입니다 😎

100정도가 적당한 것 같아요

Display

ZAP쪽에서 기본적으로 설정된 부분이기도 한데, Request/Response의 데이터가 지정된 길이 이상의 데이터로 발생하는 경우 바로 내용으로 표기하지 않고 Large request, Larget response 란 텍스트로 표기합니다.

이렇게 큰 값으로 설정되어 있다면.. 100% 입니다