curl 요청은 악성일까? 과탐 없는 WAF 운영을 위한 체크포인트

By PLURA

🧪 curl 요청, WAF에서 과탐 대상일까?

웹 방화벽(WAF)을 운영하다 보면 종종 다음과 같은 문의가 발생합니다:

“웹 서버에 curl을 사용하는 요청이 탐지되는데, 이건 공격 아닌가요?”

하지만 단순히 curl이라는 User-Agent가 포함된 요청을 모두 악성으로 판단하는 것은 매우 위험한 과탐(False Positive)을 초래할 수 있습니다.

What is cURL


🤔 curl은 공격 도구인가?

아닙니다. curl운영자, 개발자, 관리자, 테스트 엔지니어 등 많은 사용자들이 정상적인 목적으로 자주 사용하는 유틸리티입니다.

  • API 테스트 및 자동화 스크립트
  • 모니터링 시스템의 상태 체크
  • 백엔드 통합 테스트
  • 개발 중 URL 응답 확인

따라서, User-Agent에 단순히 “curl” 문자열이 포함되었다는 이유만으로 요청을 차단하는 정책은 실제 업무에 방해가 되는 과탐을 발생시킬 수 있습니다.


🔍 PLURA WAF의 curl 대응 정책

PLURA WAF는 다음과 같은 기준으로 curl 기반 요청을 처리합니다:

항목 설명
기본 룰셋 curl 단독 User-Agent 탐지는 포함되어 있지 않음
시그니처 등록 공격 프레임워크/스캐너(Nikto, sqlmap 등)와 결합된 curl 요청만 탐지 대상
다수 요청 탐지 단일 HTTP 요청 단위만으로 판단. API 호출량만으로는 차단 불가
abuse 탐지 다중 로그인 시도 등은 별도 Abuse Detection 모듈에서 처리

❌ “curl + 다수 API 호출” 동시 탐지는 구조적으로 불가능

PLURA WAF는 각 요청 단위로 탐지가 이루어지는 구조입니다. 즉, 단순히 curl을 사용하는 동시에 API를 반복 호출한다고 해서 이를 자동으로 위험 요청으로 판단하거나 차단할 수는 없습니다.

다중 요청 기반의 이상행위(예: Credential Stuffing)는 WAF가 아닌 Abuse Detection에서 탐지/차단됩니다.


🎭 curl 변종과 User-Agent 위장 – 탐지의 한계

curl 요청은 단일 형태가 아닌, 수십~수백 가지 이상의 변종 형태로 나타납니다. 공격자는 다양한 방식으로 우회하거나 위장할 수 있습니다:

  • curlurlc, Mozilla-curl, curl-client 등으로 문자열 변형
  • User-Agent 전체를 삭제하거나 브라우저 문자열로 위장
  • 기타 헤더 (Referer, Accept 등)까지도 curl이 아닌 것으로 조작
User-Agent: urlc/1.0
User-Agent: Mozilla/5.0 (compatible; curlbot)

또한, 일부 공격 도구는 curl 라이브러리를 내부적으로 사용하면서도 User-Agent에는 전혀 표시하지 않도록 설계되어 있습니다.

➡️ 결국, User-Agent 기반의 단일 시그니처만으로 curl 요청 전체를 탐지한다는 것은 기술적으로 불가능에 가깝습니다.


🚫 탐지할 수 있는 문제가 아닌, 설계상 불가항력

이처럼 curl 기반 요청은 다음과 같은 이유로 WAF 시그니처로 완전 탐지하거나 차단할 수 없는 불가항력적 구조를 가집니다:

  • curl 자체는 정상 사용이 가능하고, 매우 다양하게 변형되어 존재
  • 공격자는 언제든지 User-Agent 위장 가능
  • 사용자가 curl을 정상 업무용으로 사용하는 경우가 많음

📌 일괄 차단은 실질적으로 업무 중단을 유발할 수 있으며,
📌 정적 시그니처만으로 curl을 탐지하는 것은 구조적으로 한계가 존재합니다.

PLURA WAF는 이러한 현실을 고려하여:

  • curl 자체는 기본 차단 대상이 아니며
  • 공격 패턴, 다중 시도, 의심 파라미터 조합 등을 통해 탐지
  • curl 여부보다는 행위 기반 탐지에 집중하고 있습니다

🧩 고객사 맞춤 설정: 사용자 정의 필터

PLURA WAF는 고객사 특성에 따라 사용자 정의 필터를 통해 추가적인 탐지 정책을 설정할 수 있습니다.

예: 고객사 내부 curl 사용이 전혀 없다면,

User-Agent: curl/7.81.0

이 포함된 요청을 차단하는 사용자 정의 룰을 구성할 수는 있습니다.


✅ 대응 방안 요약

상황 권장 정책
내부에서 curl 사용 O 기본 WAF 정책 유지 (과탐 방지)
curl + 공격 시그니처 조합 WAF 기본 룰셋에서 자동 탐지
curl + 다수 요청 Abuse Detection에서 탐지 (계정 탈취 시나리오 등)
내부에서 curl 사용 X 사용자 정의 필터로 차단 가능 (고객 요청 시 적용)

🔐 추가 팁: curl 외 탐지 강화 방안

  • ✅ HTTP Header 기반 이상 패턴 탐지 (User-Agent 조작, Host 헤더 변조 등)
  • ✅ GeoIP, ASN, 요청 주기 기반 접근 제어
  • ✅ Rate Limiting 및 인증 기반 보호 정책 강화

📌 결론

모든 curl 요청을 일괄 차단하는 접근은 오히려 보안보다 운영에 더 큰 위협이 될 수 있습니다. curl은 도구일 뿐이며, 공격과 정상 행위는 행위 기반으로 구분해야 합니다.

정확한 탐지 기준고객 맞춤형 정책 적용, 그리고 오탐 최소화 전략이야말로 PLURA WAF가 추구하는 현실적인 보안 설계의 핵심 원칙입니다.