SLIPS เป็นระบบการป้องกันและตรวจจับการบุกรุกพฤติกรรมปลายทางที่มีประสิทธิภาพซึ่งใช้การเรียนรู้ของเครื่องเพื่อตรวจจับพฤติกรรมที่เป็นอันตรายในการรับส่งข้อมูลเครือข่าย สลิปสามารถทำงานร่วมกับทราฟฟิกเครือข่ายตามเวลาจริงไฟล์ PCAP และการไหลของเครือข่ายจากเครื่องมือยอดนิยมเช่น Suricata, Zeek/Bro และ Argus การตรวจจับภัยคุกคามของสลิปขึ้นอยู่กับการรวมกันของรูปแบบการเรียนรู้ของเครื่องที่ผ่านการฝึกอบรมเพื่อตรวจจับพฤติกรรมที่เป็นอันตรายฟีดข่าวกรองการคุกคาม 40+ และการวิเคราะห์พฤติกรรมของผู้เชี่ยวชาญ สลิปรวบรวมหลักฐานของพฤติกรรมที่เป็นอันตรายและใช้เกณฑ์ที่ผ่านการฝึกอบรมอย่างกว้างขวางเพื่อกระตุ้นการแจ้งเตือนเมื่อมีการสะสมหลักฐานเพียงพอ
SLIPS เป็น ID/IPS ที่ใช้การเรียนรู้ของเครื่องซอฟต์แวร์ฟรีครั้งแรกสำหรับจุดสิ้นสุด มันถูกสร้างขึ้นในปี 2012 โดยเซบาสเตียนการ์เซียที่ห้องปฏิบัติการสตราโตสเฟียร์, AIC, ค่าธรรมเนียม, มหาวิทยาลัยเทคนิคเช็กในปราก เป้าหมายคือการเสนอ IDS/IPS ท้องถิ่นที่ใช้ประโยชน์จากการเรียนรู้ของเครื่องเพื่อตรวจจับการโจมตีเครือข่ายโดยใช้การวิเคราะห์พฤติกรรม
Slips ได้รับการสนับสนุนบน Linux, MacOS และ Windows Dockers เท่านั้น คุณสมบัติการปิดกั้นของสลิปได้รับการสนับสนุนเฉพาะใน Linux
SLIPS นั้นใช้ Python และขึ้นอยู่กับกรอบการวิเคราะห์เครือข่าย Zeek สำหรับการจับภาพการรับส่งข้อมูลสดและการวิเคราะห์ PCAPS และอาศัย Redis> = 7.0.4 สำหรับการสื่อสารระหว่างกระบวนการ
วิธีที่แนะนำในการใช้สลิปคือ Docker
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 อย่าใช้ -NET = โฮสต์หากคุณต้องการเข้าถึงพอร์ตของคอนเทนเนอร์ภายในจากโฮสต์
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
สำหรับตัวเลือกการติดตั้งเพิ่มเติม
สำหรับคำอธิบายโดยละเอียดของพารามิเตอร์สลิป
ในการตรวจสอบการส่งออกโดยใช้ GUI คุณสามารถใช้เว็บอินเตอร์เฟสหรืออินเทอร์เฟซที่ใช้บรรทัดคำสั่งของเรา Kalipso
./webinterface.sh
จากนั้นนำทางไปที่ http://localhost:55000/ จากเบราว์เซอร์ของคุณ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเว็บอินเตอร์เฟสให้ตรวจสอบเอกสาร: https://stratospherelinuxips.readthedocs.io/en/develop/usage.html#the-web-interface
./kalipso.sh
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับอินเทอร์เฟซ kalipso ตรวจสอบเอกสาร: https://stratospherelinuxips.readthedocs.io/en/develop/usage.html#kalipso
สลิปต้องใช้ Python 3.10.12 และ RAM อย่างน้อย 4 GBS เพื่อให้ทำงานได้อย่างราบรื่น
สลิปสามารถเรียกใช้บนแพลตฟอร์มที่แตกต่างกันวิธีที่ง่ายที่สุดและแนะนำมากที่สุดหากคุณเป็นผู้ใช้ Linux คือการเรียกใช้สลิปบน Docker
Slips มี config/slips.yaml ที่มีการกำหนดค่าผู้ใช้สำหรับโมดูลที่แตกต่างกันและการดำเนินการทั่วไป
คุณสามารถเปลี่ยนความกว้างของ timewindow ได้โดยการแก้ไขพารามิเตอร์ time_window_width
คุณสามารถเปลี่ยนทิศทางการวิเคราะห์เป็น all หากคุณต้องการดูการโจมตีจากและคอมพิวเตอร์ของคุณ
นอกจากนี้คุณยังสามารถระบุว่าจะ train หรือ test โมเดล ML
คุณสามารถเปิดใช้งานการแจ้งเตือนป๊อปอัพของหลักฐานเปิดใช้งานการบล็อกเสียบสคริปต์ zeek ของคุณเองและอื่น ๆ
รายละเอียดเพิ่มเติมเกี่ยวกับตัวเลือกไฟล์กำหนดค่าที่นี่
คุณสมบัติที่สำคัญคือ:
เรายินดีต้อนรับการมีส่วนร่วมในการปรับปรุงฟังก์ชั่นและคุณสมบัติของสลิป
โปรดอ่านแนวทางที่มีส่วนร่วมอย่างระมัดระวังสำหรับการมีส่วนร่วมในการพัฒนาสลิป
คุณสามารถเรียกใช้สลิปและรายงานข้อบกพร่องส่งคำขอคุณสมบัติและแนะนำแนวคิดเปิดคำขอดึงด้วยปัญหา GitHub ที่แก้ไขแล้วและคุณสมบัติใหม่หรือเปิดคำขอดึงด้วยโมดูลการตรวจจับใหม่
คำแนะนำในการสร้างโมดูลการตรวจจับใหม่พร้อมกับแม่แบบที่นี่
หากคุณเป็นนักเรียนเราขอแนะนำให้คุณสมัครโปรแกรม Google Summer of Code ที่เราเข้าร่วมเป็นองค์กรโฮสติ้ง
ตรวจสอบสลิปใน GSOC2023 สำหรับข้อมูลเพิ่มเติม
คุณสามารถเข้าร่วมการสนทนาของเราใน Discord สำหรับคำถามและการอภิปราย เราขอขอบคุณการมีส่วนร่วมของคุณและขอขอบคุณที่ช่วยปรับปรุงสลิป!
เอกสารผู้ใช้
เอกสารรหัส
หากคุณไม่สามารถฟังอินเทอร์เฟซที่ไม่มี sudo คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อให้ผู้ใช้ใช้ zeek เพื่อฟังอินเตอร์เฟสไม่ใช่แค่รูท
sudo setcap cap_net_raw,cap_net_admin=eip /<path-to-zeek-bin/zeek
คุณสามารถเข้าร่วมการสนทนาของเราใน Discord สำหรับคำถามและการอภิปราย
หรือส่งอีเมลถึงเราที่
ใบอนุญาตสาธารณะ GNU ทั่วไป
ผู้ก่อตั้ง: Sebastian Garcia, [email protected], [email protected]
ผู้เขียนหลัก: Sebastian Garcia, Alya Gomaa, Kamila Babayeva
ผู้มีส่วนร่วม:
https://github.com/stratosphereips/stratospherelinuxips/blob/develop/changelog.md
วิดีโอต่อไปนี้มีการสาธิตของสลิปในการดำเนินการในเหตุการณ์ต่าง ๆ :
เราขอขอบคุณสำหรับการสนับสนุนและการระดมทุนที่มีให้โดยองค์กรต่อไปนี้:
โครงการนี้ได้รับทุนผ่าน NGI0 Entrust ซึ่งเป็นกองทุนที่จัดตั้งขึ้นโดย NLNET ด้วยการสนับสนุนทางการเงินจากโครงการอินเทอร์เน็ตรุ่นต่อไปของคณะกรรมาธิการยุโรป เรียนรู้เพิ่มเติมที่หน้าโครงการ NLNET
เงินทุนของพวกเขามีบทบาทสำคัญในการพัฒนาและความสำเร็จของโครงการนี้ เราขอขอบคุณอย่างจริงใจในการพัฒนาเทคโนโลยีและการรับรู้ของพวกเขาเกี่ยวกับการลื่นไถลที่นำมาสู่ชุมชน