/ Security Project
WEB mini-IDS
실시간 웹 트래픽 분석과 공격 패턴 시각화를 목표로 만든 미니 침입 탐지 시스템 프로젝트입니다.
Project Stack
01 · Overview
프로젝트 개요
WEB mini-IDS는 웹 요청 로그 또는 트래픽 데이터를 분석하여 의심스러운 패턴을 탐지하고, GUI 대시보드에서 결과를 확인할 수 있도록 설계한 보안 프로젝트입니다. 단순히 문자열을 찾는 방식이 아니라, 공격 유형별 특징을 분리해 탐지 규칙을 구성하는 데 초점을 맞췄습니다.
웹 공격은 SQL Injection, XSS, Path Traversal처럼 요청 문자열에 특징적인 흔적이 남는 경우가 많습니다. 이 프로젝트는 그런 흔적을 빠르게 분류하고 시각화하여, 보안 관제 흐름을 작은 규모로 구현해 보는 것을 목표로 했습니다.
02 · Features
주요 기능
- 웹 요청 데이터 입력 및 파싱
- SQL Injection, XSS, Path Traversal 등 기본 공격 패턴 탐지
- 탐지 결과를 위험도와 유형별로 분류
- PySide6 기반 대시보드에서 로그, 카운트, 탐지 결과 확인
- 탐지 규칙을 코드 단위로 분리하여 확장 가능하게 구성
03 · Architecture
구현 구조
Input Layer
로그 파일 또는 요청 데이터를 읽어 분석 가능한 형태로 정규화합니다.
Detection Engine
정규표현식과 키워드 기반 규칙을 적용해 공격 유형을 판별합니다.
Scoring Logic
탐지된 패턴의 개수와 유형에 따라 위험도를 계산합니다.
Dashboard UI
탐지 결과, 통계, 상세 로그를 GUI에서 확인할 수 있게 표시합니다.
04 · Build Log
어떤 방식으로 만들었는가
탐지 로직은 UI와 분리하여 작성했습니다. 이렇게 하면 새로운 공격 패턴을 추가할 때 화면 코드를 건드리지 않고 탐지 규칙만 확장할 수 있습니다. PySide6는 테이블 형태의 로그 확인과 버튼 기반 분석 흐름을 구현하기 위해 사용했습니다.
탐지 규칙이 너무 단순하면 정상 요청도 공격으로 잘못 분류될 수 있습니다. 그래서 키워드 하나만으로 판단하기보다 요청 경로, 파라미터, 특수문자 조합, 인코딩 흔적을 함께 확인하는 방식으로 오탐을 줄이는 구조를 잡았습니다.
Screenshot Area
Add project screenshots here
완성 화면, 설계도, 코드 일부, 결과 화면 이미지를 넣는 영역입니다.
05 · Result
결과 및 배운 점
웹 공격 탐지의 기본 흐름인 데이터 수집, 파싱, 탐지, 분류, 시각화를 한 번에 경험할 수 있었습니다. 특히 관제 시스템이 단순 탐지보다 결과를 읽기 쉽게 보여주는 것이 중요하다는 점을 확인했습니다.
06 · Next Step
개선 계획
- 탐지 규칙 커스터마이징 기능 추가
- CSV/JSON 리포트 내보내기
- 실시간 프록시 로그 연동
- 오탐/정탐 샘플 기반 탐지 정확도 개선