Ένα από τα πιο σημαντικά θέματα της επιστήμης των ηλεκτρονικών υπολογιστών αφορά την ασφάλεια των συστημάτων. Θεωρείται ύψιστης σημασίας ο χρήστης να έχει πρόσβαση στα εκάστοτε δεδομένα με βασικά κριτήρια τις αρχές ασφάλειας, όπως ορίζονται από το τρίπτυχο της εμπιστευτικότητας (confidentiality), της ακεραιότητας (integrity) και της διαθεσιμότητας (availability).
Στον μοντέρνο κόσμο, με τις τελευταίες τεχνολογίες, τις πλατφόρμες και το διαθέσιμο λογισμικό, εκατομμύρια χρήστες αλληλεπιδρούν μεταξύ τους κάθε λεπτό. Η αλληλεπίδραση μπορεί να συμβαίνει σε ένα (θεωρητικά) προστατευμένο περιβάλλον (εταιρεία ή οργανισμό) ή να λαμβάνει χώρα σε επισφαλείς χώρους όπως το δημόσιο internet, το οποίο είναι η πιο κοινή και γρήγορη επιλογή για τη διάδοση απειλών κι επισφαλούς κώδικα σε όλο τον κόσμο.
Ένας διαχειριστής συστημάτων ή δεδομένων πρέπει να μπορεί να σχεδιάσει μια πολιτική ασφαλείας με γνώμονα την προστασία των δεδομένων από κακόβουλες επιθέσεις και για να το κάνει αποτελεσματικά, οφείλει να γνωρίζει τόσο το τρέχον περιβάλλον των απειλών (current threat landscape), όσο και με ποιον τρόπο πρέπει να προστατεύσει τα δεδομένα ώστε να πληρούνται οι προϋποθέσεις της εμπιστευτικότητας, της ακεραιότητας και της της διαθεσιμότητας.
Με την παρούσα εργασία θα επιχειρήσουμε μια προσέγγιση στον τομέα της ασφάλειας των υπολογιστικών συστημάτων από την οπτική γωνία του επιτιθέμενου. Θα εξετάσουμε τα συνήθη εργαλεία και τις μεθόδους που χρησιμοποιεί ο επιτεθέμενος, ώστε να μπορέσει να αποκτήσει πρόσβαση σε υπολογιστικά συστήματα ή / και αρχεία με πολλαπλούς σκοπούς, που κυμαίνονται από την εκμετάλλευση για προσωπικό όφελος έως την καταστροφή τους.
Σκοπός είναι να δοκιμάσουμε να προσπελάσουμε κακόβουλα κάποια συστήματα και να εξετάσουμε κατά πόσον κάτι τέτοιο είναι εφικτό κι εφόσον είναι, ποια είναι τα αντίμετρα που μπορούμε να θεσπίσουμε, ώστε να διασφαλίσουμε ότι εμείς ή ο οργανισμός, τον οποίο εκπροσωπούμε δεν κινδυνεύουμε από τις ανωτέρω επιθέσεις.
Αξίζει να σημειωθεί ότι με τις γνώσεις που θα αποκομίσουμε από την παρούσα εργασία, θα είμαστε σε θέση να δοκιμάσουμε οι ίδιοι την ασφάλεια του υπολογιστή / δικτύου που έχουμε υπό την επίβλεψή μας με έναν έλεγχο ευπαθειών / μια δοκιμή διείσδυσης ή αλλιώς, όπως είναι ευρύτερα γνωστό στον χώρο της πληροφορικής, ένα penetration testing.
One of the most important issues of computer science is the security of the systems. It is of paramount importance for the user to be able to access the relevant data based on the security principles of confidentiality, integrity, and availability.
In the modern world, with all the latest technologies, platforms, and available software, millions of users are interacting with each other every minute. This interaction can take place in a (theoretically) protected environment (company or organization) or take place in vulnerable environments such as the public internet, which is the most common and rapid option for spreading threats and malicious code all over the world.
A system or data administrator should be able to design a security policy taking into account the data protection from malicious attacks and to do so effectively, he or she must be aware not only of the current threat landscape, but also of which way to use to protect the data, so that the principles of confidentiality, integrity, and availability are fulfilled.
In the current thesis, we will attempt an approach in the sector of computer systems security under the perspective of the attacker. We will examine the most common tools and methods that the attacker uses, to gain access to computer systems and / or files with various purposes, that extend from taking advantage of them for personal gains up to complete destruction.
Our purpose is attempting to gain malicious access in a number of systems and to examine whether this is possible and if it is, what are the countermeasures that we can use, in order to guarantee that we or the organization that we represent, are safe from the above-mentioned attacks.
It is worth noting that with the knowledge we will gain from this thesis, we will be able to test the security of the computer/network that we are supervising with a vulnerability test/intrusion test or otherwise, as it is widely known in the field of IT, a penetration testing.