방어 전용
공격 기능이 없습니다. 데모 pcap 은 파일로만 만들어지고 전송되지 않으며, 자동 대응은 이중 게이트 뒤의 dry-run 이 기본입니다.
문서 기준 버전: 매뉴얼 v1.1 / 소프트웨어 aisec 1.1.0. 단일 CLI(main.py, aisec)를 가진 Python 도구 모음입니다.
| 구성 요소 | 기능 | 기술 |
|---|---|---|
| NIDS (네트워크 침입 탐지) | pcap 파일 또는 실시간 캡처 → 양방향 플로우 → NSL-KDD 호환 33개 + 확장 20개 특징 → 4개 모델 투표 → 공격 유형 힌트가 담긴 JSONL 경보 | Scapy, Isolation Forest, Random Forest, LightGBM, PyTorch Autoencoder |
| HIDS (호스트 로그 이상 탐지) | auth.log / syslog 파싱 → 메시지 템플릿, 희소도, IP별 시간 창 특징(26개) → 이상 줄 탐지 | 정규식 파서, Isolation Forest |
| 악성코드 스캐너 — 정적 | PE 헤더 / 섹션 / 엔트로피 / 임포트 / 문자열(55개 특징) → SHAP 기여도를 포함한 XGBoost 확률, YARA 규칙 | pefile, yara-python, XGBoost |
| 악성코드 스캐너 — 동적 | Cuckoo/CAPE 샌드박스 행위 보고서(JSON, 39개 특징) → 분류. 파일은 절대 실행하지 않음 | scikit-learn Random Forest |
| VirusTotal 연동 | SHA-256 해시 평판 조회(업로드 없음), 캐시와 호출 제한, 키가 없으면 자동 건너뜀 | VirusTotal API v3 |
| 실시간 방어 (v1.1) | 입력원 → 탐지기 → 정책 → 안전 게이트 → 대응, 모두 감사 기록 | aisec defend |
| 모니터링 UI · 보고서 (v1.1) | 로컬 웹 대시보드와 일간·주간·기간 지정 보고서 | aisec ui, aisec report |
패킷을 플로우로 바꾸고 여러 모델로 점수화하므로 한 모델이 혼자 판단하지 않습니다.
min_votes 개 이상(기본: 과반)이 동의하면 경보를 냅니다.호스트의 정상 auth.log / syslog 가 어떤 모습인지 학습하고, 새롭거나 폭주하는 패턴을 표시합니다.
ip_fail_window → 무차별 대입.정적, 규칙, 평판, 행위 신호를 파일 실행 없이 하나의 설명 가능한 판정으로 합칩니다.
v1.1 은 위협을 받아 정책으로 판단하고 대응하는 엔진을 더했으며, 브레이크는 기본으로 걸려 있습니다.
syn_flood_target).엔진이 보고 한 일을 확인하고, 경영진이나 감사인에게 읽기 쉬운 보고서를 전달합니다.
--allow-actions 가 있어야 합니다.매뉴얼의 아키텍처 그림을 다시 그렸습니다. 파란 점선 화살표는 읽기 전용이며, 대시보드의 해제·복구 버튼만 쓰기 경로이고 별도의 게이트가 필요합니다.
옆으로 스크롤하면 전체 그림을 볼 수 있습니다.
공격 기능이 없습니다. 데모 pcap 은 파일로만 만들어지고 전송되지 않으며, 자동 대응은 이중 게이트 뒤의 dry-run 이 기본입니다.
악성코드 스캐너는 바이트를 읽기만 합니다. 동적 분석은 외부 샌드박스의 JSON 보고서를 입력으로 받습니다.
NSL-KDD 다운로드가 실패하면 합성 데이터로 대체하고, VirusTotal 은 키가 없으면 건너뛰며, 시험은 네트워크 없이 통과합니다.
합성 생성기와 실제 패킷 파서가 같은 FlowRecord 집계 경로를 공유해 특징 불일치를 줄입니다.
공격 유형 힌트와 핵심 특징(NIDS), 기여 특징(HIDS), SHAP 값(정적 ML), 근거(동적)를 제공합니다.
JSON Lines 경보와 JSON 결과는 Splunk, Elastic 같은 SIEM 에 수집할 수 있고, 종료 코드(0 / 1 / 2)는 자동화에 적합합니다.
| 항목 | 권장 / 검증 환경 | 비고 |
|---|---|---|
| OS | Linux x86_64 (검증: Debian 계열) | Windows / macOS 는 pcap 분석과 파일 스캔이 가능하며 실시간 캡처는 Npcap 과 권한이 필요합니다. 실제 차단은 Linux 에서만 검증되었습니다. |
| Python | 3.10+ (검증: 3.13.5) | 가상환경 권장 |
| 메모리 | 4GB 이상 (NSL-KDD 전체 학습 시 약 1.5GB) | CIC-IDS2017 전체는 8GB 이상 권장 |
| 디스크 | 약 2GB (PyTorch CPU 포함 venv 약 1.8GB) | 데이터셋은 별도 |
| 권한 | 실시간 캡처: root 또는 CAP_NET_RAW · 실제 차단: root 또는 CAP_NET_ADMIN | pcap 분석, 스캔, 로그·파일 감시, UI, 보고서는 일반 사용자로 실행 |
| 방화벽 | nftables 또는 iptables (Linux) | 둘 다 없으면 엔진은 dry-run 으로 동작하며 macOS 는 방화벽 백엔드가 없습니다 |
제품 문서의 스크린샷입니다. 둘 다 데모 데이터로 만든 것입니다.

