•
개요
디렉토리 트래버설(Directory Traversal)은 웹 애플리케이션의 취약점을 이용해, 공격자가 서버의 의도하지 않은 파일이나 디렉토리에 접근할 수 있는 공격입니다. 일반적으로 URL이나 입력 필드에서 파일 경로를 조작하여 상위 디렉토리로 이동(../ 사용)하고, 민감한 파일(예: 시스템 설정 파일, 비밀번호 파일 등)을 열람할 수 있게 만듭니다.
•
공격 탐지 규칙 확인 및 설정 (Suricata & Zeek)
◦
Suricata
1.
Detection - “+”
Detection 메뉴 이동 및 “+”버튼 클릭, 룰 추가 메뉴 진입
2.
룰 작성
▪
Language : Suricata
▪
License : GPL-2.0-only
▪
Signature
alert http $EXTERNAL_NET any -> $HTTP_SERVERS any (msg:"Directory Traversal Attack"; content:"../"; http_uri; nocase; flow:to_server,established; classtype:web-application-attack; sid:1000075; rev:1;)
Plain Text
복사
•
룰 내용 (Signature):
◦
alert http: HTTP 트래픽에 대해 경고를 발생시킴.
◦
$EXTERNAL_NET -> $HTTP_SERVERS: 외부 네트워크에서 웹 서버로 가는 트래픽을 감시.
◦
msg:"Directory Traversal Attack": 디렉토리 트래버설 공격 경고 메시지.
◦
content:"../": URI에 ../ 패턴이 있는지 탐지.
◦
http_uri; nocase: URI에서 대소문자 구분 없이 탐지.
◦
flow,established: 서버로 향하는 트래픽을 대상으로 감시.
◦
classtype: 웹 애플리케이션 공격으로 분류.
•
공격 지표 확인 및 경고 필터링 (Kibana&zeek)
◦
suricata
▪
알람 발생 확인
◦
kibana & zeek
▪
Alert 로그 발생 확인
▪
Document
▪
하단에서 자세히 확인 (message)
•
대응 방안
◦
사용자 입력 검증 및 필터링
◦
파일 경로 허용 목록(whitelisting) 적용
◦
웹 서버 설정 강화
◦
권한 분리 및 최소 권한 원칙 적용
◦
웹 애플리케이션 방화벽(WAF) 도입