<efrbr:recordSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:efrbr="http://vfrbr.info/efrbr/1.1" xmlns:efrbr-work="http://vfrbr.info/efrbr/1.1/work" xmlns:efrbr-expression="http://vfrbr.info/efrbr/1.1/expression" xmlns:efrbr-manifestation="http://vfrbr.info/efrbr/1.1/manifestation" xmlns:efrbr-person="http://vfrbr.info/efrbr/1.1/person" xmlns:efrbr-corporateBody="http://vfrbr.info/efrbr/1.1/corporateBody" xmlns:efrbr-concept="http://vfrbr.info/efrbr/1.1/concept" xmlns:efrbr-structure="http://vfrbr.info/efrbr/1.1/structure" xmlns:efrbr-responsible="http://vfrbr.info/efrbr/1.1/responsible" xmlns:efrbr-subject="http://vfrbr.info/efrbr/1.1/subject" xmlns:efrbr-other="http://vfrbr.info/efrbr/1.1/other" xsi:schemaLocation="http://vfrbr.info/efrbr/1.1 http://vfrbr.info/schemas/1.1/efrbr.xsd"><efrbr:entities><efrbr-work:work identifier="http://purl.tuc.gr/dl/dias/812B8D20-2A69-462A-85AA-3BEA4F5671E5"><efrbr-work:titleOfTheWork>Applying dynamic coarse-grained library interposition to security</efrbr-work:titleOfTheWork></efrbr-work:work><efrbr-expression:expression identifier="http://purl.tuc.gr/dl/dias/812B8D20-2A69-462A-85AA-3BEA4F5671E5"><efrbr-expression:titleOfTheExpression>Applying dynamic coarse-grained library interposition to security</efrbr-expression:titleOfTheExpression><efrbr-expression:titleOfTheExpression>Εφαρμόζοντας αδρομερή διαμεσολάβηση βιβλιοθηκών για βελτίωση ασφάλειας</efrbr-expression:titleOfTheExpression><efrbr-expression:formOfExpression vocabulary="DIAS:TYPES">
            Μεταπτυχιακή Διατριβή
            Master Thesis
         </efrbr-expression:formOfExpression><efrbr-expression:dateOfExpression type="issued">2024-05-20</efrbr-expression:dateOfExpression><efrbr-expression:dateOfExpression type="published">2024</efrbr-expression:dateOfExpression><efrbr-expression:languageOfExpression vocabulary="iso639-1">en</efrbr-expression:languageOfExpression><efrbr-expression:summarizationOfContent>In today's complex software landscape, developers face the challenge of building complex systems that meet the growing demands of users and businesses. A common approach to analyzing, detecting problems, and solving security problems in these systems is the use of dynamic interposition. Dynamic interposition involves adding new functionality between existing software interfaces to extend the system, while preserving old functionality. An effective dynamic interposition technique is module recontextualization, which operates at the module or library level in modern dynamic languages, like JavaScript and Racket. Module recontextualization leverages run-time module loading to apply lightweight code transformations that insert analysis code at module boundaries, capturing interactions around the module. This provides a low overhead, always-on analysis approach compared to instruction-level or procedure-level techniques. This thesis presents several applications of the module-level dynamic interposition approach to demonstrate its versatility and practical value for program monitoring, analysis, and security tasks. The work includes two large-scale studies of the Node.js ecosystem, a dynamic enforcement engine for language policies, a system to secure native add-ons, and a combined static and dynamic analysis framework. The goal is to show how this module-level interposition technique can enable practical program analysis and security for complex applications.
