Presentation on theme: "Protecting Software Code By Guards - by Hoi Chang and Mikhail J. Atallah “Many software-based mechanisms for protecting program code are too weak[…] or."— Presentation transcript:
Protecting Software Code By Guards - by Hoi Chang and Mikhail J. Atallah “Many software-based mechanisms for protecting program code are too weak[…] or too expensive to apply[…]”
Outline Background Chang’s security system The guarding framework Performance Conclusion
Background Software cracking is a serious threat to the software industry. So establish a flexible and tamper-resistance protection schemes is more urgent than before. BUT most of current protecting schemes are Either Too weak: have single points of failure Or Too expensive to apply:suffers heavy run-time performance penalty.
Background What characteristics of a security system should have? Resilience. The protection has no single point of failure and is hard to disable. Self-defense. Able to detect and take actions against tampering. Configurability. Protection is customizable and can be made as strong as one needs White-box security. [Its protection strength relies on a secret key at protection-install time rather the protection scheme itself.] - by Hoi Chang & Mikhail J. Atallah
Chang’s security system Has a set of security units, or guards, embedded into Win32 executables with user defined patterns. Each guard can be programmed to do any computation, such as checksum code and repair code. Guards are networked and provide mutual protection. Does these characteristics satisfy resilience, self-defense,configurability and white box security?
The guarding framework Guards are distributed within the whole program They usually do repairing code or checksumming code
The guarding framework Win32 application is protected by guards which are: - in a flexible and tamper-resistance manner
Performance Experiment shows: A little impacts on memory space Very little impacts on runtime performance if configured appropriately
Conclusion The system achieves: Distributed protection Variety of protection scheme Configurability Self-aware Self-healing Scalability Automatic process New version will contain GUI to convenience users
Question Does Chang’s security system successfully prevent four potential threats according to Pfleeger’s definition?