WAF 공격 점수에서 Cloudflare의 기계 학습(ML) 계층은 웹 애플리케이션 방화벽(WAF) 위에 구축된 기능입니다. 이 기능의 목표는 WAF를 보완하고 이전에遭遇하지 않은 공격 우회를 감지하여 제로데이 취약점을 포착하고 고객을 새로운 및 알려지지 않은 위협으로부터 보호하는 것입니다.
WAF ML 모델의 성능을 최적화하기 위해 여러 단계가 수행되었습니다. 첫째, Aho-Corasick DFA를 사용하여 해시 맵 조회를 대체하여 전처리 단계의 지연을 47.84%에서 1.64x로 줄였습니다. 다음으로 일치 기반 접근 방식을 사용하여 지연을 53.45%에서 2.15x로 줄였습니다. 그 다음으로 새로운 글자 대체 구현을 개발하여 전처리 속도를 두 배로 만들었습니다. 이는 원래 버전보다 네 배에서 다섯 배 빠릅니다.
다음으로 가지 없는 ngram 조회를 구현하여 지연을 91.33%에서 11.54x로 줄였습니다. 이렇게 되면 오프셋 조회 테이블을 사전 계산하고 메모리 액세스에 직접 사용하여 비교 연산을 대체할 수 있습니다. 이러한 방법은 훨씬 빠르고 분기 작업이 필요하지 않습니다.
마지막으로 모델 추론을 최적화하기 위해 SIMD 행렬 곱셈을 활성화하고 XNNPack을 사용하여 지연을 77.17%에서 4.38x로 줄였습니다. 또한 LRU 캐시를 구현하여 중복 실행을 건너뛰고 지연을 추가로 줄였습니다. 최적화 결과 WAF ML 실행 시간이 약 81.90%에서 1519에서 275 마이크로초로 줄었습니다. 즉, 5.5배 빠릅니다.
blog.cloudflare.com
Making WAF ML models go brrr: saving decades of processing time
Create attached notes ...