Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (5.3%) to scientific vocabulary
Last synced: 9 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: leeyonghe
  • Language: Python
  • Default Branch: main
  • Size: 39.3 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

주의사항

이 저장소는 StratosphereLinuxIPS의 원본 프로젝트를 기반으로 하며, 코드 분석 및 커스터마이징 목적으로 포크되었습니다. 원본 프로젝트의 모든 권리는 Stratosphere Laboratory에 있습니다.


Slips v1.1.9

License GitHub version Python GitHub language count GitHub repository size Docker Image Size (tag) Docker Pulls

GitHub issues GitHub issues-closed GitHub open-pull-requests GitHub pull-requests closed GitHub contributors GitHub forks GitHub Org's stars GitHub watchers

License Discord Twitter Follow


목차

Slips: 행동 기반 머신러닝 침입 방지 시스템

Slips는 머신러닝을 사용하여 네트워크 트래픽에서 악의적인 행동을 감지하는 강력한 엔드포인트 행동 기반 침입 방지 및 탐지 시스템입니다. Slips는 실시간 네트워크 트래픽, PCAP 파일, Suricata, Zeek/Bro, Argus와 같은 인기 도구의 네트워크 흐름을 분석할 수 있습니다. Slips의 위협 탐지는 악의적인 행동을 감지하도록 훈련된 머신러닝 모델, 40개 이상의 위협 인텔리전스 피드, 전문가 휴리스틱의 조합을 기반으로 합니다. Slips는 악의적인 행동의 증거를 수집하고 충분한 증거가 누적될 때 경고를 트리거하기 위해 광범위하게 훈련된 임계값을 사용합니다.


소개

Slips는 엔드포인트용 최초의 무료 행동 기반 머신러닝 IDS/IPS입니다. 2012년 체코 기술 대학교 AIC의 Stratosphere Laboratory에서 Sebastian Garcia에 의해 만들어졌습니다. 목표는 행동 분석을 사용하여 네트워크 공격을 감지하는 머신러닝을 활용하는 로컬 IDS/IPS를 제공하는 것이었습니다.

Slips는 Linux, MacOS, Windows Docker에서 지원됩니다. Slips의 차단 기능은 Linux에서만 지원됩니다.

Slips는 Python 기반이며 실시간 트래픽 캡처 및 PCAP 분석을 위해 Zeek 네트워크 분석 프레임워크에 의존합니다. 또한 프로세스 간 통신을 위해 Redis >= 7.0.4에 의존합니다.


사용법

Slips를 사용하는 가장 좋은 방법은 Docker를 사용하는 것입니다.

Linux 및 Windows 호스트

docker run --rm -it -p 55000:55000 --cpu-shares "700" --memory="8g" --memory-swap="8g" --net=host --cap-add=NET_ADMIN --name slips stratosphereips/slips:latest

./slips.py -f dataset/test7-malicious.pcap -o output_dir

cat output_dir/alerts.log

MacOS

MacOS에서는 호스트에서 컨테이너의 내부 포트에 접근하려면 --net=host를 사용하지 마세요.

docker run --rm -it -p 55000:55000 --platform linux/amd64 --cpu-shares "700" --memory="8g" --memory-swap="8g" --cap-add=NET_ADMIN --name slips stratosphereips/slips_macos_m1:latest

./slips.py -f dataset/test7-malicious.pcap -o output_dir

cat output_dir/alerts.log

더 많은 설치 옵션

Slips 매개변수에 대한 자세한 설명


그래픽 사용자 인터페이스

Slips 출력을 GUI로 확인하려면 웹 인터페이스나 명령줄 기반 인터페이스인 Kalipso를 사용할 수 있습니다.

웹 인터페이스
./webinterface.sh

그런 다음 브라우저에서 http://localhost:55000/로 이동하세요.

웹 인터페이스에 대한 자세한 정보는 문서를 확인하세요: https://stratospherelinuxips.readthedocs.io/en/develop/usage.html#the-web-interface

Kalipso (CLI-인터페이스)
./kalipso.sh

For more info about the Kalipso interface, check the docs: https://stratospherelinuxips.readthedocs.io/en/develop/usage.html#kalipso


요구사항

Slips는 원활한 실행을 위해 Python 3.10.12와 최소 4GB의 RAM이 필요합니다.


설치

Slips는 다양한 플랫폼에서 실행할 수 있으며, Linux 사용자라면 Docker에서 Slips를 실행하는 것이 가장 쉽고 권장되는 방법입니다.


설정

Slips는 다양한 모듈과 일반 실행을 위한 사용자 설정이 포함된 config/slips.yaml을 가지고 있습니다.

  • time_window_width 매개변수를 수정하여 시간 창 너비를 변경할 수 있습니다
  • 컴퓨터에서 오가는 공격을 보고 싶다면 분석 방향을 all로 변경할 수 있습니다
  • ML 모델을 train 또는 test할지 지정할 수도 있습니다

  • You can enable popup notifications of evidence, enable blocking, plug in your own zeek script and more.

