Property driven program slicing and watermarking in the abstract interpretation framework

DSpace/Manakin Repository

Show simple item record

dc.contributor.advisor Cortesi, Agostino it_IT
dc.contributor.author Bhattacharya, Sukriti <1980> it_IT
dc.date.accessioned 2011-06-18T11:18:26Z it_IT
dc.date.accessioned 2012-07-30T16:04:15Z
dc.date.available 2011-06-18T11:18:26Z it_IT
dc.date.available 2012-07-30T16:04:15Z
dc.date.issued 2011-03-03 it_IT
dc.identifier.uri http://hdl.handle.net/10579/1088 it_IT
dc.description.abstract Interpretation theory formalizes the conservative approximation of the semantics of hardware and software computer systems. Abstract Interpretation approximates semantics according to some property of choice, this is formalized by choosing an appropriate abstract domain to use as abstraction of the semantics. A great variety of abstract domains can be formulated and the choice of domain off ers a trade-o ff between precision and computational complexity. This thesis illustrates the instantiation of the Abstract Interpretation in the following scenarios, Program slicing, Watermarking relational databases, Watermarking program source code. In this dissertation, a further refi nement of the traditional slicing technique, called property driven program slicing is proposed by combining it with a static analysis in Abstract Interpretation framework. Very often, we are interested on a specific property of the variables in the slicing criterion, rather values. This is the case for instance, when dealing with non-interference in language-based security, where abstractions come into play in modeling the observational power of attackers. Therefore, when performing slicing, the abstract properties of variables and the abstract dependencies come into account. This approach of slicing, is not simply a pure generalization of a well-known technique, but provides new insights in links existing between di fferent computer science fields. Strengthening the ownership rights on outsourced relational database is very important in todays internet environment. In this context, the thesis introduces a distortion free watermarking technique that strengthen the verifi cation of integrity of the relational databases by using a public zero-distortion authentication mechanism based on a Abstract Interpretation framework. With the increasing amount of program source code which is distributed in the web, software ownership protection and detection is becoming an issue. In this scenario, a public key software watermarking (asymmetric watermarking) scheme is proposed which is similar in spirit to zero-knowledge proofs. The proposed approach of watermarking a source code is seen as an alternative to encryption as a way to support software authentication rather a tool for copyright protection. it_IT
dc.description.abstract L'interpretazione astratta è una teoria che formalizza l'approssimazione conservativa della semantica di sistemi informatici hardware e software, focalizzandosi su alcune proprietà, che espresse mediante opportune strutture algebriche (domini astratti) possono essere calcolate in modo corretto (anche se non completo). Una grande varietà di domini astratti può essere elaborata, a aseconda dei contesti di applicazione, e con scelta dei domini astratti è possibile modulare in modi diversi precisione e complessità computazionale. Questa tesi considera l'applicazione di tecniche di Interpretazione Astratta in tre diversi scenari: Program slicing; Watermarking di database relazionali; Watermarking del codice sorgente di programmi. Relativamente al Program slicing, viene proposto un raffinamento delle tecniche tradizionali già presenti in letteratura. Molto spesso, siamo interessati a una specifica proprietà delle variabili in un criterio di slicing, piuttosto che ai suoi effettivi valori. Questo è il caso, ad esempio, quando si analizza la non-interferenza in language-based security, dove le astrazioni entrano in gioco per modellare il potere osservativo degli attaccanti. In questo scenario, lo slicing tiene in considerazione le proprietà astratte delle variabili e le dipendenze astratte. Questo approccio allo slicing, non è solo la generalizzazione della tecnica tradizionale, ma offre nuovi spunti nelle relazioni tra diverse aree di ricerca dell'informatica. Un secondo scenario di applicazione delle tecniche di Interpretazione Astratta è la progettazione di watermarking di database relazionali, la cui rilevanza è legata al fatto che in Internet è molto importante preservare i diritti di proprietà nei database relazionali mantenuti in outsourcing. In tale ambito, viene proposta una tecnica di watermarking senza distorsione, che migliora la verifica dell'integrità dei database relazionali utilizzando un meccanismo di autenticazione pubblica. L'ultimo scenario considerato è quello del Watermarking del codice sorgente di programmi: all'aumentare della quantità di codice sorgente distribuito sul web, la protezione e il rilevamento delle proprietà del software è diventata una questione importante. Nella tesi, viene presentato uno schema di watermarking software a chiave pubblica (watermarking asimmetrico), basato su tecniche di trasformazione che preservano la semantica, e che è simile nello spirito alle zero-knowledge proofs. L'approccio proposto si pone come un'alternativa alla cifratura e l'autenticazione software piuttosto che come uno strumento per la protezione del copyright. it_IT
dc.format.medium Tesi cartacea it_IT
dc.language.iso en it_IT
dc.publisher Università Ca' Foscari Venezia it_IT
dc.rights © Sukriti Bhattacharya, 2011 it_IT
dc.subject Abstract interpretation it_IT
dc.subject Static analysis it_IT
dc.subject Program slicing it_IT
dc.subject Watermarking it_IT
dc.title Property driven program slicing and watermarking in the abstract interpretation framework it_IT
dc.type Doctoral Thesis it_IT
dc.degree.name Informatica it_IT
dc.degree.level Dottorato di ricerca it_IT
dc.degree.grantor Scuola di dottorato in Scienze e tecnologie (SDST) it_IT
dc.description.academicyear 2009/2010 it_IT
dc.description.cycle 23 it_IT
dc.degree.coordinator Salibra, Antonino it_IT
dc.location.shelfmark D001018 it_IT
dc.location Venezia, Archivio Università Ca' Foscari, Tesi Dottorato it_IT
dc.rights.accessrights openAccess it_IT
dc.thesis.matricno 955522 it_IT
dc.format.pagenumber VIII, 122 p. it_IT
dc.subject.miur INF/01 INFORMATICA it_IT
dc.description.tableofcontent Abstract Acknowledgements List of Figures List of Tables 1 Introduction 1.1 Motivation 1.1.1 Program Slicing 1.1.1.1 Property Driven Program Slicing 1.1.2 Watermarking 1.1.2.1 Watermarking Relational Databases 1.1.2.2 Watermarking Program Source Code 1.2 Thesis Outline 2 Basic Notions 2.1 Mathematical Background 2.1.1 Sets 2.1.2 Relations 2.1.3 Functions 2.1.4 Ordered Structures 2.1.5 Functions on Domains 2.1.6 Fixed Points 2.1.7 Closure Operators 2.1.8 Galois Connections 2.1.8.1 Galois Connections and Closure Operators 2.2 Abstract Interpretation 2.2.1 Concrete vs Abstract Domains 2.2.2 Abstract operations 2.2.2.1 Soundness 2.2.2.2 Completeness 2.3 Dependence Terminologies 2.4 Zero-knowledge Proofs 3 Property Driven Program Slicing 3.1 Different Forms of Slice 3.1.1 Backward vs. Forward 3.1.2 Static vs Dynamic 3.1.3 Intra-procedural vs Inter-procedural 3.1.4 Slicing Structured vs. Unstructured Programs 3.1.5 Dataflow vs. Non-Dataflow 3.2 Weiser's Work 3.2.1 Data ow Based Program Slicing 3.2.2 Weiser's Semantics Defi nition of Valid Slices 3.2.3 Trajectory Semantics 3.3 Abstract Semantics 3.3.1 Abstract Trajectory 3.4 Data ow Based Property Driven Program Slicing 3.4.1 Phase 1: Static Analysis 3.4.2 Phase 2: Slicing Algorithm 3.5 Correctness of Abstract Execution 3.6 Related Work 3.7 Conclusions 4 Watermarking Relational Databases 4.1 Watermarking, Multimedia vs Database 4.2 Basic Watermarking Process 4.2.1 Classifi cation Model 8 4.2.2 Requirements of Database Watermarking 4.3 Preliminaries 4.4 Distortion Free Database Watermarking 4.4.1 Partitioning 4.4.1.1 Partition Based on Categorical Attribute 4.4.1.2 Secret Partitioning 4.4.1.3 Partitioning Based on Pattern Tableau 4.4.2 Watermark Generation 4.4.2.1 Abstraction 4.4.3 Watermark Detection 4.5 Zero Distortion Authentication Watermarking (ZAW) 4.6 Robustness 4.6.1 False Hit 4.6.2 False Miss 4.6.2.1 Subset Deletion Attack 4.6.2.2 Subset Addition Attack 4.7 Related Work 4.8 Conclusions 5 Zero-Knowledge Source Code Watermarking 5.1 Di fferent Software Watermarking Schemes 5.2 Preliminaries 5.3 Source Code Watermarking 5.3.1 Watermark Generation 5.3.2 Watermark Embedding 5.3.3 Watermark Detection and Veri fication 5.3.4 Zero-knowledge Verifi cation Protocol 5.4 Complexity 5.5 Security Considerations 5.6 Watermarking and Fingerprinting 5.7 Software Watermarking: A Brief Survey 5.8 Conclusions 6 Conclusions it_IT


Files in this item

This item appears in the following Collection(s)

Show simple item record