ΑΝΑΠΤΥΞΗ ΠΛΑΤΦΟΡΜΑΣ ΛΟΓΙΣΜΙΚΟΥ ΓΙΑ ΜΕΛΕΤΗ ΖΗΤΗΜΑΤΩΝ ΕΠΙΘΕΤΙΚΗΣ ΑΣΦΑΛΕΙΑΣ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΑΝΑΠΤΥΞΗ ΠΛΑΤΦΟΡΜΑΣ ΛΟΓΙΣΜΙΚΟΥ ΓΙΑ ΜΕΛΕΤΗ ΖΗΤΗΜΑΤΩΝ ΕΠΙΘΕΤΙΚΗΣ ΑΣΦΑΛΕΙΑΣ"

Transcript

1 ΑΝΑΠΤΥΞΗ ΠΛΑΤΦΟΡΜΑΣ ΛΟΓΙΣΜΙΚΟΥ ΓΙΑ ΜΕΛΕΤΗ ΖΗΤΗΜΑΤΩΝ ΕΠΙΘΕΤΙΚΗΣ ΑΣΦΑΛΕΙΑΣ Η Μεταπτυχιακή Διατριβή παρουσιάστηκε ενώπιον του Διδακτικού Προσωπικού του Πανεπιστημίου Αιγαίου Σε Μερική Εκπλήρωση των Απαιτήσεων για το Μεταπτυχιακό Δίπλωμα Ειδίκευσης στις Τεχνολογίες και Διοίκηση Πληροφοριακών και Επικοινωνιακών Συστημάτων των Αλέξανδρου Κεφαλλωνίτη & Γεώργιου Παπαγεωργίου ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2012 i

2 Η ΤΡΙΜΕΛΗΣ ΕΠΙΤΡΟΠΗ ΔΙΔΑΣΚΟΝΤΩΝ ΕΓΚΡΙΝΕΙ ΤΗ ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΑΤΡΙΒΗ ΤΩΝ: Αλέξανδρου Κεφαλλωνίτη & Γεώργιου Παπαγεωργίου Γεώργιος Καμπουράκης, Επιβλέπων Ημερομηνία, 4/02/2013 Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Ελισάβετ Κωνσταντίνου, Μέλος Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Δημοσθένης Βουγιούκας, Μέλος Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2012 ii

3 «Βεβαιώνω ότι είμαι συγγραφέας αυτής της μεταπτυχιακής διπλωματικής εργασίας και ότι κάθε βοήθεια την οποία είχα για την προετοιμασία της είναι πλήρως αναγνωρισμένη και αναφέρεται στην εργασία. Επίσης, έχω αναφέρει τις όποιες πηγές από τις οποίες έκανα χρήση δεδομένων, ιδεών ή λέξεων, είτε αυτές αναφέρονται ακριβώς είτε παραφρασμένες. Τέλος, βεβαιώνω ότι αυτή η διπλωματική εργασία προετοιμάστηκε από εμένα προσωπικά ειδικά για τις απαιτήσεις του μεταπτυχιακού προγράμματος σπουδών του Τμήματος Μηχανικών Πληροφοριακών & Επικοινωνιακών Συστημάτων του Πανεπιστημίου Αιγαίου στη Σάμο» (Καρλόβασι, 4/02/2013 Υπογραφή) iii

4 ΠΕΡΙΛΗΨΗ Η ιστορία έχει γίνει μάρτυρας της προσπάθειας του «ευάλωτου» όντος που ονομάζεται άνθρωπος, να προστατευτεί από τα στοιχεία της φύσης, τα άγρια θηρία και στην μετεξέλιξή του, κυρίως από την καταστροφική μανία του ίδιου του ανθρώπου προς τον άνθρωπο. Έζησε την δημιουργία των μεγαλύτερων αμυντικών συστημάτων που κατασκευάστηκαν ποτέ. Τείχη πανύψηλα έκαναν την εμφάνισή τους για να προστατέψουν πόλεις από εισβολείς. Τεχνικές αντιμετώπισης της γραμμής κρούσης των εισβολέων, που με τον καιρό γίνονταν ολοένα και πιο περίπλοκες, δοκιμάστηκαν. Κατασκευάστηκαν ακόμα και τείχη που περιέκλειαν ολάκερες χώρες. Στην άλλη πλευρά του νομίσματος, τη σκοτεινή πλευρά, οι επιτιθέμενοι εξελίχθηκαν παράλληλα, βρήκαν νέους τρόπους να προσπελάσουν τα τείχη, νέες τεχνικές να διασπάσουν τις συμπαγείς αμυντικές γραμμές των αμυνόμενων, πρωτοποριακούς και συνάμα καταστροφικούς τρόπους να διεισδύσουν όσο περισσότερο γίνεται στον κορμό του πληγωμένου θύματός τους. Με το πέρασμα των χιλιετηρίδων, αυτός ο αέναος πόλεμος ανάμεσα στο καλό και στο κακό συνεχίστηκε με αμείωτο ενδιαφέρον. Πότε η πλάστιγγα λύγιζε προς μία πλευρά και πότε προς την άλλη. Η ιστορία, πάντα θεατής των γεγονότων, δεν ανέδειξε ποτέ νικητή, μα συνέχισε και συνεχίζει αδιάκοπα να καταγράφει τις εξελίξεις και να τις παρουσιάζει στις επόμενες κάθε φορά γενεές. Σήμερα ο πόλεμος ανάμεσα στην ασφάλεια και την αν-ασφάλεια συνεχίζεται με αμείωτο ρυθμό και ένταση και έχει μεταφερθεί σε ακόμα ένα κλάδο της επιστήμης, αυτόν της πληροφορικής. Οι αντίπαλοι επίσης έχουν εξελιχθεί και οι μάχες έχουν μεταφερθεί σε όλο το διαδίκτυο. Κάθε ηλεκτρονικό μέσο, μπορεί να αποτελέσει όπλο άμυνας ή επίθεσης, ανάλογα με τις διαθέσεις του εκάστοτε χρήστη του. Νέα κακόβουλα λογισμικά εμφανίζονται καθημερινά με σκοπό να βλάψουν όσο το δυνατό περισσότερα πληροφοριακά συστήματα. Τείχη προστασίας έκαναν την εμφάνισή τους για να προστατέψουν τα δεδομένα που βρίσκονται σε μέσα αποθήκευσης, από τις κακόβουλες επιθέσεις, νέοι αλγόριθμοι κρυπτογράφησης αναπτύχθηκαν για να δυσκολέψουν το έργο των επιτιθέμενων. Όμως η ιστορία μας έχει διδάξει, πως όσο καλό και θεωρητικά ασφαλές είναι ένα αμυντικό σύστημα, πάντα θα υπάρχει ένας δούρειος ίππος για να περάσεις ένας πανύψηλο τείχος, μια Κερκόπορτα για να εισχωρήσεις στο άντρο του αμυνόμενου, ένας Εφιάλτης που θα σε φέρει πίσω από τις γραμμές του ανυποψίαστου εχθρού. Έτσι λοιπόν και στον τομέα των πληροφοριακών συστημάτων, όσο καλά αμυντικά συστήματα και αν δημιουργηθούν, πάντα θα υπάρχουν «τρύπες», που θα ανακαλύπτουν οι επιτιθέμενοι και θα διεισδύουν σε κάποιο κατά τα άλλα ασφαλές σύστημα. iv

5 Σκοπός της παρούσας διπλωματικής εργασίας, είναι η δημιουργία μιας ασφαλούς-μη ασφαλούς εφαρμογής με τη μορφή παιχνιδιού, με απώτερο στόχο να παρακινήσουμε κάθε ενδιαφερόμενο, να ασχοληθεί με την ασφάλεια στα πληροφοριακά συστήματα. Οι χρήστες της εφαρμογής θα είναι ικανοί, μέσα από ένα ασφαλές περιβάλλον, να μπορούν να επιτεθούν σε σελίδες με ευπάθειες, για να αναδείξουν τις ελλείψεις τους και τα προβλήματα που μπορεί αυτές να επιφέρουν σε ένα πληροφοριακό σύστημα. Τελικός στόχος είναι οι φοιτητές (αλλά και κάθε άλλος χρήστης της εφαρμογής) να γνωρίζουν τις επιπτώσεις που μπορεί να έχει μια επίθεση σε ένα σύστημα, έτσι ώστε στο μέλλον, όταν τους ζητηθεί, να μπορούν να ασφαλίσουν ένα πληροφοριακό σύστημα στο μέγιστο δυνατό βαθμό. Η πλατφόρμα που αναπτύξαμε αποτελεί την πρακτική εφαρμογή τεχνικών επιθέσεων σε διαδικτυακές εφαρμογές μέσα σε ένα ελεγχόμενο περιβάλλον. Πιο συγκεκριμένα η εφαρμογή αποτελείται από τρία επιμέρους τμήματα, την πλατφόρμα που μπορεί κάποιος να παίξει τις επιθέσεις, τις σελίδες με τις ευπάθειες και τον εξυπηρετητή με τις υπηρεσίες που απαιτούνται να είναι εγκατεστημένες για την ομαλή λειτουργία του συστήματος. Η πλατφόρμα είναι φιλική προς το χρήστη, καθώς χρησιμοποιήθηκαν για τη δημιουργία της πακέτα γραφικών τελευταίας τεχνολογίας και δίνει τη δυνατότητα στις τέσσερις ομάδες χρηστών να αξιοποιήσουν με διαφορετικό τρόπο τις λειτουργίες που προσφέρει. Οι σελίδες με τις ευπάθειες περιλαμβάνουν σε μεγάλο βαθμό όλες τις γνωστές ευπάθειες στον τομέα των πληροφοριακών συστημάτων. Για τον εξυπηρετητή έχει επιλεχθεί λειτουργικό σύστημα ελεύθερου λογισμικού, ελεγμένο για τις δυνατότητές του και έχουν εγκατασταθεί πάνω του υπηρεσίες επίσης ανοικτού λογισμικού, πλήρως ενημερωμένες με τις τελευταίες stable εκδόσεις που προσφέρονται. Στην αναφορά αυτή γίνεται μια εκτενής περιγραφή των δυνατοτήτων της πλατφόρμας, και αναλύονται όλες οι λειτουργίες που αφορούν τις διαφορετικές κατηγορίες χρηστών. Τελικώς παρουσιάζονται τα προβλήματα που έπρεπε να αντιμετωπιστούν από τους δημιουργούς της εφαρμογής κατά τη διάρκεια εκπόνησης αυτής της διπλωματικής εργασίας, καθώς επίσης και κάποιες ιδέες για μελλοντική ανάπτυξη της πλατφόρμας από ενδιαφερόμενους προγραμματιστές. ΛΕΞΕΙΣ ΚΛΕΙΔΙΑ: javafx, web application hacking, vulnerability, exploit, OWASP 2012 των Αλέξανδρου Κεφαλλωνίτη Γεώργιου Παπαγεωργίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ v

6 ABSTRACT History has witnessed the efforts of the "vulnerable" being called a man, trying to become protected from natural elements, wild beasts and later on, from the destructive fury of man to other men. Man witnessed the creation of major defense systems ever made. Towering walls appeared to protect cities from invaders. Technical confrontation on the line of impact of the invaders, were tested, which in time became increasingly complex. Walls that enclosed whole countries were built. On the other side, the dark one, attackers have evolved at the same time, as they have found new ways to access the walls, new techniques to break down the solid defense lines, yet innovative and destructive ways to penetrate as close to the trunk of their wounded victims. Over the millennia, this everlasting war between good and evil continued with undiminished interest. Firstly, the scale bent to one side, then to the other. In history, as being always a mere spectator of events, no winner was never revealed, but yet continued and continues until now to relentlessly record developments and present them each time the next generations. Today, war between security and vulnerability continues in a steady pace and this intensity and has been transferred to another branch of science; the one of computing/informatics. Opponents have evolved and battles are taking place all over the internet. Any electronic device could become a weapon of defense or attack, depending on the mood of each user. New malware appears every day in order to harm the widest range of information systems. Firewalls have emerged, to protect, the data stored on storage media, from malicious attacks; new encryption algorithms developed to complicate the task of the attackers. However, history has shown that no matter how good and theoretically secure a defense system is, there will always be a Trojan horse to pass one tall wall, a Βackdoor to get into the defender's lair, a Νightmare that will bring one behind the defending lines of the unsuspecting enemy. Thus, in the area of information systems, however good the defense systems are, there will always be "holes", which the attackers will find and will penetrate some previously safe system. The purpose of this thesis is to create a safe non-secure game-like application, aiming to motivate all concerned to deal with security in information systems. The application users will be able, through a secure environment to attack vulnerable pages, to highlight their deficits and the problems, which they can bring in an information system. The ultimate goal is that students (and any other user of the application) will know the impact that an attack on a system could have, so that in the future, when asked, they will be able to secure an information system to the maximum extent possible. vi

7 The platform developed is the practical application of technical attacks on web applications in a controlled environment. More specifically, the application consists of three sub-sections, the platform that one can 'play' the attacker, the pages with the vulnerabilities and the server, with services that are required to be installed for proper system operation. The platform is user friendly, since it is composed of latest technology graphics and allows the four user groups to exploit differently the functions it offers. These pages largely contain all vulnerabilities known in IT systems so far. Concerning the server, an operating system of free software is selected, tested for its potential and on top of it open source software is installed, fully updated to the latest stable version available. A comprehensive description of the capabilities of the platform is presented in this report as well as, all the functions relating to the different categories of users. Finally, problems that should be solved by the creators of the application during development of this thesis, as well as some ideas for future development of the platform from interested developers are thoroughly explained. KEYWORDS: javafx, web application hacking, vulnerability, exploit, OWASP 2012 Alexandros Kefallonitis Georgios Papageorgiou Department of Information and Communication Systems Engineering UNIVERSITY OF THE AEGEAN vii

8 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ... 1 ΚΕΦΑΛΑΙΟ 2 - ΑΝΤΙΚΕΙΜΕΝΟ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ Απαιτήσεις εφαρμογής Εύρεση του κατάλληλου πρωτοκόλλου ασφαλείας Εύρεση της κατάλληλης γλώσσας προγραμματισμού για υλοποίηση της εφαρμογής Δημιουργία διαφορετικών τύπων χρηστών... 4 ΚΕΦΑΛΑΙΟ 3 - ΥΠΟΔΟΜΗ ΣΥΣΤΗΜΑΤΟΣ ΤΗΣ ΕΦΑΡΜΟΓΗΣ Υπηρεσίες που χρησιμοποιήθηκαν στην πλευρά του διακομιστή Λειτουργικό Debian Squezee / Fedora Apache Server Επιλογή του κατάλληλου μέσου αποθήκευσης δεδομένων PPTPD Server VPN Server Χρήση της γλώσσας PHP Tor Hidden Service (Προαιρετικά) Εργαλεία ανάπτυξης της εφαρμογής σε java Εισαγωγή Επιλογή του κατάλληλου IDE περιβάλλοντος Επιλογή του κατάλληλου πακέτου γραφικών Επιλογή του κατάλληλου μέσου διασύνδεσης Java με MySQL[2] Tα πακέτα του Apache Jakarta Commons[3] Το πακέτο silvertunnel.org Netlib[4] Το πακέτο bouncycastle.jar[5] Το πακέτο Webscarab.jar[6] Το εργαλείο Firebug Lite 1.4 Version[7] ΚΕΦΑΛΑΙΟ 4 - (ΑΝ)ΑΣΦΑΛΕΙΑ ΔΙΑΔΙΚΤΥΑΚΩΝ ΕΦΑΡΜΟΓΩΝ Εισαγωγή Owasp[9] Owasp Top 10 - Κατηγορίες Επιθέσεων Α1 Injection flaws A2 Cross Site Scripting (XSS) A3 Broken Authentication and Session Management A4-Insecure Direct Object References A5-Cross Site Request Forgery (CRSF) A6-Security Misconfiguration Α7-Insecure Cryptographic Storage viii

9 4.3.8 A8-Failure to Restrict Url Access A9-Insufficient Transport Layer Protection A10-Unvalidated Redirects and Forwards ΚΕΦΑΛΑΙΟ 5 - ΕΠΙΘΕΣΕΙΣ ΠΟΥ ΠΕΡΙΛΑΜΒΑΝΕΙ Η ΕΦΑΡΜΟΓΗ Δύο επιθέσεις τύπου XSS (OWASP A2) Η πρώτη επίθεση τύπου XSS Η δεύτερη επίθεση τύπου XSS Δύο τύπου SQL Injection (OWASP A1) Η πρώτη επίθεση τύπου SQL Injection Η δεύτερη επίθεση τύπου SQL Injection Μία τύπου Command Injection (OWASP A1) Μία τύπου Session Hijacking (OWASP A3) Δύο τύπου Path Traversal (OWASP A4) Μία τύπου Failure to Restrict URL Access (OWASP A8) ΚΕΦΑΛΑΙΟ 6 - ΜΕΘΟΔΟΣ-ΛΕΙΤΟΥΡΓΙΕΣ ΕΦΑΡΜΟΓΗΣ Εισαγωγή Ανάλυση προγράμματος πελάτη Σύνδεση στην εφαρμογή Κατηγορία χρήστη προγραμματιστή (Developer) Κατηγορία χρήστη διαχειριστή (Administrator) Κατηγορία χρήστη καθηγητής (Faculty) Κατηγορία χρήστη φοιτητή (Student) Το μενού Help - About ΚΕΦΑΛΑΙΟ 7 - ΣΥΜΠΕΡΑΣΜΑΤΑ Προβλήματα ασφαλείας που προέκυψαν τρόποι αντιμετώπισης Πρόσβαση στο διακομιστή Δικαιώματα Χρηστών Vpn pptpd Μελλοντική εργασία Εμπλουτισμός των λειτουργιών των υπαρχόντων χρηστών Δημιουργία νέων τύπων χρηστών Υλοποίηση πρωτοκόλλου επικοινωνίας μεταξύ των χρηστών (chat) Δυνατότητα προσθήκης λίστας εγγραφής νέων χρηστών (sign up) Σχετικά με την επεκτασιμότητα της εφαρμογής Ανάπτυξη αμυντικών μηχανισμών Επίθεση στον διακομιστή Προσθήκη εργαλείων ix

10 7.3.4 Επίθεση μεταξύ των χρηστών- Hacking Lab x

11 ΚΑΤΑΛΟΓΟΣ ΠΙΝΑΚΩΝ Πίνακας 4-1: Τομείς που σχετίζονται με την ΑΔΕ Πίνακας 4-2: Σύνοψη των επιθέσεων σύμφωνα με τον OWASP Πίνακας 6-1: Πίνακας εικόνων και λειτουργιών εργαλείων Πίνακας 6-2: Πίνακας κουμπιών και ενεργειών του φυλλομετρητή xi

12 ΚΑΤΑΛΟΓΟΣ ΣΧΗΜΑΤΩΝ Σχήμα 3-1: Υποδομή συστήματος εφαρμογής... 6 Σχήμα 6-1: Σύνδεση χρήστη στην εφαρμογή Σχήμα 6-2: Κεντρικό γραφικό περιβάλλον Προγραμματιστή Σχήμα 6-3: Επιλογή δημιουργίας νέας επίθεσης Σχήμα 6-4: Επιλογή του κατάλληλου φακέλου Σχήμα 6-5: Μήνυμα ελλιπής εισαγωγής στοιχείων επίθεσης Σχήμα 6-6: παράθυρο προσθήκης βάσης Σχήμα 6-7: Παράθυρο αποσυμπίεσης αρχείου επίθεσης Σχήμα 6-8: Παράθυρο αιτιολόγησης επεξεργασίας επίθεσης Σχήμα 6-9: Κεντρικό γραφικό περιβάλλον χρήστη κατηγορίας Administrator Σχήμα 6-10: Ενημέρωση πεδίων μετά την καταφόρτωση ενός αρχείου Σχήμα 6-11: Η περιοχή SQL Info Σχήμα 6-12: Αποτυχημένη προσπάθεια εισαγωγής βάσης δεδομένων στο σύστημα Σχήμα 6-13: Σελίδα ελέγχου επίθεσης από διαχειριστή Σχήμα 6-14: Κεντρικό παράθυρο χρήστη κατηγορίας καθηγητή Σχήμα 6-15: Πληροφορίες επιλεγμένης επίθεσης Σχήμα 6-16: Παράθυρο δημιουργίας νέου project Σχήμα 6-17: Αποτυχημένη επανάληψη κωδικού Σχήμα 6-18: Μη αποδεκτό αίτημα Σχήμα 6-19: Αποδεκτό αίτημα Σχήμα 6-20: Επιλογή υπάρχοντος project Σχήμα 6-21: Επεξεργασία ενός υπάρχοντος project Σχήμα 6-22: Βαθμολογία φοιτητών σε ένα project Σχήμα 6-23: Επιλογή project χωρίς βαθμολογία Σχήμα 6-24: Αποστολή μηνύματος σε φοιτητή Σχήμα 6-25: Κεντρικό παράθυρο χρήστη Student Σχήμα 6-26: Ο media player της εφαρμογής Σχήμα 6-27: Τα project της εφαρμογής Σχήμα 6-28: Εισαγωγή κωδικού επιλεγμένου project Σχήμα 6-29: Οι διαθέσιμες επιθέσεις του επιλεγμένου project Σχήμα 6-30: Ο φυλλομετρητής που φορτώνει η ευπαθής σελίδα της επίθεσης Σχήμα 6-31: Η σελίδα First Aid Σχήμα 6-32: Η περιοχή Hacking Health Σχήμα 6-33: Η περιοχή Hacking Health μετά από επιλογή βοηθήματος Σχήμα 6-34: Το κουμπί Upload Score xii

13 Σχήμα 6-35: Το υπομενού About Σχήμα 6-36: Τα credits της εφαρμογής xiii

14 ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ Το κεφάλαιο 1, είναι ένα εισαγωγικό κεφάλαιο και ασχολείται με τη γενική περιγραφή της εργασίας και αποτελεί προοίμιο για τα επόμενα έξι που θα ακολουθήσουν. Το κεφάλαιο 2, αποτελεί αναφορά στις απαιτήσεις της εφαρμογής που θα πρέπει αυτή να ικανοποιεί. Θα παρουσιαστούν θέματα, όπως η γλώσσα προγραμματισμού που χρησιμοποιήθηκε για την υλοποίηση της εφαρμογής, η επιλογή του καταλληλότερου πρωτοκόλλου ασφαλείας και των τεχνολογιών ασφαλείας που χρησιμοποιήθηκαν, καθώς επίσης και στη δημιουργία διαφορετικών τύπων χρηστών που θα αλληλεπιδρούν με την εφαρμογή. Το κεφάλαιο 3, ασχολείται με την αναλυτική περιγραφή της υποδομής του συστήματος, όπως αυτό υλοποιήθηκε για να ικανοποιηθούν οι απαιτήσεις που αναφέρθηκαν στο κεφάλαιο 2. Αναλυτικότερα θα παρουσιάσουμε τις υπηρεσίες που χρησιμοποιήθηκαν στην πλευρά του διακομιστή-εξυπηρετητή, τον λόγο για τον οποίο επιλέχθηκε κάθε υπηρεσία, καθώς επίσης και τον τρόπο που αλληλεπιδρούν μεταξύ τους. Στη συνέχεια θα γίνει αναφορά στα εργαλεία που χρησιμοποιήθηκαν για την ανάπτυξη της εφαρμογής. Το κεφάλαιο 4, αποτελεί ένα εισαγωγικό κεφάλαιο στην ασφάλεια διαδικτυακών εφαρμογών. Αρχικά θα δοθεί ο ορισμός της ασφάλειας διαδικτυακών εφαρμογών και οι τομείς στους οποίους εξειδικεύεται. Στη συνέχεια του κεφαλαίου θα γίνει αναφορά στο οργανισμό Owasp, το αντικείμενο που πραγματεύεται και την λίστα με τις κατηγορίες των ευπαθειών-επιθέσεων που έχει δημοσιεύσει. Τέλος θα γίνει μια λεπτομερής περιγραφή όλων των επιθέσεων της λίστας αυτής. Το κεφάλαιο 5, αναφέρει τις επιθέσεις εκείνες που πηγάζουν από την λίστα με τις κατηγορίες επιθέσεων του Owasp και υλοποιήθηκαν στην εφαρμογή για να είναι διαθέσιμες στους χρήστες. Πιο συγκεκριμένα γίνεται λεπτομερής περιγραφή της κάθε επίθεσης, ο στόχος της, ο βαθμός δυσκολίας της, η κατηγορία στην οποία ανήκει και μια ενδεικτική λύση για να κατανοήσουν οι αναγνώστες τη λειτουργία της. Το κεφάλαιο 6, αποτελεί το βασικό κεφάλαιο της εργασίας, καθώς σε αυτό γίνεται εκτενής παρουσίαση της εφαρμογής και των επιμέρους μεθόδων και λειτουργιών που την απαρτίζουν. Αναλυτικότερα, γίνεται αναφορά στο τρόπο υλοποίησης μερικών απαιτήσεων που αναφέρουμε σε 1

15 προηγούμενο κεφάλαιο και παρουσιάζεται η μέθοδος που ακολουθήθηκε για την επίτευξη του τελικού αποτελέσματος. Επιπλέον γίνεται παρουσίαση των αποτελεσμάτων που εξήχθησαν κατά και μετά την εκτέλεση της εφαρμογής σε πραγματικό χρόνο. Το κεφάλαιο 7, που αποτελεί και το τελευταίο της εργασίας μας, είναι μια αναφορά σε βελτιώσεις και προσθήκες που μπορούν να γίνουν στην υπάρχουσα εφαρμογή, για την καλύτερη εκμάθηση των ενδιαφερόμενων πάνω σε θέματα ζητημάτων επιθετικής ασφαλείας. Επίσης σε αυτό το κεφάλαιο παρουσιάζονται τα συμπεράσματα που προέκυψαν κατά τη διάρκεια της εκπόνησης αυτής της διπλωματικής εργασίας. 2

16 ΚΕΦΑΛΑΙΟ 2 - ΑΝΤΙΚΕΙΜΕΝΟ ΔΙΠΛΩΜΑΤΙΚΗΣ ΕΡΓΑΣΙΑΣ 2.1 Απαιτήσεις εφαρμογής Ανάπτυξη πλατφόρμας λογισμικού για μελέτη ζητημάτων επιθετικής ασφάλειας και χρήση της από τους φοιτητές του πανεπιστημίου Αιγαίου. Αναλυτικότερα, σκοπός της διπλωματικής εργασίας αυτής, είναι η δημιουργία μιας εφαρμογής τύπου χρήστη εξυπηρετητή (client-server), που θα παρέχει τη δυνατότητα στους χρήστες του πανεπιστημίου να διευρύνουν τις γνώσεις τους, στον τομέα των ευπαθειών που παρουσιάζονται σε ιστοσελίδες, μέσα όμως από ένα ασφαλές και ελεγχόμενο περιβάλλον Εύρεση του κατάλληλου πρωτοκόλλου ασφαλείας Σκοπός είναι η διασφάλιση της εμπιστευτικότητας και της ανωνυμίας των χρηστών που χρησιμοποιούν την εφαρμογή, αρχικά από τους ίδιους τους χρήστες και εν συνεχεία από τρίτους επιτιθέμενους. Για να πετύχουμε την ασφάλεια του συστήματός μας από τρίτους υλοποιήσαμε ένα ασφαλές περιβάλλον που χρησιμοποιεί την τεχνολογία VPN 1 και συγκεκριμένα τη σύνδεση VPN του πανεπιστημίου. Με αυτό τον τρόπο διασφαλίσαμε ότι κανένας τρίτος, πέραν των πιστοποιημένων χρηστών του πανεπιστημίου, δεν θα έχει πρόσβαση στο σύστημά μας. Στη συνέχεια χρησιμοποιήσαμε το πρωτόκολλο SSL 2 και με αμοιβαία αυθεντικοποίηση διασφαλίσαμε ότι κανένας χρήστης του πανεπιστημίου, δεν θα πράξει ως επιτιθέμενος, ανάμεσα σε ένα άλλο χρήστη και τον εξυπηρετητή Εύρεση της κατάλληλης γλώσσας προγραμματισμού για υλοποίηση της εφαρμογής Η πλατφόρμα διασύνδεσης του χρήστη με την εφαρμογή, πρέπει να είναι φιλική προς το χρήστη και διαδραστική με το συνολικό σύστημα. Για να εκπληρωθούν σε μεγάλο βαθμό τα παραπάνω ζητούμενα, καταλήξαμε στη χρήση της αντικειμενοστραφούς γλώσσας προγραμματισμού java για την υλοποίηση του γραφικού περιβάλλοντος της εφαρμογής. Γιατί java; Γιατί είναι μια γλώσσα αρκετά δοκιμασμένη κατά το παρελθόν σε εφαρμογές που απαιτούν υλοποίηση χρήστη-διακομιστή με καλά αποτελέσματα, πολύ φιλική προς το χρήστη, λειτουργική για τους προγραμματιστές και κυρίως είναι μια γλώσσα που ικανοποιεί την μεταφερσιμότητα του κώδικά της. Το γεγονός ότι ο 1 Ένα εικονικό ιδιωτικό δίκτυο (VPN) είναι ένα δίκτυο που χρησιμοποιεί κατά κύριο λόγο δημόσια τηλεπικοινωνιακή υποδομή, όπως το Διαδίκτυο, και δίνει τη δυνατότητα σε απομακρυσμένα γραφεία ή σε χρήστες που ταξιδεύουν να έχουν πρόσβαση σε ένα κεντρικό οργανωτικό δίκτυο. 2 Το SSL (Secure Sockets Layer) είναι ένα πρωτόκολλο που εγγυάται ότι κατά την επικοινωνία εξυπηρετητή - πελάτη (server -client) μέσω του Διαδικτύου δεν πρόκειται να μεσολαβήσει κάποιος τρίτος που θα "υποκλέψει" το περιεχόμενο της επικοινωνίας. 3

17 κώδικας που παράγει ο μεταφραστής της Java είναι ανεξάρτητος αρχιτεκτονικής, δε συνεπάγεται απαραίτητα πως θα είναι και μεταφέρσιμος (portable). Στη Java ακόμα και οι βιβλιοθήκες είναι portable σε όλες τις υποστηριζόμενες πλατφόρμες. Έτσι, για παράδειγμα, υπάρχει μία κλάση αντικειμένων για τα γραφικά παράθυρα που είναι ίδια για όλες τις UNIX, Windows 95/98/2000/NT, Macintosh πλατφόρμες. Ακόμα και ο ίδιος ο μεταφραστής της Java είναι γραμμένος σε Java, αλλά το περιβάλλον εκτέλεσης έχει γραφεί σε ANSI C 3 απολύτως συμβατή με όλες τις πλατφόρμες. Με αυτό τον τρόπο δίνουμε τη δυνατότητα στους χρήστες να μπορούν να χρησιμοποιήσουν την εφαρμογή ανεξάρτητα από το λειτουργικό σύστημα που έχουν στη διάθεσή τους Δημιουργία διαφορετικών τύπων χρηστών Πέραν από τους φοιτητές του πανεπιστημίου που είναι οι κύριοι χρήστες της εφαρμογής, και ο λόγος για τον οποίο αναπτύχθηκε αυτή η εφαρμογή, χρειάστηκε να δημιουργηθούν μερικές ακόμα κατηγορίες χρηστών για να γίνει η εφαρμογή πιο λειτουργική και κυρίως επεκτάσιμη. Για το λόγο αυτό δημιουργήθηκαν τρείς επιπλέον κατηγορίες χρηστών: 1) Προγραμματιστής (Developer) Διαθέτει πρόσβαση σε όλες τις επιθέσεις και τα χαρακτηριστικά τους (Read and Write). Έχει τη δυνατότητα να δημιουργήσει μια νέα επίθεση, να επεξεργαστεί μια υπάρχουσα επίθεση, ή να κάνει αίτημα για διαγραφή μιας επίθεσης. 2) Διαχειριστής (Administrator) Διαθέτει πρόσβαση σε όλες τις επιθέσεις και τα χαρακτηριστικά τους (Read only) Ενημερώνεται για νέες επιθέσεις, για επεξεργασία υπάρχουσας επίθεσης, ή για αίτημα διαγραφής υπάρχουσας επίθεσης. Αποδέχεται ή απορρίπτει κάποιο αίτημα μετά από έλεγχο της επίθεσης (προαιρετικά) και τέλος ενημερώνει κατάλληλα τα αρχεία και τις βάσεις δεδομένων του συστήματος. 3) Καθηγητής (Faculty) Διαθέτει πρόσβαση σε όλες τις επιθέσεις και τα χαρακτηριστικά τους (read only) Έχει τη δυνατότητα να δημιουργήσει ένα νέο Project, να επεξεργαστεί ένα δικό του Project καθώς διαθέτει πρόσβαση σε όλα τα χαρακτηριστικά του (read and write), ή να διαγράψει ένα δικό του Project. Τέλος έχει πρόσβαση σε όλα τα Projects όλων των καθηγητών καθώς και την βαθμολογία των φοιτητών (Students). 3 American National Standards Institute for C programming 4

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

19 ΚΕΦΑΛΑΙΟ 3 - ΥΠΟΔΟΜΗ ΣΥΣΤΗΜΑΤΟΣ ΤΗΣ ΕΦΑΡΜΟΓΗΣ Στην υποδομή του συστήματος που αναπτύξαμε, η οποία εμφανίζεται στο Σχήμα 3-1, περιλαμβάνεται ένας διακομιστής-server ο οποίος παρέχει τις απαραίτητες υπηρεσίες για την λειτουργία της πλατφόρμας μας και αποτελεί τον κόμβο που ενώνει το σύνολο των λειτουργιών αυτών. Υλοποιήθηκε ο συνδυασμός Linux/Apache/PHP/MySQL, που είναι η πιο δημοφιλής πλατφόρμα εκτέλεσης ιστοσελίδων, γνωστός και με το ακρωνύμιο LAMP. Περιλαμβάνει τα εξής: Σχήμα 3-1: Υποδομή συστήματος εφαρμογής 3.1 Υπηρεσίες που χρησιμοποιήθηκαν στην πλευρά του διακομιστή Λειτουργικό Debian Squezee / Fedora Το λειτουργικό σύστημα που επιλέχθηκε προς εγκατάσταση είναι Linux Os (Debian Squezee / Fedora) αφού είναι ανοιχτού λογισμικού, έχει όλα τα πακέτα και τις σουίτες λογισμικού που χρειαζόμαστε για την υλοποίηση της πλατφόρμας μας, είναι σταθερό, δεν απαιτεί πολλούς πόρους και συνεργάζεται πλήρως με τα άλλα λειτουργικά συστήματα (Windows, Macos) όσον αφορά την πλευρά του client. 6

20 3.1.2 Apache Server Στο συγκεκριμένο λειτουργικό στήθηκε ο Apache Web Server για την φιλοξενία των ιστοσελίδωνεπιθέσεων της πλατφόρμας μας, ο οποίος είναι ευρέως διαδεδομένος στην αγορά του διαδικτύου. Υποστηρίζεται επίσης από μεγάλη κοινότητα ανάπτυξης, είναι εύκολα παραμετροποιήσιμος και περιλαμβάνει όλα τα απαραίτητα modules που είναι αναγκαία για τις λειτουργίες του συστήματος μας Επιλογή του κατάλληλου μέσου αποθήκευσης δεδομένων Η εφαρμογή είναι σε θέση να παρέχει τρόπους αποθήκευσης σημαντικών δεδομένων ανάλογα με τον τύπο του χρήστη που την χρησιμοποιεί. Για το λόγο αυτό στην εφαρμογή χρησιμοποιήθηκαν δύο διαφορετικού τύπου μέσα αποθήκευσης: Αρχεία Κατάλληλα για αποθήκευση μεγάλου όγκου δεδομένων. Οι ευπαθείς σελίδες που καλούνται να δημιουργήσουν οι developers και να «παίξουν» οι φοιτητές, δεν είναι τίποτα άλλο, από αρχεία γραμμένα σε γλώσσα PHP 4 ή HTML 5 που καλούνται να προσπελασθούν, κυρίως για διάβασμα και λιγότερο για γράψιμο ή επεξεργασία των δεδομένων τους. Η java παρέχει μεγάλη ποικιλία από έτοιμες κλάσεις και μεθόδους που σχετίζονται με την επεξεργασία των δεδομένων σε αρχεία χωρίς να χρειάζεται κάποιο εξωτερικό εργαλείο Βάσεις Δεδομένων (MySQL) Κατάλληλες για αποθήκευση και επεξεργασία μικρού όγκου δεδομένων και εύκολη πρόσβαση σε αυτά. Η εφαρμογή διαθέτει πολλούς χρήστες που ο καθένας έχει διαφορετικά δικαιώματα σε δεδομένα ίδιου τύπου. Επομένως έπρεπε να υλοποιηθεί ένας τρόπος, έτσι ώστε να έχουν διαφορετική πρόσβαση σε αυτά τα δεδομένα πολλοί χρήστες. Οι βάσεις δεδομένων προσφέρουν μεγάλη ευελιξία στους προγραμματιστές, για να επιτύχουν τη σωστή διαχείριση των δεδομένων, ανάλογα με τον διαφορετικό τύπο χρήστη που σχετίζεται με τα δεδομένα PPTPD Server VPN Server Η πρόσβαση στον διακομιστή μας, γίνεται μόνο μέσω της χρήσης του VPN του πανεπιστημίου Αιγαίου, ώστε να μην υπάρχει σύνδεση εξωτερικά σε ένα μηχάνημα που έχει ευπάθειες και θα μπορούσε να χρησιμοποιηθεί από κάποιον κακόβουλο χρήστη και να θέσει σε κίνδυνο την ασφάλεια 4 H PHP (Hypertext Preprocessor) είναι μια γλώσσα προγραμματισμού για τη δημιουργία σελίδων web με δυναμικό περιεχόμενο. 5 Η HTML (HyperText Markup Language) είναι η κύρια γλώσσα σήμανσης για τις ιστοσελίδες. 7

21 τόσο του ίδιου του διακομιστή όσο και του ευρύτερου δικτύου του πανεπιστημίου. Έτσι εκμηδενίσαμε το κενό ασφαλείας και δημιουργήσαμε ένα ασφαλές μη ασφαλές περιβάλλον μελέτης ζητημάτων επιθετικής ασφάλειας Χρήση της γλώσσας PHP Η γλώσσα που χρησιμοποιήθηκε για την υλοποίηση των επιθέσεων μας είναι η PHP η οποία είναι μια γλώσσα προγραμματισμού για τη δημιουργία σελίδων web με δυναμικό περιεχόμενο. Μια σελίδα PHP περνά από επεξεργασία από ένα συμβατό διακομιστή του Παγκόσμιου Ιστού (π.χ. Apache), ώστε να παραχθεί σε πραγματικό χρόνο το τελικό περιεχόμενο, που θα σταλεί στο πρόγραμμα περιήγησης των επισκεπτών σε μορφή κώδικα HTML. Είναι απόλυτα συμβατή με την πλατφόρμα μας, έχει την δυνατότητα να συνδεθεί με την MySQL βάση μας και να καλύψει όλο το φάσμα των κατηγοριών επιθέσεων σε διαδικτυακές εφαρμογές Tor Hidden Service (Προαιρετικά) Για την προστασία της ανωνυμίας του διακομιστή μας και την πρόσβαση σε αυτό εξωτερικά, και όχι μέσω VPN, εγκαταστήσαμε το Tor 6 και ρυθμίσαμε τον Apache σαν κρυφή υπηρεσία. Έτσι η πρόσβαση στον διακομιστή γίνεται μόνο μέσω του δικτύου Tor χρησιμοποιώντας έναν Tor client αποκρύπτοντας έτσι την IP και το Domain αφού η υπηρεσία αυτή το αντικαθιστά με ένα 16ψήφιο url. 3.2 Εργαλεία ανάπτυξης της εφαρμογής σε java Εισαγωγή Για να γράψει κάποιος κώδικα Java δε χρειάζεται τίποτα άλλο παρά έναν επεξεργαστή κειμένου, όπως το σημειωματάριο (Notepad) των Windows ή ο vi (γνωστός στο χώρο του Unix). Παρ' όλα αυτά, ένα ολοκληρωμένο περιβάλλον ανάπτυξης (IDE) βοηθάει πολύ, ιδιαίτερα στον εντοπισμό σφαλμάτων (debugging). Υπάρχουν αρκετά διαθέσιμα IDEs, ενώ πολλά από αυτά προσφέρονται δωρεάν. Μερικά από τα πιο γνωστά διαθέσιμα περιβάλλοντα είναι: NetBeans ((Linux)), ((Windows)) EclIPse ((Linux)), ((Windows)) jεdit ((Linux)), ((Windows)) JCreator ((Windows)) JΒuilder 6 Το Tor (The Onion Router) είναι ένα σύστημα που δίνει στους χρήστες του τη δυνατότητα ανωνυμίας στο διαδίκτυο. 8

22 Για να μπορέσουμε να γράψουμε προγράμματα σε java, χρειάζεται να διαθέτουμε το ειδικό πακέτο ανάπτυξης εφαρμογών (Java development kit ή JDK). Το JDK είναι μία γλώσσα προγραμματισμού. Συγχρόνως περιέχει μεταγλωττιστή, διερμηνευτή, αποσφαλματωτή (debugger), αποσυμβολομεταφραστή (disassembler) Επιλογή του κατάλληλου IDE περιβάλλοντος Από τα παραπάνω ολοκληρωμένα περιβάλλοντα ανάπτυξης επιλέξαμε να χρησιμοποιήσουμε για τη δημιουργία της εφαρμογής μας το περιβάλλον NetBeans7.2. Λίγα λόγια για το NetBeans0 Το NetBeans είναι ένα επιτυχημένο ερευνητικό έργο ανοιχτής πηγής (open source) με μεγάλο αριθμό χρηστών, μια αναπτυσσόμενη κοινωνία και πολλούς συνεργάτες παγκοσμίως. Η Sun Microsystems ίδρυσε το ερευνητικό έργο ανοιχτής πηγής NetBeans τον Ιούνιο του 2000 και συνεχίζει να είναι ο κύριος ανάδοχος. Tο NetBeans IDE είναι ένα περιβαλλοντικό ανάπτυγμα IDE - ένα εργαλείο στους προγραμματιστές για να γράψουν, να κάνουν compile, debug και να αναπτύξουν προγράμματα. Είναι γραμμένο σε Java, αλλά μπορεί να υποστηρίξει όλες τις γλώσσες προγραμματισμού. Υπάρχει επίσης ένας μεγάλος αριθμός υπομονάδων (modules) που βοηθάνε στην επέκταση της λειτουργικότητας του NetBeans IDE. Το NetBeans IDE είναι ένα ελεύθερο προϊόν δίχως περιορισμούς στον τρόπο χρησιμοποίησής του. Ο κώδικας πηγής (source code) είναι διαθέσιμος για επαναχρησιμοποίηση κάτω από το Common Development and Distribution License (CDDL). Αποτελεί ένα περιβάλλον για την ολοκληρωμένη ανάπτυξη λογισμικού. Παρέχει όλα τα εργαλεία που χρειάζονται για τη δημιουργία μίας επαγγελματικής επιφάνειας εργασίας, προγράμματα για επιχειρήσεις, εφαρμογές web και κινητών συσκευών με τη γλώσσα Java, C/C++, και Ruby. Το NetBeans IDE είναι εύκολο να εγκατασταθεί και να τρέχει σε πολλές πλατφόρμες συμπεριλαμβανομένων των Windows, Linux, Mac OS X και Solaris. ο NetBeans IDE 7.2 παρέχει αρκετά νέα χαρακτηριστικά και βελτιώσεις, όπως η επεξεργασία με τα πλούσια χαρακτηριστικά του Javascript, και την ενίσχυση της σύνδεσης με MySQL. Επίσης, αυτή η έκδοση παρέχει βελτιωμένη απόδοση, ειδικά ταχύτερη εκκίνηση (έως 40%), χαμηλότερη κατανάλωση μνήμης και τη βελτίωση της ανταπόκρισης κατά τη διάρκεια της εργασίας με μεγάλα έργα. 9

