Ο διαχειριστής δυναμικής μνήμης αποτελεί μηχανή πεπερασμένων καταστάσεων. Προορίζεται για να διαχειρίζεται τη δυναμική μνήμη την οποία απαιτεί κάθε διεργασία για να εκτελεστεί ορθά και πάντοτε με κύριο στόχο τη μεγιστοποίηση της ευρωστίας του όλου συστήματος.
Σήμερα οι εφαρμογές απαιτούν όλο και περισσότερη μνήμη. Επιπλέον ο ρυθμός συναλλαγών μεταξύ εφαρμογής και δυναμικά δεσμευμένης μνήμης, αυξάνει ραγδαία, ως αποτέλεσμα της ραγδαίας αύξησης των χρηστών και των προς στις εφαρμογές απαιτήσεων τους.
Σημειωτέον είναι το γεγονός ότι οι διαχειριστές δυναμικής μνήμης είναι σχεδιασμένοι να συνδιαλλάσσονται με ασφαλείς εφαρμογές προερχόμενες από υπεύθυνο προγραμματισμό. Ωστόσο, σήμερα η πλειοψηφία των εφαρμογών δεν είναι ασφαλής λόγω τον χρηστοκεντρικών συστημάτων και των άναρχων γλωσσών προγραμματισμού.
Συνεπώς δημιουργούνται κενά ασφαλείας που οδηγούν σε επιθέσεις κατά τις καίριας οντότητας του σωρού. Αντικείμενο λοιπόν της παρούσης διπλωματικής εργασίας είναι η μελέτη σεναρίων επιθέσεων και η ανάπτυξη μηχανισμών καταπολέμησής τους.
Dynamic memory manager is a finite state machine. It is designed to manage the dynamic memory that an application demands in order to work robustly, as well as efficiently.
Nowadays applications demand large memory portions. Moreover the transaction ratio between applications and dynamic allocated memory increases rapidly due to the swift growth of users’ number and demands.
On the other hand dynamic memory managers is a mechanism implemented in order to interact with trusted applications, meaning applications that are self secured resulting from responsible programming. However, nowadays, the majority of applications are not self secured. The combination of scripting languages, fast development and user centralized environments, ends up with applications full of security flaws.
Many of these flaws can lead to attacks that are based on the betrayed vulnerabilities by the application dynamic memory manager, which assumes the robustness of application‘s security.
Consequently the purpose of this paper is to find out the golden section between the security issue and the dynamic memory manager’s performance request. Thus it introduces several protection schemas as well as it presents in detail their internal implementation. Moreover it evaluates the specific security mechanisms through a series of benchmarking tests.