Προστασία στο Linux από rootkits

Μιας και επικρατεί πως το Linux/Unix style OS είναι το πιο ασφαλές λειτουργικό -κι όχι άδικα- θα θέλαμε να επισημάνουμε και κάποιους κινδύνους που εγκυμονούν από μια τέτοια σιγουριά. Είναι γεγονός ότι στο ελεύθερο λογισμικό-ανοικτού κώδικα, του οποίου η φιλοσοφία είναι απαλλαγμένη από το κέρδος και τις συνεχείς αναβαθμίσεις με σκοπό κυρίως το χρήμα, δεν υπάρχει μεγάλος κίνδυνος μόλυνσης από ιούς/rats κτλ σε σχέση με τα Windows. Υπάρχουν όμως γνωστά local exploits, backdoors, rootkits και malware που τρέχουν και στο Linux, πέρα από τα κατά καιρούς vulnerabilities/exploits που ανακαλύπτονται/δημιουργούνται αντίστοιχα, σε γνωστές εφαρμογές και services (Buffer Overflows για παράδειγμα). Άρα μια τυπική προστασία και έλεγχος θα πρέπει να υπάρχει πάντα. Επίσης να αναβαθμίζουμε τακτικά τις εφαρμογές μας και τη διανομή μας (ειδικά στην περίπτωση των servers).

Πάμε στο ψητό 🙂

Σ’αυτό το άρθρο θα παρουσιάσουμε την χρήση 2 βασικών προγραμμάτων/scanners για εντοπισμό γνωστών rootkits και όχι μόνο:

1) rkhunter [http://rkhunter.sourceforge.net]

2) chkrootkit [http://www.chkrootkit.org]

Γενικά βρίσκουν και εντοπίζουν πολλά worms, LKMs και rootkits. Μπορείτε να δείτε περισσότερα στις ιστοσελίδες που υπάρχουν ακριβώς από πάνω.

Εγκατάσταση: Σε debianοειδή (ubuntu κτλ) υπάρχουν έτοιμα τα πακέτα. Για παράδειγμα βεβαιωνόμαστε ότι υπάρχουν με την εντολή στο terminal:

sudo apt-cache search chkrootkit

Λογικά θα μας δώσει:

chkrootkit - rootkit detector
rkhunter - rootkit, backdoor, sniffer and exploit scanner

Είμαστε Ok λοιπόν! Άρα τα εγκαθιστούμε με το synaptic (gui για το apt) ή από την κονσόλα:

sudo apt-get install chkrootkit rkhunter

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

Μετά την εγκατάσταση ας τα τρέξουμε…

Scanning:

Πριν αρχίσουμε , καλό θα ήταν να δούμε τα man pages των εργαλείων μας ή και τα readme τους. Για τα man pages:

man chkrootkit

man rkhunter

Και τα δύο προγράμματα θέλουν root priviledges για να τρέξουν, οπότε πάμε με sudo ή ως root χρήστης:

Α) rkhunter:

Πρώτα κάνουμε και ένα update:

sudo rkhunter –update

Στη συνέχεια τo τρέχουμε με options: -c (check local system) και -sk (skip keypress για να μην χρειαστεί να πατήσουμε άλλα πλήκτρα κατά το scanning) για ένα γενικό scan στο σύστημά μας:

sudo rkhunter -c -sk

Μόλις τελειώσει, θα δούμε στην κονσόλα τα αποτελέσματα και ελπίζουμε να είναι θετικά χωρίς infections.

Υπάρχουν και άλλα modules στο rkhunter και όπως γράψαμε παραπάνω μπορείτε να ψαχτείτε στο man page!

B) chkrootkit:

Αντίστοιχα και για το chkrootkit, εκτελούμε στην κονσόλα:

sudo chkrootkit

Τα πάντα στο output θα πρέπει να λένε: nothing found!

Σημείωση: Τα εργαλεία αυτά δεν προλαμβάνουν κάποια rootkits, αλλά εντοπίζουν πιθανές μολύνσεις. Επίσης μετά από μια μόλυνση ίσως να χρειαστεί πλήρης εγκατάσταση από την αρχή της διανομής.

Αυτό ήταν. Happy rootkit hunting! 😉

 

