Syswall ไฟร์วอลล์แบบไดนามิกสำหรับการเรียกระบบ

ซิสวอลล์

Syswall เป็นการพัฒนาใหม่ที่มุ่งสร้างความคล้ายคลึงกันของไฟร์วอลล์แบบไดนามิกเพื่อกรองการเข้าถึงแอปพลิเคชันไปยังการเรียกระบบ รหัสโครงการเขียนด้วยภาษา Rust ไม่ได้ระบุใบอนุญาต

การพัฒนาใหม่นี้ ดูเหมือนว่ายูทิลิตี้ strace เวอร์ชันโต้ตอบและช่วยให้คุณสามารถติดตามการเรียกระบบทั้งหมดที่ทำโดยโปรแกรม ความแตกต่างที่สำคัญคือนอกเหนือจากการแสดงข้อมูลเกี่ยวกับการเรียกระบบและผลลัพธ์ของการดำเนินการแล้ว

เกี่ยวกับ Syswall

syswall รองรับโหมดโต้ตอบ ซึ่งกระบวนการที่ถูกตรวจสอบจะหยุดลงก่อนทำการเรียกระบบ และผู้ใช้จะถูกขอให้ดำเนินการต่อหรือละเว้นการดำเนินการ (ตัวอย่างเช่นคุณสามารถตรวจสอบความพยายามในการเปิดแต่ละไฟล์หรือกระบวนการเชื่อมต่อเครือข่าย)

Syswall ยังสามารถรวบรวมสถิติเกี่ยวกับการโทรของระบบและสร้างรายงานตามข้อมูลนั้น

วัตถุประสงค์ของ syswall มีดังนี้:

ไปยัง ให้ strace เวอร์ชันปรับปรุง ซึ่งง่ายกว่าในการระบุว่าซอฟต์แวร์ใดกำลังทำอยู่
จัดเตรียมสภาพแวดล้อมในการทดสอบและทดลองกับซอฟต์แวร์โดยให้วิธีการที่ละเอียดและโต้ตอบในการอนุญาตและปฏิเสธการโทรของระบบ

แต่ละกระบวนการสามารถมีไฟล์คอนฟิกูเรชัน

สำหรับแต่ละกระบวนการ se สามารถเชื่อมต่อไฟล์คอนฟิกูเรชันกับรายการการเรียกระบบที่อนุญาตอย่างชัดเจนหรือถูกบล็อก

สำหรับการโทรที่รองรับ syswall อนุญาตให้ผู้ใช้ดำเนินการดังต่อไปนี้:

  • อนุญาต syscall ครั้งเดียว
  • อนุญาตให้ใช้ syscall นั้นเสมอ
  • บล็อก syscall หนึ่งครั้ง (แข็งหรืออ่อน)
  • ปิดกั้น syscall นั้นเสมอ (แข็งหรืออ่อน)
  • เมื่อบล็อกโปรแกรมสามารถดำเนินการบล็อก (แข็งหรืออ่อน)

ในระหว่างเซสชันแบบโต้ตอบคุณสามารถอนุญาตหรือบล็อกการเรียกระบบเฉพาะในขณะรันไทม์และการเรียกใช้การเรียกระบบนี้ไม่ว่าจะเข้าถึงโปรแกรมที่ใดก็ตาม
รองรับการบล็อกในโหมด "ยาก" และ "อ่อน"

ประเภทของล็อค

ในกรณีแรกการเรียกระบบจะไม่ดำเนินการและรหัสข้อผิดพลาดในการเข้าถึงจะถูกส่งไปยังกระบวนการ. ในกรณีที่สองการเรียกระบบจะไม่ดำเนินการเช่นกัน แต่กระบวนการได้รับรหัสส่งคืนที่เป็นจริงซึ่งจำลองการดำเนินการเรียกระบบที่ประสบความสำเร็จ

ตัวอย่างเช่นในขณะนี้รองรับเฉพาะการวิเคราะห์การเรียกระบบที่เกี่ยวข้องกับการทำงานของไฟล์เท่านั้น

ฮาร์ดบล็อกป้องกันไม่ให้ syscall ดำเนินการและส่งกลับข้อผิดพลาดที่ปฏิเสธการอนุญาตไปยังกระบวนการย่อย ในทางกลับกันซอฟต์ล็อกจะป้องกัน syscall แต่จะพยายามส่งคืนการตอบสนองที่เหมาะสมให้กับกระบวนการย่อยเพื่อแสร้งทำเป็นว่า syscall ถูกเรียกใช้งานจริง

ในกรณีนี้คำขอยืนยันจะแสดงเฉพาะเมื่อพวกเขาอ้างถึงการโทรระบบที่โทรออกเป็นพิเศษหรือก่อนหน้านี้ที่ขาดหายไป

บันทึกและโหลดการกำหนดค่ากระบวนการ

ตัวเลือกที่ทำระหว่างการดำเนินการสามารถบันทึกลงในไฟล์ JSON ได้ ไฟล์นี้สามารถโหลดได้ในระหว่างการรันอีกครั้งเพื่อให้ใช้ตัวเลือกข้างต้น

นี่เป็นงานที่อยู่ระหว่างดำเนินการ - ระบบจะบันทึกเฉพาะคำตอบที่อนุญาต / บล็อกไว้เสมอ

ข้อมูล

เมื่อกระบวนการย่อยเสร็จสิ้น syswall จะออกรายงานสั้น ๆ เกี่ยวกับการเรียกระบบของกระบวนการย่อย ปัจจุบันประกอบด้วยไฟล์ที่เปิดหรือล็อกทั้งหมด แต่จะขยายออกไปในอนาคต

โครงการนี้ยังอยู่ในขั้นตอนของต้นแบบที่ใช้งานได้และไม่ได้ตระหนักถึงความเป็นไปได้ทั้งหมด

ยังมีอีกมากที่ต้องพัฒนา

มีรายการสิ่งที่ต้องทำขนาดใหญ่สำหรับโครงการในอนาคตมีการวางแผนที่จะเพิ่มการสนับสนุนสำหรับคลาสเพิ่มเติมของการเรียกระบบ lความสามารถในการตรวจสอบโดยคำนึงถึงอาร์กิวเมนต์ที่ส่งไปยังการเรียกระบบหมายถึงการบันทึกสถานะกระบวนการลงในไฟล์สำหรับการเปรียบเทียบกิจกรรมในภายหลังระหว่างการเปิดโปรแกรมต่างๆ (ตัวอย่างเช่นเพื่อเปรียบเทียบรายการไฟล์และการเชื่อมต่อของเครือข่าย) ตัวเลือก เพื่อละเว้นการโหลดไลบรารีไดนามิกและสนับสนุนชุดการตั้งค่าทั่วไป (ตัวอย่างเช่นล็อกซ็อกเก็ตทั้งหมด แต่อนุญาตการเข้าถึงไฟล์)


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา