Η απομόνωση εφαρμογών Win32 είναι μια εξαιρετική δυνατότητα ασφαλείας που εισήγαγε η Microsoft στα Windows 11 τον περασμένο μήνα, έτσι λειτουργεί.
Στο ετήσιο συνέδριο Build τον περασμένο μήνα, η Microsoft ανακοίνωσε τη δυνατότητα εκτελέστε εφαρμογές Win32 μεμονωμένα στα Windows 11. Η εταιρεία δεν μπήκε σε πολλές λεπτομέρειες στην αρχική της ανάρτηση ιστολογίου, αλλά τόνισε την επιλογή να τρέξει το Win32 εφαρμογές σε περιβάλλον sandbox, έτσι ώστε το υπόλοιπο λειτουργικό σύστημα να είναι ασφαλές από δυνητικά κακόβουλα λογισμικό. Τώρα, αποκάλυψε περισσότερες πληροφορίες σχετικά με αυτή τη συγκεκριμένη δυνατότητα, συμπεριλαμβανομένου του τρόπου λειτουργίας και της προσαρμογής στην υπόλοιπη υποδομή ασφαλείας των Windows.
Ο Αντιπρόεδρος Ασφάλειας και Επιχειρήσεων της Microsoft της Microsoft, Ντέιβιντ Γουέστον, έγραψε εκτενώς ανάρτηση, εξηγώντας τη φύση της απομόνωσης της εφαρμογής Win32. Η δυνατότητα είναι μια άλλη επιλογή ασφάλειας sandbox όπως ακριβώς Windows Sandbox και Microsoft Defender Application Guard, αλλά βασίζεται σε AppContainers, όχι σε λογισμικό που βασίζεται σε εικονικοποίηση, όπως τα άλλα δύο μέτρα ασφαλείας. Για όσους δεν γνωρίζουν, το AppContainers χρησιμεύει ως ένας τρόπος για τον έλεγχο της εκτέλεσης μιας διαδικασίας ενθυλακώνοντάς την και διασφαλίζοντας ότι εκτελείται σε πολύ χαμηλά επίπεδα προνομίων και ακεραιότητας.
Η Microsoft συνιστά ανεπιφύλακτα τη χρήση Έλεγχος Smart App (SAC) και απομόνωση εφαρμογών Win32 ταυτόχρονα, ενώ προστατεύετε το περιβάλλον των Windows από μη αξιόπιστες εφαρμογές που χρησιμοποιούν ευπάθειες 0 ημερών. Ο πρώτος μηχανισμός ασφαλείας σταματά τις επιθέσεις εγκαθιστώντας μόνο αξιόπιστες εφαρμογές, ενώ ο δεύτερος μπορεί να είναι χρησιμοποιείται για την εκτέλεση εφαρμογών σε απομονωμένο και ασφαλές περιβάλλον για τον περιορισμό πιθανών ζημιών και την προστασία του χρήστη μυστικότητα. Αυτό συμβαίνει επειδή μια εφαρμογή Win32 που εκτελείται μεμονωμένα δεν έχει το ίδιο επίπεδο προνομίων με τον χρήστη του συστήματος.
Η εταιρεία τεχνολογίας Redmond έχει εντοπίσει αρκετούς βασικούς στόχους της απομόνωσης εφαρμογών Win32. Για αρχή, περιορίζει τον αντίκτυπο από μια παραβιασμένη εφαρμογή, καθώς οι εισβολείς έχουν χαμηλά προνόμια πρόσβασης σε ένα τμήμα του λειτουργικό σύστημα και θα χρειαζόταν να αλυσοδύνουν μια πολύπλοκη επίθεση πολλαπλών βημάτων για να σπάσουν το sandbox τους. Ακόμα κι αν είναι επιτυχείς, αυτό δίνει περισσότερη εικόνα και για τη διαδικασία τους, καθιστώντας την πολύ πιο γρήγορη την εφαρμογή και την παράδοση επιδιορθώσεων μετριασμού.
Ο τρόπος που λειτουργεί αυτό είναι ότι μια εφαρμογή ξεκινά αρχικά σε χαμηλά επίπεδα ακεραιότητας μέσω του AppContainer, που σημαίνει ότι έχουν πρόσβαση σε επιλεγμένα API των Windows και δεν μπορούν να εκτελέσουν κακόβουλο κώδικα που απαιτούν υψηλότερα προνόμια επίπεδα. Στο επόμενο και τελευταίο βήμα, οι αρχές του ελάχιστου προνομίου επιβάλλονται δίνοντας σε μια εφαρμογή εξουσιοδοτημένη πρόσβαση σε ασφαλή αντικείμενα των Windows, κάτι που ισοδυναμεί με την εφαρμογή ενός Λίστα διακριτικού ελέγχου πρόσβασης (DACL) στα Windows.
Ένα άλλο πλεονέκτημα της απομόνωσης εφαρμογών Win32 είναι η μειωμένη προσπάθεια προγραμματιστών, καθώς οι δημιουργοί εφαρμογών μπορούν να αξιοποιήσουν το Application Capability Profiler (ACP) διαθέσιμο στο GitHub για να κατανοήσουν ποιες άδειες χρειάζονται ακριβώς. Μπορούν να ενεργοποιήσουν το ACP και να εκτελέσουν την εφαρμογή τους σε "λειτουργία εκμάθησης" σε απομόνωση εφαρμογής Win32 για να λάβουν αρχεία καταγραφής σχετικά με τις πρόσθετες δυνατότητες που χρειάζονται για την εκτέλεση του λογισμικού τους. Το ACP τροφοδοτείται από το backend του επιπέδου δεδομένων του Windows Performance Analyzer (WPA) και από τα αρχεία καταγραφής ανίχνευσης συμβάντων (ETL). Οι πληροφορίες από τα αρχεία καταγραφής που δημιουργούνται από αυτήν τη διαδικασία μπορούν απλώς να προστεθούν στο αρχείο δήλωσης πακέτου μιας εφαρμογής.
Τέλος, η απομόνωση της εφαρμογής Win32 στοχεύει να προσφέρει μια απρόσκοπτη εμπειρία χρήστη. Η απομόνωση εφαρμογών Win32 το διευκολύνει απαιτώντας από τις εφαρμογές να χρησιμοποιούν την ικανότητα "isolatedWin32-promptForAccess" να προτρέπει τον χρήστη σε περίπτωση που απαιτήσει πρόσβαση στα δεδομένα του, όπως βιβλιοθήκες .NET και προστατευμένο μητρώο κλειδιά. Η προτροπή θα πρέπει να έχει νόημα για τον χρήστη από τον οποίο λαμβάνεται η συγκατάθεση. Μόλις δοθεί πρόσβαση σε έναν πόρο, αυτό συμβαίνει στη συνέχεια:
Όταν ο χρήστης συναινεί σε ένα συγκεκριμένο αρχείο για την απομονωμένη εφαρμογή, η απομονωμένη εφαρμογή διασυνδέεται με τα Windows Σύστημα αρχείων μεσιτείας (BFS) και παραχωρεί πρόσβαση στα αρχεία μέσω ενός προγράμματος οδήγησης μίνι φίλτρου. Το BFS απλά ανοίγει το αρχείο και χρησιμεύει ως διεπαφή μεταξύ της απομονωμένης εφαρμογής και του BFS.
Η εικονικοποίηση αρχείων και μητρώου διασφαλίζει ότι οι εφαρμογές συνεχίζουν να λειτουργούν χωρίς να ενημερώνεται το βασικό αρχείο ή το μητρώο. Αυτό ελαχιστοποιεί επίσης τυχόν τριβή στην εμπειρία χρήστη, διατηρώντας παράλληλα τη συμβατότητα της εφαρμογής. Οι προστατευμένοι χώροι ονομάτων δημιουργούνται για να επιτρέπεται η πρόσβαση μόνο στην εφαρμογή και δεν απαιτείται η συναίνεση του χρήστη. Για παράδειγμα, μπορεί να παραχωρηθεί πρόσβαση σε έναν φάκελο που έχει μια ιδιότητα που είναι γνωστή μόνο στην εφαρμογή Win32 και απαιτείται για συμβατότητα εφαρμογής.
Η Microsoft έχει τονίσει ότι για να υπάρχει ισοτιμία χαρακτηριστικών μεταξύ απομονωμένων και μη απομονωμένων Οι εφαρμογές Win32, οι πρώτες μπορούν να αλληλεπιδράσουν με το σύστημα αρχείων και άλλα API των Windows αξιοποιώντας τα Windows BFS. Επιπλέον, οι καταχωρίσεις στο μανιφέστο της εφαρμογής διασφαλίζουν επίσης ότι η εφαρμογή μπορεί να αλληλεπιδρά με ασφάλεια με στοιχεία των Windows, όπως ειδοποιήσεις κελύφους και εικονίδια στο δίσκο συστήματος. Μπορείς μάθετε περισσότερα για την πρωτοβουλία στο GitHub εδώ.