More details about the config file options here


기능

Slips의 주요 기능은:

  • 행동 기반 침입 방지: Slips는 머신러닝을 사용하여 네트워크 트래픽에서 악의적인 행동을 감지하는 강력한 시스템으로 작동합니다.
  • 모듈성: Slips는 Python으로 작성되었으며 네트워크 트래픽에서 특정 탐지를 수행하는 다양한 모듈로 구성되어 있습니다.
  • 표적 공격 및 명령 & 제어 탐지: 네트워크 트래픽에서 표적 공격과 명령 및 제어 채널을 식별하는 데 중점을 둡니다.
  • 트래픽 분석 유연성: Slips는 실시간 네트워크 트래픽, PCAP 파일, Suricata, Zeek/Bro, Argus와 같은 인기 도구의 네트워크 흐름을 분석할 수 있습니다.
  • 위협 인텔리전스 업데이트: Slips는 위협 인텔리전스 파일과 데이터베이스를 지속적으로 업데이트하여 업데이트가 발생할 때 관련 탐지를 제공합니다.
  • 외부 플랫폼과의 통합: Modules in Slips can look up IP addresses on external platforms such as VirusTotal and RiskIQ.
  • 그래픽 사용자 인터페이스: Slips는 탐지를 그래프와 테이블로 표시하는 콘솔 그래픽 사용자 인터페이스(Kalipso)와 웹 인터페이스를 제공합니다.
  • 피어투피어(P2P) 모듈: Slips는 네트워크에서 다른 피어를 찾고 IoC 데이터를 균형 있고 신뢰할 수 있는 방식으로 자동으로 공유하는 복잡한 자동 시스템을 포함합니다. The P2P module can be enabled as needed.
  • Docker Implementation: Running Slips through Docker on Linux systems is simplified, allowing real-time traffic analysis.
  • Detailed Documentation: Slips provides detailed documentation guiding users through usage instructions for efficient utilization of its features.
  • Federated learning Using the feel_project submodule. for more information check the docs

기여하기

We welcome contributions to improve the functionality and features of Slips.

Please read carefully the contributing guidelines for contributing to the development of Slips

You can run Slips and report bugs, make feature requests, and suggest ideas, open a pull request with a solved GitHub issue and new feature, or open a pull request with a new detection module.

The instructions to create a new detection module along with a template here.

If you are a student, we encourage you to apply for the Google Summer of Code program that we participate in as a hosting organization.

Check Slips in GSoC2023 for more information.

You can join our conversations in Discord for questions and discussions. We appreciate your contributions and thank you for helping to improve Slips!


문서

User documentation

Code docs


문제해결

If you can't listen to an interface without sudo, foe example when zeek is throwing the following error: bash fatal error: problem with interface wlan0 (pcap_error: socket: Operation not permitted (pcap_activate))

you can adjust zeek capabilities using the following command

sudo setcap cap_net_raw,cap_net_admin=eip /<path-to-zeek-bin/zeek


You can join our conversations in Discord for questions and discussions.

Or email us at * sebastian.garcia@agents.fel.cvut.cz * eldraco@gmail.com, * alyaggomaa@gmail.com


라이선스

GNU General Public License


크레딧

Founder: Sebastian Garcia, sebastian.garcia@agents.fel.cvut.cz, eldraco@gmail.com.

Main authors: Sebastian Garcia, Alya Gomaa, Kamila Babayeva

Contributors:


변경이력

https://github.com/stratosphereips/StratosphereLinuxIPS/blob/develop/CHANGELOG.md


데모

The following videos contain demos of Slips in action in various events:

  • 2022 BlackHat Europe Arsenal, Slips: A Machine-Learning Based, Free-Software, Network Intrusion Prevention System [web]
  • 2022 BlackHat USA Arsenal, Slips: A Machine-Learning Based, Free-Software, Network Intrusion Prevention System [web]
  • 2021 BlackHat Europe Arsenal, Slips: A Machine-Learning Based, Free-Software, Network Intrusion Prevention System [slides] [web]
  • 2021 BlackHat USA Arsenal, Slips: A Machine-Learning Based, Free-Software, Network Intrusion Prevention System [web]
  • 2021 BlackHat Asia Arsenal, Slips: A Machine-Learning Based, Free-Software, Network Intrusion Prevention System [web]
  • 2020 Hack In The Box CyberWeek, Android RATs Detection With A Machine Learning-Based Python IDS [video]
  • 2019 OpenAlt, Fantastic Attacks and How Kalipso can Find Them [video]
  • 2016 Ekoparty, Stratosphere IPS. The free machine learning malware detection [video]

