Points faibles dans les logiciels renforcés

Au cours de la dernière décennie, Microsoft, la cible de choix pour de nombreux attaquants en ligne, a durci son système d'exploitation, adoptant des technologies conçues pour rendre plus difficile pour les attaquants de trouver et d'exploiter les vulnérabilités. Apple et de nombreux autres fabricants de logiciels ont emboîté le pas, introduisant des mesures de sécurité supplémentaires similaires à leurs systèmes d'exploitation.





Pourtant, la semaine dernière, lors du concours Pwn2Own à CanSecOuest , une conférence sur la sécurité à Vancouver, Canada, les chercheurs en sécurité ont démontré que les fabricants de logiciels doivent faire plus pour protéger leurs programmes. En utilisant des vulnérabilités auparavant inconnues, les chercheurs ont pu compromettre les navigateurs Safari d'Apple, Internet Explorer 8 de Microsoft et Firefox de Mozilla en contournant les dernières technologies de sécurité en place dans le système d'exploitation en dessous.

Ces choses rendent les choses difficiles – elles le font vraiment, déclare Charles Miller, analyste principal chez Évaluateurs de sécurité indépendants et le chercheur qui a contourné la sécurité du navigateur Safari d'Apple et du système d'exploitation Mac OS X Snow Leopard en dessous. Mais, quoi qu'il en soit, un attaquant déterminé peut trouver un moyen d'entrer.

Les résultats du concours Pwn2Own soulignent un truisme en matière de sécurité : les défenseurs doivent avoir raison tout le temps, mais les attaquants n'ont à avoir raison qu'une seule fois. Les exploits sont vraiment créatifs ; c'est pourquoi ils sont délicats, Aaron Portnoy, responsable de l'équipe de recherche en sécurité pour Point de basculement , la société de sécurité qui sponsorise le concours Pwn2Own.



À partir de son Trustworthy Computing Initiative en 2002, Microsoft a commencé à implémenter une série de technologies de sécurité dans Windows. Tout d'abord, l'entreprise a protégé la pile, l'espace mémoire logique utilisé par les programmes pour conserver temporairement les données. Une technologie appelée le drapeau /GS (d'après le commutateur logiciel utilisé dans le compilateur de l'entreprise), empêchait les attaquants de pousser leur propre code dans la pile. Mais en 2003, David Litchfield, un chercheur indépendant, a montré un moyen de contourner la protection. Microsoft a réagi en déployant deux autres technologies : SafeSEH pour lutter contre l'attaque à l'aide de gestionnaires d'exceptions structurés (SEH) et la randomisation de la disposition de l'espace d'adressage (ASLR), pour rendre des vulnérabilités similaires plus difficiles à exploiter à l'avenir. Les chercheurs ont cependant trouvé des moyens de contourner ces deux protections.

Plus récemment, Microsoft a lancé une autre technologie, la protection contre l'exécution des données (DEP), qui empêche les attaques qui écrasent la mémoire avec du code, puis tentent d'exécuter ce code. Mais plus tôt cette année, un chercheur indépendant, Dion Blazakis, a dévoilé une attaque, connue sous le nom de pulvérisation JIT, qui utilise les vulnérabilités d'autres programmes, notamment Adobe Flash et Java de Sun, pour contourner ces protections.

Ces techniques d'exploitation sont actuellement très prisées, dit Portnoy. Si vous avez un moyen de contourner la sécurité (du système d'exploitation), alors vous êtes un cran au-dessus de la plupart des gens ici.



Apple n'a pas été épargné non plus. La société a continué à publier davantage de technologies de sécurité dans son propre système d'exploitation, et Snow Leopard inclut à la fois ASLR et DEP, selon Miller.

Microsoft reconnaît que les bogues logiciels existeront toujours et affirme que l'objectif est de rendre l'exploitation de ces vulnérabilités moins dommageable. Aujourd'hui, d'autres mesures, notamment des protections supplémentaires de la pile, ASLR et DEP, rendent plus difficile la recherche et l'exploitation des vulnérabilités.

Si ces techniques n'existaient pas, vous verriez beaucoup plus d'exploits que ce que nous voyons actuellement, déclare HD Moore, responsable de la sécurité de Rapide7 et le directeur de la Projet Metasploit , qui regroupe les techniques d'exploitation dans un cadre facile à utiliser pour les chercheurs en sécurité.



Des recherches sur des protections supplémentaires sont en cours, et l'un des principaux candidats est le sandboxing, une technique dans laquelle du code non fiable est exécuté dans des zones protégées de la mémoire et de l'espace de traitement et n'est pas autorisé à affecter d'autres parties de l'ordinateur ou de l'appareil. Le langage de programmation Java et l'environnement d'exécution ont rendu les bacs à sable populaires, mais ce n'est que récemment que les programmes utilisent plus largement les bacs à sable. Les fabricants de navigateurs envisagent d'exécuter leur code dans un bac à sable, et Chrome de Google, qui a survécu au concours Pwn2Own sans être piraté, exécute le code dans un bac à sable.

Moore dit que les bacs à sable ont leurs limites. Les bacs à sable sont vraiment efficaces pour se protéger contre une vulnérabilité dans une application qui devient un exploit du système d'exploitation, dit-il, mais cela n'est utile que si les données que vous essayez de protéger ne sont pas accessibles. Dans de nombreux cas, le programme peut avoir besoin d'accéder à des données sensibles ou système, puis le bac à sable n'aide plus, dit-il.

En fin de compte, les fabricants de logiciels ont rendu leurs programmes plus difficiles à exploiter, explique Miller. Alors qu'il a trouvé près de 20 vulnérabilités dans des logiciels populaires, tels que des programmes créés par Adobe, Apple et Microsoft, moins d'une poignée pourrait être exploitée sur un système à jour, dit-il. C'est un compromis, admet Miller. Chaque fois que vous ajoutez l'une de ces (protections), cela ralentit le système ou rend le développement plus difficile. L'objectif est de rendre les logiciels difficiles à exploiter, et ils l'ont fait.



cacher