En 2020, Google a identifié que plus de 70 % des visites de son navigateur Chrome graves bugs de sécurité étaient en fait causés par des problèmes de sécurité de la mémoire.
« C’est-à-dire », a déclaré l’équipe Chrome, « des erreurs avec les pointeurs dans les langages C ou C++ qui entraînent une mauvaise interprétation de la mémoire. »
En 2022, le La NSA est intervenue sur la sécurité de la mémoire avec Neal Ziring, son directeur technique de cybersécurité, affirmant que « les problèmes de gestion de la mémoire sont exploités depuis des décennies et sont encore bien trop courants aujourd’hui. Nous devons systématiquement utiliser des langages sécurisés pour la mémoire et d’autres protections lors du développement de logiciels afin d’éliminer ces faiblesses des cyber-acteurs malveillants.
Mais ce n’était pas la fin du problème. Mémoire sécurisée langages de programmation ont continué à être sous les projecteurs. En février de cette année, le Bureau du National Cyber Director (ONCD) de la Maison Blanche aux États-Unis a a publié un rapport conseillant que tous les programmeurs devraient passer à des langages de programmation sécurisés en mémoire.
5 métiers à découvrir cette semaine
- Cybersecurity Coordinator France M/F, MBDA France, Le Plessis-Robinson
- Data Scientist (F/H), Novencia, Lyon
- Architecte logiciel, GDV Service GmbH, Hambourg
- Développeur de logiciels, InTraffic, Utrecht
- Architecte logiciel, Capgemini, Eindhoven
Le rapport souligne que la charge de la protection contre les menaces de cybersécurité incombe actuellement aux utilisateurs finaux et que « des efforts doivent être faits pour éliminer de manière proactive des catégories entières de vulnérabilités logicielles ».
Le rapport précise que « les experts ont identifié quelques langages de programmation qui manquent de caractéristiques associées à la sécurité de la mémoire et qui sont également très répandus dans les systèmes critiques, tels que C et C++ ».
La sécurité de la mémoire est plus que jamais importante, car une grande partie de ce que nous faisons se passe en ligne. La pandémie a accéléré l’adoption rapide du commerce électronique, des paiements en ligne et de la publicité numérique, selon le rapport. Forum économique mondial.
En conséquence, il existe beaucoup plus de vulnérabilités potentielles à exploiter. Débordement de pile souligne que certains des événements de vulnérabilité les plus importants du passé étaient des problèmes de sécurité de la mémoire.
Ceux-ci incluent ceux de 2014 Saignement de cœurqui a affecté le logiciel OpenSSL permettant à des acteurs malveillants de voler des certificats X.509, des noms d’utilisateur et des mots de passe, des messages instantanés et des e-mails. En 2017, le Je veux pleurer L’attaque de ransomware a suscité une attention considérable à mesure qu’elle s’est propagée à l’échelle mondiale, infectant plus de 230 000 ordinateurs.
Un nouveau Sécurité des consommateurs et criminalité financière Le rapport de Revolut désigne les plateformes Meta comme la plus grande source de toutes les escroqueries (62 %) dans le monde au cours du premier semestre 2024. Revolut a identifié que Facebook avait des volumes de fraude (39 %) qui étaient plus du double de ceux de WhatsApp (18 %).
Rendre le C++ sûr
Des langages sécurisés pour la mémoire existent et incluent Rust, Go, Java, Swift et Python. Le C++ fait l’objet d’une surveillance particulière en raison de la quantité de code critique qui y a été écrit.
Compte tenu du contexte, il n’est pas si surprenant que la communauté C++ ait réagi en annonçant le Extensions C++ sécurisées proposition en septembre de cette année. Le travail est effectué via la C++ Alliance, et son président et directeur exécutif Vinnie Falco a déclaré qu’il s’agissait « d’une proposition révolutionnaire qui ajoute des fonctionnalités de sécurité de la mémoire au langage de programmation C++ ».
Falco a ajouté que : « le besoin d’un code sécurisé n’a jamais été aussi pressant. Avec l’importance croissante de la sécurité et de la fiabilité des logiciels, développeurs sont confrontés à une pression croissante pour adopter des pratiques de codage plus sûres. Les extensions Safe C++ visent à répondre à ce besoin critique en introduisant de nouvelles fonctionnalités qui évitent les erreurs courantes liées à la mémoire.
Alors, est-ce que cela résoudra le problème ? Certains critiques sont sceptiques, et le développeur de la C++ Alliance, Sean Baxter souligne que:
« Il n’existe qu’un seul langage populaire au niveau des systèmes/sans garbage collection qui offre une sécurité rigoureuse de la mémoire. C’est le langage Rust. Bien qu’ils jouent dans le même espace, C++ et Rust ont des conceptions différentes avec une capacité d’interopérabilité limitée, ce qui fait de la migration incrémentielle de C++ vers Rust un processus fastidieux.
Un certain nombre d’actions sont suggérées pour garantir un code C++ performant, notamment interdire aux développeurs d’écrire des opérations susceptibles d’entraîner des comportements non définis en matière de sécurité à vie, de sécurité de type ou de sécurité des threads.
De plus, il existe d’autres défis, Baxter soulignant que « bien qu’ils jouent dans le même espace, C++ et Rust ont des conceptions différentes avec une capacité d’interopérabilité limitée, ce qui fait de la migration incrémentielle de C++ vers Rust un processus fastidieux. »
Déplacer le code vers l’état de sécurité en mémoire sera fastidieux et prend du temps, mais le Agence des Projets de Recherche Avancée de Défense (DARPA) cherche à combler cette lacune en utilisant l’IA. Elle développe un véhicule de conversion de code programmatique appelé TRACTOR (Translating All C TO Rust).
Il indique que « l’objectif est d’obtenir la même qualité et le même style qu’un développeur Rust qualifié produirait, éliminant ainsi toute la classe de vulnérabilités de sécurité de la mémoire présentes dans les programmes C ».
Prêt à trouver votre prochain rôle logiciel ? Vérifier Le prochain site d’emploi Web
Source link