자금지원

We are grateful for the generous support and funding provided by the following organizations:

  • NlNet Foundation, https://nlnet.nl/

This project is funded through NGI0 Entrust, a fund established by NLnet with financial support from the European Commission's Next Generation Internet program. Learn more at the NLnet project page.

NLnet foundation logo NGI Zero Logo

  • Artificial Intelligence Centre at the Czech Technical University in Prague, https://www.aic.fel.cvut.cz/
  • Avast, https://www.avast.com/
  • CESNET, https://www.cesnet.cz/
  • Google Summer of Code (2023, 2024), https://summerofcode.withgoogle.com/

Their funding has played a crucial role in the development and success of this project. We sincerely appreciate their commitment to advancing technology and their recognition of the value Slips brings to the community.

Owner

  • Name: LEE
  • Login: leeyonghe
  • Kind: user
  • Location: seoul in korea
  • Company: Developer

Citation (CITATION.cff)

cff-version: 1.2.0
title: >-
  Slips, behavioral machine learning-based Python IPS
message: 'If you use this software, please cite it as below.'
type: software
authors:
  - given-names: Sebastian
    family-names: Garcia
    email: garciseb@fel.cvut.cz
    affiliation: >-
      Stratosphere Laboratory, AIC, FEL, Czech
      Technical University in Prague
    orcid: 'https://orcid.org/0000-0001-6238-9910'
  - given-names: Alya
    family-names: Gomaa
    email: alyaggomaa@gmail.com
    affiliation: >-
      Stratosphere Laboratory, AIC, FEL, Czech
      Technical University in Prague
    orcid: ''
  - given-names: Kamila
    family-names: Babayeva
    email: kamifai14@gmail.com
    affiliation: >-
      Stratosphere Laboratory, AIC, FEL, Czech

GitHub Events

Total
  • Push event: 6
  • Create event: 2
Last Year
  • Push event: 6
  • Create event: 2

Dependencies

Dockerfile docker
  • ubuntu 22.04 build
docker/Dockerfile docker
  • golang 1.17 build
  • ubuntu 22.04 build
docker/docker-compose.yml docker
  • stratosphereips/slips latest
docker/light/Dockerfile docker
  • ubuntu 22.04 build
docker-compose.yml docker
  • redis 7.0.4
modules/kalipso/package.json npm
  • ansi-colors ^4.1.1
  • async ^3.2.0
  • blessed ^0.1.81
  • blessed-contrib ^4.10.0
  • chalk ^4.1.2
  • clipboardy ^2.3.0
  • fs ^0.0.1-security
  • redis ^3.1.2
  • sorted-array-async ^0.0.7
  • strip-ansi ^6.0.0
  • yargs ^17.0.1
package.json npm
  • ansi-colors ^4.1.1
  • async ^3.2.0
  • blessed ^0.1.81
  • blessed-contrib ^4.10.0
  • chalk ^4.1.2
  • clipboardy ^2.3.0
  • fs ^0.0.1-security
  • redis ^3.1.2
  • sorted-array-async ^0.0.7
  • strip-ansi ^6.0.0
  • yargs ^17.0.1
docs/requirements.txt pypi
  • linkify-it-py >=2.0.0
  • myst-parser >=2.0.0
  • sphinx >=7.0
  • sphinx-rtd-theme *
install/requirements.txt pypi
  • GitPython ==3.1.44
  • Keras *
  • aid_hash *
  • black ==24.10.0
  • cabby ==0.1.23
  • certifi ==2025.4.26
  • coverage ==7.8.0
  • exclusiveprocess ==0.9.4
  • flask *
  • ipwhois ==1.2.0
  • matplotlib ==3.10.1
  • maxminddb ==2.6.3
  • numpy ==1.26.4
  • pandas ==2.2.3
  • pre-commit ==4.0.1
  • protobuf ==4.25.3
  • psutil ==7.0.0
  • pytest ==8.3.5
  • pytest-asyncio *
  • pytest-dependency ==0.6.0
  • pytest-mock ==3.14.0
  • pytest-sugar ==1.0.0
  • pytest-xdist ==3.6.1
  • pyyaml *
  • redis ==5.2.1
  • ruff ==0.11.7
  • scikit-learn ==1.6.1
  • scikit_learn *
  • scipy ==1.15.1
  • six ==1.17.0
  • slackclient ==2.9.4
  • stix2 ==3.0.1
  • tensorflow ==2.16.1
  • termcolor ==3.0.1
  • tldextract ==5.3.0
  • tzlocal ==5.3.1
  • urllib3 ==2.4.0
  • validators ==0.34.0
  • watchdog ==5.0.0
  • whois ==1.20240129.2
  • yappi ==1.6.10