23 3.2.3 Επιλογή του κατάλληλου πακέτου γραφικών Η java διαθέτει στους προγραμματιστές διαφορετικά πακέτα για την ανάπτυξη γραφικών στις εφαρμογές. Αρχικά υπήρχε το πακέτο java.awt το οποίο παρέχει κλάσεις οι οποίες υποστηρίζουν την διαχείριση γραφικών. Εναλλακτικά υπάρχει και το πακέτο javax.swing το οποίο διαχειρίζεται με μεγαλύτερη επάρκεια και ευκολία γραφικά αντικείμενα. Τέλος από την έκδοση JDK 1.6 και μετά διατίθεται στους προγραμματιστές μια νέα εργαλειοθήκη σχεδίασης γραφικών, γνωστή με την ονομασία JavaFX. Χτισμένη εξ ολοκλήρου από την αρχή, η νέα αυτή εργαλειοθήκη εκμεταλλεύεται όλα τα πλεονεκτήματα των σύγχρονων καρτών γραφικών (GPUs), ενώ παράλληλα παρέχει καλά σχεδιασμένες διεπαφές, προσφέροντας στους προγραμματιστές τη δυνατότητα να συνδυάσουν γραφικά, animation και UI ελέγχους. Το πακέτο JavaFX που χρησιμοποιήσαμε είναι το τελευταίο που έχει δημοσιευθεί και αφορά την έκδοση JavaFX που δίνεται μαζί με το JDK 1.7 upgrade Επιλογή του κατάλληλου μέσου διασύνδεσης Java με MySQL[2] Η MySQL παρέχει συνδεσιμότητα για εφαρμογές πελάτη που αναπτύχθηκαν στη γλώσσα προγραμματισμού Java μέσω ενός οδηγού JDBC, ο οποίος ονομάζεται MySQL Connector / J. Ο MySQL Connector/J είναι ένας οδηγός JDBC τύπου 4. Διαφορετικές εκδόσεις είναι διαθέσιμες που είναι συμβατές με τις JDBC 3,0 και JDBC 4,0 προδιαγραφές. Ο Τύπος 4 σημαίνει ότι ο οδηγός είναι μια καθαρή εφαρμογή Java του πρωτοκόλλου MySQL και δεν βασίζεται στις βιβλιοθήκες MySQL που διαθέτει το πρόγραμμα πελάτης. Στην εφαρμογή μας για τη σύνδεση του προγράμματος Java με την MySQL, χρησιμοποιήσαμε τον οδηγό : MySQL JDBC Driver mysql-connector-java που είναι τύπου Tα πακέτα του Apache Jakarta Commons[3] Το πακέτο Apache Jakarta Commons είναι μια συλλογή από επαναχρησιμοποιούμενα μοντέλα λογισμικού java. Κάθε εφαρμογή Commons αναπαριστά μια λειτουργικότητα μικρότερη από μια ολοκληρωμένη εφαρμογή. Όλα τα πακέτα Commons έχουν σκοπό να βοηθήσουν τους προγραμματιστές java να χτίσουν εφαρμογές πιο γρήγορα με το να αναβαθμίσουν τις υπάρχουσες λειτουργίες. Παρόλο το εύρος της λειτουργικότητας που περιλαμβάνεται στα διάφορα πακέτα Commons, πολλοί προγραμματιστές δεν έχουν το χρόνο να καταλάβουν ή να εκμεταλλευτούν αυτές τις βιβλιοθήκες, παρότι περιλαμβάνονται σε πολλές από τις πιο γνωστές ανοιχτού κώδικα εφαρμογές, όπως ο Tomcat. Από την άλλη πλευρά, λαμβάνοντας υπόψη ότι το Commons project αποτελείται από 10

24 είκοσι εννέα στοιχεία (proper) 7 και είκοσι στοιχεία sandbox 8, είναι εύκολο να κατανοήσουμε γιατί κάποιοι προγραμματιστές παίρνουν από φόβο αυτό το project. Γενικά, οποιαδήποτε αναπτυσσόμενη εφαρμογή κάθε τύπου μπορεί να εκμεταλλευτεί τα πλεονεκτήματα που προσφέρει ένα κατάλληλο πακέτο Commons. Στην εφαρμογή θα χρησιμοποιήσουμε τα πακέτα commons-ssl, commons-io-2.4, commons-lang3-3.1, commons-codec Το πακέτο silvertunnel.org Netlib[4]Error! Reference source not found.error! Reference source not found.error! Reference source not found.error! Reference source not found.error! Reference source not found.error! Reference source not found.error! Reference source not found.error! Reference source not found.error! Reference source not found.error! Reference source not found.error! Reference source not found.error! Reference source not found. Η βιβλιοθήκη Netlib είναι μια ελεύθερη στη χρήση βιβλιοθήκη για τη γλώσσα προγραμματισμού Java που υλοποιεί και περικλείει στην ουσία, όλα τα πολύπλοκα δικτυακά εργαλεία που απαιτούνται για να επιτευχθεί η ανώνυμη επικοινωνία μέσω του δικτύου TOR. Η βιβλιοθήκη Netlib μπορεί εύκολα να ενσωματωθεί σε κάθε υπάρχουσα και κάθε νέα εφαρμογή Java. Η βιβλιοθήκη απαιτεί την χρήση από την εφαρμογή του πακέτου JDK 1.5 και άνω. Οι προγραμματιστές είναι σε θέση να χρησιμοποιήσουν τα χαρακτηριστικά και τις λειτουργίες της βιβλιοθήκης με πολύ μικρή προσπάθεια. Εκτός από την ανώνυμη επικοινωνία, η NETLIB βιβλιοθήκη μπορεί να χρησιμοποιηθεί για να τροποποιήσει ή να ανακατευθύνει την κίνηση του δικτύου ή τα DNS αιτήματα μιας Java εφαρμογής Το πακέτο bouncycastle.jar[5] Το πακέτο bouncycastle.jar είναι μια συλλογή από APIs 9 που χρησιμοποιούνται στην κρυπτογραφία. Περιλαμβάνει APIs, για τις γλώσσες προγραμματισμού C# 10 και java. Στην εφαρμογή μας το πακέτο αυτό μας προσφέρει την δυνατότητα να παράγουμε εύκολα και γρήγορα πιστοποιητικά που θα χρησιμοποιηθούν από το πρόγραμμα χρήστη για τη επικοινωνία με τον διακομιστή, μέσω του πρωτοκόλλου SSL. 7 Τα proper στοιχεία θεωρούνται σταθερά και δεν μπορεί να αλλάξουν χωρίς προειδοποίηση του παρόχου. 8 Τα sandbox στοιχεία είναι ανοιχτά για οποιονδήποτε είναι μέλος στην ομάδα ανάπτυξης εφαρμογών Jakarta Commons. 9 Ένα API (Application Programming Interface) είναι ένα πρωτόκολλο που προορίζεται να χρησιμοποιηθεί ως διεπαφή από συστατικά λογισμικού για να επικοινωνούν μεταξύ τους. 10 Η C# είναι μια πολυπράγμονος γλώσσα προγραμματισμού, η οποία εμπεριέχει προγραμματιστικές έννοιες όπως: δηλώσεις, συναρτήσεις και την έννοια του αντικειμενοστραφούς προγραμματισμού. 11

25 3.2.8 Το πακέτο Webscarab.jarError! Reference source not found. Το WebScarab είναι ένα πλαίσιο ανάλυσης εφαρμογών που επικοινωνούν κάνοντας χρήση των πρωτοκόλλων HTTP 11 και HTTPS 12. Είναι γραμμένο σε Java και το γεγονός αυτό το κάνει αξιοποιήσιμο από πολλές πλατφόρμες. Διαθέτει πολλαπλούς τρόπους λειτουργίας, που υποστηρίζονται από διάφορα plugins 13. Στην πιο κοινή του λειτουργία, το WebScarab είναι ένας proxy 14, που επιτρέπει στο διαχειριστή να επανελέγχει και να τροποποιεί αιτήματα που δημιουργούνται από το φυλλομετρητή πριν σταλούν στο διακομιστή. Την ίδια διαδικασία ακολουθεί και για τις αποκρίσεις. Είναι ικανό να παρέμβει σε HTTP και HTTPS επικοινωνίες. Ο διαχειριστής μπορεί να ελέγξει εκ νέου τις αιτήσεις και αποκρίσεις που πέρασαν διαμέσου του WebScarab Το εργαλείο Firebug Lite 1.4 Version[7] Το firebug είναι ένα εργαλείο που διευκολύνει την εύρεση προβληματικών σημείων ροής (debugging), την επεξεργασία και την εποπτεία της CSS 15, HTML, DOM 16, XHR 17 και Javascript 18 στην εκάστοτε ιστοσελίδα. Επίσης παρέχει και άλλα προγραμματιστικά εργαλεία. Η κονσόλα ελέγχου της Javascript μπορεί να ανιχνεύσει και να καταγράψει λάθη, κλήσεις συναρτήσεων προφίλ, ενώ δίνει τη δυνατότητα στους προγραμματιστές να τρέξουν αυθαίρετα Javascript. Η κονσόλα δικτύου του, εποπτεύει τα URL που αιτείται ο browser, όπως εξωτερική κλήση CSS, Javascript και αρχεία εικόνων. Επιπρόσθετα, μπορεί να παρουσιάσει κεφαλίδες αιτήσεων και αποκρίσεων για κάθε σελίδα. Μπορεί επίσης να υπολογίσει το χρόνο που καταναλώνει μια σελίδα για να φορτώσει. To firebug είναι δωρεάν και ανοιχτού κώδικα. Η άδειά του υπόκειται στις άδειες BSD 19. H πρώτη του έκδοση παρουσιάστηκε τον Ιανουάριο του 2006 από τον Joe Hewitt, έναν από τους δημιουργούς του Firefox 20. Η ομάδα επίβλεψης του firebug ασχολείται με την περαιτέρω υλοποίηση και ανάπτυξη πρόσθετων λειτουργιών σε αυτό. Έχει δύο βασικές υλοποιήσεις: ένα πρόσθετο για τον Mozilla firefox και μία υλοποίηση σελιδοδείκτη, το Firebug Lite. Σε συνδυασμό με το debugging ιστοσελίδων, είναι ένα χρήσιμο εργαλείο για έλεγχο ασφαλείας ιστού και ανάλυση αποδόσεων 11 Το HTTP (HyperText Transfer Protocol - Πρωτόκολλο Μεταφοράς Υπερκειμένου) είναι ένα πρωτόκολλο επικοινωνίας. Αποτελεί το κύριο πρωτόκολλο που χρησιμοποιείται στους φυλλομετρητές του Παγκοσμίου Ιστού για να μεταφέρει δεδομένα ανάμεσα σε έναν διακομιστή (server) και έναν πελάτη (client). 12 Το HTTPS (Hypertext Transfer Protocol Secure) χρησιμοποιείται στην επιστήμη των υπολογιστών για να δηλώσει μία ασφαλή http σύνδεση. 13 Ως plug-in ορίζεται ένα σύστημα συστατικών κάποιου λογισμικού που προσθέτει ιδιαίτερες δυνατότητες σε ένα μεγαλύτερο λογισμικό. 14 Ένας Proxy server (διακομιστής μεσολάβησης), έχει στόχο να βελτιώσει την ταχύτητα πλοήγησης στο διαδίκτυο και παράλληλα να μειώσει την κίνηση του δικτύου προς το διαδίκτυο. Τοποθετείται ενδιάμεσα των χρηστών και του διαδικτύου. 15 Η CSS (Cascading Style Sheets-Διαδοχικά Φύλλα Στυλ) είναι μια γλώσσα υπολογιστή που ανήκει στην κατηγορία των γλωσσών φύλλων στυλ που χρησιμοποιείται για τον έλεγχο της εμφάνισης ενός εγγράφου που έχει γραφτεί με μια γλώσσα σήμανσης. 16 Το DOM (Document Object Model) παρέχει γενική πρόσβαση στα περισσότερα στοιχεία, τα στυλ και τα χαρακτηριστικά τους σε ένα έγγραφο. 17 Το XHR (XMLHttpRequest) είναι ένα API διαθέσιμο σε web browser scripting γλώσσες, όπως η JavaScript. 18 Η JavaScript είναι μια διερμηνευμένη γλώσσα προγραμματισμού για ηλεκτρονικούς υπολογιστές. 19 Οι BSD ( Berkeley Software Distribution ) άδειες, είναι μια οικογένεια από άδειες χρήσης ελεύθερου λογισμικού που επιβάλλει ελάχιστους περιορισμούς για την αναδιανομή του λογισμικού που καλύπτει. 20 Ο Mozilla Firefox είναι ελεύθερος και ανοικτού κώδικα φυλλομετρητής (browser) του παγκόσμιου ιστού. 12

26 ιστοσελίδας. Στην εφαρμογή μας χρησιμοποιήσαμε την υλοποίηση του σελιδοδείκτη, το Firebug Lite και πιο συγκεκριμένα την έκδοση Firebug Lite 1.4, γιατί είναι συμβατή με όλους τους γνωστούς browsers. Η έκδοση javafx που χρησιμοποιήσαμε έχει στη διάθεση των προγραμματιστών java, έναν browser ειδικά σχεδιασμένο για java εφαρμογές. Το Firebug Lite είναι πλήρες συμβατό με τον browser αυτό και χρησιμοποιήθηκε για να εκμεταλλευτούμε στην εφαρμογή μας, όλες τις δυνατότητες που προσφέρει στους χρήστες του. 13

27 ΚΕΦΑΛΑΙΟ 4 - (ΑΝ)ΑΣΦΑΛΕΙΑ ΔΙΑΔΙΚΤΥΑΚΩΝ ΕΦΑΡΜΟΓΩΝ 4.1 Εισαγωγή Στην πλατφόρμα μας υλοποιήσαμε κυρίως επιθέσεις που ανήκουν στην κατηγορία των Διαδικτυακών Εφαρμογών. Αρχικά θα πρέπει να ορίσουμε την έννοια της ασφάλειας διαδικτυακών εφαρμογών πριν αναφερθούμε εκτενέστερα στις επιθέσεις που περιλαμβάνει η εφαρμογή μας. Τι είναι λοιπόν η Ασφάλεια Διαδικτυακών Εφαρμογών (ΑΔΕ)[8]; Ένα υποσύνολο της ασφάλειας της πληροφορίας που ασχολείται κυρίως με την ασφάλεια των ιστοσελίδων, διαδικτυακών εφαρμογών, υπηρεσιών και των διακομιστών που τις φιλοξενούν. Αν και βασίζεται στις γενικότερες αρχές της ασφάλειας της πληροφορίας, εξειδικεύεται στην εφαρμογή τους σε διαδικτυακές εφαρμογές και συστήματα. Οι διαδικτυακές εφαρμογές αναπτύσσονται με χρήση γλωσσών προγραμματισμού, όπως είναι οι: PHP, Java EE, Java, Python, Ruby, ASP.NET, C#, VB.NET ή Classic ASP. Όπως φαίνεται στον πίνακα 4-1, οι τομείς που σχετίζονται με την Ασφάλεια Διαδικτυακών Εφαρμογών διακρίνονται στην ασφάλεια της εφαρμογής, στην ασφάλεια του διακομιστή και στην ασφάλεια της πλευράς του εξυπηρετητή. Επίθεση Άμυνα Web application Web application Web server Web server Client side Client side Πίνακας 4-1: Τομείς που σχετίζονται με την ΑΔΕ 4.2 Owasp[9] O Owasp (Open Web Application Security Project) είναι ένα ανοιχτού κώδικα project ασφάλειας εφαρμογών. Η κοινότητα του Owasp περιλαμβάνει εταιρείες, εκπαιδευτικούς οργανισμούς και άτομα από όλο τον κόσμο. Αυτή η κοινότητα δημιουργεί ελεύθερα διαθέσιμα άρθρα, μεθοδολογίες, έγγραφα τεκμηρίωσης, εργαλεία, και τεχνολογίες που αφορούν την ασφάλεια διαδικτυακών εφαρμογών. Η κοινότητα αυτή δημοσιοποιεί την λίστα των κατηγοριών των επιθέσεων σε διαδικτυακές εφαρμογές και τι περιλαμβάνει η κάθε κατηγορία προσπαθώντας να ενημερώνει για τις συνεχείς εξελίξεις στον συγκεκριμένο κλάδο της ασφάλειας της πληροφορίας. Η λίστα αυτή αποτελεί εξειδικευμένη κατηγοριοποίηση των τομέων της Ασφάλειας Διαδικτυακών Εφαρμογών όπως αναφέρονται στο προηγούμενο κεφάλαιο. 14

28 4.3 Owasp Top 10 - Κατηγορίες Επιθέσεων Κάθε επίθεση που ανήκει στη προαναφερόμενη λίστα, παρουσιάζεται πιο αναλυτικά παρακάτω και συνοψίζονται στον πίνακα 4-2. Rank OWASP Top 10 A1 Injection A2 Cross Site Scripting (XSS) A3 Broken Authentication and Session Management A4 Insecure Direct Object References A5 Cross Site Request Forgery (CSRF) A6 Security Misconfiguration A7 Insecure Cryptographic Storage A8 Failure to Restrict URL Access A9 Insufficient Transport Layer Protection A10 Unvalidated Redirects and Forwards Πίνακας 4-2: Σύνοψη των επιθέσεων σύμφωνα με τον OWASP Α1 Injection flaws Οι ευπάθειες Injection, όπως SQL, OS 21 και LDAP 22 injection, συμβαίνουν όταν μη έμπιστα δεδομένα στέλνονται σε έναν διερμηνέα συστήματος σαν εντολή ή ερώτημα. Τα εχθρικά δεδομένα του επιτιθέμενου μπορούν να ξεγελάσουν τον διερμηνέα ώστε να εκτελεί μη προβλέψιμες εντολές ή να έχει πρόσβαση σε μη εξουσιοδοτημένα δεδομένα A2 Cross Site Scripting (XSS) Οι ευπάθειες XSS συμβαίνουν όταν μία εφαρμογή δέχεται μη έμπιστα δεδομένα και τα στέλνει πίσω στο πρόγραμμα περιήγησης χωρίς κατάλληλη επικύρωση και διαφυγή. Οι XSS επιθέσεις επιτρέπουν στον επιτιθέμενο να εκτελέσει scripts στο πρόγραμμα περιήγησης του θύματος τα οποία μπορούν να καταλάβουν τις συνόδους ενός χρήστη, να αλλάξουν το περιεχόμενο μιας ιστοσελίδας ή να ανακατευθύνουν τον χρήστη σε κακόβουλες ιστοσελίδες A3 Broken Authentication and Session Management Οι λειτουργίες της εφαρμογής που σχετίζονται με την αυθεντικοποίηση και την διαχείριση των συνόδων συχνά δεν εφαρμόζονται σωστά, επιτρέποντας έτσι σε επιτιθέμενους να υποκλέπτουν 21 Το OS (Operating System - Λειτουργικό σύστημα) είναι το λογισμικό του υπολογιστή που είναι υπεύθυνο για τη διαχείριση και τον συντονισμό των εργασιών, καθώς και την κατανομή των διαθέσιμων πόρων. 22 Το LDAP είναι ένα πρωτόκολλο ανοικτού προτύπου για την πρόσβαση σε υπηρεσίες καταλόγου X

29 κωδικούς, κλειδιά, σημεία συνόδου, ή να εκμεταλλευτούν ευπάθειες της εφαρμογής για να μαντέψουν ταυτότητες χρηστών A4-Insecure Direct Object References Μια ευπάθεια τύπου άμεσης πρόσβασης αναφοράς συμβαίνει όταν ένας προγραμματιστής έχει αφήσει εκτεθειμένο ένα αντικείμενο της εφαρμογής, όπως ένα αρχείο, κατάλογο, ή κλειδί βάσης. Χωρίς μηχανισμό ελέγχου πρόσβασης ή άλλη προστασία, ένα επιτιθέμενος μπορεί να χειριστεί αυτές τις αναφορές για να προσπελάσει μη εξουσιοδοτημένα δεδομένα A5-Cross Site Request Forgery (CRSF) Μια επίθεση τύπου CRSF αναγκάζει το πρόγραμμα περιήγησης ενός συνδεδεμένου χρήστη να στείλει πλαστά HTTP αιτήματα, συμπεριλαμβανομένου το cookie συνόδου του θύματος και οποιαδήποτε αυτοματοποιημένη πληροφορία αυθεντικοποίησης, σε μια ευπαθή διαδικτυακή εφαρμογή. Αυτό επιτρέπει στον επιτιθέμενο να αναγκάσει τον πρόγραμμα περιήγησης του θύματος να παράγει αιτήματα που η ευπαθής εφαρμογή δέχεται σαν νόμιμα αιτήματα από το θύμα A6-Security Misconfiguration Η καλή ασφάλεια απαιτεί να έχει καθοριστεί η ρύθμιση της ασφάλειας και της ανάπτυξης της εφαρμογής, ο σκελετός, ο διακομιστής εφαρμογής, ο διαδικτυακός διακομιστής, ο διακομιστής της βάσης και η πλατφόρμα στο σύνολο της. Όλες οι παραπάνω ρυθμίσεις πρέπει να είναι καθορισμένες, να εφαρμόζονται και να διατηρούνται όσο περισσότερο γίνεται χωρίς τις προεπιλεγμένες ρυθμίσεις ασφαλείας. Αυτό περιλαμβάνει την ενημέρωση του λογισμικού, περιλαμβανομένων των βιβλιοθηκών του κώδικα που χρησιμοποιούνται απτήν εφαρμογή Α7-Insecure Cryptographic Storage Πολλές διαδικτυακές εφαρμογές δεν προστατεύουν επαρκώς τα ευαίσθητα δεδομένα, όπως πιστωτικές κάρτες, SSNs 23, και τα διαπιστευτήρια αυθεντικοποίησης, με κατάλληλες μεθόδους κρυπτογράφησης ή κατακερματισμού. Έτσι οι επιτιθέμενοι μπορούν να υποκλέψουν ή να τροποποιήσουν δεδομένα που είναι ελάχιστα προστατευμένα και να προβούν σε υποκλοπή ταυτότητας, απάτη πιστωτικών καρτών, ή άλλα εγκλήματα. 23 SSN συντομογραφία από τις λέξεις Secure Service Network 16

