← Latest papers
💻 computer science

Automatic Selection of Protections to Mitigate Risks Against Software Applications

This paper proposes a game-theoretic framework that automates the selection of software protections to mitigate MATE risks by strategically balancing security resistance and performance overhead, utilizing a novel Software Protection Index and a heuristic optimization algorithm to determine the optimal defense strategy.

Original authors: Daniele Canavese, Leonardo Regano, Bjorn De Sutter, Cataldo Basile

Published 2026-05-20
📖 5 min read🧠 Deep dive

Original authors: Daniele Canavese, Leonardo Regano, Bjorn De Sutter, Cataldo Basile

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine you have a very valuable, secret recipe for a delicious cake. You want to sell this cake to the public, but you're worried that a rival chef (the "attacker") will sneak into your kitchen, steal the recipe, or change the ingredients to ruin your business.

In the world of software, this "recipe" is the code inside an app, and the "rival chef" is a hacker who has full access to your computer. They can use special tools to take the app apart, figure out how it works, and steal its secrets or break its rules. This is called a Man-At-The-End (MATE) attack.

This paper introduces a new, automated way to protect your "recipe" (software) without hiring a team of expensive security experts to do it manually. Here is how it works, using simple analogies:

1. The Problem: Too Many Choices, Not Enough Time

Protecting software is like trying to lock a house. You have many types of locks (software protections):

  • Obfuscation: Turning the recipe into a secret code that looks like gibberish.
  • Remote Checks: Sending a part of the recipe to a secure vault (a server) so no one can see it on your kitchen counter.
  • Tamper Detection: Installing a sensor that sounds an alarm if someone tries to open the safe.

The problem is that adding too many locks slows down your house (the app), making it hard to live in. Adding too few leaves it vulnerable. Currently, experts have to guess which locks to use and where, often relying on "gut feeling" rather than math.

2. The Solution: A Strategic Game

The authors created a system that treats software protection like a game of chess between two players:

  • The Defender (You): You want to place locks on the code to make it as hard as possible to break.
  • The Attacker (The Hacker): They want to find the weakest spot and break in.

The system simulates this game. It asks: "If I put this specific lock here, how long will it take the attacker to break it? If I move that lock there, does it slow them down more?"

3. The "Software Protection Index" (The Scoreboard)

To decide the best strategy, the system uses a new scoring system called the Software Protection Index. Think of this as a "Security Score."

  • Potency: How strong is the lock? (Does it make the code harder to read?)
  • Resilience: How much does the lock hold up when the attacker tries to pick it?

The system calculates a score for every possible combination of locks. It wants to find the combination that gives the highest Security Score while keeping the house speed (performance) above a certain acceptable level.

4. How the Computer Solves the Puzzle

Finding the perfect combination of locks is incredibly difficult because there are millions of possibilities. It's like trying to find the best path through a massive maze.

  • The Strategy: The computer uses a smart search method (called "minimax") to look ahead at the attacker's moves. It assumes the attacker will always choose the path that causes the most damage.
  • The Shortcut: To make this fast enough to be useful, the computer uses "dynamic programming." Imagine you are solving a maze; instead of walking every single dead end, you remember the paths you've already checked so you don't waste time going back. This allows the system to find a near-perfect solution in minutes rather than years.

5. The "Expert" Input

Since computers can't "feel" how hard a lock is to pick, the authors asked real-world security experts for help. They asked these experts:

  • "How hard is it to break this specific type of lock?"
  • "If we use Lock A and Lock B together, do they help each other, or do they cancel each other out?"

The system uses these expert opinions to build its mathematical formulas, ensuring the "Security Score" reflects real-world reality.

6. Did It Work?

The team built a prototype tool and tested it on real-world apps (like a license manager for software and a secure video player).

  • Speed: The tool could find the best protection strategy in a matter of minutes.
  • Expert Approval: They showed the results to security experts. The experts agreed that the tool's choices were smart, tailored to the specific app, and didn't slow the app down too much.
  • Usability: They found that while the tool is great for experts, it might be too complex for a regular developer to use without some training.

The Bottom Line

This paper presents a "smart assistant" for software security. Instead of a human guessing which locks to put on a program, this tool automatically calculates the best mix of security measures to stop hackers, ensuring the app stays fast and usable. It turns the chaotic process of software protection into a calculated, mathematical game.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →