Τα Windows 11 διαθέτουν την υπηρεσία “Windows Health and Optimized Experiences” που τρέχει στο παρασκήνιο. Μια νέα ανάλυση εις βάθος της συγκεκριμένης υπηρεσίας μας δείχνει ότι στο παρασκήνιο συμβαίνουν πολύ περισσότερα πράγματα από ό,τι θα περίμενε κανείς.
Ο Xusheng Li λοιπόν αποφάσισε να εξετάσει πιο προσεκτικά το whesvc με αντίστροφη μηχανική (reverse engineering), την υπηρεσία πίσω από το Windows Health and Optimized Experiences. Η Microsoft ισχυρίζεται ότι είναι μια υπηρεσία που παρακολουθεί πληροφορίες για την CPU, τις θερμικές τιμές και την μπαταρία πριν στείλει δεδομένα στην εταιρεία κάθε 15 λεπτά.
Όπως εξήγησε ο μηχανικός της Microsoft, Scott Hanselman, η υπηρεσία προορίζεται να καταγράφει στοχευμένα διαγνωστικά απόδοσης όταν τα Windows ανιχνεύουν αργή συμπεριφορά. Τα ίχνη που καταγράφονται αποθηκεύονται τοπικά και μπορούν να υποβληθούν μέσω του Feedback Hub. Η έρευνα του Li το επιβεβαίωσε σε μεγάλο βαθμό, αλλά αποκάλυψε επίσης ότι η Microsoft δεν σταματάει εκεί.
Η ίδια η υπηρεσία whesvc είναι στην πραγματικότητα αρκετά μικρή. Η ενδιαφέρουσα λειτουργικότητα βρίσκεται μέσα στο windiag.dll, το οποίο χρησιμοποιεί τη γλώσσα scripting Lua 5.4.7. Η Microsoft χρησιμοποιεί επίσης και το whesvc_assets.dll, το οποίο περιέχει 84 μεταγλωττισμένα σενάρια Lua που χειρίζονται διαφορετικά διαγνωστικά σενάρια.
Εδώ είναι που τα πράγματα γίνονται ενδιαφέροντα. Ο Li διαπίστωσε ότι η μηχανή scripting εκθέτει 79 εγγενείς συναρτήσεις, δίνοντας στα σενάρια της Microsoft πρόσβαση σε ένα εκπληκτικά ευρύ φάσμα δυνατοτήτων των Windows.
Για παράδειγμα, η υπηρεσία μπορεί να διαβάσει και να τροποποιήσει το Μητρώο των Windows, να τρέξει αυθαίρετες λειτουργίες αρχείων, να δημιουργήσει και να αλληλεπιδράσει με διεργασίες, να υποβάλει ερωτήματα σε WMI (Windows Management Instrumentation), να συλλέξει ίχνη Event Tracing for Windows (ETW), να ελέγξει διακριτικά ασφαλείας, να ανακτήσει πληροφορίες ισχύος και θερμότητας, να κατεβάσει σύμβολα, να δημιουργήσει αρχεία .cab, ακόμη και να κάνει αιτήματα HTTP.
Υπάρχει επίσης μια διεπαφή ξένων συναρτήσεων γενικής χρήσης (FFI από το foreign function interface), που επιτρέπει στα scripts να αλληλεπιδρούν με εγγενή DLL και διάφορες λειτουργίες των Windows. Αυτό καθιστά την υποκείμενη μηχανή σημαντικά πιο ισχυρή από ό,τι θα ήταν απαραίτητο για μια υπηρεσία διαγνωστικής απόδοσης.
Ωστόσο, αυτό δεν σημαίνει ότι η Microsoft χρησιμοποιεί κρυφά την υπηρεσία για να χειρίζεται τυχαία αρχεία ή καταχωρήσεις Μητρώου. Ο Li διαπίστωσε ότι τα scripts χρησιμοποιούν αυτές τις δυνατότητες για αρκετά απλές διαγνωστικές εργασίες.
Ο μηχανικός αναφέρει ότι έψαξε να βρει κάτι ύποπτο, αλλά δεν βρήκε. Η υπηρεσία δεν καταγράφει κρυφά την οθόνη και τα διαγνωστικά της ίχνη δεν ανεβαίνουν αυτόματα σε servers της Microsoft, όπως αναφέρει.
Η Microsoft έχει κατασκευάσει ουσιαστικά μια μηχανή γενικής χρήσης διαγνωστικών συστημάτων που λειτουργεί σαν SYSTEM, με απεριόριστες δυνατότητες από το μητρώο και τον χειρισμό αρχείων έως τη δημιουργία διεργασιών και την εκτέλεση εγγενούς κώδικα. Τα δεομένα που αποστέλλονται παραμένουν εντός των ορίων των διαγνωστικών απόδοσης, αλλά ο υποκείμενος μηχανισμός είναι πολύ πιο ικανός από ό,τι απαιτεί η εργασία.
Μπορείτε να διαβάσετε την τεχνική ανάλυση του Xusheng Li από εδώ.
Αν και τα δελτία τύπου θα είναι από πολύ επιλεγμένα έως και σπάνια, είπα να περάσω … γιατί καμιά φορά κρύβονται οι συντάκτες.


