Το Code Injection είναι μια πολύ κοινή τεχνική στα Windows. Οι εφαρμογές θα "εισάγουν" τον δικό τους κώδικα σε μια άλλη εκτελούμενη διεργασία για να αλλάξουν τη συμπεριφορά αυτής της διαδικασίας. Αυτή η τεχνική μπορεί να χρησιμοποιηθεί για καλούς ή κακούς σκοπούς, αλλά είτε με τον άλλο τρόπο μπορεί να προκαλέσει ανεπιθύμητα προβλήματα. Το λογισμικό προστασίας από ιούς , όπως το λογισμικό προστασίας από ιούς , εισάγει κώδικα στο Chrome για να τροποποιήσει τη συμπεριφορά του. Αυτό οδηγεί σε προβλήματα του προγράμματος περιήγησης που εμφανίζονται πιο συχνά.
Η ένεση κώδικα ονομάζεται επίσης συχνά έγχυση DLL επειδή τα κομμάτια κώδικα που εισάγονται σε άλλες διεργασίες έχουν συνήθως τη μορφή αρχείων DLL - Dynamic Link Library. Ωστόσο, ορισμένες φορές οι εφαρμογές μπορούν επίσης να εισάγουν άλλους τύπους κώδικα που δεν έχουν τη μορφή αρχείων DLL σε άλλη διαδικασία.

Σε τι χρησιμοποιείται το Code Injection;
Το Code Injection χρησιμοποιείται για την εκτέλεση όλων των τεχνασμάτων και των λειτουργιών στα Windows. Το Code Injection χρησιμοποιείται τόσο από νόμιμο λογισμικό όσο και από κακόβουλο λογισμικό, για παράδειγμα:
- Τα προγράμματα προστασίας από ιούς συχνά εισάγουν σενάρια σε προγράμματα περιήγησης ιστού και τα χρησιμοποιούν για να παρακολουθούν την κυκλοφορία δικτύου και να αποκλείουν επικίνδυνο περιεχόμενο ιστού.
- Τα κακόβουλα προγράμματα μπορούν να προσθέσουν κώδικα στο πρόγραμμα περιήγησής σας για την παρακολούθηση του ιστορικού και των πληροφοριών περιήγησής σας και στη συνέχεια να κλέψουν προστατευμένες πληροφορίες, όπως κωδικούς πρόσβασης, αριθμούς πιστωτικών καρτών και αλλαγές που είναι εγκατεστημένες στο πρόγραμμα περιήγησής σας.
- Το Stardock's WindowBlinds , εισάγει κώδικα για να τροποποιήσει τον τρόπο ανοίγματος των παραθύρων.
- Το Stardock's Fences εισάγει κώδικα για να αλλάξει τον τρόπο λειτουργίας των Windows.
- Το AutoHotkey εισάγει κωδικούς για να σας επιτρέψει να δημιουργήσετε σενάρια και να εκχωρήσετε πλήκτρα πρόσβασης σε όλο το σύστημα.
- Τα προγράμματα οδήγησης γραφικών όπως τα NVIDIA στέλνουν αρχεία DLL για να εκτελέσουν μια ποικιλία εργασιών που σχετίζονται με γραφικά.
- Ορισμένα προγράμματα εισάγουν αρχεία DLL για να προσθέσουν πρόσθετες επιλογές σε μια εφαρμογή.
- Οι απατεώνες παιχνιδιών υπολογιστή συχνά εισάγουν κώδικα σε παιχνίδια για να τροποποιήσουν τα χαρακτηριστικά τους, δίνοντας έτσι στους απατεώνες ένα αθέμιτο πλεονέκτημα έναντι των άλλων παικτών.
Είναι κακό το Code Injection;
Αυτή η τεχνική χρησιμοποιείται συνεχώς από πολλές διαφορετικές εφαρμογές στα Windows. Είναι πραγματικά μοναδικό για την εκτέλεση ποικίλων εργασιών. Σε σύγκριση με μια σύγχρονη πλατφόρμα λειτουργικού συστήματος για κινητά, όπως το iOS της Apple ή το Android της Google, τα Windows είναι πολύ πιο ισχυρά επειδή προσφέρουν αυτή την ευελιξία στους προγραμματιστές.
Φυσικά, υπάρχουν και κάποιοι κίνδυνοι. Η εισαγωγή κώδικα μπορεί να προκαλέσει προβλήματα και σφάλματα στην εφαρμογή. Η Google λέει ότι οι χρήστες των Windows που περιλαμβάνουν λογισμικό που εισάγει κώδικα στο Chrome έχουν 15% περισσότερες πιθανότητες να αντιμετωπίσουν σφάλματα στο Chrome από ό,τι συνήθως, και γι' αυτό η Google εργάζεται για να αποτρέψει την εισαγωγή κώδικα.
Η Microsoft παρέχει ακόμη και οδηγίες ώστε οι χρήστες να μπορούν να ελέγχουν εάν φορτώνονται αρχεία DLL τρίτων στο Microsoft Outlook, επειδή αυτά τα αρχεία θα προκαλέσουν πολλά προβλήματα στο Outlook.
Ένας υπάλληλος της Microsoft μοιράστηκε σχετικά με αυτό το πρόβλημα σε ένα ιστολόγιο το 2004:
Τα αρχεία DLL που εισάγονται σε άλλες εφαρμογές δεν είναι ποτέ ασφαλή, επειδή ο κώδικας εισέρχεται παράνομα σε μια διαδικασία που δεν έχει σχεδιαστεί, κατασκευαστεί ή δοκιμαστεί από τον συντάκτη αυτής της διαδικασίας. Διατρέχετε τον κίνδυνο να αντιμετωπίσετε προβλήματα συγχρονισμού ή πόρων που δεν έχετε αντιμετωπίσει ποτέ πριν, διαφορετικά αυτά τα αρχεία θα επιδεινώσουν τα υπάρχοντα προβλήματα στην εφαρμογή.
Με άλλα λόγια, το Code Injection είναι ένα παράνομο hack. Ωστόσο, το Code Injection είναι απλώς μια κοινή τεχνική που βρίσκεται σήμερα στην πλατφόρμα εφαρμογών των Windows. Χρησιμοποιείται συνεχώς στο παρασκήνιο στα Windows στον υπολογιστή σας.
Πώς να ελέγξετε τα αρχεία DLL που έχουν εισαχθεί στην εφαρμογή.
Μπορείτε να ελέγξετε το Code Injection στο σύστημά σας χρησιμοποιώντας την εφαρμογή Process Explorer της Microsoft. Βασικά, αυτή η εφαρμογή είναι μια βελτιωμένη έκδοση του Task Manager ενισχυμένη με τις απαραίτητες πρόσθετες λειτουργίες.
Πρώτα κάνετε λήψη και εκτέλεση του Process Explorer. Στη συνέχεια, κάντε κλικ στην επιλογή Προβολή > Προβολή κάτω παραθύρου > DLL ή πατήστε Ctrl + D.