Κυβερνητικό πρόγραμμα παρακολούθησης στη Γερμανία

Το Chaos Computer Club, μια πολύ γνωστή ομάδα hackers στη Γερμανία, ανέλυσαν με τη μέθοδο του reverse engineering (http://en.wikipedia.org/wiki/Reverse_engineering), malware που χρησιμοποιεί το γερμανικό κράτος και η αστυνομία για την παρακολούθηση υπολογιστικών συστημάτων και συνομιλιών. Δρούσε ως backdoor και έδινε απομακρυσμένη πρόσβαση στα συστήματα “υπόπτων”.

Στην ιστοσελίδα τους και συγκεκριμένα σε αυτό το άρθρο: http://ccc.de/en/updates/2011/staatstrojaner έχουν επισυνάψει τα binaries, καθώς και την ολοκληρωμένη ανάλυσή τους.

Ίχνη που αφήνουν οι USB συσκευές και τι να κάνουμε με αυτά

Όταν συνδέουμε μια συσκευή USB σε έναν υπολογιστή Windows, καταγράφονται διάφορες πληροφορίες για την συσκευή οι οποίες μπορούν να αποδειχθούν είτε χρήσιμες είτε επικίνδυνες.Μερικά σενάρια είναι :

  • Κάθε USB χαρακτηρίζεται από ένα serial number, μοναδικό για κάθε συσκευή ενός κατασκευαστή. Επομένως σε περίπτωση που είτε ο υπολογιστής είτε το φλασάκι πέσουν στα χέρια των αρχών, το να ταυτοποιηθεί που έχει χρησιμοποιηθεί είναι αρκετά εύκολο.
  • Το να βάλει κάποιος ένα USB σε κάποιον υπολογιστή και να τραβήξει (ή να αφήσει δεδομένα) είναι ζήτημα δευτερολέπτων.Είναι καλό λοιπόν να γνωρίζουμε τι έχει συνδεθεί κατά διαστήματα στον υπολογιστή μας έτσι ώστε να προλαβαίνουμε δυσάρεστες καταστάσεις.

Τα παραπάνω μπορούν να γίνουν χρησιμοποιώντας το πρόγραμμα USBDeview, το οποίο παρουσιάζει τις πληροφορίες αυτές σε αναγνώσιμη μορφή.

 

 

Μερικές χρησιμες από αυτές είναι

  • το είδος της συσκευής
  • το serial number
  • πότε συνδέθηκε πρώτη και πότε τελευταία φορά στον υπολογιστή

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

To κράτος είναι ο μόνος τρομοκράτης…

Ένα πολύ ενδιαφέρον άρθρο για το πως ο αλγόριθμος του μαθηματικού Bill Binney, τον οποίο είχε κατασκευάσει για την NSA με σκοπό να ελέγχει και να επεργάζεται την τηλεπικοινωνιακή κίνηση των ΗΠΑ που ερχοταν από το εξωτερικό (για λόγους “πρόληψης” τρομοκρατικών επιθέσεων) κατέληξε να γίνει το απόλυτο σύστημα παρακολούθησης των επικοινωνιών των ΗΠΑ μετά την 9/11.

Συνοπτικά, το πρόγραμμα ThinThread είχε κατασκευαστεί με σκοπό να ελέγχει την τηλεπικοινωνιακή κίνηση από internet και τηλέφωνο που ερχόταν από το εξωτερικό προς τις ΗΠΑ. Το σύστημα αυτό διέθεται δικλείδες ασφαλείας ώστε να κάνει τους ελέγχους αυτούς χωρίς να παραβιαζει το απόρρητο των επικοινωνιών (κρυπτογραφόντας τα δεδομένα ώστε να μην μπορούν να διαβαστούν). Όμως μετά την 9/11 η NSA τροποποιεί το σύστημα αυτό, αφαιρεί τις δικλείδες αυτές και στρέφει το σύστημα ώστε να παρακολουθεί τους ίδιους τους πολίτες των ΗΠΑ.

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

Απενεργοποίηση του autorun

Το autorun είναι μία από τις “ευκολίες” που μας προσφέρουν τα Windows,επιτρέποντας σε εκτελέσιμα προγράμματα να τρέχουν κατά την σύνδεση του USB stick με τον υπολογιστή. Η δυνατότητα λειτουργεί όταν υπάρχει στο φλασάκι ένα αρχείο με όνομα autorun.inf. Αν τα Windows εντοπίσουν το αρχείο αυτό, το διαβάζουν και εκτελούν τις οδηγίες που δίνονται μέσα σε αυτό. Την δυνατότητα αυτή εκμεταλλεύεται ένα μεγάλο μέρος των ιών που κυκλοφορούν εδώ και χρόνια στο internet ώστε να εκτελούνται χωρίς εμείς να το παίρνουμε χαμπάρι. Για πλήρη προστασία από τέτοιου είδους κακόβουλα προγράμματα υπάρχουν δύο πράγματα που μπορούμε να κάνουμε :

1) να προστατεύσουμε το φλασάκι μας από την επεξεργασία του αρχείου autorun.inf από τρίτους