30 4.3.8 A8-Failure to Restrict Url Access Πολλές διαδικτυακές εφαρμογές ελέγχουν την πρόσβαση σε κάποιο URL πριν δώσουν πρόσβαση σε κάποιο προστατευμένο σύνδεσμο ή κουμπί. Παρόλα αυτά, οι εφαρμογές θα πρέπει να ελέγχουν με τον ίδιο τρόπο την πρόσβαση κάθε φορά που αυτές οι σελίδες προσπελαύνονται, αλλιώς επιτιθέμενοι μπορούν να προσπελάσουν αυτά τα URLs των κρυφών σελίδων ούτως η άλλως A9-Insufficient Transport Layer Protection Οι εφαρμογές συχνά αποτυγχάνουν να αυθεντικοποιήσουν, να κρυπτογραφήσουν, και να προστατεύσουν την εμπιστευτικότητα και την ακεραιότητα ευαίσθητης διαδικτυακής κίνησης. Όταν το κάνουν, κάποιες φορές υποστηρίζουν αδύναμους αλγορίθμους, χρησιμοποιούν ληγμένα ή άκυρα πιστοποιητικά, ή δεν τα χρησιμοποιούν σωστά A10-Unvalidated Redirects and Forwards Οι διαδικτυακές εφαρμογές συχνά ανακατευθύνουν και προωθούν χρήστες σε άλλες σελίδες ή διαδικτυακές εφαρμογές, και χρησιμοποιούν μη έμπιστα δεδομένα για να καθορίσουν την σελίδες προορισμού. Χωρίς κατάλληλη επαλήθευση, επιτιθέμενοι έχουν την δυνατότητα να ανακατευθύνουν τα θύματα τους σε σελίδες phishing 24 ή malware, ή να τους προωθήσουν ώστε να έχουν πρόσβαση σε μη εξουσιοδοτημένες ιστοσελίδες. 24 Το phishing είναι η πράξη, όταν κάποιος προσπαθεί να αποκτήσει πληροφορίες όπως ονόματα χρηστών, κωδικούς πρόσβασης, καθώς και στοιχεία πιστωτικών καρτών (και μερικές φορές, έμμεσα, χρήματα) αφού μεταμφιεστεί ως μια αξιόπιστη οντότητα ανάμεσα σε μια ηλεκτρονική επικοινωνία. 17

31 ΚΕΦΑΛΑΙΟ 5 - ΕΠΙΘΕΣΕΙΣ ΠΟΥ ΠΕΡΙΛΑΜΒΑΝΕΙ Η ΕΦΑΡΜΟΓΗ Οι επιθέσεις που υλοποιήθηκαν για την πλατφόρμα που δημιουργήσαμε ανήκουν στην κατηγορία επιθέσεων σε διαδικτυακές εφαρμογές. Είναι ενδεικτικές από κάποιες κατηγορίες επιθέσεων και διαχωρίζονται ανάλογα με το επίπεδο δυσκολίας σε απλού, μέτριου και δύσκολου επίπεδου. 5.1 Δύο επιθέσεις τύπου XSS (OWASP A2) Η πρώτη επίθεση τύπου XSS Η πρώτη επίθεση τύπου XSS (xss1.php) είναι απλού επίπεδου στην οποία υπάρχει ευπάθεια στην φόρμα που εισάγονται δεδομένα. Η ευπάθεια αυτή υφίσταται γιατί η μέθοδος post της PHP ($try_xss = $_POST['try_xss'];) που χρησιμοποιείται για να περάσουμε τα δεδομένα του χρήστη δεν επαληθεύεται, δεν φιλτράρεται και δεν γίνεται escape. Έτσι ένας χρήστης μπορεί να εισάγει ένα javascript script μέσα στην φόρμα το οποίο θα τρέξει αυτούσιο στο πρόγραμμα περιήγησης του εξυπηρέτη. Πιο συγκεκριμμένα εάν ο χρήστης εισάγει ένα απο τα εξής <script>alert("xss!");</script> ή <script>alert('xss!');</script> το κομμάτι αυτό του κώδικα θα τρέξει κανονικά και ο χρήστης θα δει στο πρόγραμμα περιήγησής του με ένα alert popup μύνημα XSS Η δεύτερη επίθεση τύπου XSS Η δεύτερη επίθεση XSS (xss2.php) είναι μέτριου επιπέδου στην οποία υπάρχει η ίδια ευπάθεια με την προήγουμενη επίθεση με την διαφορά ότι γίνονται escape κάποιοι χαρακτήρες ώστε να αποφευχθεί η επίθεση. Έτσι ο επιτιθέμενος θα πρέπει να χρησιμοποιήσει την συνάρτηση της javascript string.fromcharcode, η οποία κάνει encoding στους χαρακτήρες, για να παράγει το ίδιο αποτέλεσμα, και πιο συγκεκριμμένα <script>alert(string.fromcharcode(88,83,83,33))</script> ώστε να δει το ίδιο alert popup μύνημα XSS. 5.2 Δύο τύπου SQL Injection (OWASP A1) Η πρώτη επίθεση τύπου SQL Injection H πρώτη επίθεση τύπου SQL Injection (sql1.php) είναι απλού επιπέδου στην οποία υπάρχει ευπάθεια στον τρόπο που εκτελούνται τα ερωτήματα στην βάση τα οποία δεν φιλτράρονται και δεν γίνονται escape οι χαρακτήρες. Έτσι ο επιτιθέμενος μπορεί να ξεγελάσει τον διερμηνέα της Mysql και να τρέξει απευθείας ερωτήματα πάνω στην βάση και να δει τα αποτελέσματα. Συγκεκριμένα εάν ο 18

32 χρήστης βάλει στο πεδίο username ' anything or 1=1-- και στο πεδίο password anything θα συνδεθεί υποδυόμενος το πρώτο χρήστη που υπάρχει στην βάση Η δεύτερη επίθεση τύπου SQL Injection Η δεύτερη επίθεση τύπου SQL Injection (sql3.php) είναι δύσκολου επιπέδου στην οποία υπάρχει ευπάθεια στην μεταβλητή id. Έτσι ο επιτιθέμενος μπορεί να εκτελέσει μια σειρά ερωτημάτων στην βάση και να βλ.ι τα αποτελέσματά τους μέχρι να φτάσει στον τελικό στόχο που είναι να βρει τον κωδικό του admin: Όταν ο χρήστης περάσει σαν παράμετρο την παρακάτω εντολή στο url του φυλλομετρητή, %' and 1=0 union select null, concat(first_name,0x0a,last_name,0x0a,user,0x0a,password) from users # εμφανίζεται στη σελίδα η απάντηση του εξυπηρετητή που είναι η παρακάτω. admin:5f4dcc3b5aa765d61d8327deb882cf99 Ο κωδικός αυτός είναι μια κρυπτογράφηση του κωδικού του χρήστη admin με τον αλγόριθμο MD5 και αν ο χρήστης την περάσει σαν παράμετρο στο αντίστοιχο πεδίο password θα κάνει σύνδεση στον εξυπηρετητή με δικαιώματα administrator. Εάν ο χρήστης που τρέχει η βάση μας Mysql είναι root τότε ο επιτιθέμενος μπορεί να την κλείσει, να διαγράψει στοιχεία της ή και ολόκληρη την βάση. 5.3 Μία τύπου Command Injection (OWASP A1) Η επίθεση τύπου Command Injection (commandinjection.php) είναι ευπαθής γιατί εκτελεί την εντολή system της php για να κάνει nslookup άμεσα στο σύστημα στο οποίο τρέχει επιστρέφοντας τα αποτελέσματα στον χρήστη. Έτσι εάν ο επιτιθέμενος χρησιμοποιήσει τον χαρακτήρα ; μπορεί να τρέξει οποιαδήποτε εντολή συστήματος, συγκεκριμένα του Linux στο οποίο τρέχει και να δει τα αποτελέσματα σαν απάντηση π.χ ; ls. 5.4 Μία τύπου Session Hijacking (OWASP A3) Η επίθεση τύπου Session Hijacking (sessionhiijacking/index.php) εκμεταλλέυεται το κακογραμμένο πρόγραμμα της php στο οποίο η σύνοδος που ανοίγει για τον χρήστη admin αποθηκεύεται σε ένα cookie το οποίο παίρνει σαν παραμέτρους μόνο το username και το password και παράγει ένα sessionid. Έτσι ο επιτιθέμενος ο οποίος θα έχει υποκλέψει το συγκεκριμένο sessionid και θα αναπαράγει το αίτημα στην ιστοσελίδα μέσω Webscarab, βάζοντας χειροκίνητα τις παραμέτρους PHPSESSID=v07ls240d2bm07m6e0eiilafe3; 19

33 gdusername=admin; gdpassword=21232f297a57a5a743894a0e4a801fc3 θα συνδεθεί επιτυχώς σαν admin χωρίς να γνωρίζει το password του χρήστη. 5.5 Δύο τύπου Path Traversal (OWASP A4) Οι επιθέσεις τύπου Path Traversal (pathtraversal1.php, pathtraversal2.php) εκμεταλλεύονται το γεγονός ότι στον κώδικα της php χρησιμοποιείεται η μέθοδος include και ο χρήστης δίνει χειροκίνητα το όνομα του αρχείου ώστε να έχει πρόσβαση σε αυτό. Η php παίρνει το όρισμα με την μέθοδο GET και επιστρέφει στον χρήστη το αρχείο. Έτσι ο επιτιθέμενος μπορεί να εκμεταλλευτεί την συγκεκριμένη ευπάθεια και να δει αρχεία του συστήματος στα οποία δεν έχει εξουσιοδοτημένη πρόσβαση π.χ../../../etc/passwd. 5.6 Μία τύπου Failure to Restrict URL Access (OWASP A8) Στην επίθεση Failure to Restrict URL Access (javascript.html) η ευπάθεια έγκειται στο γεγονός ότι ο προγραμματιστής ενώ ελέγχει τον κωδικό και το όνομα χρήστη για να δώσει πρόσβαση σε μια συγκεκριμένη ιστοσελίδα έχει αφήσει τον κωδικό, το όνομα χρήστη αλλά και το path του URL εκτεθειμένο σε κάποιον που απλά θα δει τον πηγαίο κώδικα της σελίδας (μέσω firebug). 20

34 ΚΕΦΑΛΑΙΟ 6 - ΜΕΘΟΔΟΣ-ΛΕΙΤΟΥΡΓΙΕΣ ΕΦΑΡΜΟΓΗΣ 6.1 Εισαγωγή Το σύστημα που έχει υλοποιηθεί δίνει τη δυνατότητα στους χρήστες να χρησιμοποιούν την εφαρμογή απομακρυσμένα από το χώρο το πανεπιστημίου, με μοναδική προϋπόθεση να έχει ο κάθε χρήστης στη διάθεσή του μια VPN σύνδεση με το πανεπιστήμιο, να διαθέτει το ειδικό αρχείο jar για να μπορεί να τρέξει την εφαρμογή και τέλος την έκδοση JRE 7 εγκατεστημένη στο μηχάνημα που θέλει να εκκινήσει την εφαρμογή. Όπως αναλύσαμε σε προηγούμενο κεφάλαιο, η πλευρά του προγράμματος που υλοποιεί τον εξυπηρετητή βρίσκεται εγκατεστημένη στο χώρο του πανεπιστημίου. Στο παρόν κεφάλαιο θα αναλύσουμε τις διαδικασίες που λαμβάνουν χώρα στο πρόγραμμα του πελάτη ανάλογα με την κατηγορία του χρήστη που το χρησιμοποιεί κάθε φορά. Επιπλέον θα γίνει εκτενής παρουσίαση των λειτουργιών που διατίθενται σε κάθε κατηγορία χρήστη. Επίσης θα γίνει αναφορά στο πρόγραμμα του εξυπηρετητή και θα δείξουμε πως τα προγράμματα πελάτης-εξυπηρετητής, αλληλεπιδρούν μεταξύ τους. 6.2 Ανάλυση προγράμματος πελάτη Η εφαρμογή που υλοποιεί το πρόγραμμα πελάτης, είναι υλοποιημένη εξολοκλήρου με γλώσσα java και είναι προσβάσιμη από το αρχείο hack_me.jar, το οποίο διατίθεται δωρεάν για καταφόρτωση μέσα από το σύνδεσμο Σύνδεση στην εφαρμογή Αρχικά όταν ο χρήστης προσπαθήσει να ανοίξει την εφαρμογή εμφανίζεται μια φόρμα ασφαλούς εισόδου στην εφαρμογή όπως φαίνεται στο Σχήμα 6-1. Στη φόρμα αυτή ο χρήστης θα πρέπει να εισάγει στο πεδίο UserName το όνομα χρήστη, στο πεδίο Password τον κωδικό πρόσβασης και στο πεδίο User Identity την ιδιότητα του χρήστη που προσπαθεί να συνδεθεί και στη συνέχεια να πατήσει το κουμπί Sign In. 21

35 Σχήμα 6-1: Σύνδεση χρήστη στην εφαρμογή Ο χρήστης αναμένει μερικά δευτερόλεπτα την απάντηση από το πρόγραμμα εξυπηρετητής για το αν τα διαπιστευτήριά του είναι σωστά. Κατά τη διαδικασία της αναμονής, στο παρασκήνιο και χωρίς να τις αντιλαμβάνεται ο χρήστης λαμβάνουν χώρα κάποιες διεργασίες. Αρχικά το πρόγραμμα πελάτης δημιουργεί εκείνη τη στιγμή το πιστοποιητικό που θα χρησιμοποιήσει κατά την διαδικασία της εγκαθίδρυσης και εν τέλει χρήσης του ασφαλούς καναλιού SSL με το πρόγραμμα του εξυπηρετητή. Όταν το handshake μεταξύ των δύο πλευρών ολοκληρωθεί επιτυχώς, ξεκινάει η διαδικασία πιστοποίησης του χρήστη στο σύστημα. Στην περίπτωση που ο χρήστης έχει δώσει λάθος διαπιστευτήρια εμφανίζεται στο γραφικό περιβάλλον κατάλληλο μήνυμα που τον ενημερώνει πως η διαδικασία πιστοποίησης του από τον εξυπηρετητή απέτυχε, ενώ σε αντίθετη περίπτωση εμφανίζεται το αντίστοιχο γραφικό περιβάλλον, ανάλογα με την ιδιότητα που επέλεξε να συνδεθεί. Σε περίπτωση αποτυχίας, ένας χρήστης μπορεί να ξαναπροσπαθήσει να συνδεθεί στην εφαρμογή όσες φορές θέλει. Δεν υπάρχει περιορισμός, ως προς τον αριθμό συνολικών αποτυχημένων προσπαθειών που μπορεί να κάνει για να συνδεθεί. Σε επόμενες παραγράφους θα αναλύσουμε τα γραφικά περιβάλλοντα που εμφανίζονται και τις δυνατότητες που προσφέρουν στους χρήστες, ανάλογα με την κατηγορία χρήστη που επιτυγχάνει σύνδεση με τον εξυπηρετητή Κατηγορία χρήστη προγραμματιστή (Developer) Όταν ένας χρήστης συνδεθεί επιτυχώς στον εξυπηρετητή με την ιδιότητα του προγραμματιστή, εμφανίζεται το επόμενο γραφικό περιβάλλον, όπως φαίνεται στο Σχήμα

36 Σχήμα 6-2: Κεντρικό γραφικό περιβάλλον Προγραμματιστή Κάθε εγγραφή στον πίνακα που εμφανίζεται στο γραφικό περιβάλλον, αντιστοιχεί σε μια επίθεση. Όπως αναφέραμε στο υποκεφάλαιο 6.1.3, ένας χρήστης κατηγορίας προγραμματιστή μπορεί να εκτελέσει τρεις διαφορετικές λειτουργίες. Στο παραπάνω γραφικό περιβάλλον, στη σελίδα Options, εκτός από τον πίνακα με τις επιθέσεις, εμφανίζονται και τρία «κουμπιά» που αντιστοιχούν το καθένα σε μία από τις παρακάτω ενέργειες: Το κουμπί Add Challenge Αντιστοιχεί στην λειτουργία δημιουργίας μιας νέας επίθεσης από τον προγραμματιστή. Όταν ένας προγραμματιστής επιθυμεί να προσθέσει μια νέα επίθεση στη λίστα με τις επιθέσεις, «πατάει» το κουμπί αυτό και εμφανίζεται το γραφικό περιβάλλον που εμφανίζεται στο Σχήμα 6-3. Σχήμα 6-3: Επιλογή δημιουργίας νέας επίθεσης 23

37 Στο γραφικό περιβάλλον, υπάρχουν κάποια πεδία που πρέπει να συμπληρωθούν από τον προγραμματιστή για να αποσταλεί το αίτημα της δημιουργίας νέας επίθεσης σε ένα χρήστη κατηγορίας Administrator. 1) Πεδίο Attack Title: Στο πεδίο αυτό, ο προγραμματιστής είναι υποχρεωμένος να συμπληρώσει το όνομα του αρχείου που επιθυμεί να είναι αυτό που θα εμφανιστεί αρχικά στο χρήστη για να «κάνει» την επίθεση. Δεδομένου ότι οι ευπάθειες δεν είναι τίποτα περισσότερο από αρχεία γραμμένα σε κώδικα html και php, η εφαρμογή μας θα πρέπει να γνωρίζει εξ αρχής ποιο αρχείο είναι η κεντρική σελίδα, έτσι ώστε να την καταφορτώσει στο γραφικό περιβάλλον του χρήστη κατηγορίας Student που θα καλέσει να «παίξει» την επίθεση. 2) Πεδίο Category: Στο πεδίο αυτό ο προγραμματιστής επιλέγει μια από τις διαθέσιμες κατηγορίες επιθέσεων που υπάρχουν καταχωρημένες στο σύστημα, για να εντάξει την επίθεση που θέλει να δημιουργήσει. Οι κατηγορίες είναι βασισμένες στις δέκα κατηγορίες του OWASP που αναλύθηκαν σε προηγούμενο κεφάλαιο. 3) Πεδίο Add new Category: Στην περίπτωση που ένας προγραμματιστής δεν θέλει να εντάξει την νέα επίθεση σε μία ήδη υπάρχουσα κατηγορία, μπορεί μέσω του πεδίου αυτού, να προσθέσει μια νέα κατηγορία επιθέσεων. Όταν η επίθεση εγκριθεί από έναν Administrator, τότε αυτόματα ενημερώνεται και η αντίστοιχη βάση που αποθηκεύονται οι κατηγορίες των επιθέσεων και η νέα κατηγορία είναι πλέον ορατή και διαθέσιμη σε όλους τους υπόλοιπους προγραμματιστές. 4) Πεδίο Level: Ένα πεδίο το οποίο αναπαριστά το βαθμό δυσκολίας επίλυσης της επίθεσης. Για κάθε επίθεση ένας προγραμματιστής μπορεί να επιλέξει ένα από τα τρία διαθέσιμα επίπεδα δυσκολίας, το οποίο θα είναι ορατό σε όλες τις άλλες κατηγορίες χρηστών. Το πεδίο αυτό, ορίζει το χρόνο που έχει κάποιος στη διάθεσή του, έτσι ώστε να επιλύσει επιτυχώς την επίθεση, καθώς επίσης και το μέγιστο σκορ που μπορεί να επιτύχει. Για παράδειγμα, μια επίθεση με «χαμηλό» βαθμό δυσκολίας επίλυσης, έχει μέγιστο βαθμό επίλυσης 1500 βαθμούς και χρόνο επίλυσης μία ώρα, μια «μέτριου» επιπέδου, έχει μέγιστο βαθμό επίλυσης 2000 βαθμούς και χρόνο επίλυσης μιάμιση ώρα και μια «δύσκολου» επιπέδου, έχει μέγιστο βαθμό επίλυσης 2500 βαθμούς και χρόνο επίλυσης δύο ώρες. 24

38 5) Πεδίο Challenge Info: Το πεδίο αυτό αναφέρεται σε κάποιες επιπλέον πληροφορίες που αφορούν την επίθεση. Τέτοιες είναι: 1. Attack Info Ο στόχος της επίθεσης. Δηλαδή τι πρέπει να «βρει» ένας επιτιθέμενος για να θεωρηθεί ότι πέρασε επιτυχώς μια επίθεση. Για παράδειγμα, σε μια επίθεση που πρέπει ένας επιτιθέμενος να εισάγει στοιχεία που θα λειτουργήσουν ως διαπιστευτήρια για να ξεκλειδώσει κάποιες λειτουργίες και να μπορεί τις χρησιμοποιήσει, στόχος, μπορεί να θεωρηθεί μια εισαγωγή στο σύστημα σαν χρήστης κατηγορίας administrator έτσι ώστε να ξεκλειδωθούν όσες περισσότερες λειτουργίες γίνεται. 2. Attack Solution Η λύση της επίθεσης. Δηλαδή όλες οι ενέργειες που πρέπει να πραγματοποιηθούν από έναν επιτιθέμενο για να επιτύχει τον στόχο που αναφέραμε παραπάνω. 3. Attack Hints Βοηθήματα της επίθεσης. Δηλαδή όλες οι βοήθειες που προσφέρει ο προγραμματιστής σε έναν επιτιθέμενο για να κατανοήσει εις βάθος το πρόβλημα που έχει να επιλύσει και να φτάσει στον επιθυμητό στόχο. 6) Πεδίο Choose Folder: Όταν ένας προγραμματιστής συμπληρώσει όλα τα παραπάνω πεδία, πρέπει να επιλέξει και τον φάκελο με τα αρχεία που αποτελούν την επίθεση. Πατώντας το καφέ φακελάκι που φαίνεται στο Σχήμα 6-3, ανοίγει ένα νέο παράθυρο, από το οποίο επιλέγει μέσα από περιήγηση στα αρχεία του συστήματός του, τον φάκελο που τον ενδιαφέρει και πατάει την επιλογή Select Folder, όπως φαίνεται στο Σχήμα 6-4 παρακάτω. Σχήμα 6-4: Επιλογή του κατάλληλου φακέλου 25

39 7) Κουμπί Add: Εφόσον ο προγραμματιστής έχει συμπληρώσει με επιτυχία όλα τα στοιχεία, μπορεί να πατήσει το κουμπί αυτό για να αποστείλει το αίτημα για νέα επίθεση στον εξυπηρετητή. Το αίτημα αυτό είναι ένα συμπιεσμένο αρχείο με κατάληξη.zip που περιέχει όλες τις παραπάνω πληροφορίες σχετικά με την επίθεση. Το αρχείο αυτό, πέρα από τα αρχεία που αποτελούν τις ευπαθείς σελίδες και αρχεία που σχετίζονται άμεσα με αυτές, περιέχει και κάποια ειδικά αρχεία με στατικό όνομα, έτσι ώστε να γνωρίζει ο εξυπηρετητής τι πληροφορίες περιέχει το καθένα, και ανάλογα να τις επεξεργάζεται κατάλληλα. Τέτοια αρχεία είναι: 1) solution.txt περιέχει τη λύση της επίθεσης 2) hints.txt περιέχει τις βοήθειες της επίθεσης 3) info.txt περιέχει τις πληροφορίες για την επίθεση 4) RecordForDatabase.txt περιέχει όλες εκείνες τις πληροφορίες που θα πρέπει να αποθηκευτούν στη βάση δεδομένων που βρίσκονται όλες οι πληροφορίες όλων των επιθέσεων της εφαρμογής. Το όνομα του συμπιεσμένου αρχείου είναι επίσης ειδικό και αποτελείται από δύο τμήματα. Το όνομα του προγραμματιστή που δημιουργεί την επίθεση και την ημερομηνία και ώρα που γίνεται το αίτημα της δημιουργίας της επίθεσης. Για παράδειγμα ένα αρχείο με όνομα George_ _16.54 δείχνει τον δημιουργό του και την ώρα δημιουργίας του. Σε περίπτωση που η όλη διαδικασία στεφθεί με επιτυχία, τότε το πρόγραμμα επαναφέρει τον χρήστη στην αρχική σελίδα Options. Διαφορετικά, όταν κάποιο από τα πεδία δεν έχει συμπληρωθεί, τότε εμφανίζεται σχετικό μήνυμα ενημέρωσης του χρήστη, όπως φαίνεται στο Σχήμα 6-5. Σχήμα 6-5: Μήνυμα ελλιπής εισαγωγής στοιχείων επίθεσης 26

40 8) Το ειδικό πεδίο Add Table to Database: Το πεδίο αυτό λέμε ότι είναι ειδικό γιατί ενεργοποιείται και είναι διαθέσιμο στον προγραμματιστή μόνο στην περίπτωση που έχει επιλεγεί στο πεδίο Category κατηγορία επίθεσης τύπου SQL Injection. Αυτό συμβαίνει γιατί όπως εξηγήσαμε σε προηγούμενο κεφάλαιο, Οι επιθέσεις τέτοιου τύπου, απαιτούν την ύπαρξη κάποιας SQL βάσης στο σύστημα. Επιλέγοντας το πεδίο αυτό εμφανίζεται στην οθόνη ένα νέο παράθυρο, όπως φαίνεται στο Σχήμα 6-6 παρακάτω. Σχήμα 6-6: παράθυρο προσθήκης βάσης Ο προγραμματιστής μπορεί στην περιοχή με το μαύρο φόντο να γράψει εντολές της γλώσσας MySQL. Πατώντας την Σχήμα «NEW», διαχωρίζει την κάθε εντολή από την επόμενη, έτσι ώστε να εκτελεστούν με τη σειρά, κατά τη διαδικασία της έγκρισης ή μη της επίθεσης, από ένα χρήστη Administrator. Μόλις ολοκληρωθεί η διαδικασία πληκτρολόγησης των εντολών, πατώντας το κουμπί Create Table, αποθηκεύονται οι εντολές σε μια συμβολοσειρά τύπου String στην εφαρμογή και το παράθυρο κλείνει. Στη συνέχεια ακολουθούνται όλες οι διαδικασίες που αναλύσαμε παραπάνω και όταν ο χρήστης πατήσει το κουμπί Add, στο φάκελο αποστολής προς τον εξυπηρετητή δημιουργείται ένα ακόμα αρχείο με ειδικό στατικό όνομα sql.txt, που περιέχει τις εντολές sql που πληκτρολόγησε ο χρήστης. Εναλλακτικά σε μια επίθεση τύπου sql injection, ένας προγραμματιστής μπορεί να προσθέσει στον φάκελο αποστολής, ένα αρχείο με κατάληξη.sql που θα περιέχει την βάση με τα δεδομένα που χρειάζονται για να λειτουργούν τα αρχεία που αποτελούν την επίθεση. 27

41 Προσοχή!!! Απαραίτητη προϋπόθεση σε αυτή την περίπτωση είναι το όνομα του αρχείου.sql να είναι το ίδιο με το όνομα της βάσης που θα πρέπει να δημιουργηθεί στη συνέχεια στον MySQL server. Για παράδειγμα αν σε μια σελίδα index.php περιέχεται ένα τμήμα php κώδικα ως εξής: mysql_select_db('sqlid', $link) όπου η λέξη sqlid αντιπροσωπεύει το όνομα της βάσης που πρέπει να ανοιχθεί για να εξεταστούν κάποια δεδομένα, τότε πρέπει και το αρχείο.sql που θα περιέχει τα δεδομένα της βάσης να έχει όνομα sqlid.sql Το κουμπί Edit Challenge Αντιστοιχεί στην λειτουργία επεξεργασίας μιας υπάρχουσας επίθεσης από τον προγραμματιστή. Όταν ένας προγραμματιστής επιθυμεί να επεξεργαστεί μια επίθεση στη λίστα με τις επιθέσεις, είτε για να προσθέσει κάποια νέα πληροφορία, είτε για να διαγράψει κάποια πληροφορία η οποία θεωρείται περιττή «πατάει» το κουμπί αυτό και εμφανίζεται το γραφικό περιβάλλον που εμφανίζεται στο Σχήμα 6-7 παρακάτω. Σχήμα 6-7: Παράθυρο αποσυμπίεσης αρχείου επίθεσης Κάθε επίθεση αποστέλλεται στον εξυπηρετητή με την μορφή συμπιεσμένου αρχείου, όπου περιέχει όλες τις πληροφορίες σε ειδικά αρχεία που σχετίζονται με την επίθεση. Επομένως όταν ένας προγραμματιστής θέλει να επεξεργαστεί μια υπάρχουσα επίθεση, θα πρέπει να έχει πρόσβαση στα αρχεία που την αποτελούν. Με το συγκεκριμένο παράθυρο δίνουμε τη δυνατότητα στον προγραμματιστή να καταφορτώσει το συμπιεσμένο αρχείο στον υπολογιστή του και να επεξεργαστεί τοπικά τις πληροφορίες της επίθεσης. Ειδικότερα δίνουμε στο χρήστη δύο επιλογές: 28

42 1) Αποσυμπίεση του αρχείου τη στιγμή που θα τελειώσει η καταφόρτωσή του, χτυπώντας την Σχήμα του duke 25 που εμφανίζεται στη μύτη. 2) Εναλλακτικά πατώντας την Σχήμα του συμπιεσμένου φακέλου στο δεξί χέρι του duke, δεν γίνεται αποσυμπίεση του αρχείου. Στη συνέχεια εμφανίζεται το παράθυρο του Σχήματος 6-3, με συμπληρωμένα όμως τα πεδία με τις κατάλληλες πληροφορίες της επίθεσης. Ο χρήστης επεξεργάζεται τις πληροφορίες που επιθυμεί και τελικά πατάει το κουμπί add για να αποστείλει το αίτημα της επεξεργασίας της επίθεσης στον εξυπηρετητή με παρόμοιο τρόπο, με τη διαδικασία δημιουργίας νέας επίθεσης. Πριν όμως αποσταλεί το αίτημα εμφανίζεται ένα νέο παράθυρο, όπως φαίνεται στο Σχήμα 6-8 παρακάτω. Σχήμα 6-8: Παράθυρο αιτιολόγησης επεξεργασίας επίθεσης Στην περιοχή με το άσπρο φόντο, ο χρήστης πρέπει να αιτιολογήσει την ενέργειά του, να επεξεργαστεί τη συγκεκριμένη επίθεση. Σε μια παράγραφο παραθέτει του λόγους που τον οδήγησαν στην πράξη αυτή και όταν ολοκληρώσει, πατώντας το κουμπί Accept, στο φάκελο αποστολής δημιουργείται ένα επιπλέον ειδικό αρχείο με στατικό όνομα reason.txt, που περιέχει την παραπάνω αιτιολόγηση. Τέλος ολοκληρώνεται η διαδικασία αποστολής του νέου συμπιεσμένου αρχείου στον εξυπηρετητή Το κουμπί Delete Challenge Αντιστοιχεί στην λειτουργία διαγραφής μιας υπάρχουσας επίθεσης από τον προγραμματιστή. Όταν ένας προγραμματιστής επιθυμεί να διαγραφεί μια επίθεση από τη λίστα με τις επιθέσεις, «πατάει» το 25 Duke is Java's mascot. 29

43 κουμπί αυτό και εμφανίζεται το γραφικό περιβάλλον που εμφανίζεται στο Σχήμα 6-8 παραπάνω, όπου παραθέτει τους λόγους για τους οποίους θέλει να διαγραφεί η συγκεκριμένη επίθεση. Στη συνέχεια το αίτημα αποστέλλεται στον εξυπηρετητή Κατηγορία χρήστη διαχειριστή (Administrator) Όταν ένας χρήστης συνδεθεί επιτυχώς στον εξυπηρετητή με την ιδιότητα του διαχειριστή, εμφανίζεται το επόμενο γραφικό περιβάλλον, όπως φαίνεται στο Σχήμα 6-9. Σχήμα 6-9: Κεντρικό γραφικό περιβάλλον χρήστη κατηγορίας Administrator Στην δενδροειδή μορφή δεξιά στο Σχήμα, εμφανίζονται οι φάκελοι στους οποίους έχει πρόσβαση ένας διαχειριστής στην πλευρά του εξυπηρετητή. Όταν ένα προγραμματιστής κάνει ένα αίτημα για δημιουργία μιας νέας επίθεσης, τότε το αίτημα αυτό καταχωρείται σε ένα ειδικό φάκελο στην πλευρά του εξυπηρετητή με όνομα add. Όταν κάνει αίτημα για επεξεργασία υπάρχουσας επίθεσης το αίτημα καταχωρείται σε φάκελο με όνομα edit και αντίστοιχα, όταν πρόκειται για αίτημα διαγραφής επίθεσης, τότε καταχωρείται στον φάκελο με όνομα delete. Επιπλέον υπάρχει ο φάκελος attacks που περιέχει όλες τις επιθέσεις που υπάρχουν στο σύστημα. Με αυτό τον τρόπο ένα χρήστης Administrator μπορεί να έχει δικαιώματα πρόσβασης σε όλες τις επιθέσεις και τα χαρακτηριστικά τους, αλλά δεν έχει τη δυνατότητα επεξεργασίας αυτών. Όταν μπροστά από ένα φάκελο εμφανίζεται ένα μαύρο βελάκι σα δείκτης, σημαίνει αυτόματα ότι υπάρχει σχετικό αίτημα από κάποιον ή κάποιους προγραμματιστές. Για να ελέγξει ένας διαχειριστής τα νέα αιτήματα πατάει πάνω στον φάκελο που επιθυμεί και εμφανίζονται τα νέα αρχεία που 30

44 περιέχει. Για να δει τις πληροφορίες του κάθε αρχείου, πρέπει να καταφορτώσει το αρχείο που επιθυμεί σε ένα προσωπικό χώρο. Στη συνέχεια, όταν η καταφόρτωση στεφθεί με επιτυχία τα πεδία γεμίζουν αυτόματα με τις πληροφορίες και είναι άμεσα διαθέσιμες στο διαχειριστή. Ένα στιγμιότυπο μετά από επιτυχής καταφόρτωση ενός αρχείου, φαίνεται στο Σχήμα 6-10 παρακάτω. Σχήμα 6-10: Ενημέρωση πεδίων μετά την καταφόρτωση ενός αρχείου Από το παραπάνω στιγμιότυπο βλέπουμε ότι τα πεδία στην περιοχή General Info έχουν γεμίσει με τις βασικές πληροφορίες της επίθεσης. Η περιοχή Reason δεν είναι διαθέσιμη προς επιλογή, αφού επιλέξαμε να καταφορτώσουμε μια νέα επίθεση. Η περιοχή αυτή γίνεται διαθέσιμη στις περιπτώσεις που ο διαχειριστής θέλει να επεξεργαστεί κάποιο αίτημα που βρίσκεται στο φάκελο delete ή το φάκελο edit αντίστοιχα. Σε περίπτωση που η επίθεση ανήκει στην κατηγορία SQL Injection τότε ενεργοποιείται και η περιοχή SQL Info, όπως φαίνεται στο Σχήμα Σχήμα 6-11: Η περιοχή SQL Info 31

45 Σε μια επίθεση τέτοιου τύπου, ένας χρήστης κατηγορίας προγραμματιστή όπως αναφέραμε στο σχετικό υποκεφάλαιο (βλ ), διαθέτει δύο επιλογές δημιουργίας της βάσης δεδομένων που θα στηρίζεται η επίθεση. Είτε αποστέλλοντας ένα αρχείο με κατάληξη όνομα_βάσης.sql που περιέχει όλα τα δεδομένα, είτε αποστέλλοντας ένα αρχείο με το ειδικό όνομα sql.txt που περιέχει τις Mysql εντολές που όταν εκτελεστούν, θα δημιουργήσουν τη βάση με τα δεδομένα. Στην πρώτη περίπτωση ενεργοποιείται το κουμπί Import SQL, ενώ στη δεύτερη το κουμπί SQL Queries. Στους προγραμματιστές δίνεται η δυνατότητα να αποστείλουν και τα δύο αρχεία. Έτσι οι διαχειριστές μπορούν, όταν μια από τις δύο επιλογές αποτύχει να εκτελεστεί, να προσπαθήσουν την δεύτερη, αφού σε μια τέτοια περίπτωση και τα δύο κουμπιά ενεργοποιούνται. Στο παράδειγμά μας, όπως φαίνεται στο Σχήμα 6-11 παραπάνω ο προγραμματιστής που έχει αιτηθεί δημιουργία νέας επίθεσης, έχει αποστείλει μόνο το αρχείο sqlid.sql. Όταν η εισαγωγή της βάσης αποτύχει, τότε εμφανίζεται το μήνυμα που φαίνεται στο Σχήμα 6-12 παρακάτω. Σχήμα 6-12: Αποτυχημένη προσπάθεια εισαγωγής βάσης δεδομένων στο σύστημα Όπως παρατηρούμε από την παραπάνω Σχήμα, σε περίπτωση αποτυχίας δημιουργίας της βάσης δεδομένων ή την εισαγωγή δεδομένων σε αυτή, τότε εκτός από το παραπάνω μήνυμα στην περιοχή SQL Info, η σελίδα Test Attack απενεργοποιείται, καθώς ο διαχειριστής δεν μπορεί να ελέγξει την επίθεση, αφού η βάση δεδομένων δεν έχει δημιουργηθεί επιτυχώς. Σε αντίθετη περίπτωση το κουμπί Test Attack ενεργοποιείται και ο διαχειριστής είναι σε θέση να επιλέξει ανάμεσα στην αποδοχή ή την απόρριψη της επίθεσης, όπως φαίνεται στο Σχήμα 6-13 παρακάτω. 32

46 Σχήμα 6-13: Σελίδα ελέγχου επίθεσης από διαχειριστή Μετά την επιτυχή καταφόρτωση των αρχείων της επίθεσης που επιθυμεί να επεξεργαστεί ο διαχειριστής, σειρά έχει η έγκριση ή η απόρριψη της επίθεσης. Η περιοχή με το λευκό φόντο και τις εικόνες αποτελεί το φυλλομετρητή (browser) της εφαρμογής μας, το χώρο δηλαδή που γίνεται ο έλεγχος της επίθεσης και λειτουργεί σαν προσομοίωση των συνθηκών που θα έχουν να αντιμετωπίσουν οι χρήστες κατηγορίας student (εκπαιδευόμενοι). Ο διαχειριστής έχει στη διάθεσή του, όλα τα βοηθήματα (hints) που προσφέρει ο δημιουργός της επίθεσης και μπορεί να ελέγξει τη εγκυρότητα τους, καθώς επίσης και τη λύση της επίθεσης. Επιπλέον διατίθενται τα βοηθητικά εργαλεία webscarab και firebug. Ανάλογα με την επίθεση που επέλεξε να ελέγξει, τα αντίστοιχα κουμπιά ενεργοποιούνται ή απενεργοποιούνται. 1) Περίπτωση ελέγχου επίθεσης από το φάκελο add: Τα κουμπιά Accept Attack και Decline Attack ενεργοποιούνται και το κουμπί Delete Attack είναι απενεργοποιημένο. 2) Περίπτωση ελέγχου επίθεσης από το φάκελο edit: Τα κουμπιά Accept Attack και Decline Attack ενεργοποιούνται και το κουμπί Delete Attack είναι απενεργοποιημένο. 3) Περίπτωση ελέγχου επίθεσης από το φάκελο delete: Τα κουμπί Delete Attack είναι ενεργοποιημένο και τα κουμπιά Accept Attack και Decline Attack είναι απενεργοποιημένα. 33

47 Λειτουργίες των κουμπιών της σελίδας Test Attack: 1)Το κουμπί Accept Attack Όταν ένας διαχειριστής αποφασίσει πως η νέα ή η επεξεργασμένη επίθεση πληροί της προϋποθέσεις για να γίνει αποδεκτή και να επιτραπεί η χρήση της, σε διαφορετικές κατηγορίες χρηστών, τότε με την επιλογή αυτή ενημερώνει κατάλληλα τον εξυπηρετητή για την αποδοχή της επίθεσης. Στην πλευρά του εξυπηρετητή εκτελούνται κάποιες ενέργειες που καθιστούν την επίθεση, ορατή προς όλες τις κατηγορίες χρηστών. Ο εξυπηρετητής ενημερώνει τις αντίστοιχες βάσεις δεδομένων με τα νέα στοιχεία καθώς και τα αρχεία της εφαρμογής που χρειάζεται. 2)Το κουμπί Decline Attack Όταν ένας διαχειριστής αποφασίσει πως η νέα ή η επεξεργασμένη επίθεση δεν πληροί της προϋποθέσεις για να γίνει αποδεκτή και να επιτραπεί η χρήση της, τότε με την επιλογή αυτή ενημερώνει κατάλληλα τον εξυπηρετητή για την απόρριψη της επίθεσης. Στην πλευρά του εξυπηρετητή εκτελούνται κάποιες ενέργειες έτσι ώστε να ενημερωθούν κατάλληλα οι βάσεις δεδομένων και τα αρχεία της εφαρμογής που χρειάζεται. 3)Το κουμπί Delete Attack Σε περίπτωση που ένας διαχειριστής που επεξεργάζεται ένα αίτημα για διαγραφή μια υπάρχουσας επίθεσης, αποφασίσει πως η επίθεση πρέπει να διαγραφεί, τότε με την επιλογή αυτή ενημερώνει κατάλληλα τον εξυπηρετητή για την διαγραφή της επίθεσης. Στην πλευρά του εξυπηρετητή εκτελούνται οι κατάλληλες ενέργειες έτσι ώστε να ενημερωθούν οι βάσεις δεδομένων και τα αρχεία της εφαρμογής που χρειάζεται Κατηγορία χρήστη καθηγητής (Faculty) Όταν ένας χρήστης συνδεθεί επιτυχώς στον εξυπηρετητή με την ιδιότητα του καθηγητή, εμφανίζεται το επόμενο γραφικό περιβάλλον, όπως φαίνεται στο Σχήμα

48 Σχήμα 6-14: Κεντρικό παράθυρο χρήστη κατηγορίας καθηγητή Η περιοχή Projects Στη δενδροειδή μορφή στα δεξιά του Σχήματος εμφανίζεται το όνομα του χρήστη που έκανε επιτυχώς σύνδεση με τον εξυπηρετητή και τα project που έχει δημιουργήσει. Παρατηρούμε ότι κάποια από αυτά είναι ενεργά, αυτά με την Σχήμα και κάποια ανενεργά, αυτά με την Σχήμα. Ενεργά είναι αυτά τα project που ένας χρήστης κατηγορίας Student μπορεί να ανοίξει και να προσπαθήσει να λύσει τις επιθέσεις που έχει. Αντίθετα τα ανενεργά project δεν μπορούν να τα ανοίξουν οι εκπαιδευόμενοι και να επιλύσουν τις επιθέσεις που διαθέτουν. Δίνουμε τη δυνατότητα σε ένα χρήστη κατηγορίας καθηγητή με αυτό τον τρόπο, να διαχειρίζεται με όποιο τρόπο θέλει, ένα ήδη υπάρχον project. Για παράδειγμα, γίνεται ένα τουρνουά hacking στο πανεπιστήμιο με διάρκεια τρεις μέρες. Μόλις ένα project ενεργοποιηθεί, τότε οι υποψήφιοι εκπαιδευόμενοι hackers, θα έχουν στη διάθεσή τους, τόσο χρόνο να επιλύσουν επιτυχώς όλες οι μερικές από τις επιθέσεις, όσο θα τους επιτρέψει ο δημιουργός του project που θα επιλέξουν να επιλύσουν. Προσοχή!!! Σημαντικό είναι το γεγονός, ότι μόνο o δημιουργός του εκάστοτε project, μπορεί να το ενεργοποιήσει ή να το απενεργοποιήσει, είτε να το επεξεργαστεί, είτε να κάνει αίτημα για οριστική διαγραφή του και κανένας άλλος Η περιοχή Available Attacks Στην περιοχή αυτή υπάρχουν δύο διαφορετικές σελίδες. Στη σελίδα Attacks Table βρίσκονται όλες οι επιθέσεις που έχουν εγκριθεί από τους διαχειριστές της εφαρμογής και είναι διαθέσιμες προς όλους τους καθηγητές για να αποτελέσουν τμήμα ενός ή περισσότερων project. Όταν ένας χρήστης 35

49 επιλέξει μια επίθεση από τον πίνακα, στη σελίδα Selected Attack Info εμφανίζονται επιπλέον πληροφορίες για την επίθεση, όπως φαίνεται στο Σχήμα 6-15 παρακάτω. Σχήμα 6-15: Πληροφορίες επιλεγμένης επίθεσης Με αυτό τον τρόπο ένας καθηγητής γνωρίζοντας όλες τις πληροφορίες της κάθε επίθεσης, μπορεί να επιλέξει μόνο αυτές που χρειάζεται για να δημιουργήσει ένα project Δημιουργία νέου project Αφού ο χρήστης επιλέξει ποιες επιθέσεις θα αποτελούν το project, στη συνέχεια πρέπει να πατήσει το κουμπί New Project για να εμφανιστεί το παράθυρο που φαίνεται στο Σχήμα 6-16 για να ολοκληρώσει τη διαδικασία της δημιουργίας του project. Σχήμα 6-16: Παράθυρο δημιουργίας νέου project Στο σημείο αυτό, ένας καθηγητής πρέπει να προσθέσει κάποιες πληροφορίες στα πεδία που φαίνονται στη Σχήμα και αφορούν το project. 36

50 1) Το πεδίο Project Name Στο πεδίο αυτό πρέπει να εισαχθεί το όνομα του project, όπως αυτό θα είναι εμφανές στους χρήστες κατηγορίας student και τους υπόλοιπους χρήστες που ανήκουν στην ίδια κατηγορία. Το τελικό όνομα του project που θα παραχθεί, θα αποτελείται από δύο τμήματα. Το πρώτο τμήμα θα αποτελείται από τη φράση του εν λόγω πεδίου και το δεύτερο από την ημερομηνία και ώρα που αυτό δημιουργήθηκε. 2) Το πεδίο Project Password Στο πεδίο αυτό πρέπει να εισαχθεί ο κωδικός, που θα κλειδώσει το project και θα το κάνει διαθέσιμο, μόνο σε όσους εκπαιδευόμενους διαθέτουν τον ίδιο κωδικό. 3) Το πεδίο Retype Password Το πεδίο αυτό αποτελεί έλεγχο του προηγούμενου πεδίου, καθώς ο χρήστης θα πρέπει να επαναλάβει τον κωδικό που έδωσε στο πεδίο project password με επιτυχία. Σε περίπτωση αποτυχίας, εμφανίζεται το μήνυμα που φαίνεται στο Σχήμα Σχήμα 6-17: Αποτυχημένη επανάληψη κωδικού Το πεδίο Retype Password αλλάζει χρώμα και εμφανίζεται μπροστά το σύμβολο *. Έτσι ο χρήστης αντιλαμβάνεται ότι έχει δώσει λάθος κωδικό. 4) Το πεδίο Show Attack Solution to Students Όταν ένας χρήστης επιλέξει αυτό το πεδίο, τότε δίνει τη δυνατότητα στους εκπαιδευόμενους σε περίπτωση που δεν μπορούν να λύσουν την επίθεση, να δουν την πιθανή λύση που προσφέρει ο προγραμματιστής της επίθεσης. 5) Το πεδίο Show Attack Hints to Students Όταν ένας χρήστης επιλέξει αυτό το πεδίο, τότε δίνει τη δυνατότητα στους εκπαιδευόμενους σε περίπτωση που χρειάζονται βοήθεια για να λύσουν την επίθεση, να δουν πιθανά βοηθήματα που προσφέρει ο προγραμματιστής της επίθεσης. 37

51 6) Η περιοχή Project Information Στην περιοχή αυτή ο καθηγητής θα πρέπει να προσθέσει πληροφορίες που αφορούν το συγκεκριμένο project. Πληροφορίες που μπορεί να καθοδηγήσουν τους εκπαιδευόμενους κατά την επίλυσή του, όπως για παράδειγμα, ποιος είναι ο σκοπός του project ή ο στόχος που πρέπει να επιτευχθεί. 7)Το κουμπί Create Project Όταν ένας καθηγητής έχει συμπληρώσει όλες τις απαραίτητες πληροφορίες και είναι έτοιμος να δημιουργήσει ένα νέο project, αποστέλλει το σχετικό αίτημα στον εξυπηρετητή πατώντας αυτό το κουμπί. Προσοχή!!! Σε αντίθεση με ένα αίτημα δημιουργίας, επεξεργασίας ή διαγραφής επίθεσης από έναν χρήστη κατηγορίας προγραμματιστή, το οποίο πρέπει πάντα να ελεγχθεί από έναν χρήστη κατηγορίας διαχειριστή πριν γίνει ορατή προς τους υπόλοιπους χρήστες της εφαρμογής, ένα project δεν ελέγχεται από κανέναν άλλο χρήστη. Ο καθηγητής επικοινωνεί απευθείας με τον εξυπηρετητή και ανάλογα με το αν το αίτημά του ικανοποιηθεί ή όχι, εμφανίζεται ένα από τα δύο παρακάτω παράθυρα, όπως φαίνονται στις εικόνες 6-19 και 6-18 αντίστοιχα. Σχήμα 6-19: Αποδεκτό αίτημα Σχήμα 6-18: Μη αποδεκτό αίτημα Επεξεργασία ενός υπάρχοντος Project Ένας καθηγητής πέρα από τη λειτουργία της δημιουργίας ενός νέου project, διαθέτει και λειτουργίες που σχετίζονται με την επεξεργασία, τη διαγραφή και την αλλαγή της κατάστασης (ενεργό - ανενεργό) ενός υπάρχοντος project. Αρχικά όπως φαίνεται στο Σχήμα 6-14 παραπάνω, μόνο του κουμπί New Project είναι ενεργοποιημένο. Για να μπορεί να επιλέξει μια από τις άλλες λειτουργίες πάνω σε ένα υπάρχον project, πρέπει να επιλέξει με διπλό κλικ ένα από τα project που 38

52 εμφανίζονται στην δενδροειδή μορφή. Μετά την επιλογή του project το κεντρικό παράθυρο έχει την μορφή που φαίνεται στο Σχήμα 6-20 παρακάτω. Σχήμα 6-20: Επιλογή υπάρχοντος project Όπως παρατηρούμε στο Σχήμα, έχουμε επιλέξει το δεύτερο project από τη λίστα με τα διαθέσιμα project. Στη σελίδα Attacks Table έχουν επιλεγεί αυτόματα οι επιθέσεις που εμπεριέχονται στο συγκεκριμένο project, και όλα τα κουμπιά που βρίσκονται στο κάτω μέρος του παράθυρου έχουν ενεργοποιηθεί. Σε αυτό το σημείο μπορεί να γίνει επεξεργασία του project που επιλέχθηκε, πατώντας το κουμπί Edit Project. Τότε εμφανίζεται το παράθυρο που φαίνεται στο Σχήμα 6-21 παρακάτω. Σχήμα 6-21: Επεξεργασία ενός υπάρχοντος project 39

53 Ο καθηγητής αφού επεξεργαστεί το project και κάνει τις αλλαγές που θέλει, μπορεί να αποστείλει το αίτημα στον εξυπηρετητή πατώντας το κουμπί Accept Changes. Αν το αίτημά του ικανοποιηθεί ή όχι, εμφανίζεται ένα από τα δύο παραπάνω παράθυρα, όπως φαίνονται στις εικόνες 6-18 και 6-19 αντίστοιχα Διαγραφή ενός υπάρχοντος project Ένας καθηγητής μπορεί να κάνει αίτηση για διαγραφή ενός από τα project που έχει δημιουργήσει. Πατώντας του κουμπί Delete Project αποστέλλει το αίτημα της διαγραφής στον εξυπηρετητή και ανάλογα με το αν αυτό ικανοποιηθεί ή όχι, εμφανίζεται ένα από τα δύο παραπάνω παράθυρα, όπως φαίνονται στις εικόνες 6-18 και 6-19 αντίστοιχα. Αν το project διαγραφεί επιτυχώς, τότε αυτόματα διαγράφονται και όλες οι πληροφορίες που σχετίζονται με το project αυτό. Επιπλέον διαγράφονται όλα τα σκορ των εκπαιδευόμενων που έχουν «παίξει» το project που μόλις διαγράφηκε Αλλαγή της κατάστασης ενός project Η κατάσταση ενός project μπορεί να αλλάξει ύστερα από αποστολή του αντίστοιχου αιτήματος του καθηγητή στον εξυπηρετητή. Μόλις ένα project επιλεγεί από τον καθηγητή, το κουμπί Status αλλάζει όνομα, ανάλογα με την μελλοντική κατάσταση που επιθυμεί ο χρήστης να φέρει το project. Έτσι, όταν ένα project έχει την ένδειξη ενεργό, το κουμπί έχει όνομα Deactivate που σημαίνει, ότι μπορεί να βρεθεί σε κατάσταση απενεργοποίησης όταν πατηθεί το κουμπί. Αντίθετα όταν το project φέρει την ένδειξη ανενεργό, το κουμπί έχει όνομα Activate που σημαίνει, ότι μπορεί να βρεθεί σε κατάσταση ενεργοποίησης όταν πατηθεί το κουμπί. Σε καμία περίπτωση η κατάσταση ανενεργό δε σχετίζεται με την ενέργεια της διαγραφής ενός project. Ακόμα και απενεργοποιημένο ένα project, μπορεί να τύχει επεξεργασίας, ή αιτήματος διαγραφής. Επίσης είναι διαθέσιμο προς τους άλλους καθηγητές, όταν επιθυμούν να δουν τη βαθμολογία των εκπαιδευόμενων που έπαιξαν το project. Επιπλέον οι χρήστες κατηγορίας εκπαιδευόμενοι, μπορούν να διαπιστώσουν την ύπαρξη ενός απενεργοποιημένου project, αλλά δεν μπορούν να «παίξουν» και κατά συνέπεια να βαθμολογηθούν σε αυτό Η σελίδα Student Score Όπως αναφέραμε παραπάνω, ένας καθηγητής μπορεί να δει πληροφορίες που σχετίζονται με τη βαθμολογία των φοιτητών σε όλα τα project όλων των καθηγητών που υπάρχουν αποθηκευμένα στην εφαρμογή, όπως φαίνεται στο Σχήμα 6-22 παρακάτω. 40

54 Σχήμα 6-22: Βαθμολογία φοιτητών σε ένα project Σε αυτό το Σχήμα παρατηρούμε ότι εμφανίζονται στη διάθεση του καθηγητή, όλα τα διαθέσιμα project της εφαρμογής. 1) Ο πίνακας βαθμολόγησης κάθε project Όταν ο χρήστης επιλέξει με διπλό κλικ ένα project, τότε στον πίνακα δίπλα, φαίνονται όλοι οι φοιτητές που έχουν παίξει το project και αναλυτικά η συνολική βαθμολογία του καθενός, καθώς επίσης και η βαθμολογία που πέτυχαν σε κάθε επίθεση που διαθέτει το project ξεχωριστά. Η βαθμολογία μπορεί να κυμαίνεται από το μηδέν μέχρι τη μέγιστη βαθμολογία, που ποικίλει ανάλογα με το επίπεδο δυσκολίας τη εκάστοτε επίθεσης (βλ. υποκεφάλαιο παράγραφο 4). Εάν η βαθμολογία μιας επίθεσης είναι μηδέν, σημαίνει πως είτε ο φοιτητής είδε τη λύση της επίθεσης, εφόσον αυτή διατίθεται από τον δημιουργό του project, είτε τελείωσε ο χρόνος που είχε στη διάθεσή του για να την επιλύσει, είτε επέλεξε να παίξει την επόμενη επίθεση. Επιπλέον πέρα από βαθμολογία μπορεί κάτω από μια επίθεση να υπάρχει η ένδειξη null που σημαίνει πως ο φοιτητής δεν προσπάθησε καθόλου να επιλύσει τη συγκεκριμένη επίθεση σε ένα project. Σε περίπτωση που κανείς φοιτητής δεν έχει παίξει το επιλεγμένο project, τότε ο πίνακας έχει την μορφή που φαίνεται στο Σχήμα 6-23 παρακάτω. 41

55 Σχήμα 6-23: Επιλογή project χωρίς βαθμολογία Το όνομα του project και οι επιθέσεις που διαθέτει είναι εμφανείς σε κάθε καθηγητή, όμως ο πίνακας δεν έχει καμία εγγραφή, που συνεπάγεται πως κανείς φοιτητής δεν έχει παίξει το συγκεκριμένο project. 2)Αποστολή μηνύματος σε φοιτητή Ένας καθηγητής θα μπορεί να αποστείλει ένα μήνυμα σε ένα φοιτητή της επιλογής του, όπως φαίνεται στο Σχήμα 6-24 παρακάτω. Σχήμα 6-24: Αποστολή μηνύματος σε φοιτητή Η λειτουργία αυτή δεν είναι ακόμα διαθέσιμη, ωστόσο όταν ένας καθηγητής επιλέξει ένα project τότε στην λίστα δεξιά στο Σχήμα εμφανίζονται όλα τα ονόματα των φοιτητών που έχουν παίξει το project, μέχρι εκείνη τη στιγμή. Στη συνέχεια μπορεί να επιλεγεί ένα από τα διαθέσιμα ονόματα της λίστας. Μελλοντικά, ένας καθηγητής θα μπορεί να γράψει στην περιγεγραμμένη περιοχή το μήνυμα που θέλει να αποστείλει στον φοιτητή που επέλεξε και πατώντας το κουμπί Send να αποστέλλει τελικά το μήνυμα Η σελίδα Statistic Charts Η λειτουργία αυτή δεν είναι ακόμα διαθέσιμη. Σκοπός της δημιουργίας αυτής της σελίδας, είναι να εμφανίζονται κάποια σχεδιαγράμματα με στατιστικά στοιχεία σχετικά με τα αποτελέσματα των φοιτητών στα υπάρχοντα project. Στο κεφάλαιο 7 θα γίνει αναλυτικότερη αναφορά σχετικά με την αξία της παρούσας σελίδας και την μελλοντική εργασία που πρέπει να γίνει. 42

56 6.2.5 Κατηγορία χρήστη φοιτητή (Student) Σε αυτή την κατηγορία ανήκουν όλοι οι φοιτητές του πανεπιστημίου Αιγαίου ανεξαρτήτου τμήματος. Η πλατφόρμα αυτή δημιουργήθηκε με σκοπό να προσφέρει στους φοιτητές του πανεπιστημίου, τη δυνατότητα εκμάθησης των ευπαθειών σε πληροφορικά συστήματα μέσα από ένα ασφαλές και φιλικό περιβάλλον προς τους χρήστες. Επομένως αρχικός στόχος ήταν η δημιουργία μιας πλατφόρμας, όσο αφορά αυτή την κατηγορία χρηστών, σε μορφή ηλεκτρονικού παιχνιδιού, έτσι ώστε να κεντρίσει τον ενδιαφέρον των φοιτητών και μέσα από το παιχνίδι να ξετυλίξουν το κουβάρι της ασφάλειας πληροφοριακών συστημάτων. Όταν ένας χρήστης κατηγορίας φοιτητή εισαχθεί στο σύστημα επιτυχώς, τότε εμφανίζεται το γραφικό περιβάλλον που φαίνεται στο Σχήμα 6-25 παρακάτω. Σχήμα 6-25: Κεντρικό παράθυρο χρήστη Student Όπως παρατηρούμε από το Σχήμα, το γραφικό περιβάλλον, διαχωρίζεται σε περιοχές, ανάλογα με την λειτουργία που θέλαμε να προσθέσουμε στον χρήστη. Στη συνέχεια θα αναλύσουμε την λειτουργία για την οποία είναι υπεύθυνη κάθε περιοχή του Σχήματος. 43

57 Η περιοχή Ήχου (Themes tunes) Σχήμα 6-26: Ο media player της εφαρμογής Στην περιοχή αυτή, υπάρχει ένας media player που παίζει με τη σειρά διάφορα themes από γνωστά κλασσικά ηλεκτρονικά παιχνίδια. Ο χρήστης μπορεί να ελαχιστοποιήσει τον Player, ή να τον μεγαλώσει αντίστοιχα. Επιπλέον μπορεί να επιλέξει σίγαση ή μη του μεγαφώνου, καθώς επίσης να σταματήσει ή να συνεχίσει ένα τραγούδι που παίζει εκείνη τη στιγμή και τέλος, μπορεί να επιλέξει να ακούσει το επόμενο Η περιοχή Available Projects Σχήμα 6-27: Τα project της εφαρμογής Στην περιοχή αυτή εμφανίζονται όλα τα project που διαθέτει η εφαρμογή και ποιος καθηγητής είναι ο δημιουργός του καθενός από αυτά. Επίσης διακρίνεται ποιο είναι ενεργό και ποιο ανενεργό αυτή τη στιγμή. Όταν ένα φοιτητής πατήσει διπλό κλικ σε ένα από τα ενεργά project, τότε εμφανίζεται το παράθυρο που εμφανίζεται στο Σχήμα 6-38 παρακάτω. Σχήμα 6-28: Εισαγωγή κωδικού επιλεγμένου project 44

58 Στο πεδίο project password, πρέπει να εισαχθεί ο κωδικός του project που έχει δοθεί από τον δημιουργό καθηγητή, για να μπορέσει στη συνέχεια ο φοιτητής να έχει πρόσβαση στις επιθέσεις που διαθέτει το project Η περιοχή Selected Project Attacks Σχήμα 6-29: Οι διαθέσιμες επιθέσεις του επιλεγμένου project Όταν γίνει επιτυχής εισαγωγή κωδικού, στην περιοχή Selected Project Attacks, εμφανίζονται οι επιθέσεις που διαθέτει το project. Στη συνέχεια ο φοιτητής μπορεί με διπλό κλικ να επιλέξει ποιά επίθεση θέλει να παίξει Η περιοχή της επιλεγμένης επίθεσης Η περιοχή της επιλεγμένης επίθεσης αποτελείται από τρεις επιμέρους σελίδες: 1) Η σελίδα Browser Σχήμα 6-30: Ο φυλλομετρητής που φορτώνει η ευπαθής σελίδα της επίθεσης Στην σελίδα αυτή εμφανίζεται ο φυλλομετρητής, που έχει φορτωθεί η ευπαθής σελίδα της επίθεσης. Διακρίνονται τρία επιμέρους τμήματα. Στο πρώτο τμήμα υπάρχουν τέσσερις εικόνες που είναι τα εργαλεία που μπορεί ο φοιτητής να χρησιμοποιήσει για την επίλυση της επίθεσης, όπως φαίνονται πιο αναλυτικά στον επόμενο πίνακα: 45

59 Σχήμα Λειτουργία Ανενεργό Ενεργό Ενεργοποίηση/απενεργοποίηση του εργαλείου WebScarab Ενεργοποίηση/απενεργοποίηση του εργαλείου Firebug Ενεργοποίηση/απενεργοποίηση του εργαλείου Wireshark Μη Επαναφόρτωση της ευπαθούς σελίδας της επιλεγμένης επίθεσης διαθέσιμη Πίνακας 6-1: Πίνακας εικόνων και λειτουργιών εργαλείων Το δεύτερο τμήμα αποτελεί τον φυλλομετρητή της εφαρμογής και είναι ο χώρος που εμφανίζεται η ευπαθής σελίδα της επίθεσης. Το τρίτο τμήμα περιέχει εφτά κουμπιά, των οποίων οι ενέργειες παρουσιάζονται συνοπτικά στον παρακάτω πίνακα. Κουμπί Διαθέσιμο Ενέργεια Αποτέλεσμα Πάντα Πάντα Πάντα Πάντα Κατ επιλογήν Κατ επιλογήν Πάντα Φόρτωση της προηγούμενης επίθεσης του project Έναρξη της επιλεγμένης επίθεσης Παύση της επιλεγμένης επίθεσης Συνέχιση της επιλεγμένης επίθεσης Εμφάνιση ενός βοηθήματος (όταν τα διαθέσιμα βοηθήματα τελειώσουν, τότε το κουμπί αυτό απενεργοποιείται) Εμφάνιση της λύσης της επίθεσης Φόρτωση της επόμενης επίθεσης του project - Έναρξη μείωσης του διαθέσιμου χρόνου Παύση μείωσης του διαθέσιμου χρόνου, φόρτωση στο φυλλομετρητή της προεπιλεγμένης σελίδας Συνέχιση μείωσης του διαθέσιμου χρόνου, επαναφόρτωση της επιλεγμένης σελίδας Εμφάνιση του βοηθήματος, μείωση του χρόνου και της βαθμολογία Εμφάνιση της λύσης και όλων των βοηθημάτων της επίθεσης, μηδενισμός χρόνου και βαθμολογίας Εμφάνιση της λύσης και όλων των βοηθημάτων της επίθεσης (αν διατίθενται), μηδενισμός χρόνου και βαθμολογίας Πίνακας 6-2: Πίνακας κουμπιών και ενεργειών του φυλλομετρητή 46

