Cloudflare Client-Side Security: 더 똑똑한 탐지, 이제 모두에게 공개
핵심 내용
Cloudflare가 LLM 보조 판단으로 client-side 악성 JS 오탐을 크게 줄였다.
자세히 보기
Cloudflare Client-Side Security Advanced(구 Page Shield add-on)가 셀프서브로 제공되고, 무료 Client-Side Security 번들에는 도메인 기반 threat intelligence가 추가 비용 없이 열린다.
이 기능은 브라우저 reporting, 예를 들면 CSP 신호를 활용해 동작하므로 별도 스캐너나 앱 instrumentation 없이 시작할 수 있고, 웹 애플리케이션 지연도 발생하지 않는다. Cloudflare는 하루 35억 개의 script를 분석하고, 엔터프라이즈 zone당 평균 2,200개의 script를 관찰한다고 설명한다.
탐지의 핵심은 script가 실제로 무엇을 하려는지 보는 것이다. AST(abstract syntax tree) 기반 분석으로 변수명 변경이나 minification, obfuscation을 넘어 악성 intent 패턴을 잡아내며, GNN(Graph Neural Network)이 1차 탐지를 담당한다.
문제는 client-side compromise가 드물어 탐지 결과의 상당수가 false positive로 이어진다는 점이다. Cloudflare는 이를 줄이기 위해 LLM을 2차 판정자로 붙였고, 구조는 다음과 같다.
- 먼저 GNN이 모든 script를 평가한다.
- benign로 판단되면 즉시 종료해 대부분의 트래픽은 추가 비용 없이 처리한다.
- 악성 가능성이 있으면 Workers AI의 오픈소스 LLM(gpt-oss-120b)으로 넘겨 의미 단위로 재판단한다.
- 최종적으로 benign이면 GNN 판단을 덮어쓴다.
이 방식은 고재현율 GNN과 semantic 이해가 강한 LLM을 결합한 cascading classifier다. Cloudflare는 GNN이 높은 recall을 유지하면서도, LLM이 sketchy하지만 무해한 obfuscation을 걸러 false positive를 크게 낮춘다고 말한다.
내부 생산 트래픽 평가에서는 JS Integrity 위협 범주 기준 total analyzed traffic의 FP가 약 **0.3%**에서 **0.1%**로 줄어들어 거의 3배 개선됐다. unique scripts 기준으로는 약 **1.39%**에서 **0.007%**로 떨어져 약 200배 수준의 개선이 관측됐다.
모든 GNN flag는 Cloudflare R2에 저장돼 사후 검증되며, LLM이 진짜 공격을 놓쳤는지 계속 감사한다. Cloudflare는 이 데이터 축적으로 GNN의 임계값을 더 공격적으로 낮춰, 기존에는 경계 아래에 있던 zero-day성 위협까지 더 잘 잡겠다고 밝혔다.
실제 사례로는 core.js라는 악성 script가 등장했다. 이 코드는 Xiaomi OpenWrt 기반 router를 노려 WAN 설정을 조회하고, wanType=dhcp, static, pppoe 같은 값에 따라 동작을 바꾸며, DNS를 중국 공용 DNS로 바꾸고 관리자 비밀번호를 몰래 교체하려 했다. Cloudflare는 obfuscation이 강했지만 GNN이 구조를 드러냈고, Workers AI LLM이 의도를 확정했다고 설명한다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.