News (EL)

Εφαρμογές που τερματίζουν τυχαίες διεργασίες στον υπολογιστή επανεμφανίζονται και μπορεί να προκαλέσουν κατάρρευση του συστήματος

computador travado
computador travado - Ei Ywet/Shutterstock.com

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

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

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

Teletrabalho, home office ou trabalho remoto.
Marcelo Camargo/Πρακτορείο Brasil

Τι είναι η ρουλέτα διαδικασίας

Η έννοια της «ρουλέτας διαδικασίας» εμφανίστηκε ως ένα τεχνικό αστείο και ένα ακραίο stress test για τα λειτουργικά συστήματα. Η κεντρική ιδέα είναι απλή και επικίνδυνη: δημιουργήστε ένα σενάριο που επιλέγει τυχαία μια διαδικασία που εκτελείται στον υπολογιστή και την τερματίζει με δύναμη, επαναλαμβάνοντας τη δράση σε έναν συνεχή κύκλο.

Το απρόβλεπτο είναι το βασικό στοιχείο. Το πρόγραμμα μπορεί να τερματίσει οτιδήποτε, από μια ακίνδυνη εργασία όπως το Σημειωματάριο έως μια κρίσιμη υπηρεσία συστήματος όπως η διαχείριση παραθύρων (explorer.exe στο Windows), οδηγώντας σε άμεσο σφάλμα και στην ανάγκη για αναγκαστική επανεκκίνηση του υπολογιστή.

[[MVG_PROTECTED_BLOCK_0]

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

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

Η νέα έκδοση που βασίζεται σε AI

Πρόσφατα, ο προγραμματιστής γνωστός ως IceSolst παρουσίασε το Task Unmanager, μια σύγχρονη έκδοση του concept, που δημιουργήθηκε με τη βοήθεια της πλατφόρμας κωδικοποίησης AI Cursor. Η νέα εφαρμογή Este όχι μόνο αυτοματοποιεί τον τερματισμό των διεργασιών με το αναγνωριστικό τους (αναγνωριστικό διεργασίας), αλλά προσθέτει επίσης ένα επίπεδο «παιχνιδιοποίησης» στην εμπειρία, καθιστώντας την πιο διαδραστική και οπτικά ελκυστική, γεγονός που συνέβαλε στην ταχεία virality της στα μέσα κοινωνικής δικτύωσης.

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

Πώς λειτουργούν αυτά τα εργαλεία στην πράξη

Η τεχνική λειτουργία πίσω από τις εφαρμογές “ρουλέτας διεργασίας” βασίζεται στη χρήση εγγενών εντολών και αυξημένων αδειών του ίδιου του λειτουργικού συστήματος για τον χειρισμό ενεργών διεργασιών. Στο περιβάλλον Windows, για παράδειγμα, τα σενάρια συχνά επικαλούνται λειτουργίες API συστήματος, όπως το “TerminateProcess”, οι οποίες αναγκάζουν τον άμεσο τερματισμό μιας εργασίας χωρίς να της επιτρέπουν να αποθηκεύσει την κατάστασή της ή να εκτελέσει ρουτίνες εκκαθάρισης. Σε συστήματα που βασίζονται στο Unix, όπως το Linux και το macOS, η αντίστοιχη εντολή είναι «kill», που χρησιμοποιείται γενικά με τα σήματα «SIGTERM» (για τυπικό τερματισμό) ή «SIGKILL» (για άμεσο και άνευ όρων τερματισμό). Ο πυρήνας του προγράμματος αποτελείται από έναν αλγόριθμο που πρώτα λαμβάνει τη λίστα όλων των εκτελούμενων αναγνωριστικών Processo (PID), φιλτράρει ορισμένες βασικές διεργασίες ώστε να μην διακοπεί αμέσως (σε ορισμένες εκδόσεις) και στη συνέχεια επιλέγει έναν τυχαίο στόχο από αυτήν τη λίστα για να εκτελέσει την εντολή τερματισμού. Η τυχαία φύση διασφαλίζει ότι κάθε εκτέλεση είναι μοναδική και μπορεί να διαρκέσει δευτερόλεπτα ή λεπτά, ανάλογα με την τύχη και ποιες διεργασίες χτυπηθούν πρώτες. Οι υλοποιήσεις Algumas προσθέτουν μια πινελιά πρόκλησης, απαιτώντας από τον χρήστη να πληκτρολογήσει μια συγκεκριμένη φράση, όπως “είμαι δειλός”, για να σπάσει τον κύκλο πριν από την πλήρη κατάρρευση.

Ιστορικές αναπτύξεις στο GitHub

Παρά την πρόσφατη προσοχή, αρκετές εκδόσεις της “ρουλέτας διαδικασίας” είναι διαθέσιμες σε δημόσια αποθετήρια όπως το GitHub εδώ και σχεδόν μια δεκαετία. Ένα από τα παλαιότερα αρχεία χρονολογείται από το 2016, όταν ο προγραμματιστής Jamis Buck δημοσίευσε μια έκδοση για πολλούς παίκτες του concept.

Σε αυτήν την υλοποίηση, πολλοί συμμετέχοντες συνδέονται σε έναν κεντρικό διακομιστή. Ένας από αυτούς λειτούργησε ως «κρουπιέρης», ξεκινώντας τους γύρους που προκάλεσαν τον τερματισμό των διαδικασιών ταυτόχρονα σε όλα τα συνδεδεμένα μηχανήματα, μετατρέποντας το stress test σε ένα επικίνδυνο συλλογικό παιχνίδι.

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

Οι πραγματικοί κίνδυνοι για τον μέσο χρήστη

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

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

Η άποψη της κοινότητας προγραμματιστών

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

Ασφαλείς εναλλακτικές λύσεις για τη δοκιμή συστήματος

Για προγραμματιστές και λάτρεις που ενδιαφέρονται να δοκιμάσουν τη σταθερότητα των συστημάτων τους, υπάρχουν πολύ ασφαλέστερες και πιο επαγγελματικές εναλλακτικές λύσεις. Τα σημεία αναφοράς Ferramentas και οι δοκιμές ακραίων καταστάσεων, όπως το Prime95 για CPU και το FurMark για κάρτες γραφικών, έχουν σχεδιαστεί για να ωθούν το υλικό στα όριά του με ελεγχόμενο τρόπο, χωρίς τυχαίο τερματισμό διεργασιών.

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

To Top