60 2) Η σελίδα First Aid Σχήμα 6-31: Η σελίδα First Aid Στη σελίδα αυτή εμφανίζονται κάποιες γενικές πληροφορίες της επιλεγμένης επίθεσης. Το πεδίο Attack Info φέρει τις πληροφορίες που έχει δώσει ο δημιουργός (developer) της επίθεσης. Το πεδίο Project Info φέρει τις πληροφορίες που έχει δώσει ο δημιουργός (faculty) του project και είναι κοινές για όλες τις επιθέσεις του project. Το τελευταίο πεδίο δίνει πληροφορίες σχετικά με την κατηγορία στην οποία ανήκει η επιλεγμένη επίθεση. Οι πληροφορίες αυτές προσφέρουν επιπλέον βοήθεια στο χρήστη που θέλει να επιλύσει την επιλεγμένη επίθεση και το διάβασμά τους δεν έχει κανένα αντίκτυπο στη μείωση του χρόνου και κατ επέκταση της βαθμολογίας του. Σε επόμενο υποκεφάλαιο θα γίνει αναλυτική επεξήγηση των διαδικασιών που λαμβάνουν χώρα σε περίπτωση που ο χρήστης επιλέξει να επιλύσει μια επίθεση κατηγορίας SQL Injection. 3) Η σελίδα Solution Στη σελίδα αυτή εμφανίζεται η λύση της επίθεσης και όλα τα διαθέσιμα βοηθήματα, εφόσον οι συγκεκριμένες λειτουργίες είναι διαθέσιμες από τον δημιουργό του project, όταν ολοκληρωθεί επιτυχώς μια επίθεση ή όταν ο χρήστης επιλέξει να δει τη λύση πατώντας το κουμπί που αντιστοιχεί στην ενέργεια αυτή, σύμφωνα με τον πίνακα

Ασφάλεια Πληροφοριακών Συστημάτων

Ασφάλεια Πληροφοριακών Συστημάτων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Ασφάλεια Πληροφοριακών Συστημάτων Ενότητα 9: Code injections Θεματική Ενότητα: Επιθέσεις Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons

Διαβάστε περισσότερα

Βασικές Έννοιες Web Εφαρμογών

Βασικές Έννοιες Web Εφαρμογών ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Βασικές Έννοιες Web Εφαρμογών Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου Περιεχόμενα

Διαβάστε περισσότερα

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης Σελίδα 1από ΤΕΙ ΚΑΒΑΛΑΣ Πτυχιακή εργασία Δικτυακή Εφαρμογή διαχείρισης ηλεκτρονικών εγγράφων υπηρεσίας. ΕΙΣΑΓΩΓΗ Μιλτιάδης Κακλαμάνης Σελίδα 2από Κατάλογος περιεχομένων ΕΙΣΑΓΩΓΗ...1 Σχετιζόμενα πρόσωπα...3

Διαβάστε περισσότερα

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΚΟΤΣΟΓΙΑΝΝΙΔΗΣ ΛΑΖΑΡΟΣ Επιβλέπων καθηγητής Σφέτσος Παναγιώτης ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Ως Ηλεκτρονικό Εμπόριο ή

Διαβάστε περισσότερα

XAMPP Apache MySQL PHP javascript xampp

XAMPP Apache MySQL PHP javascript xampp XAMPP Το xampp είναι ένα δωρεάν πρόγραμμα με το οποίο μπορούμε να κάνουμε εγκατάσταση τον Apache, τη MySQL και την PHP. Apache. Ο Apache είναι ένας Web Server. Είναι δηλαδή πρόγραμμα το οποίο τρέχει μόνιμα

Διαβάστε περισσότερα

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol HTTP Protocol Web and HTTP Βασικά Συστατικά: Web Server Web Browser HTTP Protocol Web Servers (1/2) Ένα πρόγραμμα (λογισμικό) που έχει εγκατασταθεί σε ένα υπολογιστικό σύστημα (έναν ή περισσότερους υπολογιστές)

Διαβάστε περισσότερα

Τείχος Προστασίας Εφαρμογών Διαδικτύου

Τείχος Προστασίας Εφαρμογών Διαδικτύου Τείχος Προστασίας Εφαρμογών Διαδικτύου Web Application Firewalls Ιωάννης Στάης {istais@census-labs.com} Γιατί είναι σημαντική η προστασία των εφαρμογών ιστού; Πάνω από 70% όλων των επιθέσεων συμβαίνουν

Διαβάστε περισσότερα

Μονάδα Διασφάλισης Ποιότητας. ΜΟΔΙΠ Πανεπιστημίου Δυτικής Μακεδονίας. Κωδικός Πράξης ΟΠΣ: Επιχειρησιακό Πρόγραμμα:

Μονάδα Διασφάλισης Ποιότητας. ΜΟΔΙΠ Πανεπιστημίου Δυτικής Μακεδονίας. Κωδικός Πράξης ΟΠΣ: Επιχειρησιακό Πρόγραμμα: Μονάδα Διασφάλισης Ποιότητας Πανεπιστημίου Δυτικής Μακεδονίας Κωδικός Πράξης ΟΠΣ: 335662 Τίτλος Πράξης: ΜΟΔΙΠ Πανεπιστημίου Δυτικής Μακεδονίας Επιχειρησιακό Πρόγραμμα: Άξονας Προτεραιότητας: Στοιχεία επιστημονικά

Διαβάστε περισσότερα

Ανάπτυξη διαδικτυακής διαδραστικής εκπαιδευτικής εφαρμογής σε λειτουργικό σύστημα Android

Ανάπτυξη διαδικτυακής διαδραστικής εκπαιδευτικής εφαρμογής σε λειτουργικό σύστημα Android Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε. Ανάπτυξη διαδικτυακής διαδραστικής εκπαιδευτικής εφαρμογής σε λειτουργικό σύστημα Android Πτυχιακή Εργασία Φοιτητής:

Διαβάστε περισσότερα

Φορολογική Βιβλιοθήκη. Θανάσης Φώτης Προγραμματιστής Εφαρμογών

Φορολογική Βιβλιοθήκη. Θανάσης Φώτης Προγραμματιστής Εφαρμογών Φορολογική Βιβλιοθήκη Θανάσης Φώτης Προγραμματιστής Εφαρμογών Το έργο Η φορολογική βιβλιοθήκη πρόκειται για ένα έργο που φιλοδοξεί να αποτελέσει σημαντικό βοήθημα για τον επαγγελματία λογιστή και όχι μόνο.

Διαβάστε περισσότερα

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων SSL/TLS

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων SSL/TLS Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων SSL/TLS Fysarakis Konstantinos, PhD kfysarakis@staff.teicrete.gr » Το SSL (Secure Sockets Layer) αναπτύχθηκε από την εταιρεία Netscape. Η έκδοση 1.0 δεν παρουσιάστηκε

Διαβάστε περισσότερα

ΠΑΝΔΠΙΣΗΜΙΟ ΜΑΚΔΓΟΝΙΑ ΠΡΟΓΡΑΜΜΑ ΜΔΣΑΠΣΤΥΙΑΚΧΝ ΠΟΤΓΧΝ ΣΜΗΜΑΣΟ ΔΦΑΡΜΟΜΔΝΗ ΠΛΗΡΟΦΟΡΙΚΗ

ΠΑΝΔΠΙΣΗΜΙΟ ΜΑΚΔΓΟΝΙΑ ΠΡΟΓΡΑΜΜΑ ΜΔΣΑΠΣΤΥΙΑΚΧΝ ΠΟΤΓΧΝ ΣΜΗΜΑΣΟ ΔΦΑΡΜΟΜΔΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΠΑΝΔΠΙΣΗΜΙΟ ΜΑΚΔΓΟΝΙΑ ΠΡΟΓΡΑΜΜΑ ΜΔΣΑΠΣΤΥΙΑΚΧΝ ΠΟΤΓΧΝ ΣΜΗΜΑΣΟ ΔΦΑΡΜΟΜΔΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΑΝΑΠΣΤΞΗ ΓΤΝΑΜΙΚΗ ΙΣΟΔΛΙΓΑ ΓΙΑ ΣΟ ΓΔΝΙΚΟ ΚΑΣΑΣΗΜΑ ΚΡΑΣΗΗ ΓΡΔΒΔΝΧΝ ΜΔ ΣΗ ΒΟΗΘΔΙΑ PHP MYSQL Γηπισκαηηθή Δξγαζία ηνπ Υξήζηνπ

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 13 Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 1.1 Εισαγωγή... 16 1.2 Διαδίκτυο και Παγκόσμιος Ιστός Ιστορική αναδρομή... 17 1.3 Αρχές πληροφοριακών συστημάτων

Διαβάστε περισσότερα

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Οδηγός Εργαστηρίου:

Διαβάστε περισσότερα

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP Εισαγωγή... 1 Σε Ποιους Απευθύνεται το Βιβλίο... 1 Η Οργάνωση του Βιβλίου... 2 Ο Πηγαίος Κώδικας του Βιβλίου... 3 Συμβάσεις που Χρησιμοποιούνται σε Αυτό το Βιβλίο... 3 Μέρος Ι: Εγκατάσταση και ιαμόρφωση

Διαβάστε περισσότερα

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...

Διαβάστε περισσότερα

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 ELab Π Τ Υ Χ Ι Α

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής Εργαλεία και τεχνικές από την πλευρά του πελάτη Java Applet

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ»

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ» ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ» ΜΕΤΑΠΤΥΧΙΑΚΗ ΙΑΤΡΙΒΗ ΤΟΥ ΕΥΘΥΜΙΟΥ ΘΕΜΕΛΗ ΤΙΤΛΟΣ Ανάλυση

Διαβάστε περισσότερα

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

Διαβάστε περισσότερα

Ασφάλεια, Διαθεσιμότητα και Ταχύτητα για τις Web Εφαρμογές

Ασφάλεια, Διαθεσιμότητα και Ταχύτητα για τις Web Εφαρμογές Ασφάλεια, Διαθεσιμότητα και Ταχύτητα για τις Web Εφαρμογές Barracuda Web Application Firewall Καλοχριστιανάκης Αντώνης Διευθυντής Πωλήσεων Digital SIMA Ανατομία Web επίθεσης Οι Web επιθέσεις δε διαφέρουν

Διαβάστε περισσότερα

Περιεχόμενα. Πρόλογος... xiii

Περιεχόμενα. Πρόλογος... xiii Περιεχόμενα Πρόλογος... xiii Κεφάλαιο 1 ο Εισαγωγή στις τεχνολογίες Διαδικτύου... 1 1.1 Σύντομη ιστορία του Διαδικτύου... 3 1.2 Σύνδεση στο Διαδίκτυο μέσω Παρόχου (ISP)... 6 1.3 Μοντέλα Επικοινωνίας...

Διαβάστε περισσότερα

Εφαρμογή Βάσης Δεδομένων για την Εθελοντική Αιμοδοσία στο ΑΤΕΙ-Θ

Εφαρμογή Βάσης Δεδομένων για την Εθελοντική Αιμοδοσία στο ΑΤΕΙ-Θ Εφαρμογή Βάσης Δεδομένων για την Εθελοντική Αιμοδοσία στο ΑΤΕΙ-Θ Επιβλέπων καθηγητής Δημήτρης Αχιλ. Δέρβος Πτυχιακή εργασία του Πετράκη-Πυρετζίδη Στέφανου Σκοπός Δημιουργία βάσης δεδομένων Ανάπτυξη διαδικτυακής

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ

ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ Οδηγός Εργαστηρίου για το Μεταπτυχιακό Μάθημα Τεχνολογία Διοίκησης

Διαβάστε περισσότερα

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Στέλλα Λάμπουρα Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί

Διαβάστε περισσότερα

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0 ΤΙ ΕΙΝΑΙ ΤΟ ADVANCED Οι Advanced θεματικές ενότητες είναι είναι κατάλληλες για άτομα που επιθυμούν να συνεχίσουν σπουδές στο χώρο της

Διαβάστε περισσότερα

ΑΠΟΘΕΤΗΡΙΟ ΕΦΑΡΜΟΓΩΝ ΥΠΠΕΘ ΚΑΙ ΕΠΟΠΤΕΥΟΜΕΝΩΝ ΦΟΡΕΩΝ (git.minedu.gov.gr)

ΑΠΟΘΕΤΗΡΙΟ ΕΦΑΡΜΟΓΩΝ ΥΠΠΕΘ ΚΑΙ ΕΠΟΠΤΕΥΟΜΕΝΩΝ ΦΟΡΕΩΝ (git.minedu.gov.gr) ΑΠΟΘΕΤΗΡΙΟ ΕΦΑΡΜΟΓΩΝ ΥΠΠΕΘ ΚΑΙ ΕΠΟΠΤΕΥΟΜΕΝΩΝ ΦΟΡΕΩΝ (git.minedu.gov.gr) Ι. ιαχείριση Εκδόσεων Πηγαίου Κώδικα ΙΙ. Ανοικτός Κώδικας ΙΙΙ. Εκτενης Τεκμηρίωση IV. Agile Μεθοδολογία Ομάδα Ανάπτυξης Λογισμικού

Διαβάστε περισσότερα

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

Διαβάστε περισσότερα

Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα

Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα Σχολή Επικοινωνίας και Μέσων Ενημέρωσης Πτυχιακή εργασία Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα Εύρος Χριστοδούλου Λεμεσός, Μάιος 2018 ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΕΠΙΚΟΙΝΩΝΙΑΣ

Διαβάστε περισσότερα

Άσκηση. Εξοικείωση με την πλατφόρμα Moodle

Άσκηση. Εξοικείωση με την πλατφόρμα Moodle ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Μηχανικών Πληροφορικής ΤΕ Συστήματα Τηλεκπαίδευσης Άσκηση Εξοικείωση με την πλατφόρμα Moodle Με την άσκηση αυτή θα ενημερωθείτε και θα αρχίσετε να εξοικειώνεστε με το Σύστημα Διαχείρισης

Διαβάστε περισσότερα

16REQ

16REQ Πληροφορίες: Βλάχος Απόστολος Τηλέφωνο: 20 33 77 85 Τηλεομοιοτυπία: 20 33 77 73 Ηλ. Ταχυδρομείο: a.vlachos@cmc.gov.gr Ταχ. Διεύθυνση: Κολοκοτρώνη και Σταδίου Ταχ. Κώδικας: 05 62 ΑΝΑΡΤΗΤΕΑ ΣΤΟ ΜΗΤΡΩΟ Αθήνα,

Διαβάστε περισσότερα

Ασφάλεια Υπολογιστών Και Δικτύων. Προσομοίωση επίθεσης σε ευπαθές σε SQL Injection σύστημα και απόκτηση κονσόλας διαχειριστή

Ασφάλεια Υπολογιστών Και Δικτύων. Προσομοίωση επίθεσης σε ευπαθές σε SQL Injection σύστημα και απόκτηση κονσόλας διαχειριστή Ασφάλεια Υπολογιστών Και Δικτύων Προσομοίωση επίθεσης σε ευπαθές σε SQL Injection σύστημα και απόκτηση κονσόλας διαχειριστή Ονοματεπώνυμο: Κυριακού Ανδρόνικος Αριθμός Μητρώου: 5806 Email: kyriakou@ceid.upatras.gr

Διαβάστε περισσότερα

Τεχνικός Εφαρμογών Πληροφορικής

Τεχνικός Εφαρμογών Πληροφορικής Τεχνικός Εφαρμογών Πληροφορικής ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΙΣΑΓΩΓΗ Εξάμηνο: 2014Β Διδάσκουσα: Ηλεκτρονική Τάξη: Κανελλοπούλου Χριστίνα_ΠΕ19 Πληροφορικής Περιεχόμενα 1.Τι είναι η Php; 2.Πως γίνετε η γραφή

Διαβάστε περισσότερα

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΘΕΣΣΑΛΟΝΙΚΗ, 2016 ΕΙΣΑΓΩΓΗ Μια διαδικτυακή υπηρεσία μπορεί να περιγραφεί απλά σαν μια οποιαδήποτε

Διαβάστε περισσότερα

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Σ ε λ ί δ α 1 Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Περιεχόμενα 1. Download Arebas Easy... 2 2. Εγκατάσταση Arebas Easy... 3 3. Εγγραφή στον Arebas Server... 7 4. Παραμετροποίηση Arebas Easy...

Διαβάστε περισσότερα

Οδηγίες Χρήσης της MySQL

Οδηγίες Χρήσης της MySQL ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΣΕ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Οδηγίες Χρήσης της MySQL Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Νοέμβριος 2007 1 Περιεχόμενα Εισαγωγή...2

Διαβάστε περισσότερα

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή περιορισμένοι υπολογιστικοί / αποθηκευτικοί πόροι δεν τίθεται θέμα

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης

Διαβάστε περισσότερα

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης Μικρομεσαίες Επιχειρήσεις και Καινοτομία Ηλεκτρονικό Εμπόριο H δυνατότητα των καταναλωτών και των εμπορικών καταστημάτων να κάνουν

Διαβάστε περισσότερα

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Εισαγωγή-Σκοπός. Τρόποι δημιουργίας δυναμικών ιστοσελίδων. Dynamic Web Pages. Dynamic Web Page Development Using Dreamweaver. Τρόποι δημιουργίας δυναμικών

Διαβάστε περισσότερα

Ημερομηνία Παράδοσης: 4/4/2013

Ημερομηνία Παράδοσης: 4/4/2013 Δράση 9.14 / Υπηρεσία εντοπισμού λογοκλοπής Κυρίως Παραδοτέο / Σχεδιασμός και ανάπτυξη λογισμικού (λογοκλοπής) και βάσης δεδομένων (αποθετηρίου) Επιμέρους Παραδοτέο 9.14.1.4 / Πληροφοριακό σύστημα υπηρεσίας

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ Κεφάλαιο 2. Το περιβάλλον του παγκόσμιου Ιστού Επιμέλεια: Καραγιάννης Σπύρος Καθηγητής ΠΕ19 Πλεονεκτήματα παγκόσμιου Ιστού Εξυπηρετητής Ιστού & Ιστοσελίδες Κύριες

Διαβάστε περισσότερα

Υπηρεσίες ιστού και ιδιωτικότητα: Μια προσέγγιση βασισμένη στη δημιουργία προφίλ χρήστη για προσαρμοστικούς ιστότοπους

Υπηρεσίες ιστού και ιδιωτικότητα: Μια προσέγγιση βασισμένη στη δημιουργία προφίλ χρήστη για προσαρμοστικούς ιστότοπους Υπηρεσίες ιστού και ιδιωτικότητα: Μια προσέγγιση βασισμένη στη δημιουργία προφίλ χρήστη για προσαρμοστικούς ιστότοπους Η Μεταπτυχιακή Διατριβή παρουσιάστηκε ενώπιον του Διδακτικού Προσωπικού του Πανεπιστημίου

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP Αντώνης Χρυσόπουλος Κατερίνα Κυπριώτη Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP Για να γίνουμε όλοι καλύτεροι άνθρωποι Τι έχει το μενού σήμερα??? 1. Τι είναι η PHP??? Τι είναι

Διαβάστε περισσότερα

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

Διαβάστε περισσότερα

Δράση Α8. Πρακτική εκπαίδευση του προσωπικού ενδοσχολικής τεχνικής υποστήριξης. Υπηρεσίες Πανελλήνιου Σχολικού Δικτύου

Δράση Α8. Πρακτική εκπαίδευση του προσωπικού ενδοσχολικής τεχνικής υποστήριξης. Υπηρεσίες Πανελλήνιου Σχολικού Δικτύου Οριζόντιο Έργο Υποστήριξης Σχολείων, Εκπαιδευτικών και Μαθητών στο Δρόμο για το ΨΗΦΙΑΚΟ ΣΧΟΛΕΙΟ, νέες υπηρεσίες Πανελλήνιου Σχολικού Δικτύου και Στήριξη του ΨΗΦΙΑΚΟΥ ΣΧΟΛΕΙΟΥ Δράση Α8 Πρακτική εκπαίδευση

Διαβάστε περισσότερα

Οδηγός Σύνδεσης στο Ασύρματο Δίκτυο cs-wifi του Τμήματος Πληροφορικής του Πανεπιστημίου Κύπρου για Windows 7, CentOS 6, Mac OS, IOS, και Android

Οδηγός Σύνδεσης στο Ασύρματο Δίκτυο cs-wifi του Τμήματος Πληροφορικής του Πανεπιστημίου Κύπρου για Windows 7, CentOS 6, Mac OS, IOS, και Android 4 Δεκεμβρίου 2012 Οδηγός Σύνδεσης στο Ασύρματο Δίκτυο cs-wifi του Τμήματος Πληροφορικής του Πανεπιστημίου Κύπρου για Windows 7, CentOS Πανεπιστήμιο Κύπρου, Τμήμα Πληροφορικής Σάββας Νικηφόρου Version 0.1

Διαβάστε περισσότερα

6 Εισαγωγή στο Wordpress 3.x

6 Εισαγωγή στο Wordpress 3.x Περιεχόμενα 1 Εγκατάσταση του WordPress... 11 Ελάχιστες απαιτήσεις... 11 Easy PHP... 12 Εγκατάσταση Easy PHP... 12 Βήματα εγκατάστασης EasyPHP με εικόνες... 13 Το EasyPHP στα Ελληνικά... 17 Κατέβασμα και

Διαβάστε περισσότερα

ΑΣΦΑΛΕΙΑΣ ΣΕ INTERNET HOSTS

ΑΣΦΑΛΕΙΑΣ ΣΕ INTERNET HOSTS Τμήμα Πληροφορικής και Επικοινωνιών Α.Τ.Ε.Ι. Σερρών Σέρρες Μάρτιος 2006 ΜΕΛΕΤΗ ΕΠΙΣΦΑΛΩΝ ΣΗΜΕΙΩΝ ΚΑΙ ΒΕΛΤΙΩΣΗ ΤΗΣ ΑΣΦΑΛΕΙΑΣ ΣΕ INTERNET HOSTS Βροχίδης Ηλίας ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Επιβλέπων Καθηγητής: Χουβαρδάς

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Σε δίκτυο υπολογιστών εμπιστευτική πληροφορία μπορεί να υπάρχει αποθηκευμένη σε μέσα αποθήκευσης (σκληροί δίσκοι, μνήμες κ.λ.π.), ή να κυκλοφορεί μέσου του δικτύου με τη μορφή πακέτων. Η ύπαρξη πληροφοριών