2) να προστατεύσουμε τον υπολογιστή μας, απενεργοποιόντας την λειτουργία autorun.

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

 

Προστασία του USB stick

 

1. Kάνουμε format το usb stick σε FAT32.Σε Windows αυτό γίνεται συνδέοντας στον υπολογιστή το φλασάκι και στο εικονίδιο που θα εμφανιστεί στο My Computer κάνουμε δεξί κλικ και επιλέγουμε Format.

2. Δημιουργούμε μέσα στο usb stick ένα κενό αρχείο με την ονομασία autorun.inf

3. Χρησιμοποιώντας έναν hex editor της αρεσκείας μας (en.wikipedia.org/wiki/Hex_editor) κάνουμε μια αναζήτηση μέσα στο usb stick για “AUTORUN” (χωρίς τα εισαγωγικά), οπότε το αποτέλεσμα που εμφανίζεται είναι:

41 55 54 4F 52 55 4E 20 49 4E 46 20
A   U  T   O   R   U  N       I    N   F

4. Με τον hex editor τροποποιούμε το παραπάνω ακολούθως:

41 55 54 4F 52 55 4E 20 49 4E 46 40
A   U  T   O   R   U  N        I   N   F  @

5. Κάνουμε save, αγνοώντας όποια προειδοποίηση ότι το usb stick θα υποστεί κάποια βλάβη, βγάζουμε το stick από τη θύρα και το επανασυνδέουμε.

Μπορούμε πλέον να δούμε το autorun.inf μέσα στο stick, αλλά είναι αδύνατη η διαγραφή του ή οποιαδήποτε τροποποίησή του. Ως συνέπεια αυτού, κανένας δε μπορεί να δημιουργήσει ένα νέο autorun μέσα στο usb stick. Και έτσι δε μπορεί να τρέξει καμία ενέργεια εν αγνοία μας ή να μεταδοθούν μέσω autorun λειτουργίας δεδομένα ή εντολές σε υπολογιστές στους οποίους θα συνδεθεί το usb stick.

 

Προστασία του υπολογιστή

 

α) Βάλτε linux 😛

Για Windows XP

  1. Πηγαίνουμε Start -> Run, γράφουμε Gpedit.msc στο κουτάκι Open και πατάμε OK.
  2. Στο Computer Configuration, επεκτείνουμε (πατώντας τον σταυρό) το Administrative Templates και κάνουμε κλικ στο System.
  3. Στο Settings panel, κάνουμε δεξί κλίκ στο  Turn off Autoplay και πατάμε το Properties.
  4. Κάνουμε κλίκ στο Enabled, και μετά επιλέγουμε το All drives στο κουτάκι Turn off Autoplay ώστε να απενεργοποιηθεί για όλες τις συσκευές.
  5. Πατάμε OK, κλείνουμε το παράθυρο και κάνουμε restart

Για WIndows Vista/ 7

  1. Πάμε Start, γράφουμε Gpedit.msc στην αναζήτηση και πατάμε  ENTER. Αν ζητηθεί κωδικός Administrator, τον γράφουμε και πατάμε Allow
  2. Στο Computer Configuration, επεκτείνουμε το Administrative Templates, επεκτείνουμε το Windows Components και κάνουμε κλικ στο Autoplay Policies.
  3. Στο Details pane κάνουμε διπλό κλικ στο Turn off Autoplay.
  4. Κάνουμε κλικ στο Enabled και επιλέγουμε το All drives στο κουτάκι Turn off Autoplay ώστε να απενεργοποιηθεί για όλες τις συσκευές.
  5. Κάνουμε restart