Επιλέξτε μια διαδικασία στο επάνω τμήμα του παραθύρου και κοιτάξτε το παρακάτω παράθυρο για να δείτε ποια αρχεία DLL φορτώνονται. Η στήλη Όνομα εταιρείας θα σας παρέχει έναν χρήσιμο τρόπο φιλτραρίσματος αυτής της λίστας.
Για παράδειγμα: Όταν βλέπετε μια δέσμη αρχείων DLL που έχουν δημιουργηθεί από τη Microsoft Corporation, αυτό είναι απολύτως φυσιολογικό επειδή αποτελούν μέρος των Windows. Είναι απολύτως φυσιολογικό τα αρχεία DLL που προέρχονται από τις μητρικές εταιρείες της εφαρμογής να βρίσκονται σε αυτήν την εφαρμογή (π.χ. "Google Inc" στο παρακάτω στιγμιότυπο οθόνης).
Σύμφωνα με την παρακάτω εικόνα, μπορούμε επίσης να εντοπίσουμε μερικά αρχεία DLL που δημιουργήθηκαν από το "AVAST Software" σε αυτήν τη λίστα. Αυτό δείχνει ότι η εφαρμογή Avast anti-spyware στο σύστημα εισάγει κώδικα όπως "Avast Script Blocking filter Library" στο Chrome.

Ακόμα κι αν βρείτε εισαγωγή κώδικα στο σύστημά σας, δεν μπορείτε να κάνετε πολλά, εκτός από την απεγκατάσταση του προγράμματος που εισάγει τον κώδικα για να αποτρέψετε την πρόκληση περαιτέρω προβλημάτων. Για παράδειγμα, εάν το Chrome σας διακόπτεται συχνά, μπορείτε να ελέγξετε εάν κάποιο πρόγραμμα εισάγει κώδικα στο Chrome και, αν ναι, απεγκαταστήστε αυτά τα προγράμματα για να αποτρέψετε περαιτέρω παρεμβολές στην πρόοδό σας. Chrome.
Πώς λειτουργεί το Code Injection;
Η εισαγωγή κώδικα δεν επηρεάζει τις υποκείμενες εφαρμογές που είναι αποθηκευμένες στη μονάδα δίσκου σας. Αντίθετα, περιμένει μέχρι να εκκινηθεί η εφαρμογή και στη συνέχεια εισάγει κώδικα στη διαδικασία που εκτελείται για να αλλάξει τον τρόπο λειτουργίας αυτής της διαδικασίας.
Όπως όλοι γνωρίζουμε, τα Windows περιέχουν μια σειρά διεπαφών προγραμματισμού εφαρμογών (API) που μπορούν να χρησιμοποιηθούν για την εισαγωγή κώδικα. Μια διεργασία μπορεί να προσαρτηθεί σε μια διεργασία προορισμού, να εκχωρήσει μνήμη, στη συνέχεια να γράψει ένα DLL ή άλλον κώδικα σε αυτήν τη μνήμη και να δώσει εντολή στη διεργασία προορισμού να εκτελέσει τον κώδικα. Τα Windows δεν εμποδίζουν απολύτως τις διεργασίες στον υπολογιστή σας να παρεμβαίνουν μεταξύ τους όπως αυτή.
Σε ορισμένες περιπτώσεις, κάποιος μπορεί να αλλάξει τον βασικό κωδικό στη μονάδα δίσκου, για παράδειγμα, αντικαθιστώντας το αρχείο DLL που συνοδεύει ένα παιχνίδι υπολογιστή με ένα άλλο κομμάτι κώδικα που έχει τροποποιηθεί, μπορεί κανείς να εξαπατήσει την εξαπάτηση του παιχνιδιού ή την παραβίαση πνευματικών δικαιωμάτων. Τεχνικά, δεν πρόκειται για έγχυση κώδικα επειδή ο κώδικας δεν εισάγεται σε διεργασίες που εκτελούνται, αλλά αντίθετα η διαδικασία εξαπατάται με ένα άλλο αρχείο DLL με το ίδιο όνομα.
Δείτε περισσότερα: