Issue No.02 - March/April (2011 vol.28)
Mariano Ceccato , Fondazione Bruno Kessler
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2010.158
In a typical client-server scenario, a server provides valuable services to client applications that run remotely on untrusted client computers. Typical examples are video on demand, online games, voice-over-IP communications, and many others. However, client-side users often hold administrative privileges on their machines and could tamper with the client application to fulfill the service in violation of the service usage conditions or service agreements. Guaranteeing client-code security is one of the most difficult security problem to address. It's an instance of the malicious host problem, where an adversary in control of the client's host environment tries to tamper with the client code. The authors present CodeBender, a tool that implements a novel client replacement strategy to counter the malicious host problem. The client code has limited validity and, when it expires, the server provides a new client that replaces the former one. The reverse-engineering efforts of adversaries are deterred by the complexity of analyzing frequently changing, always different (orthogonal) program code.
hardware/software protection, development tools, software/software engineering, program transformation, security and protection
Mariano Ceccato, "CodeBender: Remote Software Protection Using Orthogonal Replacement", IEEE Software, vol.28, no. 2, pp. 28-34, March/April 2011, doi:10.1109/MS.2010.158