ARMv8.5 : un support matériel contre les bugs mémoires
Smartphones, IoT, IVI... : découvrez comment les futures générations de processeurs ARM permettront de durcir vos programmes contre les corruptions mémoires.
Contenu Premium
Ces articles techniques n'ont jamais fait l'objet d'une publication papier. Ils sont exclusivement disponibles sur ce site et réservés aux abonnés de la plateforme Connect.
Smartphones, IoT, IVI... : découvrez comment les futures générations de processeurs ARM permettront de durcir vos programmes contre les corruptions mémoires.
L’étude et la compréhension des buffer overflow datent de 1972, et leurs premiers usages documentés de 1988 [1]. Près de 50 ans plus tard, où en sommes-nous ? Il nous faut bien admettre que la situation est déprimante : Microsoft et Google reconnaissent chacun ([2], [3]) que près de 2/3 des attaques utilisent à un moment ou un autre une vulnérabilité mémoire. Le ver Morris, qui n’était au départ qu’une preuve de concept, avait quand même coûté la bagatelle de quelques millions de dollars à l’époque… Aujourd’hui, les coûts sont abyssaux : sur le plan financier bien sûr, mais aussi pour nos vies privées, voire nos vies tout court. Face à ce problème, de nombreuses approches sont possibles : analyse statique du code, instrumentation et vérification à l’exécution, langages « sûrs »… Je vous propose d’explorer dans cet article un vieux concept remis au goût du jour, les capabilities, et tout ce qu’elles pourraient nous permettre de faire.
Le fuzzing guidé par la couverture de code tel qu’AFL est une technique efficace pour la recherche de vulnérabilités. Cet article va présenter un nouveau type de fuzzing, le fuzzing dirigé, et ses applications pratiques au niveau du source et du binaire.
Les fonctions Serverless sont aujourd’hui une nouvelle tendance du cloud. Rapides et peu onéreuses, elles ne requièrent aucun entretien des infrastructures sous-jacentes par le client. Cependant, ce service entraîne un changement de modèle d’architecture, rendant les solutions de protection classiques inadaptées. Ce papier sensibilise aux nouvelles menaces du cloud et suggère différentes règles à suivre pour s’en prémunir.
« Attention, nouveau virus ! » Nombreux sont les articles à nous alerter régulièrement, par cette métonymie, sur l’émergence d’un nouveau malware. Pourtant, le terme de virus a-t-il encore un sens aujourd’hui ? Wannacry était-il un ver, ou un ransomware ? NotPetya, un wiper, ou bien un ver ? Et plus encore, au-delà de l’utilisation de termes et expressions se pose la question de la nécessaire catégorisation des incidents de cybersécurité ; pourquoi, comment, à quelles fins ? Essai (critique) de réponse.
Une fois n’est pas coutume, le sujet de ce dossier concerne une thématique avec une actualité « grand public » on ne peut plus récente : la percée significative des processeurs ARM dans le monde des ordinateurs personnels au travers de son adoption par la marque à la pomme pour sa nouvelle génération d’ordinateurs portables et fixes. Au-delà des promesses, plus de puissance avec une consommation moindre (certains résultats spécifiques sont impressionnants, en témoigne « Accelerating TensorFlow Performance on Mac » sur le blog officiel de TensorFlow), ce qui nous intéresse ici ce sont les questions de sécurité. Depuis quelques années maintenant, la course entre les techniques d’exploitation modernes et les contre-mesures associées voit un nouvel acteur intervenir : les extensions de sécurité matérielles.
Si beaucoup de technologies que nous utilisions il y a vingt ans sont toujours présentes, la typologie des menaces de même que leur perception par les utilisateurs et le grand public se sont profondément transformées.
On vous l’a dit et répété : Python est un langage à typage dynamique ! Ah... donc, on ne peut pas réaliser de surcharge de fonctions ou de méthodes ? Pour les débutants, on dira non, pour les autres, on peut toujours s’arranger avec Python...