บริษัทซิสโก้
ในสาขา Snort 3 แนวคิดผลิตภัณฑ์ได้รับการออกแบบใหม่ทั้งหมดและสถาปัตยกรรมได้รับการออกแบบใหม่ ในด้านสำคัญของการพัฒนา Snort 3: ความง่ายในการตั้งค่าและเรียกใช้ Snort, การกำหนดค่าอัตโนมัติ, ลดความซับซ้อนของภาษาสำหรับการสร้างกฎ, การตรวจหาโปรโตคอลทั้งหมดโดยอัตโนมัติ, การจัดเตรียมเชลล์สำหรับการควบคุมจากบรรทัดคำสั่ง, การใช้งานที่ใช้งานอยู่ มัลติเธรดพร้อมการเข้าถึงโปรเซสเซอร์ที่แตกต่างกันในการกำหนดค่าเดียว
มีการนำนวัตกรรมที่สำคัญดังต่อไปนี้ไปใช้:
- มีการเปลี่ยนไปใช้ระบบการกำหนดค่าใหม่ซึ่งมีไวยากรณ์ที่เรียบง่ายและอนุญาตให้ใช้สคริปต์เพื่อสร้างการตั้งค่าแบบไดนามิก LuaJIT ใช้เพื่อประมวลผลไฟล์การกำหนดค่า ปลั๊กอินที่ใช้ LuaJIT นั้นมาพร้อมกับตัวเลือกเพิ่มเติมสำหรับกฎและระบบการบันทึก
- กลไกการตรวจจับการโจมตีได้รับการปรับปรุงให้ทันสมัย กฎได้รับการอัปเดต และเพิ่มความสามารถในการผูกบัฟเฟอร์ในกฎ (บัฟเฟอร์เหนียว) มีการใช้เครื่องมือค้นหา Hyperscan ซึ่งทำให้สามารถใช้รูปแบบที่ทริกเกอร์ได้รวดเร็วและแม่นยำยิ่งขึ้นโดยอิงจากนิพจน์ทั่วไปในกฎ
- เพิ่มโหมดวิปัสสนาใหม่สำหรับ HTTP ที่คำนึงถึงสถานะเซสชันและครอบคลุม 99% ของสถานการณ์ที่ชุดทดสอบรองรับ
HTTP เอเวเดอร์ . เพิ่มระบบตรวจสอบการจราจร HTTP/2; - ประสิทธิภาพของโหมดการตรวจสอบแพ็คเก็ตเชิงลึกได้รับการปรับปรุงอย่างมีนัยสำคัญ เพิ่มความสามารถในการประมวลผลแพ็กเก็ตแบบมัลติเธรด ช่วยให้สามารถดำเนินการหลายเธรดพร้อมกันด้วยตัวประมวลผลแพ็กเก็ต และให้ความสามารถในการปรับขนาดเชิงเส้นขึ้นอยู่กับจำนวนแกน CPU
- มีการปรับใช้ที่เก็บข้อมูลการกำหนดค่าและตารางคุณลักษณะทั่วไป ซึ่งใช้ร่วมกันระหว่างระบบย่อยที่แตกต่างกัน ซึ่งลดการใช้หน่วยความจำลงอย่างมากโดยกำจัดความซ้ำซ้อนของข้อมูล
- ระบบบันทึกเหตุการณ์ใหม่โดยใช้รูปแบบ JSON และรวมเข้ากับแพลตฟอร์มภายนอก เช่น Elastic Stack ได้อย่างง่ายดาย
- การเปลี่ยนไปใช้สถาปัตยกรรมแบบโมดูลาร์ ความสามารถในการขยายฟังก์ชันการทำงานผ่านการเชื่อมต่อปลั๊กอิน และการนำระบบย่อยที่สำคัญไปใช้ในรูปแบบของปลั๊กอินที่เปลี่ยนได้ ปัจจุบันมีการติดตั้งปลั๊กอินหลายร้อยรายการสำหรับ Snort 3 ซึ่งครอบคลุมการใช้งานด้านต่างๆ เช่น ช่วยให้คุณสามารถเพิ่มตัวแปลงสัญญาณ โหมดวิปัสสนา วิธีการบันทึก การกระทำ และตัวเลือกต่างๆ ในกฎ
- การตรวจจับบริการที่ทำงานอยู่โดยอัตโนมัติ ไม่จำเป็นต้องระบุพอร์ตเครือข่ายที่ใช้งานอยู่ด้วยตนเอง
- เพิ่มการรองรับไฟล์เพื่อแทนที่การตั้งค่าอย่างรวดเร็วโดยสัมพันธ์กับการกำหนดค่าเริ่มต้น เพื่อให้การกำหนดค่าง่ายขึ้น การใช้ snort_config.lua และ SNORT_LUA_PATH จึงถูกยกเลิก
เพิ่มการรองรับสำหรับการโหลดการตั้งค่าใหม่ได้ทันที - รหัสนี้ให้ความสามารถในการใช้โครงสร้าง C++ ที่กำหนดไว้ในมาตรฐาน C++14 (บิลด์ต้องใช้คอมไพเลอร์ที่รองรับ C++14)
- เพิ่มตัวจัดการ VXLAN ใหม่
- ปรับปรุงการค้นหาประเภทเนื้อหาตามเนื้อหาโดยใช้การใช้อัลกอริธึมทางเลือกที่อัปเดต
บอยเยอร์-มัวร์ иไฮเปอร์สแกน ; - การเริ่มต้นระบบจะเร่งความเร็วโดยใช้หลายเธรดเพื่อรวบรวมกลุ่มกฎ
- เพิ่มกลไกการบันทึกใหม่
- เพิ่มระบบการตรวจสอบ RNA (การรับรู้เครือข่ายแบบเรียลไทม์) ซึ่งจะรวบรวมข้อมูลเกี่ยวกับทรัพยากร โฮสต์ แอปพลิเคชัน และบริการที่มีอยู่บนเครือข่าย
ที่มา: opennet.ru