Το Syswall είναι ένα δυναμικό τείχος προστασίας για κλήσεις συστήματος

syswall

Το Syswall είναι μια νέα ανάπτυξη που αποσκοπεί στη δημιουργία ομοιότητας ενός δυναμικού τείχους προστασίας για το φιλτράρισμα της πρόσβασης εφαρμογών σε κλήσεις συστήματος. Ο κώδικας του έργου είναι γραμμένος στη γλώσσα Rust, η άδεια δεν καθορίζεται.

Αυτή η νέα εξέλιξη μοιάζει με τη διαδραστική έκδοση του βοηθητικού προγράμματος strace και σας επιτρέπει να παρακολουθείτε κάθε κλήση συστήματος που εκτελείται από το πρόγραμμα. Η βασική διαφορά είναι ότι, εκτός από την εμφάνιση πληροφοριών σχετικά με τις κλήσεις συστήματος και τα αποτελέσματα της εκτέλεσής τους.

Σχετικά με το Syswall

syswall υποστηρίζει διαδραστική λειτουργία κατά την οποία η παρακολουθούμενη διαδικασία σταματά πριν πραγματοποιήσει μια κλήση συστήματος και ο χρήστης καλείται να συνεχίσει ή να αγνοήσει τη λειτουργία (για παράδειγμα, μπορείτε να παρακολουθείτε τις προσπάθειες ανοίγματος κάθε αρχείου ή διαδικασίας σύνδεσης στο δίκτυο).

Το Syswall μπορεί επίσης να συλλέξει στατιστικά στοιχεία σχετικά με τις πραγματοποιηθείσες κλήσεις συστήματος και να δημιουργήσει μια αναφορά βάσει αυτών.

Οι στόχοι του syswall είναι οι εξής:

να παρέχουν μια βελτιωμένη έκδοση του strace γεγονός που διευκολύνει τον προσδιορισμό του τι κάνει πραγματικά το λογισμικό.
Παρέχετε ένα περιβάλλον για δοκιμές και πειραματισμούς με λογισμικό επιτρέποντας μια λεπτομερή και διαδραστική προσέγγιση για να επιτρέπονται και να μην επιτρέπονται οι κλήσεις συστήματος.

Κάθε διαδικασία μπορεί να έχει ένα αρχείο ρυθμίσεων

Για κάθε διαδικασία, sΜπορείτε να συνδέσετε ένα αρχείο διαμόρφωσης με μια λίστα ρητά επιτρεπόμενων ή αποκλεισμένων κλήσεων συστήματος.

Για υποστηριζόμενες κλήσεις, το syswall επιτρέπει στο χρήστη να εκτελέσει τις ακόλουθες ενέργειες:

  • Επιτρέψτε το syscall μία φορά
  • Να επιτρέπεται πάντα το συγκεκριμένο syscall
  • Αποκλεισμός syscall μία φορά (σκληρό ή μαλακό)
  • Να αποκλείετε πάντα το συγκεκριμένο syscall (σκληρό ή μαλακό)
  • Κατά τον αποκλεισμό, το πρόγραμμα μπορεί να εκτελέσει ένα μπλοκ (σκληρό ή μαλακό).

Κατά τη διάρκεια της διαδραστικής συνεδρίας, είναι δυνατό να επιτρέπονται ή να αποκλείονται συγκεκριμένες κλήσεις συστήματος κατά το χρόνο εκτέλεσης και οποιεσδήποτε κλήσεις προς αυτήν την κλήση συστήματος, ανεξάρτητα από το πού γίνεται η πρόσβαση στο πρόγραμμα.
Ο αποκλεισμός υποστηρίζεται σε λειτουργίες "σκληρού" και "μαλακού".

Τύποι κλειδαριών

Στην πρώτη περίπτωση, η κλήση συστήματος δεν εκτελείται και ο κωδικός σφάλματος πρόσβασης αποστέλλεται στη διαδικασία. Στη δεύτερη περίπτωση, δεν εκτελείται ούτε η κλήση συστήματος, αλλά η διαδικασία λαμβάνει έναν εικονικό κωδικό επιστροφής επιτυχίας, ο οποίος προσομοιώνει την επιτυχή εκτέλεση της κλήσης συστήματος.

Για παράδειγμα, μόνο οι κλήσεις συστήματος που σχετίζονται με λειτουργίες αρχείων υποστηρίζονται για ανάλυση κλήσεων αυτήν τη στιγμή.

Ένα σκληρό μπλοκ εμποδίζει την εκτέλεση του syscall και επιστρέφει ένα σφάλμα άρνησης άδειας στη θυγατρική διαδικασία. Από την άλλη πλευρά, ένα μαλακό μπλοκ αποτρέπει το syscall, αλλά προσπαθεί να επιστρέψει μια κατάλληλη απόκριση στη θυγατρική διαδικασία για να προσποιηθεί ότι το syscall εκτελέστηκε πραγματικά.

Σε αυτήν την περίπτωση, τα αιτήματα επιβεβαίωσης θα εμφανίζονται μόνο όταν αναφέρονται σε κλήσεις συστήματος που έχουν ειδική σήμανση ή δεν έχουν βρεθεί προηγουμένως.

Αποθηκεύστε και φορτώστε μια διαμόρφωση διαδικασίας.

Οι επιλογές που έγιναν κατά την εκτέλεση μπορούν να αποθηκευτούν σε ένα αρχείο JSON. Αυτό το αρχείο μπορεί να φορτωθεί κατά τη διάρκεια μιας άλλης εκτέλεσης, ώστε να χρησιμοποιηθούν οι παραπάνω επιλογές.

Αυτό είναι ένα έργο σε εξέλιξη - μόνο οι επιτρεπόμενες/αποκλεισμένες απαντήσεις θα αποθηκεύονται πάντα.

πληροφορίες

Όταν τερματιστεί η θυγατρική διαδικασία, το syswall θα εκδώσει μια σύντομη αναφορά σχετικά με τις κλήσεις συστήματος της θυγατρικής διαδικασίας. Προς το παρόν, αποτελείται από όλα τα ανοιχτά ή κλειδωμένα αρχεία, αλλά θα επεκταθεί σε μελλοντικές εκδόσεις.

Το έργο βρίσκεται ακόμη στο στάδιο του λειτουργικού πρωτοτύπου και δεν υλοποιούνται όλες οι πιθανότητες.

Ακόμα περισσότερα να αναπτυχθούν

Υπάρχει μια μεγάλη λίστα υποχρεώσεων για το έργο, στο μέλλον, σχεδιάζεται να προστεθεί υποστήριξη για πρόσθετες κατηγορίες κλήσεων συστήματος, lδυνατότητα ελέγχου έναντι ορισμάτων που διαβιβάζονται στην κλήση συστήματος, σημαίνει αποθήκευση της κατάστασης διεργασίας σε ένα αρχείο για μεταγενέστερη σύγκριση της δραστηριότητας κατά την εκκίνηση διαφορετικών προγραμμάτων (για παράδειγμα, για σύγκριση λιστών αρχείων και συνδέσεων δικτύου), επιλογή παράβλεψης φόρτωσης δυναμικών βιβλιοθηκών και υποστήριξη τυπικού συνόλου διαμορφώσεων (για παράδειγμα, αποκλεισμός όλων των υποδοχών, αλλά επιτρέπεται η πρόσβαση στα αρχεία).


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.