Search

디렉토리 트래버설(Directory Traversal)

개요
디렉토리 트래버설(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) 도입