HackThisZine #12

Κυκλοφόρησε το 12ο τέυχος του περιοδικού HackThisZine από το hacktivist group hackbloc .Σ’ αυτό, όπως και σε όλα τα προηγούμενα τεύχη περιλαμβάνονται τεχνικές και πολιτικές αναλύσεις πάνω σε τεχνολογικά και όχι μόνο θέματα.

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

Χρήσιμα plugins για τον Firefox #1

Μία πρώτη προσπάθεια συγκεντρωσης χρήσιμων  plugins για τον Firefox.Σκόπιμα έχει παραληφθεί στο torbutton μιας και στο άμεσο μέλλον θα υπάρξει ένας ολοκληρωμένος οδηγός για την αξιοποίηση του δικτύου Tor.

HTTPS Everywhere

Ένα plugin κατασκευασμένο από το EFF (Electronic Frontier Foundation) σε συνεργασία το The Tor Project.Ουσιαστικά αυτό που κάνει είναι ότι ενεργοποιεί το HTTPS (δηλαδή ασφαλή κρυπτογραφημένη  σύνδεση) σε site που παρέχουν αυτή την υπηρεσία.Το ΗTTPS Everywhere λειτουργεί χρησιμοποιώντας ένα σύνολο κανόνων, στο οποίο είναι καταγεγραμμένα τα site στα οποία θέλουμε να λειτουργήσει.

Για παράδειγμα αν θέλουμε κάθε φορά που μπαίνουμε στο Αthens Indymedia να χρησιμοποιούμε ασφαλή συνδεση, δημιουργούμε ένα αρχείο XML με όνομα π.χ AthensIndymedia.xml και γράφουμε μέσα σ’ αυτό :

<ruleset name="Athens Indymedia">
<target host="Athens.indymedia.org" />
<rule from="^http://Athens.indymedia.org/" to="https://athens.indymedia.org"/>
</ruleset>

To αρχείο αυτό το αποθηκεύουμε μέσα στον φάκελο HTTPSEverywhereUserRules/ που βρίσκεται μέσα στον φάκελο του προφίλ χρήστη του Firefox.Για να βρούμε τον φάκελο αυτό στον Firefox 3.6 :

1.       Παμε Help -> Troubleshooting Information

2.       Πατάμε Open Containing Folder στην γραμμή Profile Directory

Μετά από τα παραπάνω βήματα κάθε φορά που επισκεπτόμαστε το site του Athens Indymedia, θα ενεργοποιείται η ασφαλής σύνδεση.

Περισσότερες πληροφορίες για την χρήση και την δημιουργία ruleset στο ΗΤΤPS Everywhere εδώ

ΝοScript

Κάθε φορά που επισκεπτόμαστε ένα site είναι πιθανό από πίσω να εκτελείται ένας μεγάλος από scripts (μικρά προγράμματα), άλλωτε χρήσιμα (π.χ για μια εμπορική συναλλαγή) άλλωτε κακόβουλα τα οποία μπορούν να αποσπάσουν δεδομένα που δεν θέλουμε από τον υπολογιστή μας.Το ΝοScript αποτρέπει αυτά τα scripts απ’ το να εκτελεστούν, εκτός αν εμείς ορίσουμε διαφορετικά για κάποιο site το οποίο εμπιστευόμαστε.

 

Google Sharing

Όπως αποδεικνύεται ξανά και ξανά το υποτιθέμενο μότο της Google “Do no evil” είναι μόνο για τα μάτια του κόσμου .Θυμάται κανείς τι αναζητήσεις έκανε χθες στο Google?Δύσκολο…Η Google όμως μπορεί και κατά πάσα πιθανότητα το κάνει συστηματικά.Το Google Sharing αποτρέπει το ηλεκτρονικό φακέλωμα στέλνοντας την αναζήτηση μας μέσω άλλων  υπολογιστών και μάλιστα μέσω κρυπτογραφημένης σύνδεσης HTTPS.Σχηματικά αυτό που γίνεται είναι κάτι τέτοιο :

