How well can I secure my system?
Résumé
Securing a system, being it a computer network, a physical
infrastructure or an organization, is a very challenging task. In prac-
tice, it is always constrained by available resources, e.g., budget, time, or
man-power. An attack–defense tree is a security model allowing to reason
about different strategies that an attacker may use to attack a system and
potential countermeasures that a defender could apply to defend against
such attacks. This work integrates the modeling power of attack–defense
trees with the strengths of integer linear programming techniques. We
develop a framework that, given the overall budget allocated for the
system’s protection, suggests which countermeasures should be imple-
mented to secure the system in the best way possible. We lay down
formal foundations for our framework and implement a proof of concept
tool automating the solving of relevant optimization problems.