COURSE SUMMARY
Course Title: 
Software Protection
Course Code: 
18SN710
Year Taught: 
2018
Degree: 
Postgraduate (PG)
School: 
School of Engineering
Center: 
Cyber Security
Campus: 
Amritapuri

"Software Protection" is an elective course offered in Cyber Security Systems & Networks program at School of Engineering, Amrita Vishwa Vidyapeetham, Amritapuri.

Introduction: Software Protection: What, why, how. Setting up software analysis lab.State-of-the-art tools.Protocol for handling potentially malicious programs.Legal issues.Offensive and Defensive strategies - Offense – Motivation, Methods of attacking software protection.Defense: Methods for hiding information, purpose, algorithms in software. Program Analysis Static analysis: Control flow analysis, data flow analysis, dependence analysis. Dynamic analysis: Debugging, tracing, profiling, emulation. Static Code obfuscation - In-depth Semantics preserving obfuscating transformations, complicating control flow, opaque predicates, data encoding, breaking abstractions. Obfuscation – Theoretical Bounds Various impossibility results. Tamper roofing and Watermarking Definitions, Algorithms for Tamperproofing, Remote Tamperproofing, Watermarking Definitions,

Methods of Watermarking, Tamperproofing watermarks, Resilient watermarks, Stealth watermarks. Steganographic watermarks, Dynamic watermarking. Software Similarity Analysis:- Alternate methods for defeating obfuscations. K-gram based analysis, API-Based analysis, Tree-based Analysis, Graph-Based analysis, Metrics-Based Analysis.

  1. Christian Collberg and JasvirNagra, “Surreptitious Software: Obfuscation,Watermarking, and Tamperproofing for Software Protection,” Addison-Wesley, 2010.