Συλλογές : |
---|
Τίτλος : | Ασφάλεια λειτουργικού συστήματος Android |
---|
Δημιουργός : | Νεραντζίνης, Αναστάσιος |
---|
Συντελεστής : | Γκρίτζαλης, Δημήτριος (Επιβλέπων καθηγητής) Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής (Degree granting institution) |
---|
Τύπος : | Text |
---|
Φυσική περιγραφή : | 123σ. |
---|
Γλώσσα : | el |
---|
Περίληψη : | Οι έξυπνες συσκευές κινητής τηλεφωνίας σταδιακά έχουν αρχίσει να γίνονται μέρος της καθημερινότητας μας. Όλοι πια έχουμε συνηθίσει να βλέπουμε ανθρώπους με τέτοιες συσκευές να στέλνουν ηλεκτρονικά μηνύματα , να περιηγούνται στον παγκόσμιο ιστό ή να κανονίζουν τα επιχειρηματικά ραντεβού τους μέσω αυτών. Ωστόσο, αν και αυτές οι συσκευές είναι βολικές και ευχάριστες στην χρήση, οι περισσότεροι δεν αντιλαμβάνονται τους κινδύνους που τις συνοδεύουν. Αυτό που πρέπει να αποσαφηνιστεί είναι ότι τα έξυπνα κινητά δεν είναι απλές κινητές συσκευές, είναι μικροί φορητοί ηλεκτρονικοί υπολογιστές, με Λειτουργικό Σύστημα, εφαρμογές, δυνατότητες ασύρματης συνδεσιμότητας, και περιέχουν ευαίσθητα δεδομένα τα οποία θα πρέπει να προστατευτούν. Σκοπός της παρούσας διπλωματικής εργασίας είναι η μελέτη και η ανάδειξη των βασικών δυνατοτήτων και των περιορισμών ασφάλειας ενός λειτουργικού συστήματος ανοιχτού κώδικα για έξυπνες κινητές συσκευές, του Android (Open Handset Alliance). Το Android είναι μια στοίβα λογισμικού για κινητές συσκευές η οποία περιλαμβάνει ένα λειτουργικό σύστημα, ενδιάμεσο λογισμικό (middleware) και βασικές εφαρμογές. Είναι μια πλατφόρμα η οποία δεν εξαρτάται καθόλου από το υλικό (Hardware). Παρόλο που τα κομμάτια του λειτουργικού συστήματος είναι γραμμένα σε C ή C++ , οι εφαρμογές που παρέχονται στον χρήστη είναι υλοποιημένες σε Java. Πρόκειται για ένα λειτουργικό σύστημα το οποίο σχεδιάστηκε έτσι ώστε να καλύπτονται οι σύγχρονες ανάγκες δικτύωσης και επικοινωνίας των χρηστών του. Σκοπός της Google ήταν να δημιουργήσει μια πλατφόρμα η οποία να προσφέρει στους χρήστες της, μοναδικές εφαρμογές οι οποίες να εκμεταλλεύονται όλες τις λειτουργίες της συσκευής. Παράλληλα δόθηκε ιδιαίτερη βαρύτητα σε θέματα ασφάλειας της συσκευής, καθώς και της προστασίας των δεδομένων του χρήστη. Το μοντέλο ασφάλειας που εφαρμόζεται σχεδιάστηκε με γνώμονα την διατήρηση της ελεύθερης προσβασιμότητας σε όλες τις πτυχές του λειτουργικού συστήματος (openness) της συσκευής, γεγονός που το καθιστά πολύπλοκο και δύσκολο στην κατανόηση. Το μοντέλο ασφάλειας του Android συνδυάζει χαρακτηριστικά ενός λειτουργικού συστήματος (όπως είναι αποδοτική κοινή μνήμη, πολύ-επεξεργασία, Unix αναγνωριστικά χρηστών (UID) και δικαιώματα αρχείων), με τα στοιχεία του μοντέλου ασφάλειας της γλώσσας προγραμματισμού Java. Αντιθέτως με τους επιτραπέζιους ηλεκτρονικούς υπολογιστές όπου όλες οι εφαρμογές εκτελούνται με το ίδιο UID, στο Android οι εφαρμογές είναι απομονωμένες η μια από την άλλη εκτελούμενες σε διαφορετική διεργασία κάθε μια, μεδιαφορετικό UID και ξεχωριστά δικαιώματα. Με τον τρόπο αυτό επιτυγχάνεται το «sandboxing» των εφαρμογών με αποτέλεσμα να μην είναι δυνατό να επηρεαστεί ο πυρήνας του λειτουργικού εάν εγκατασταθεί ιομορφικό λογισμικό στην συσκευή. Επιπλέον η εκτέλεση διαφόρων ενεργειών από τις εφαρμογές ελέγχεται από δικαιώματα (Permissions) τα οποία τους ανατίθενται κατά την διάρκεια της εγκατάστασης τους. Κάθε εφαρμογή συνοδεύεται από ένα ψηφιακό πιστοποιητικό το οποίο έχει υπογράψει με το προσωπικό ψηφιακό κλειδί του ο προγραμματιστής που την υλοποίησε. Στα πλαίσια της εκπόνησης της παρούσας διπλωματικής εργασίας υλοποιήθηκαν δυο παραδείγματα επιθέσεων εναντίον του λειτουργικού συστήματος Android έτσι ώστε να αναδειχτούν στην πράξη οι περιορισμοί του μοντέλου ασφάλειας. Στο πρώτο παράδειγμα παρουσιάζεται μια εφαρμογή αποστολής μηνυμάτων SMS, με σκοπό να αποδειχθεί ότι είναι αρκετά εύκολο, χωρίς να χρειάζεται να παρακαμφθεί το μοντέλο ασφάλειας του Android, να υλοποιηθεί ιομορφικό λογισμικό με σοβαρές επιπτώσεις για τον χρήστη. Στο δεύτερο παράδειγμα υλοποιήθηκε μια εφαρμογή αναγνώρισης θέσης της συσκευής όπου ο επιτιθέμενος δύναται να υποκλέψει τα δεδομένα στέλνοντάς τα μέσω του διαδικτύου σε ένα απομακρυσμένο εξυπηρετητή. . Όπως και στην πρώτη υλοποίηση, πρόκειται για ένα δούρειο ίππο (Trojan) με δυνατότητες λογισμικού παρακολούθησης (spyware). Smartphones are gradually becoming part of our everyday life. It is ordinary nowadays for people with such devices to send emails, browse the Web or to arrange their business appointments through them. Although these devices are convenient and pleasant to use, most people do not realize the risks that accompany them. What needs to be clarified is that smartphones are not simple mobile devices, they are small portable computers, with operating systems, applications, wireless connectivity, and contain sensitive data that should be protected. The goal of this thesis is to study and highlight the basic capabilities and limitations of the security model that is being used by the Android. Android is an open source operating system for smart mobile devices, developed by Google and the Open Handset Alliance. It is a software stack for mobile devices that includes an operating system, middleware and basic applications. It is a platform that does not depend on the hardware used in a device. Although many parts of the operating system are written in C or C + +, applications are implemented in Java. This is an operating system that was designed to meet the needs of modern networking and communication between users. Google's aim was to create a platform which offers users unique applications that take advantage of all the device functionalities. At the same time emphasis was given in security and data protection. The security model applied in Android is designed with respect to maintaining the openness of the operating system. This fact has an immediate result on the security model, because it becomes more complicated and difficult to understand. The Android security model combines features of a simple operating system (such as efficient shared memory, multiprocessing, Unix user IDs (UID) and file permissions), with the type safe Java language and its familiar class library. Unlike the desktop PC where all applications run with the same UID, the Android applications are isolated from each other carried a different process, each with a different UID and individual rights. This is achieved through the use of sandboxing. As a result, applications are not capable of influencing the core of the operating system in case malware is installed on the device. Moreover, in Android each application has certain permissions that are granted to them during installation. Permissions are rights given to applications to allow them to do things like take pictures, use the GPS or make phone calls. In addition, each application comes with a digital certificate signed by the personal digital key of the programmer. Part of this thesis was the implementation of two malware. Both applications developed are categorized as Trojan horses with spyware capabilities. The first application is for writing and sending SMS messages, but what the user does not know is that at the same time all messages are sent silently to the attacker. This has an immediate impact on users’ privacy as well as additional cost. On the other hand, the second application is for location detection through the use of google maps. Each time the user uses our application, the location data of the device are sent to a remote server. An attacker can use this application in order to spy on a user. |
---|
Λέξη κλειδί : | Έξυπνα κινητά τηλέφωνα Λειτουργικό σύστημα Android Μοντέλο ασφάλειας Ιομορφικό λογισμικό Δικαιώματα Sandboxing Ψηφιακό πιστοποιητικό Δούρειος ίππος Λογισμικό παρακολούθησης Smartphones Operating systems Security model Permissions Digital certificates Malware Trojan horse Spyware |
---|
Ημερομηνία : | 28-02-2010 |
---|
Άδεια χρήσης : |
---|