User-Agent는 웹 서버에 접속한 클라이언트의 브라우저, 운영체제, 렌더링 엔진 정보를 담고 있는 문자열이다. 보안관제에서는 이 값을 통해 정상 사용자와 자동화된 요청을 구분하는 단서로 활용할 수 있다. 다만 공격자는 User-Agent를 쉽게 위장할 수 있기 때문에, UA 문자열만으로 공격 여부를 단정하기보다는 URI, 응답코드, 요청 빈도와 함께 종합적으로 판단해야 한다.
Windows NT 6.0, 오래된 브라우저 버전, curl, python-requests,
비정상적으로 짧거나 비어있는 User-Agent는 자동화 트래픽 또는 스캐너 의심 지표가 될 수 있다.
정상 사용자는 일반적으로 최신 Chrome, Edge, Safari와 같은 브라우저를 사용하며, User-Agent 문자열에도 최신 버전 정보와 운영체제 정보가 포함되어 있다. 반면 공격자나 스캐너는 curl, wget, python 기반 요청을 사용하거나, 정상 브라우저처럼 보이도록 User-Agent를 위장하는 경우가 많다.
특히 보안관제에서는 동일 IP에서 발생하는 요청의 패턴을 통해 User-Agent가 정상인지 아닌지를 간접적으로 판단한다.
- curl, wget
- python-requests, Go-http-client
- masscan, zgrab
URI, 상태코드, 반복성, IP 평판을 함께 분석해야 한다.
User-Agent는 보조 지표이며, 전체 흐름 분석이 핵심이다.