</efrbr-expression:summarizationOfContent><efrbr-expression:summarizationOfContent>Στο σύνθετο τοπίο του σημερινού λογισμικού, οι προγραμματιστές αντιμετωπίζουν την πρόκληση της δημιουργίας περίπλοκων συστημάτων που ανταποκρίνονται στις αυξανόμενες απαιτήσεις των χρηστών και των επιχειρήσεων. Μια κοινή προσέγγιση στην ανάλυση, ανίχνευση και επίλυση προβλημάτων ασφαλείας σε αυτά τα συστήματα είναι η χρήση της δυναμικής διαμεσολάβησης. Η δυναμική διαμεσολάβηση περιλαμβάνει την προσθήκη νέας λειτουργικότητας μεταξύ υπαρχουσών διεπαφών λογισμικού για να επεκτείνει το σύστημα διατηρώντας την παλιά λειτουργικότητα. Μία αποτελεσματική τεχνική δυναμικής επανατοποθέτησης είναι η αδρομερής ανάλυση, η οποία λειτουργεί στο επίπεδο των μονάδων ή των βιβλιοθηκών σε σύγχρονες δυναμικές γλώσσες όπως το JavaScript και το Racket. Η αδρομερής ανάλυση ωφελείται από τη δυνατότητα της δυναμικής φόρτωσης μονάδων σε χρόνο εκτέλεσης για να εφαρμόζει ελαφριές μετατροπές κώδικα που εισάγουν κώδικα ανάλυσης στα όρια των μονάδων, αποτυπώνοντας τις αλληλεπιδράσεις γύρω από το πλαίσιο. Αυτό παρέχει μία προσέγγιση ανάλυσης χαμηλής υπερφόρτωσης, πάντα ενεργή. Αυτή η διπλωματική παρουσιάζει πολλαπλές εφαρμογές της προσέγγισης αδρομερούς ανάλυσης σε επίπεδο μονάδας για να αποδείξει την πολυμορφικότητα της και την πρακτική αξία της για την παρακολούθηση των προγραμμάτων, την ανάλυση και τις εργασίες ασφάλειας. Η εργασία περιλαμβάνει δύο μελέτες του οικοσυστήματος του Node.js, ένα δυναμικό μηχανισμό επιβολής για πολιτικές ασφαλείας, ένα σύστημα για την ασφάλιση των προσθέτων γραμμένων σε C/C++ και ένα συνδυαστικό πλαίσιο στατικής και δυναμικής ανάλυσης. Στόχος είναι να αποδείξει πώς αυτή η αδρομερής ανάλυσης σε επίπεδο μονάδας μπορεί να ενεργοποιήσει πρακτική ανάλυση προγραμμάτων και ασφάλεια για περίπλοκες εφαρμογές.</efrbr-expression:summarizationOfContent><efrbr-expression:contextForTheExpression>Μεταπτυχιακή Διατριβή που υποβλήθηκε στη σχολή ΗΜΜΥ του Πολ. Κρήτης για την πλήρωση προϋποθέσεων λήψης του Μεταπτυχιακού Διπλώματος.</efrbr-expression:contextForTheExpression><efrbr-expression:useRestrictionsOnTheExpression type="creative-commons">http://creativecommons.org/licenses/by/4.0/</efrbr-expression:useRestrictionsOnTheExpression><efrbr-expression:note type="academic unit">Πολυτεχνείο Κρήτης::Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών</efrbr-expression:note></efrbr-expression:expression><efrbr-manifestation:manifestation identifier="https://dias.library.tuc.gr/view/99672"><efrbr-manifestation:titleOfTheManifestation>Ntousakis_Grigoris_MSc_2024.pdf</efrbr-manifestation:titleOfTheManifestation><efrbr-manifestation:publicationDistribution><efrbr-manifestation:placeOfPublicationDistribution type="distribution">Chania [Greece]</efrbr-manifestation:placeOfPublicationDistribution><efrbr-manifestation:publisherDistributor type="distributor">Library of TUC</efrbr-manifestation:publisherDistributor><efrbr-manifestation:dateOfPublicationDistribution>2024-05-20</efrbr-manifestation:dateOfPublicationDistribution></efrbr-manifestation:publicationDistribution><efrbr-manifestation:formOfCarrier>application/pdf</efrbr-manifestation:formOfCarrier><efrbr-manifestation:extentOfTheCarrier>1.8 MB</efrbr-manifestation:extentOfTheCarrier><efrbr-manifestation:accessRestrictionsOnTheManifestation>free</efrbr-manifestation:accessRestrictionsOnTheManifestation></efrbr-manifestation:manifestation><efrbr-person:person identifier="http://users.isc.tuc.gr/~gntousakis"><efrbr-person:nameOfPerson vocabulary="TUC:LDAP">
            Ntousakis Grigorios
            Ντουσακης Γρηγοριος
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-person:person identifier="http://users.isc.tuc.gr/~sioannidis"><efrbr-person:nameOfPerson vocabulary="TUC:LDAP">
            Ioannidis Sotirios
            Ιωαννιδης Σωτηριος
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-person:person identifier="http://users.isc.tuc.gr/~lagoudakis"><efrbr-person:nameOfPerson vocabulary="TUC:LDAP">
            Lagoudakis Michail
            Λαγουδακης Μιχαηλ
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-person:person identifier="https://viaf.org/viaf/15147869665374982625"><efrbr-person:nameOfPerson vocabulary="VIAF">
            Vasilakis, Nikos
         </efrbr-person:nameOfPerson></efrbr-person:person><efrbr-corporateBody:corporateBody identifier="C2A37184-1297-4696-B19A-9287CE94464A"><efrbr-corporateBody:nameOfTheCorporateBody vocabulary="">
            Πολυτεχνείο Κρήτης
            Technical University of Crete
         </efrbr-corporateBody:nameOfTheCorporateBody></efrbr-corporateBody:corporateBody><efrbr-concept:concept identifier="222EA382-8800-4DFB-95A0-A1CB9C87F96F"><efrbr-concept:termForTheConcept>
            Security
         </efrbr-concept:termForTheConcept></efrbr-concept:concept><efrbr-concept:concept identifier="A87274F8-7845-4931-B094-1E4CF75A7EF2"><efrbr-concept:termForTheConcept>
            Dynamic analysis
         </efrbr-concept:termForTheConcept></efrbr-concept:concept></efrbr:entities><efrbr:relationships><efrbr-structure:structureRelations><efrbr-structure:realizedThrough sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/812B8D20-2A69-462A-85AA-3BEA4F5671E5" targetEntity="expression" targetURI="http://purl.tuc.gr/dl/dias/812B8D20-2A69-462A-85AA-3BEA4F5671E5"/><efrbr-structure:embodiedIn sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/812B8D20-2A69-462A-85AA-3BEA4F5671E5" targetEntity="manifestation" targetURI="http://purl.tuc.gr/dl/dias/9635455C-FF4F-48BE-B902-9B0251D8C5B2"/></efrbr-structure:structureRelations><efrbr-responsible:responsibleRelations><efrbr-responsible:createdBy sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/812B8D20-2A69-462A-85AA-3BEA4F5671E5" targetEntity="person" targetURI="http://users.isc.tuc.gr/~gntousakis"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/812B8D20-2A69-462A-85AA-3BEA4F5671E5" targetEntity="person" targetURI="http://users.isc.tuc.gr/~gntousakis" role="author"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/812B8D20-2A69-462A-85AA-3BEA4F5671E5" targetEntity="person" targetURI="http://users.isc.tuc.gr/~sioannidis" role="http://purl.tuc.gr/dl/dias/vocabs/contributor-roles/1"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/812B8D20-2A69-462A-85AA-3BEA4F5671E5" targetEntity="person" targetURI="http://users.isc.tuc.gr/~lagoudakis" role="http://purl.tuc.gr/dl/dias/vocabs/contributor-roles/2"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/812B8D20-2A69-462A-85AA-3BEA4F5671E5" targetEntity="person" targetURI="https://viaf.org/viaf/15147869665374982625" role="http://purl.tuc.gr/dl/dias/vocabs/contributor-roles/2"/><efrbr-responsible:realizedBy sourceEntity="expression" sourceURI="http://purl.tuc.gr/dl/dias/812B8D20-2A69-462A-85AA-3BEA4F5671E5" targetEntity="person" targetURI="C2A37184-1297-4696-B19A-9287CE94464A" role="publisher"/></efrbr-responsible:responsibleRelations><efrbr-subject:subjectRelations><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/812B8D20-2A69-462A-85AA-3BEA4F5671E5" targetEntity="concept" targetURI="222EA382-8800-4DFB-95A0-A1CB9C87F96F"/><efrbr-subject:hasSubject sourceEntity="work" sourceURI="http://purl.tuc.gr/dl/dias/812B8D20-2A69-462A-85AA-3BEA4F5671E5" targetEntity="concept" targetURI="A87274F8-7845-4931-B094-1E4CF75A7EF2"/></efrbr-subject:subjectRelations><efrbr-other:otherRelations/></efrbr:relationships></efrbr:recordSet>