Packj - μια εργαλειοθήκη για τον εντοπισμό κακόβουλων βιβλιοθηκών σε Python και JavaScript

Οι προγραμματιστές της πλατφόρμας Packj, η οποία αναλύει την ασφάλεια των βιβλιοθηκών, δημοσίευσαν ένα ανοιχτό κιτ εργαλείων γραμμής εντολών που τους επιτρέπει να εντοπίζουν επικίνδυνες δομές σε πακέτα που μπορεί να σχετίζονται με την εφαρμογή κακόβουλης δραστηριότητας ή την παρουσία τρωτών σημείων που χρησιμοποιούνται για την πραγματοποίηση επιθέσεων σε έργα που χρησιμοποιούν τα εν λόγω πακέτα ("αλυσίδα εφοδιασμού"). Ο έλεγχος πακέτων υποστηρίζεται σε γλώσσες Python και JavaScript, οι οποίοι φιλοξενούνται στους καταλόγους PyPi και NPM (προγραμματίζουν επίσης να προσθέσουν υποστήριξη για Ruby και RubyGems αυτόν τον μήνα). Ο κώδικας της εργαλειοθήκης είναι γραμμένος σε Python και διανέμεται με την άδεια AGPLv3.

Κατά την ανάλυση 330 χιλιάδων πακέτων με χρήση των προτεινόμενων εργαλείων στο αποθετήριο PyPi, εντοπίστηκαν 42 κακόβουλα πακέτα με backdoors και 2.4 χιλιάδες επικίνδυνα πακέτα. Κατά τη διάρκεια της επιθεώρησης, πραγματοποιείται ανάλυση στατικού κώδικα για τον εντοπισμό χαρακτηριστικών API και την αξιολόγηση της παρουσίας γνωστών τρωτών σημείων που σημειώνονται στη βάση δεδομένων OSV. Το πακέτο MalOSS χρησιμοποιείται για την ανάλυση του API. Ο κώδικας του πακέτου αναλύεται για την παρουσία τυπικών μοτίβων που χρησιμοποιούνται συνήθως σε κακόβουλο λογισμικό. Τα πρότυπα ετοιμάστηκαν με βάση μια μελέτη 651 πακέτων με επιβεβαιωμένη κακόβουλη δραστηριότητα.

Προσδιορίζει επίσης χαρακτηριστικά και μεταδεδομένα που οδηγούν σε αυξημένο κίνδυνο κακής χρήσης, όπως η εκτέλεση μπλοκ μέσω "eval" ή "exec", η δημιουργία νέου κώδικα κατά την εκτέλεση, η χρήση τεχνικών ασαφούς κώδικα, ο χειρισμός μεταβλητών περιβάλλοντος, η πρόσβαση χωρίς στόχο σε αρχεία. πρόσβαση σε πόρους δικτύου σε σενάρια εγκατάστασης (setup.py), χρήση typequatting (ανάθεση ονομάτων παρόμοια με τα ονόματα δημοφιλών βιβλιοθηκών), αναγνώριση απαρχαιωμένων και εγκαταλελειμμένων έργων, καθορισμός ανύπαρκτων email και ιστοσελίδων, έλλειψη δημόσιου αποθετηρίου με κώδικα.

Επιπλέον, μπορούμε να σημειώσουμε την αναγνώριση από άλλους ερευνητές ασφαλείας πέντε κακόβουλων πακέτων στο αποθετήριο PyPi, τα οποία έστελναν τα περιεχόμενα των μεταβλητών περιβάλλοντος σε έναν εξωτερικό διακομιστή με την προσδοκία να κλέψουν διακριτικά για AWS και συστήματα συνεχούς ενοποίησης: loglib-modules (παρουσιάζονται ως ενότητες για τη νόμιμη βιβλιοθήκη loglib), pyg-modules , pygrata και pygrata-utils (που διαφημίζονται ως προσθήκες στη νόμιμη βιβλιοθήκη pyg) και hkg-sol-utils.

Packj - μια εργαλειοθήκη για τον εντοπισμό κακόβουλων βιβλιοθηκών σε Python και JavaScript


Πηγή: opennet.ru

Προσθέστε ένα σχόλιο