J'ai toujours fermement cru que l'obfuscation est essentiellement inutile. Le code obscurci n'est pas impossible à lire, mais plus difficile à lire. J'avais la conviction qu'un attaquant suffisamment expérimenté serait en mesure de ramener le code obscurci dans un état plus lisible.
Cependant, OWASP recommande l'utilisation de l'obscurcissement pour les clients mobiles, ce qui me fait me demander s'il y a plus de crédibilité à l'obscurcissement que ce que je lui avais donné.
D'où ma question: l'obfuscation apporte-t-elle un avantage mesurable en matière de sécurité? Plus précisément, un avantage qui l'emporte sur le coût supplémentaire, la complexité et les performances réduites.
Remarque: Quand je dis "obscurcissement", je parle de mesures délibérées prises pour empêcher l'ingénierie inverse. Les optimisations du compilateur, même si elles rendent l'assemblage moins facile à lire, sont effectuées dans le but d'améliorer les performances et non d'empêcher la rétro-ingénierie.