
실시간 iOS 기기에서 mitmproxy로 가로챈 25,000개 이상의 HTTP/HTTPS 흐름을 대상으로 이상 모바일 트래픽을 탐지하는 비지도 심층 오토인코더로, 플래그된 흐름을 1,100개에서 103개로 줄인 임계값 튜닝과 Streamlit 모니터링 대시보드를 포함합니다.
이 프로젝트는 모바일 기기에서 캡처한 네트워크 트래픽을 처리하고, 피처 엔지니어링을 수행하며, 오토인코더 기반 딥러닝 모델을 사용하여 비정상적인 네트워크 흐름을 탐지하는 모바일 침입 탐지 시스템을 구현합니다. 외부 위협 인텔리전스와 화이트리스트 데이터를 활용하여 오탐을 줄이고 탐지 정확도를 향상시킵니다.
flows.mitm에서 flows_1.mitm으로 이름을 변경하여 아카이빙한 후, 새로운 캡처를 처리합니다.흐름 캡처 및 아카이빙
flows.mitm)의 이름을 flows_1.mitm으로 변경합니다.피처 엔지니어링
모델 학습 및 예측
시각화 및 대시보드 (선택 사항)
저장소 복제
git clone https://github.com/yourusername/Mobile-Intrusion-Detection-System.git
cd Mobile-Intrusion-Detection-System
가상 환경 생성 및 활성화
python3 -m venv venv
source venv/bin/activate
필수 패키지 설치
pip install tensorflow pandas numpy scikit-learn matplotlib plotly streamlit
과거 데이터를 처리하고, 피처 엔지니어링을 수행하며, 오토인코더 모델을 학습시키기 위해 학습 파이프라인을 실행합니다:
./run_project.sh train
이 명령은 다음 단계를 수행합니다:
예측을 실행하기 전에 기존 flows_1.mitm 파일이 이전 캡처 데이터를 보존하기 위해 (타임스탬프와 함께) 보관됩니다. 그런 다음 새로운 흐름이 캡처되고 처리됩니다:
./run_project.sh predict
이 명령은 다음 단계를 수행합니다:
결과와 성능 지표를 시각화하려면 Streamlit을 사용하여 대시보드 모드를 실행하세요:
./run_project.sh dashboard
대시보드에는 다음이 표시됩니다:
Mobile Intrusion Detection System은 모바일 기기에서 수집된 네트워크 흐름 데이터를 효과적으로 처리하며, 이상 탐지를 위해 오토인코더 기반 접근 방식을 활용합니다. 화이트리스트 필터링의 통합은 오탐을 크게 줄여주지만, 예측 단계에서는 특히 정상적인 Google 검색 관련 흐름과 실제 악성 활동을 구별하는 데 어려움이 있음이 드러났습니다. 이는 특히 화이트리스트 필터링 단계에서 이상 탐지 로직의 추가 개선이 필요함을 시사합니다. 향후 작업은 필터링 알고리즘 개선, 추가 위협 인텔리전스 소스 통합, 그리고 더 깊은 통찰을 위한 대시보드 기능 확장에 초점을 맞출 것입니다.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.