Vous n'avez pas encore de notification

Page d'accueil

Options d'affichage

Abonné

Actualités

Abonné

Des thèmes sont disponibles :

Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

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

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.

10 commentaires
Avatar de PSXBH Abonné
Avatar de PSXBHPSXBH- 01/06/20 à 09:11:42

Très gros travail réalisé par le Laboratoire Sécurité du Logiciel de la sous-direction Expertise :chinois:

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 :https://github.com/ANSSI-FR/rust-guide

Édité par PSXBH le 01/06/2020 à 09:12
Avatar de Paul Muad'Dib Abonné
Avatar de Paul Muad'DibPaul Muad'Dib- 01/06/20 à 18:30:26

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

Avatar de darkweizer Abonné
Avatar de darkweizerdarkweizer- 01/06/20 à 20:59:34

PSXBH a écrit :

Très gros travail réalisé par le Laboratoire Sécurité du Logiciel de la sous-direction Expertise :chinois:

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 :https://github.com/ANSSI-FR/rust-guide

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 :).

Avatar de anonyme_f3cfc6423586ba6bed42154d795b2b3f INpactien

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

Avatar de Elioty Abonné
Avatar de EliotyElioty- 01/06/20 à 22:10:51

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 :fumer:

Avatar de millman42 Abonné
Avatar de millman42millman42- 02/06/20 à 07:42:31

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.

Avatar de PSXBH Abonné
Avatar de PSXBHPSXBH- 02/06/20 à 12:48:46

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 :
https://docs.microsoft.com/en-us/dotnet/standard/security/secure-coding-guidelin...

Mais c'est plus light que le guide ANSSI ou CERT-CC, malheureusement...

Édité par PSXBH le 02/06/2020 à 12:49
Avatar de Elioty Abonné
Avatar de EliotyElioty- 02/06/20 à 21:47:08

C'est justement dans le domaine de l'embarqué que je l'emploie tous les jours au travail :yes: 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.

Avatar de Paul Muad'Dib Abonné
Avatar de Paul Muad'DibPaul Muad'Dib- 03/06/20 à 09:45:23

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 :
https://docs.microsoft.com/en-us/dotnet/standard/security/secure-coding-guidelin...

Mais c'est plus light que le guide ANSSI ou CERT-CC, malheureusement...

:inpactitude:

Avatar de Salamandar Abonné
Avatar de SalamandarSalamandar- 07/06/20 à 20:46:03

Don't feed the troll :)
Autant je préfèry largement le C++ au C, autant ce dernier a de beaux jours devant lui...

Il n'est plus possible de commenter cette actualité.