Cargando…

Value-Range Analysis of C Programs Towards Proving the Absence of Buffer Overflow Vulnerabilities /

The use of static analysis techniques to prove the partial correctness of C code has recently attracted much attention due to the high cost of software errors - particularly with respect to security vulnerabilities. However, research into new analysis techniques is often hampered by the technical di...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Simon, Axel (Autor)
Autor Corporativo: SpringerLink (Online service)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: London : Springer London : Imprint: Springer, 2008.
Edición:1st ed. 2008.
Temas:
Acceso en línea:Texto Completo

MARC

LEADER 00000nam a22000005i 4500
001 978-1-84800-017-9
003 DE-He213
005 20220119045057.0
007 cr nn 008mamaa
008 100309s2008 xxk| s |||| 0|eng d
020 |a 9781848000179  |9 978-1-84800-017-9 
024 7 |a 10.1007/978-1-84800-017-9  |2 doi 
050 4 |a QA76.76.C65 
072 7 |a UMC  |2 bicssc 
072 7 |a COM051010  |2 bisacsh 
072 7 |a UMC  |2 thema 
082 0 4 |a 005.45  |2 23 
100 1 |a Simon, Axel.  |e author.  |4 aut  |4 http://id.loc.gov/vocabulary/relators/aut 
245 1 0 |a Value-Range Analysis of C Programs  |h [electronic resource] :  |b Towards Proving the Absence of Buffer Overflow Vulnerabilities /  |c by Axel Simon. 
250 |a 1st ed. 2008. 
264 1 |a London :  |b Springer London :  |b Imprint: Springer,  |c 2008. 
300 |a XXII, 302 p. 119 illus.  |b online resource. 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
347 |a text file  |b PDF  |2 rda 
505 0 |a From the Contents: Preface -- Introduction.-Value Range Analysis -- Analysing C -- A Semantics for C -- Core C -- Related Work -- Part 1 Abstracting Soundly -- Abstract State Space -- Points-To Analysis -- Numeric Domains -- Taming Casting and Wrapping -- A Language Featuring Finite Integer Arithmetic -- Implicit Wrapping of Polyhedral Variables -- Explicit Wrapping of Polyhedral Variables -- An Abstract Semantics for SubC -- Discussion -- Overlapping Memory Accesses and Pointers -- Memory as a Set of Fields -- Mixing Values and Pointers -- Abstraction Relation -- Abstract Semantics -- Part II Ensuring Efficiency -- Planar Polyhedra -- Operations on Inequalities -- Operations on Sets of Inequalities -- The TVPI Abstract Domain -- The Integral TVPI Domain -- Interfacing Analysis and Numeric Domain -- Inferring Relevant Fields and Addresses -- Applying Widening in Fixpoint Calculations -- Part III Improving Precision -- Tracking String Lengths -- Widening with Landmarks -- Combining Points-To and Numeric Analysis -- Conclusion and Outlook. 
520 |a The use of static analysis techniques to prove the partial correctness of C code has recently attracted much attention due to the high cost of software errors - particularly with respect to security vulnerabilities. However, research into new analysis techniques is often hampered by the technical difficulties of analysing accesses through pointers, pointer arithmetic, coercion between types, integer wrap-around and other low-level behaviour. Axel Simon provides a concise, yet formal description of a value-range analysis that soundly approximates the semantics of C programs using systems of linear inequalities (polyhedra). The analysis is formally specified down to the bit-level while providing a precise approximation of all low-level aspects of C using polyhedral operations and, as such, it provides a basis for implementing new analyses that are aimed at verifying higher-level program properties precisely. One example of such an analysis is the tracking of the NUL position in C string buffers, which is shown as an extension to the basic analysis and which thereby demonstrates the modularity of the approach. While the book focuses on a sound analysis of C, it will be useful to any researcher and student with an interest in static analysis of real-world programming languages. In fact, many concepts presented here carry over to other languages such as Java or assembler, to other applications such as taint analysis, array and shape analysis and possibly even to other approaches such as run-time verification and test data generation. 
650 0 |a Compilers (Computer programs). 
650 0 |a Computer science. 
650 0 |a Software engineering. 
650 0 |a Numerical analysis. 
650 1 4 |a Compilers and Interpreters. 
650 2 4 |a Computer Science Logic and Foundations of Programming. 
650 2 4 |a Software Engineering. 
650 2 4 |a Numerical Analysis. 
710 2 |a SpringerLink (Online service) 
773 0 |t Springer Nature eBook 
776 0 8 |i Printed edition:  |z 9781848009684 
776 0 8 |i Printed edition:  |z 9781849967020 
776 0 8 |i Printed edition:  |z 9781848000162 
856 4 0 |u https://doi.uam.elogim.com/10.1007/978-1-84800-017-9  |z Texto Completo 
912 |a ZDB-2-SCS 
912 |a ZDB-2-SXCS 
950 |a Computer Science (SpringerNature-11645) 
950 |a Computer Science (R0) (SpringerNature-43710)