Όπως και το Tor, το Google Sharing εξαρτάται από τους χρήστες του.Επομένως καθένας μπορεί να στήσει τον δικό του server (με οδηγίες που βρίσκονται εδώ) έτσι ώστε να βοηθήσει στο εγχείρημα.

Κρυπτογράφηση του MSN με χρήση του OTR

To MSN είναι μία υπηρεσία IM (instant messaging) της Microsoft και παρόλο που είναι απ’ τις πιο δημοφιλείς τέτοιου είδους υπηρεσίες, είναι ίσως η χειρότερη επιλογή που μπορεί να κάνει κάποιος από άποψη ασφάλειας.Η παντελής έλλειψη κρυπτογράφησης των δεδομένων μέσω του πρωτοκόλλου αυτού (Microsoft Notification Protocol ) επιτρέπει σε οποιονδήποτε τρίτο με ελάχιστες γνώσεις να διαβάσει τις συζητήσεις ή να δει την λίστα επαφών μας.

Χρήση του ΟΤR

Το ΟΤR (Off-The-Record) είναι ένα πρωτόκολλο κρυπτογράφησης για IM υπηρεσίες (δηλαδή όχι μόνο για MSN).Υπάρχουν δύο τρόποι χρήσης.Ή κατεβάζουμε κάποιο πρόγραμμα που το υποστηρίζει εξαρχής ή το προσθέτουμε σαν plugin. Επειδή είναι γνωστό ότι η Microsoft δεν αφήνει τρίτους να χώνονται στα προγράμματα της, για να χρησιμοποιηθεί το plugin πρέπει να ξεχάσουμε το Windows Live Messenger και να καταφύγουμε σε κάποιο άλλο πρόγραμμα.Για τις ανάγκες του παραδείγματος θα χρησιμοποιήθεί το πρόγραμμα Pidgin, το οποίο είναι διαθέσιμο και σε Windows και σε Linux (το παράδειγμα έχει γραφτεί για Windows, η διαδικασία όμως είναι ακριβώς η ίδια και σε linux).

1.Κατεβάζουμε & εγκαθιστούμε το Pidgin

2.Κατεβάζουμε & εγκαθιστούμε το plugin για Windows ( OTR plugin for Pidgin)

3.Ανοίγουμε το Pidgin. Την πρώτη φορά που το τρέχουμε θα μας ρωτήσει αν θέλουμε να φτιάξουμε νέο λογαριασμό.Το επιλέγουμε και φτιάχνουμε έναν λογαριασμό για MSN (για οποιαδήποτε άλλη υπηρεσία ισχύει το ίδιο).

4.Πάμε στο Tools ->Plugins και ψάχνουμε για το Off-the-Record Messaging

Το ενεργοποιούμε και πατάμε Configure Plugin.

5.Επιλέγουμε τον λογαριασμό που μας ενδιαφέρει και πατάμε Generate

otr-options

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

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

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

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

Μόλις δείτε το παρακάτω παράθυρο :

είστε έτοιμοι να συζητήσετε με 100% σιγουριά ότι κανείς άλλος δεν μπορεί να διαβάσει τι λέτε!

Επίλογος

Είναι προφανές ότι το ζητούμενο είναι να απαγκιστρωθούμε κάποια από υπηρεσίες και πρωτόκολλα εταιρειών τύπου Microsoft. Υποδομές ήδη υπάρχουν όμως αν δεν γίνουν ευρέως γνωστές δεν μπορούν να δουλέψουν (γιατί κάποιος να χρησιμοποιήσει ένα πρόγραμμα chat όταν δεν υπάρχει κανείς άλλος που να το χρησιμοποιεί?). Χαρακτηριστικό παράδειγμα που αφορά τις IM υπηρεσίες είναι to πρωτόκολλο XMPP το οποίο είναι ανοιχτό προς όλους, πολύ πιο ασφαλές και (ίσως το σημαντικότερο) επιτρέπει σε οποιονδήποτε να στήσει ένα server. Εκτενέστερη αναφορά σε αυτό θα γίνει σε κάποιο μελλοντικό post.