Διαβάστε περισσότερα

Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο

Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο Δρ. Χρήστος Όροβας Τεχνικός Υπεύθυνος 1 Διαδικασία «Φόρτωσης» μιας Ιστοσελίδας Internet Explorer, Mozilla, Chrome, κτλ HTTP Server ΠΣΔ Αίτημα για επικοινωνία

Διαβάστε περισσότερα

Η HTML 5 θα αλλάξει το Web?

Η HTML 5 θα αλλάξει το Web? Η HTML 5 θα αλλάξει το Web? (ή αλλιώς, έρχεται το τέλος των plugins?) Αλέξανδρος Καράκος Εργαστήριο Προγραµµατισµού και Επεξεργασίας Πληροφοριών Internet 2... Είναι ένα ξεχωριστό µέσο δηµοσίευσης πληροφοριών

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ της Πλατφόρμας Τηλεκατάρτισης ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή...2 2. Αρχική σελίδα, Εισαγωγή & Περιβάλλον Συστήματος...3 2.1. Αρχική σελίδα εισαγωγής...3 2.2. Εισαγωγή στην Πλατφόρμα Τηλε-κατάρτισης...4

Διαβάστε περισσότερα

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Εισαγωγή

Διαβάστε περισσότερα

Περιεχόμενα. Visio / White paper 1

Περιεχόμενα. Visio / White paper 1 Περιεχόμενα Τι είναι η πλατφόρμα Visio Αρχιτεκτονική Δουλεύοντας με το Περιεχόμενο Πηγές Περιεχόμενου Διαγραφή Περιεχομένου Βασικές Λειτουργίες Προφίλ Χρήστη Διαχείριση Χρηστών Σύστημα Διαφημίσεων Αποθήκευση

Διαβάστε περισσότερα

ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ

ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ ΔΙΑΔΙΚΤΥΟ Το διαδίκτυο προσφέρει: Μετατροπή των δεδομένων σε ψηφιακή - ηλεκτρονική μορφή. Πρόσβαση

Διαβάστε περισσότερα

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 4 Λογισμικό συστήματος Καραμαούνας Πολύκαρπος 1 4.1 Λογισμικό συστήματος (application software) Καραμαούνας Πολύκαρπος 2 Λογισμικό εφαρμογών (application software): προγράμματα για την αντιμετώπιση

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Εισαγωγικό Φροντιστήριο

ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ. Εισαγωγικό Φροντιστήριο ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΕΧΟΜΕΝΟΥ ΠΑΓΚΟΣΜΙΟΥ ΙΣΤΟΥ ΚΑΙ ΓΛΩΣΣΙΚΑ ΕΡΓΑΛΕΙΑ Εισαγωγικό Φροντιστήριο Project του μαθήματος Εργασία 2 ατόμων Προφορική εξέταση για: Project (80%) Θεωρία (20%) Στο φροντιστήριο: Ζητήματα

Διαβάστε περισσότερα

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο FrontPage 2003 Πρακτικός Οδηγός Χρήσης Το FrontPage είναι ένα πρόγραμμα δημιουργίας ιστοσελίδων και δικτυακών τόπων που επιτρέπει το σχεδιασμό ιστοσελίδων μέσα από γραφικό περιβάλλον αλλά και την ταυτόχρονη

Διαβάστε περισσότερα

QEMS TUTORIAL CRM. Οδηγίες για το νέο πρωτοποριακό πρόγραμμα της QEMS.

QEMS TUTORIAL CRM. Οδηγίες για το νέο πρωτοποριακό πρόγραμμα της QEMS. QEMS TUTORIAL CRM Οδηγίες για το νέο πρωτοποριακό πρόγραμμα της QEMS. ΕΚΔΟΣΗ 1.0.1 + 26/6/2014 ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ... 2 LOGIN... 3 δικαιωματα ΕΦΑΡΜΟΓΗς... 4 ΙΔΙΟΚΤΗΤΗΣ... 4 ADMIN / MANAGER... 4 ΥΠΑΛΗΛΟΣ...

Διαβάστε περισσότερα

Tales & Trails. apps4thessaloniki 2016

Tales & Trails. apps4thessaloniki 2016 Tales & Trails apps4thessaloniki 2016 the digiwalkers team Πανισκάκη Κική, πτυχιούχος τμήματος Πληροφορικής ΑΠΘ, σχεδίαση & ανάπτυξη εφαρμογής Βακάλη Αθηνά, Kαθηγήτρια Πληροφορικής στο Αριστοτέλειο Πανεπιστήμιο

Διαβάστε περισσότερα

Προγραμματισμός διαδικτυακών εφαρμογών με PHP

Προγραμματισμός διαδικτυακών εφαρμογών με PHP ΕΣΔ516: Τεχνολογίες Διαδικτύου Προγραμματισμός διαδικτυακών εφαρμογών με PHP Ερωτήματα μέσω Περιεχόμενα Περιεχόμενα Λογισμικό για εφαρμογές Web Η τριεπίπεδη αρχιτεκτονική (3-tier architecture) Εισαγωγή

Διαβάστε περισσότερα

Σύστημα Άυλων Τίτλων - Οδηγίες παραμετροποίησης client συστήματος

Σύστημα Άυλων Τίτλων - Οδηγίες παραμετροποίησης client συστήματος Σύστημα Άυλων Τίτλων - Οδηγίες παραμετροποίησης client συστήματος Έκδοση 1.0 10/03/2016 Page 1 of 42 Περιεχόμενα 1. Προαπαιτούμενα... 3 1.1 Java Runtime Environment (JRE)... 4 1.2 Browsers... 5 1.3 Certificates...

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Τυπικά Χαρακτηριστικά Εφαρμογών Διαδικτύου Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου

Διαβάστε περισσότερα

Επίπεδο δικτύου IP Forwading κτλ

Επίπεδο δικτύου IP Forwading κτλ Επίπεδο δικτύου IP Forwading κτλ (IP για που το έβαλες) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο δικτύου (Network layer) Επίπεδο εφαρμογής (Application layer):

Διαβάστε περισσότερα

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού Κεφάλαιο 6 ο Διαχείριση στοιχείων λογισμικού Διδακτικοί στόχοι Να περιγραφούν οι κύριοι τύποι λογισμικού Να εξεταστεί το λογισμικό συστήματος και τα λειτουργικά συστήματα Να αναλυθούν οι πιο σημαντικές

Διαβάστε περισσότερα

Επισκόπηση προβλημάτων ασφαλείας, απειλών και κακόβουλων επιθέσεων αντίμετρα hands on lab/training module

Επισκόπηση προβλημάτων ασφαλείας, απειλών και κακόβουλων επιθέσεων αντίμετρα hands on lab/training module Επισκόπηση προβλημάτων ασφαλείας, απειλών και κακόβουλων επιθέσεων αντίμετρα hands on lab/training module ikoniaris@gmail.com http://bruteforce.gr AUTH ACM Student Chapter 1 Τι είναι διαδικτυακή εφαρμογή

Διαβάστε περισσότερα

Μια καλή επιλογή θα ήταν www.epipla-onomasas.gr (χωρίζοντας τις λέξεις με παύλα -) ή

Μια καλή επιλογή θα ήταν www.epipla-onomasas.gr (χωρίζοντας τις λέξεις με παύλα -) ή Τι είναι ένα CMS CMS ή Σύστημα Διαχείρισης Περιεχομένου (Content Management System) ονομάζουμε ένα λογισμικό που μας βοηθά να ελέγχουμε και να διαχειριζόμαστε έναν ιστότοπο δημόσιας ή περιορισμένης πρόσβασης.

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στην Python Σύνοψη Σε αυτό το κεφάλαιο κάνουμε μια σύντομη εισαγωγή στην Python και στα εργαλεία λογισμικού που θα χρησιμοποιήσουμε στη συνέχεια του συγγράμματος. Προαπαιτούμενη γνώση

Διαβάστε περισσότερα

Ατομική Διπλωματική Εργασία ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΑΙΤΗΣΕΩΝ ΕΙΣΔΟΧΗΣ ΤΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ

Ατομική Διπλωματική Εργασία ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΑΙΤΗΣΕΩΝ ΕΙΣΔΟΧΗΣ ΤΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Ατομική Διπλωματική Εργασία ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΓΙΑ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΑΙΤΗΣΕΩΝ ΕΙΣΔΟΧΗΣ ΤΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Αφροδίτη Χρίστου ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Μάιος 2012

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΉΜΙΟ ΚYΠΡΟΥ

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΉΜΙΟ ΚYΠΡΟΥ ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΉΜΙΟ ΚYΠΡΟΥ ΟΔΗΓΟΣ ΣΥΝΔΕΣΗΣ ΣΤO ΔΙΚΤΥΟ ΤΟΥ ΤΠΚ ΜΕΣΩ ΤΗΣ ΥΠΗΡΕΣΙΑΣ ΑΠΟΜΑΚΡΥΣΜΕΝΗΣ ΠΡΟΣΒΑΣΗΣ VPN ΥΣΠΤ Η υπηρεσία πρόσβασης στο δίκτυο δεδομένων του ΤΠΚ μέσω εικονικού ιδιωτικού δικτύου

Διαβάστε περισσότερα

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade Για να ελέγξετε το λογισμικό που έχει τώρα η συσκευή κάντε κλικ Menu > Options > Device > About Device Versions. Στο πιο κάτω παράδειγμα η συσκευή έχει έκδοση λογισμικού 6.0.0.546 με πλατφόρμα 6.6.0.207.

Διαβάστε περισσότερα

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Βασικές Έννοιες Διαδικτύου Wordpress & Κοινωνικά Δίκτυα (Part 1) Σταύρος Καουκάκης Ευτύχιος Βαβουράκης 1 Περιεχόμενα Γενικές Έννοιες Διαδικτύου Η αρχιτεκτονική του Web Συστήματα Διαχείρισης

Διαβάστε περισσότερα

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 E Lab Π Τ Υ Χ Ι

Διαβάστε περισσότερα

Περίληψη Λαμπρόπουλος

Περίληψη Λαμπρόπουλος Περίληψη Λαμπρόπουλος 1. Αντικείμενο και Περιγραφή της Διατριβής H διδακτορική διατριβή με τίτλο «Σχεδιασμός και υλοποίηση συστήματος διαχείρισης και ενοποίησης διαφορετικών ταυτοτήτων χρηστών σε δίκτυα

Διαβάστε περισσότερα

Internet Business Hellas

Internet Business Hellas Internet Business Hellas Περιεχόμενα Εισαγωγή email marketing IBNEWSLETTER Χαρακτηριστικά Πλεονεκτήματα Επικοινωνία Εισαγωγή email marketing «Το μάρκετινγκ μέσω ηλεκτρονικού ταχυδρομείου συνίσταται στην

Διαβάστε περισσότερα

A J A X AJAX Γιάννης Αρβανιτάκης

A J A X AJAX Γιάννης Αρβανιτάκης A J A X AJAX Γιάννης Αρβανιτάκης 04/07/08 AJAX Στην πράξη 2 Autocomplete AJAX Στην πράξη 3 Webmail (google, yahoo) AJAX Στην πράξη 4 Flickr AJAX Στην πράξη 5 Google Docs AJAX Στην πράξη 6 Google maps http://maps.google.com/

Διαβάστε περισσότερα

Ασφάλεια Στο Ηλεκτρονικό Εμπόριο. Λάζος Αλέξανδρος Α.Μ. 3530

Ασφάλεια Στο Ηλεκτρονικό Εμπόριο. Λάζος Αλέξανδρος Α.Μ. 3530 Ασφάλεια Στο Ηλεκτρονικό Εμπόριο Λάζος Αλέξανδρος Α.Μ. 3530 Ηλεκτρονικό Εμπόριο Χρησιμοποιείται για να περιγράψει την χρήση τηλεπικοινωνιακών μέσων (κυρίως δικτύων) για κάθε είδους εμπορικές συναλλαγές

Διαβάστε περισσότερα

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

Διαβάστε περισσότερα

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών)

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών) ΕΡΓΑΣΙΑ (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών) Τίτλος: Εφαρμογή Διαδικτύου Υλοποίησης Storage Cloud Ζητούμενο: Να αναπτυχθεί web εφαρμογή

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου Α Γενικού Λυκείου 87 Διδακτικές ενότητες 10.1 Υπηρεσίες Διαδικτύου 10.2 Ο παγκόσμιος ιστός, υπηρεσίες και εφαρμογές Διαδικτύου Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να μπορούν να διακρίνουν

Διαβάστε περισσότερα

Ηλεκτρονικό Εμπόριο. Ενότητα 9: Ασφάλεια Ηλεκτρονικού Εμπορίου Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Ηλεκτρονικό Εμπόριο. Ενότητα 9: Ασφάλεια Ηλεκτρονικού Εμπορίου Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Ηλεκτρονικό Εμπόριο Ενότητα 9: Ασφάλεια Ηλεκτρονικού Εμπορίου Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης ΕΓΚΑΤΑΣΤΑΣΗ & ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ INTERNET INFORMATION SERVER (IIS) ΓΙΑ ΥΛΟΠΟΙΗΣΗ ΥΠΗΡΕΣΙΩΝ ΔΙΑΔΙΚΤΥΟΥ (WEB SERVICES) ΣΠΟΥΔΑΣΤΡΙΑ:Μπάρδα Μαρία ΕΙΣΗΓΗΤΗΣ: Τσιαντής

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Π.Σ. ΦΟΙΤΗΤΟΛΟΓΙΟΥ- ΓΙΑ ΤΟ ΔΙΔΑΣΚΟΝΤΑ (ClassWeb)

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Π.Σ. ΦΟΙΤΗΤΟΛΟΓΙΟΥ- ΓΙΑ ΤΟ ΔΙΔΑΣΚΟΝΤΑ (ClassWeb) ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Π.Σ. ΦΟΙΤΗΤΟΛΟΓΙΟΥ- ΓΙΑ ΤΟ ΔΙΔΑΣΚΟΝΤΑ (ClassWeb) 1. Είσοδος στην υπηρεσία ClassWeb Στη κεντρική σελίδα της υπηρεσίας στα πεδία Όνομα Χρήστη και Κωδικός πρόσβασης πληκτρολογούμε τα στοιχεία

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών 1 ίκτυα μικρά και μεγάλα Ένα δίκτυο υπολογιστών (computer network) είναι ένας συνδυασμός συστημάτων (δηλαδή, υπολογιστών),

Διαβάστε περισσότερα

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ Μάθημα Πρώτο Εισαγωγή στις Υπηρεσίες Ιστού (Web Services) Μοντέλα WS JSON Χρήση (consume) WS μέσω python Πρόσβαση σε WS και άντληση δεδομένων Παραδείγματα

Διαβάστε περισσότερα

ΕΡΓΑΣΙΑ. (στο µάθηµα: Τεχνολογίες Εφαρµογών ιαδικτύου του Η εξαµήνου σπουδών του Τµήµατος Πληροφορικής & Τηλ/νιών)

ΕΡΓΑΣΙΑ. (στο µάθηµα: Τεχνολογίες Εφαρµογών ιαδικτύου του Η εξαµήνου σπουδών του Τµήµατος Πληροφορικής & Τηλ/νιών) ΕΡΓΑΣΙΑ (στο µάθηµα: Τεχνολογίες Εφαρµογών ιαδικτύου του Η εξαµήνου σπουδών του Τµήµατος Πληροφορικής & Τηλ/νιών) Τίτλος: Εφαρµογή ιαδικτύου ιαχείρισης Αποθήκων (Warehouse Management Web Application) Ζητούµενο:

Διαβάστε περισσότερα

Ρυθμίσεις εγκατάστασης ονόματος χώρου σε πίνακα ελέγχου plesk

Ρυθμίσεις εγκατάστασης ονόματος χώρου σε πίνακα ελέγχου plesk Ρυθμίσεις εγκατάστασης ονόματος χώρου σε πίνακα ελέγχου plesk Βήμα 1: Ρυθμίσεις πριν την εγκατάσταση ονόματος χώρου στο πακέτο φιλοξενίας Από το διαχειριστικό σύστημα ονομάτων χώρου αφού αναζητήσουμε το

Διαβάστε περισσότερα

Ενότητα 2. Πηγές Λογισμικού. Πληροφοριακά Συστήματα Διοίκησης ΙI Νίκος Καρακαπιλίδης 2-1

Ενότητα 2. Πηγές Λογισμικού. Πληροφοριακά Συστήματα Διοίκησης ΙI Νίκος Καρακαπιλίδης 2-1 Ενότητα 2 Πηγές Λογισμικού Πληροφοριακά Συστήματα Διοίκησης ΙI Νίκος Καρακαπιλίδης 2-1 Μαθησιακοί στόχοι Εξοικείωση με εναλλακτικές πηγές λογισμικού Κατανόηση του τρόπου αξιολόγησης έτοιμου λογισμικού

Διαβάστε περισσότερα

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

Διαβάστε περισσότερα

Υπηρεσίες Πανελληνίου Σχολικού Δικτύου 16 - Φιλοξενία Ιστοσελίδων

Υπηρεσίες Πανελληνίου Σχολικού Δικτύου 16 - Φιλοξενία Ιστοσελίδων Υπηρεσίες Πανελληνίου Σχολικού Δικτύου 16 - Φιλοξενία Ιστοσελίδων Προεπισκόπηση Παρουσίασης Φιλοξενία Ιστοσελίδων 1. Εισαγωγή 2. Ορισμοί 3. Όροι χρήσης 4. Κανόνες ονοματολογίας 5. Πίνακας Ελέγχου 6. Δημοσίευση

Διαβάστε περισσότερα

Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ Διαδικτυακές Εφαρμογές Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Παρουσίαση υπηρεσιών Τηλεδιάσκεψης και Aσύγχρονης εξ αποστάσεως εκπαίδευσης στο Πανελλήνιο Σχολικό Δίκτυο

Παρουσίαση υπηρεσιών Τηλεδιάσκεψης και Aσύγχρονης εξ αποστάσεως εκπαίδευσης στο Πανελλήνιο Σχολικό Δίκτυο Παρουσίαση υπηρεσιών Τηλεδιάσκεψης και Aσύγχρονης εξ αποστάσεως εκπαίδευσης στο Πανελλήνιο Σχολικό Δίκτυο Δρ. Αύγουστος Τσινάκος ΠΛΗΝΕΤ Δυτικής Θεσ/νίκης tsinakos@uom.gr Παν. Μακεδονίας Ομάδα Εργασίας

Διαβάστε περισσότερα

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών)

ΕΡΓΑΣΙΑ. (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών) ΕΡΓΑΣΙΑ (στο μάθημα: Τεχνολογίες Εφαρμογών Διαδικτύου του Η εξαμήνου σπουδών του Τμήματος Πληροφορικής & Τηλ/νιών) Τίτλος: Εφαρμογή Διαδικτύου Ηλεκτρονικού Καταστήματος Ζητούμενο: Να αναπτυχθεί web εφαρμογή,

Διαβάστε περισσότερα

Vodafone Business Connect

Vodafone Business Connect Vodafone Business Connect Vodafone Business WebHosting Αναλυτικός Οδηγός Χρήσης MSSQL Manager Αναλυτικός οδηγός χρήσης: MS SQL Manager Vodafone Business Connect - Υπηρεσίες φιλοξενίας εταιρικού e-mail

Διαβάστε περισσότερα

Κεφάλαιο 16 Ασφάλεια και Προστασία στο Διαδίκτυο. Εφαρμογές Πληροφορικής Κεφ. 16 Καραμαούνας Πολύκαρπος

Κεφάλαιο 16 Ασφάλεια και Προστασία στο Διαδίκτυο. Εφαρμογές Πληροφορικής Κεφ. 16 Καραμαούνας Πολύκαρπος Κεφάλαιο 16 Ασφάλεια και Προστασία στο Διαδίκτυο Εφαρμογές Πληροφορικής Κεφ. 16 Καραμαούνας Πολύκαρπος 16.1 Ασφάλεια υπολογιστικού συστήματος Κακόβουλο λογισμικό: το λογισμικό το οποίο εκ προθέσεως διαθέτει

Διαβάστε περισσότερα

ΟΛΟΚΛΗΡΩΜΕΝΟ ΣΥΣΤΗΜΑ ΤΗΛΕΚΑΤΑΡΤΙΣΗΣ E-AGIOGRAFIA

ΟΛΟΚΛΗΡΩΜΕΝΟ ΣΥΣΤΗΜΑ ΤΗΛΕΚΑΤΑΡΤΙΣΗΣ E-AGIOGRAFIA ΟΛΟΚΛΗΡΩΜΕΝΟ ΣΥΣΤΗΜΑ ΤΗΛΕΚΑΤΑΡΤΙΣΗΣ E-AGIOGRAFIA Καλωσορίσατε στην πλατφόρμα ηλεκτρονικής μάθησης E-Agiografia, Η Media Suite έχει αναπτύξει το Ολοκληρωμένο Σύστημα Τηλεκατάρτισης (e-learning) με την επωνυμία

Διαβάστε περισσότερα

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network).

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network). ΙΔΡΥΜΑ ΝΕΟΛΑΙΑΣ ΚΑΙ ΔΙΑ ΒΙΟΥ ΜΑΘΗΣΗΣ ΥΠΗΡΕΣΙΕΣ ΔΙΑΔΙΚΤΥΟΥ Καλαμάτα, 2015 Το Διαδίκτυο Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network). Πρόκειται

Διαβάστε περισσότερα

Ψηφιακή ανάπτυξη. Course Unit #1 : Κατανοώντας τις βασικές σύγχρονες ψηφιακές αρχές Thematic Unit #1 : Τεχνολογίες Web και CMS

Ψηφιακή ανάπτυξη. Course Unit #1 : Κατανοώντας τις βασικές σύγχρονες ψηφιακές αρχές Thematic Unit #1 : Τεχνολογίες Web και CMS Ψηφιακή ανάπτυξη Course Unit #1 : Κατανοώντας τις βασικές σύγχρονες ψηφιακές αρχές Thematic Unit #1 : Τεχνολογίες Web και CMS Learning Objective : Βασικά συστατικά του Web Fabio Calefato Department of

Διαβάστε περισσότερα