adam121 - Fotolia

Développement : automatiser la prise en compte de la sécurité

Jean Yang, qui a créé le langage de développement Jeeves, explique que l’industrie doit améliorer sa prise en compte de la sécurité dans les applications.

Jean Yang en a assez des langages de développement vieillissants qui ne prennent pas correctement en compte les questions de sécurité et de confidentialité. Et elle entend ne plus supporter cela.

Doctorante au laboratoire d’informatique et d’intelligence artificielle du MIT, Yang a présenté Jeeves l’an passé, un langage de programmation qui applique automatiquement les règles de sécurité et de confidentialité. Lors d’une allocation à l’occasion de l’événement Privacy. Security. Risk. 2015, elle s’est montrée particulièrement critique à l’égard des langages traditionnels : « de mon point de vue de chercheur en langages de programmation, nous vivons encore dans les années 1970 ».

Et pour elle, le sujet est d’autant plus important que « le logiciel est au cœur de notre avenir », et à l’ère des voitures intelligentes et des maisons connectées, disposer d’applications dotées de règles de sécurité et de confidentialité robustes sera impératif. Reste que pour les faire appliquer, pour elle, « nous devons créer une culture de la sécurité et de la confidentialité ». Pas simple, mais Yang entend fortement contribuer à cela.

Dans un entretien avec SearchSecurity.com (groupe TechTarget), elle est revenue sur l’approche prise avec Jeeves et pourquoi les développeurs doivent s’assurer que les règles de sécurité et de confidentialité sont appliquées dans les langages de programmation existants : « ces langages n’aident pas les développeurs dans ce domaine. Il est problématique, par construction, d’ajouter ces règles aux langages de programmation existants ».

Sévère, Yang estime qu’il y a de nombreux « langages poubelles » dans l’industrie qui restent encore utilisés par les développeurs, malgré leurs lacunes évidentes. Et selon elle, cela ne fait qu’ajouter au problème parce que développer et gérer des règles de sécurité et de confidentialité pour des volumes de données de plus en plus importants est déjà un défi en soin : « la complexité dépasse le domaine du gérable. Ajouter cette pression sur le développeur alors qu’il ou elle travaille déjà aux contrôles de base est rude. Dès lors, les développeurs construisent d’abord les applications, puis pensent sécurité et confidentialité – si tant est qu’ils y pensent ».

Alors, pour Yang, Jeeves constitue une réponse directe à ces problèmes. Ce langage adopte une approche de « programmation agnostique de règles », où les développeurs peuvent affecter des règles directement aux données ; le reste du programme peut être écrit de manière agnostique de ces règles.

En d’autres termes, Jeeves permet aux développeurs d’écrire ces règles une fois ; le langage leur donne la possibilité d’appliquer ces règles automatiquement pour différents flux de données, sans qu’il soit nécessaire de réécrire manuellement ces règles ou de les appliquer encore et encore tout au long du code. En automatisant le processus, Jeeves renforce l’application des règles, mais réduit également le risque d’erreurs de programmation.

« Il y a de nombreux outils pour aider les développeurs à éviter les erreurs de programmation. Mais avec Jeeves, les règles sont inscrites dans le système et il n’est pas nécessaire d’y penser », explique Yang.

Plus généralement, Yang estime que les développeurs devraient appréhender la sécurité et la confidentialité de manière plus large, en particulier avec l’adoption croissante des services Cloud et des objets connectés, qui ouvrent de nouvelles avenues pour les flux d’information et les fuites potentielles : « le Cloud complique le développement logiciel », estime-t-elle ainsi, ajoutant que les entreprises doivent faire plus que simplement protéger les données ; elles doivent aussi protéger les métadonnées et les profils d’utilisation pour les services Cloud et Internet.

Au-delà, Yang estime qu’il est nécessaire de former les développeurs aux questions de cybersécurité. Mais si la sécurité du logiciel peut aujourd’hui sembler limitée, elle affiche un certain optimisme : « je ne pense pas que nous devions déprimer. Je suis assez optimiste au sujet de la sécurité du logiciel, parce que nous savons que c’est un problème et que beaucoup de personnes intelligentes y travaillent ».

Adapté de l’anglais.

Pour approfondir sur Gestion de la sécurité (SIEM, SOAR, SOC)