Roberto Giacobazzi, University of Verona, Italy
Obscuring code – Unveiling and Veiling Information in Programs
The talk concerns the design of code protecting transformations for white-box cryptography in a MATE (Man-At-The-End) attack scenario. The battle scenario involves attackers, modeled as approximate (abstract) interpreters of source programs intended to extract information about their run-time behavior, and protecting code transformations, modeled as distorted compilers devoted to inhibit attacks. Attacks are inhibited by maximizing imprecision in all approximate computations made by the attacker. The model is general enough to include generic static and dynamic attacks. Protecting transformations are systematically and formally derived as distorted compilers, by specializing a distorted interpreter for the programming language with respect to the source code to protect. Interestingly this distortion corresponds precisely to defeat the potency of the expected attacker, which consists in its ability to extract a complete and precise view of program's execution.
Roberto Giacobazzi received the Laurea degree in Computer Science in 1988 from the University of Pisa, and in 1993 he received the Ph.D. in Computer Science from the same university, with a Ph.D. thesis on Semantic aspects of logic program analysis, under the supervision of Prof. Giorgio Levi. From 1993 to 1995 he had a Post Doctoral Research position at Laboratoire d'Informatique (LIX), Ecole Polytechnique (Paris) in the equipe Cousot. From 1995 to 1998 he was (tenured) Assistant Professor in Computer Science at the University of Pisa. From May 2000 until now he is Full Professor in Computer Science at the University of Verona. The research interests of Roberto Giacobazzi include abstract interpretation, static program analysis, semantics of programming languages, program verification, abstract model-checking, program transformation and optimization, digital asset protection, code obfuscation, malware detection, software watermarking and lattice theory. He has been Program Chair of SAS, VMCAI, of workshops in programming languages and language based security, and General Chair of ACM POPL2013. He is currently in the Steering committee of SAS and ACM POPL. From 2006 to 2012 he has been Dean of the College of Science of the University of Verona.
Invited by Professor Vijay Ganesh.