Building Sustainable IP Protection against Hacking
Reverse engineering is rampant. Given that reverse engineering is a
tool to understand competitors' technologies, improving one's products, and defeating the competition, the leap to
counterfeiting is not a large one. Dedicated departments of reverse engineering in markets like China routinely
develop counterfeits of cutting-edge software powered products. Software hacking and piracy by professional hackers
is growing and increasingly sophisticated, and the latest BSA/IDC global piracy report estimates worldwide losses
in 2007 alone at $48 billion.
Protecting software-based intellectual property is critical to maintaining competitive positioning, protecting
R&D investments, and preserving product line profitability. Whether you build software, consumer electronic devices,
digital media applications, communications equipment, machine tools, automotive telematics or signal processing
platforms, hardening applications to tampering, piracy and reverse-engineering is indispensable to maximizing
software-powered businesses.
How to effectively harden applications? Many consider encryption the silver bullet to solving all security
needs. Unfortunately, while encryption works perfectly for securing internet-based data transfer, it is utterly
inadequate to protect software IP. Attackers will have administrative privilege over your application when they are
hacking it, and discovery of the encryption key is simply a forced crash-and-memory-dump analysis away. Defense-in-depth
is required, with multiple defense measures in addition to obfuscation and encryption, in order to increase the
difficulty of hacking an application.
The key to successfully deploying and building a software protection solution is to ensure that it is
sustainable. Sustainability combines three characteristics: durability, resilience and low impact. Durability refers
to strength of a protection solution out of the gate, in terms of robustness against static and dynamic
attacks. Resilience refers to the speed and security with which a breach can be patched. When a hack emerges, you must
have a plan to manage it quickly, efficiently and securely. For applications where your product gates access to other
assets - such as media DRM, conditional access, document control, and data security - you also need a channel to
reliably and transparently patch all existing installations. Impact of your protection solution on your software
development life cycle, from development through quality assurance to maintenance, must be minimal. Unless your
security solution is easy to design and scale, fast to implement, friendly to quality assurance and transparent to
honest users, it will die a quick death.
What are strategies to successfully achieve sustainability? Here are some key considerations in developing a
sustainable IP protection solution:
Entrenched Defense. Elimination of single points of failure is a fundamental requirement for durable
protection. If your solution at some point comes down to a single yes-no branch or an isolated cryptographic
calculation, rest assured that a hacker will find and exploit this vulnerability. Security must be built using a range
of state of the art anti-reverse engineering, anti-tamper, encryption and self-healing measures. These must be layered
to protect the application and each other. Base layers should protect sensitive functions, while deeper layers should
be closely intertwined with your internal system logic and functionality. They should be programmed to initiate either
defensive or aggressive reactions, as appropriate to your application, if failure of lower layers is detected. The
more unpredictable and unstable your application is in the face of attempted attacks, the more durable your defense
will be.
Diversity.For a system to be widely hacked, it must be possible to create a scripted exploit that runs
reliably on a large percentage of installed clients - this is called a class hack. Otherwise, it does not receive
the popularity and sharing level it needs to become truly catastrophic.
Diversity implies creating functionally equivalent but structurally different application binaries, such that
security-critical code and data does not definitively exist at a specific address or execute at a specific point
of time. In turn, this ensures that a class hack cannot be created.
Diversity also implies that your underlying protection solution and specific protection scheme is unique to your
application. This protects your IP from compromise by one-size-fits-all attack kits that exist for most
one-size-fits-all security technologies.
Effective diversity significantly magnifies the durability of your solution.
Communication.You'd never toss a soldier into enemy territory without a phone link to base. Why would you
do that to your software? The ability for deployed products to communicate with a home server provides an attractive
channel to push new features and upgrades, and is generally accepted by end users. This also provides a crucial
security hook - it allows you to reliably push renewal patches to clients, and (if you have the luxury of a two-way
channel) allows early warning and traitor tracing forensic information to be relayed back to you.
Communication significantly ease the achievement of resilience. As a simple strategy, you can require that a
device successfully communicate with your central server at least every N days, at every significant event such as
new content purchase, or shortly after any suspicious system state is detected.
Rapid Reconfiguration.Hacking technology advances every day. Once an exploit is known, it is imperative to
quickly restructure your protection to close the exploited vulnerabilities. Further, it is imperative to restructure
significant portions of the protection strategy and execution logic to ensure that differential attacks cannot be
used to reverse engineer your patch and quickly release another hack. Secure breach management is necessary to avoid
a death spiral of ever shortening breach-patch-breach races between your development team and your attackers.
Breaches never come with a warning, and they seldom occur at a convenient time. To be sustainable, your security
must be renewable without impacting ongoing development of new features and releases. It must also be renewable
quickly, to contain the spread of the breach and minimize losses. In order for you to achieve resilient protection,
your protection platform must provide binary-based, point-click breach management.
Leverage Hardware, Rely on Software.Hardware beats software hands down for securely storing data and
executing cryptographic calculations. However, at some point data and logic is transferred back to software, and
becomes vulnerable. Moreover, once deployed, hardware is static while software can be renewed and reconfigured. You
should fully leverage hardware to maximize your durability, but plan to use software-based techniques to realize
renewability. Otherwise, as Echostar experienced, your only option to deal with a break may be to replace every old
smart card with a new one. This is not only expensive, but is disruptive to customers and can result in brand
devaluation as well as competitive disadvantage.
With the prevalence of tampering, piracy and reverse engineering today, from both competitors and hackers,
preservation of your intellectual property depends entirely on the sustainability of your protection
solution. Durability is certainly an important factor, but renewability and low impact are key considerations as
well. Ensuring that your solution is sustainable will in turn optimize your development resource utilization, maximize
your revenue protection and minimize your total cost of ownership. On the flip side, your legal department may need
to downsize.
Amena Ali is Chief Marketing Officer for Arxan Technologies, Inc., a leading provider of application hardening solutions designed to
protect software intellectual property (IP) from piracy, tampering, reverse engineering and any manner of theft.