Connexion
Abonnez-vous

L’ANSSI publie ses règles pour le développement sécurisé de logiciels en langage C

L'ANSSI publie ses règles pour le développement sécurisé de logiciels en langage C

Le 01 juin 2020 à 09h24

C'est un enjeu réel pour ce langage de bas niveau, qui peut s'avérer parfois complexe lorsqu'il s'agit de faire la chasse aux failles. 

C'est d'ailleurs ce qui pousse même certains géants comme Microsoft à se pencher sur des initiatives plus modernes pour sa programmation système, comme Rust

Pour l'Agence, « C offre une grande liberté aux développeurs. Cependant, il comporte des constructions ambiguës ou risquées qui favorisent l'introduction d'erreurs lors du développement ». 

Il faut alors « définir des restrictions quant à l'utilisation du langage C afin d'identifier les différentes constructions risquées ou non portables et d'en limiter voire interdire l'utilisation », des pratiques que vient détailler son guide.

Le 01 juin 2020 à 09h24

Commentaires (10)

Vous devez être abonné pour pouvoir commenter.

Abonnez-vous
votre avatar

Très gros travail réalisé par le Laboratoire Sécurité du Logiciel de la sous-direction Expertise <img data-src=" />



Comme il est fait mention de Rust, il est à noter qu’un guide similaire est en cours de rédaction pour ce langage (par le même labo), de manière collaborative et ouverte, sur le GitHub de l’Agence :github.com GitHub

votre avatar

Est-ce qu’il existe le même genre de référentiel pourJava et .Net ?

votre avatar







PSXBH a écrit :



Très gros travail réalisé par le Laboratoire Sécurité du Logiciel de la sous-direction Expertise <img data-src=" />



Comme il est fait mention de Rust, il est à noter qu’un guide similaire est en cours de rédaction pour ce langage (par le même labo), de manière collaborative et ouverte, sur le GitHub de l’Agence :github.com GitHubJe me permets de vous notifiez car @Paul Muad’Dib vous a posez une question et votre réponse (notamment pour Java) m’interresse énormément :).


votre avatar

LOL le C a été abandonné depuis 30 ans pour le C++ !

votre avatar







Witcher a écrit :



LOL le C a été abandonné depuis 30 ans pour le C++ !





Ah bon, il n’y a eu que le C89 ? Première nouvelle !!

Il y a pourtant eu une révision en 1999 (C99) et une en 2011 (C11) et une nouvelle est à venir dans quelques années prénommée pour l’instant C2x (sans parler des versions “bugfix”/mineures C95 et C17…).



Le C est encore utilisé dans de nombreux domaines. J’en fais tous les jours au travail…



Oups, j’ai feed le troll <img data-src=" />


votre avatar

Le C est des langages les plus utilisés au monde encore aujourd’hui. Il est très présent dans l’embarqué et l’informatique industrielle ainsi que dans le monde Unix/Linux.

votre avatar







Paul Muad’Dib a écrit :



Est-ce qu’il existe le même genre de référentiel pourJava et .Net ?









darkweizer a écrit :



Je me permets de vous notifiez car @Paul Muad’Dib vous a posez une question et votre réponse (notamment pour Java) m’interresse énormément :).







Hello,



Il existe un équivalent pour Java, publiée par le CERT-CC, donc pas directement par l’ANSSI (à ma connaissance ils ne travaillent que sur le guide C et Rust actuellement, en plus d’un guide Ocaml publié dans le cadre du projet LaFoSec)



Le guide Java est disponible ici :

https://wiki.sei.cmu.edu/confluence/display/java/SEI+CERT+Oracle+Coding+Standard…



Le CERT-CC maintient également un guide C et C++ (dont le guide ANSSI est inspiré, et pour lequel vous pouvez retrouver une correspondance des règles quand celles-ci existent dans les deux guides).



Pour .NET, Microsoft maintient quelques bonnes pratiques ici :

docs.microsoft.com Microsoft



Mais c’est plus light que le guide ANSSI ou CERT-CC, malheureusement…


votre avatar

C’est justement dans le domaine de l’embarqué que je l’emploie tous les jours au travail <img data-src=" /> On compile en C99 et on a également un paquet de règles de codage comme celles dictées par l’ANSSI dans son document.

votre avatar







PSXBH a écrit :



Hello,



Il existe un équivalent pour Java, publiée par le CERT-CC, donc pas directement par l’ANSSI (à ma connaissance ils ne travaillent que sur le guide C et Rust actuellement, en plus d’un guide Ocaml publié dans le cadre du projet LaFoSec)



Le guide Java est disponible ici :

https://wiki.sei.cmu.edu/confluence/display/java/SEI+CERT+Oracle+Coding+Standard…



Le CERT-CC maintient également un guide C et C++ (dont le guide ANSSI est inspiré, et pour lequel vous pouvez retrouver une correspondance des règles quand celles-ci existent dans les deux guides).



Pour .NET, Microsoft maintient quelques bonnes pratiques ici :

docs.microsoft.com Microsoft



Mais c’est plus light que le guide ANSSI ou CERT-CC, malheureusement…







<img data-src=" />


votre avatar

Don’t feed the troll :)

Autant je préfèry largement le C++ au C, autant ce dernier a de beaux jours devant lui…

L’ANSSI publie ses règles pour le développement sécurisé de logiciels en langage C

Fermer