Μπορεί η τεχνητή νοημοσύνη να σας πει για τα τρωτά σημεία ενός προγράμματος; Ίσως, αλλά μπορεί να μην θέλετε να εμπιστευτείτε πλήρως αυτό που λέει.

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

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

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

Οφέλη από τη χρήση AI για δοκιμές διείσδυσης

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

Το AI φαίνεται να είναι αρκετά επιτυχημένο, ειδικά όταν πρόκειται για τον εντοπισμό και τον αποκλεισμό μιας επίθεσης. Για την εκπαίδευση της τεχνητής νοημοσύνης χρειάζονται πολύ μεγάλα σύνολα δεδομένων. Μια εφαρμογή με υψηλή επισκεψιμότητα στο διαδίκτυο είναι ευεργετική από αυτή την άποψη. Επειδή μπορείτε να κάνετε κάθε εισερχόμενη κίνηση να μοιάζει με ένα σύνολο δεδομένων για χρήση της τεχνητής νοημοσύνης. Έτσι, έχετε ένα AI που μπορεί να διαβάσει και ανάλυση της κυκλοφορίας εφαρμογών ιστού και να εντοπίσουν απειλές. Αυτό είναι ένα από τα απλούστερα παραδείγματα που μπορούν να δοθούν.

Μπορεί επίσης να προανιχνεύσει όχι μόνο την επισκεψιμότητα στον ιστό αλλά και πολλά κακόβουλα προγράμματα για την εφαρμογή ή τη συσκευή σας. Αυτή η μέθοδος έχει ήδη αρχίσει να χρησιμοποιείται από πολλά τείχη προστασίας.

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

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

Περιορισμοί της τεχνητής νοημοσύνης στην κυβερνοασφάλεια

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

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

Το σπάσιμο του κώδικα Enigma από τον Άλαν Τούρινγκ κατά τη διάρκεια του Β' Παγκοσμίου Πολέμου είναι ένα πολύ καλό παράδειγμα αυτού. Ακόμη και ένα τέλειο μηχάνημα δεν μπορεί να αποφασίσει εάν μια άγνωστη είσοδος μπορεί να προκαλέσει ανεπιθύμητη συμπεριφορά στο μέλλον. Αυτά τα στοιχεία μπορούν να εφαρμοστούν σε πολλά διαφορετικά πεδία, συμπεριλαμβανομένης της ασφάλειας στον κυβερνοχώρο.

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

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

Ανάλυση πηγαίου κώδικα με ChatGPT

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

Για να το δούμε καλύτερα, ας δοκιμάσουμε τη δύναμη του ChatGPT. Για παράδειγμα, παρακάτω είναι ένας απλός κώδικας JavaScript που δημιουργεί μια ευπάθεια XSS. Ας ρωτήσουμε το ChatGPT σχετικά με αυτόν τον κώδικα και ας μας ενημερώσει για τυχόν ευπάθειες.

έγγραφο.γράφω("Τρέχουσα διεύθυνση URL: " + έγγραφο.baseURI);

Το ChatGPT ανέφερε ένα Ευπάθεια XSS σε απάντηση. Αυτή είναι μια πολύ καλή αρχή. Αλλά οι πηγαίοι κώδικες δεν είναι ποτέ τόσο απλοί. Ας προσπαθήσουμε λοιπόν να κάνουμε το παράδειγμα λίγο πιο περίπλοκο.

Παρακάτω θα δείτε έναν κώδικα προετοιμασμένο στη γλώσσα προγραμματισμού C. Αυτός ο κωδικός C ανήκει σε μια ευάλωτη εφαρμογή. Χρησιμοποιήθηκε ακόμη και εξ ολοκλήρου σε μια εφαρμογή πραγματικού κόσμου. Εάν θέλετε, μπορείτε να εξετάσετε τα τρωτά σημεία του πηγαίου κώδικα του πραγματικού κόσμου Το Sonar κυκλοφόρησε το 2022.

απανθρακώνω *loggerPath *cmd;

κενόςrotateLog(){
απανθρακώνωlogOld[PATH_MAX], logNew[PATH_MAX], χρονική σφραγίδα[0x100];
time_t t;
χρόνος(&t);
strftime (timestamp, sizeof (timestamp), "%FT%T", gmtime(&t));
snprintf (logOld, sizeof (logOld), "%s/../logs/global.log", loggerPath);
snprintf (logNew, sizeof (logNew), "%s/../logs/global-%s.log", loggerPath, timestamp);
excl("/bin/cp", "/bin/cp", "-ένα", "--", logOld, logNew, ΜΗΔΕΝΙΚΟ);
}

ενθκύριος(ενθ argc, απανθρακώνω **argv){
αν (argc != 2) {
printf("Χρήση: /opt/logger/bin/loggerctl \n");
ΕΠΙΣΤΡΟΦΗ1;
}

αν (Setuid(0) == -1) ΕΠΙΣΤΡΟΦΗ1;
αν (Seteuid(0) == -1) ΕΠΙΣΤΡΟΦΗ1;

απανθρακώνω *executablePath = argv[0];
loggerPath = dirname (executablePath);
cmd = argv[1];

αν (!strcmp (cmd, "γυρίζω")) rotateLog();
αλλού listCommands();
ΕΠΙΣΤΡΟΦΗ0;
}

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

Το κύριο πρόβλημα σε αυτόν τον κώδικα είναι setuid, ταυτότητα χρήστη (uid), και αποτελεσματικό αναγνωριστικό χρήστη (euid). Ωστόσο, χωρίς να υπεισέλθουμε σε πολλές τεχνικές λεπτομέρειες, το κύριο σημείο που πρέπει να προσέξετε είναι αυτό Δεν ήταν δυνατός ο εντοπισμός του ChatGPT αυτό το λεπτό μέρος. Μπορεί να συνειδητοποιήσει ότι υπάρχει πρόβλημα, αλλά δυστυχώς δεν μπορεί να βρει τη ρίζα αυτού του προβλήματος.

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

Το μέλλον των ελεγκτών διείσδυσης

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

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