Developpez.com

Le Club des Développeurs et IT Pro

Microsoft veut aider les développeurs à écrire des codes plus sûrs

Et publie un modèle pour Visual Studio et un paper

Le 2010-02-03 13:11:30, par Gordon Fowler, Expert éminent sénior
Microsoft vient de publier son traditionnel rapport de sécurité, le Microsoft’s Security Intelligence Report.

Il en ressort que sur les 6 premiers mois de 2009, 19% des vulnérabilités se trouvent dans les navigateurs. Parmi les autres (soit 81%), au total 5 % seulement concerneraient des produits de Microsoft.

David Ladd, un des principaux responsables en charge des problèmes de sécurité à Redmond, note que pour ses autres confrères développeurs d'applications "jusqu'ici, la sécurité n'a pas été une priorité" par rapport au développement de nouvelles fonctionnalités de l'amélioration des ergonomies. "Ce n'est pas une critique, c'est juste un impératif commercial".

Mais les clients, de plus en plus conscients de ces impératifs, commencent à donner une place importante à la sécurité dans leurs cahiers des charges. Avec Windows, l'OS le plus populaire au monde, Microsoft a toujours été une cible privilégiée pour les hackers et entend faire partager son expertise.

Depuis les années 90, la société a créé un groupe de réflexion, le Microsoft’s Trustworthy Computing (TwC). Une des premières missions du TwC a été de publier un process de développement pour minimiser le nombre de vulnérabilités dans les applications : ce Security Development Lifecycle (SDL)

Depuis 2004, ce SDL est appliqué dans la conception de tous les produits Microsoft.

En 2008, Redmond a décidé de rendre public son "guide de bonnes pratiques pour l'industrie logiciel" en proposant quatre outils de développement : un outil de modélisation des menaces, le Minifuzz file fuzzer, l'analyseur de binaires Binscope, et le SDL Process Template du Visual Studio Team System. "En partageant ce que nous avons appris notre but est d'accélérer le processus d'apprentissage de tous les développeurs".

Continuant sur sa lancée, Microsoft vient de présenter de nouveaux outils lors du Black Hat de Washington.

L'objectif, cette fois-ci, est de rendre les outils SDL plus simples d'utilisation pour aussi bien pour les groupes internationaux que pour les PME de quelques développeurs. Pour ce faire, un document de 18 pages, intitulé “Simplified Implementation of the Microsoft SDL", est disponible au téléchargement sur le Microsoft Download Center.

Microsoft souligne que ce processus, spécialement imaginé pour s'intégrer dans les méthodes Agiles, n'est pas cantonné à Windows ou à ses produits maisons.

Mais Redmond ne s'arrête pas là. La beta d'un Template pour VisualStudio 2008 vient également d'être mis à la disposition des développeurs. La version pour VisualStudio 2010 est également prévue dès que ce dernier sera finalisé.

Depuis hier, le paper de 18 pages est disponible ici, tout comme le Template pour VS2008.

Source : le site officiel du SDL

Lire aussi

Les Rubriques (news, tutos, forums) de Developpez.com :

Windows
.NET
Conception
Sécurité

Et vous ?

Que pensez-vous des méthodes et des outils SDL proposés par Microsoft : efficaces ou inadaptés ?
Êtes-vous d'accord avec David Ladd quand il dit que jusqu'ici la sécurité n'a pas été une priorité pour les développeurs d'applications par rapport à la création de nouvelles fonctionnalités ou l'amélioration des ergonomies ?
  Discussion forum
16 commentaires
  • dams78
    Membre expert
    C'est cool ils vont pouvoir l'utiliser pour les prochaines version de Windows .
    Sinon je trouve ça bien comme approche, mais c'est une peu déplacer le faute sur les développeurs, je trouve...
    Envoyé par Gordon Fowler 
    [B][SIZE="4"] Que pensez-vous des méthodes et des outils SDL proposés par Microsoft : efficaces ou inadaptés ?

    J'ai pas assez de connaissances en la matière pour me prononcer, mais c'est une bonne chose qu'ils en prennent conscience de la sécurité je pense.

    Envoyé par Gordon Fowler 
    [B][SIZE="4"] Êtes-vous d'accord avec David Ladd quand il dit que jusqu'ici la sécurité n'a pas été une priorité pour les développeurs d'applications par rapport à la création de nouvelles fonctionnalités ou l'amélioration des ergonomies ?

    Tout dépend de quelles applications on parle...
  • bubulemaster
    Membre éclairé
    Envoyé par Gordon Fowler

    Êtes-vous d'accord avec David Ladd quand il dit que jusqu'ici la sécurité n'a pas été une priorité pour les développeurs d'applications par rapport à la création de nouvelles fonctionnalités ou l'amélioration des ergonomies ?
    C'est pas totalement faux. Disons, aussi que la sécurité saute moins aux yeux que l'ergonomie.
    Heureusement, certains projets (Firefox par exemple) font les deux. Mais leurs cycle de développement est plus long (ce qui n'est pas un mal, ça évite de passer ses journées à faire des mises à jour).
  • jmnicolas
    Membre éprouvé
    Envoyé par travon
    Et y s'en servent eux au moins, parce que on dirait pas !!!
    Troll bas de gamme : ça fait longtemps que Microsoft ne sort plus des OS passoires (depuis XP SP2 en fait).

    Bien sûr qu'il y a encore des vulnérabilités, mais amha ils ont largement rattrapé la concurrence.
  • dams78
    Membre expert
    Envoyé par jmnicolas
    Troll bas de gamme : ça fait longtemps que Microsoft ne sort plus des OS passoires (depuis XP SP2 en fait).

    Bien sûr qu'il y a encore des vulnérabilités, mais amha ils ont largement rattrapé la concurrence.
    Oué enfin d'autre côté depuis XP ya eu quoi? Vista qui a vite été remplacé par Seven, et ceci il y a peu, donc bon...
  • smyley
    Expert éminent
    Envoyé par Gordon Fowler

    Êtes-vous d'accord avec David Ladd quand il dit que jusqu'ici la sécurité n'a pas été une priorité pour les développeurs d'applications par rapport à la création de nouvelles fonctionnalités ou l'amélioration des ergonomies ?
    Personnellement oui. Autant dans les beaux cours magistraux on fait de belles théories sur les "bonnes pratiques" et on a des jolis papiers sur la sécurité "en général", autant en pratique, j'ai souvent vu des codes à bidouillage actif et fonctionnement étrange.

    Le but premier c'est "ça compile". Le deuxième c'est "ça fait ce qu'on attend de lui si tout va bien". Et après, bizarrement, ça livre ...
  • pseudocode
    Rédacteur
    Il en ressort que sur les 6 premiers mois de 2009, 19% des vulnérabilités se trouvent dans les navigateurs. Parmi les autres (soit 81%), au total 5 % seulement concerneraient des produits de Microsoft.
    ?

    De quelles vulnérabilités ils parlent. Non parce que, pour moi, pouvoir prendre le contrôle d'un PC a distance c'est une vulnérabilité de l'OS... quand bien même l'attaque se fait via une application tierce qui tourne dessus.

    A moins de faire une application explicitement concue pour prendre le contrôle (comme un "bureau distant", je ne vois aucune raison pour que l'OS soit compromis. non ?
  • Skyounet
    Expert éminent sénior
    Envoyé par pseudocode
    ?

    De quelles vulnérabilités ils parlent. Non parce que, pour moi, pouvoir prendre le contrôle d'un PC a distance c'est une vulnérabilité de l'OS... quand bien même l'attaque se fait via une application tierce qui tourne dessus.
    Il y a des OS qui savent se protéger des buffer overflows ? (c'est une vraie question).
  • pseudocode
    Rédacteur
    Envoyé par Skyounet
    Il y a des OS qui savent se protéger des buffer overflows ? (c'est une vraie question).
    Les buffer overflows, c'est toujours possible avec des langages comme le C.

    Mais empecher que des octets injectés par buffer-overflow se transforment en code valide, que ce code soit exécuté, et qu'il permette d'outrepasser les droits de l'application originale, et par là prendre le contrôle de l'OS... Désolé, mais pour moi c'est de la responsabilité de l'OS de ne pas permettre que tout cela arrive.

    Tout comme il y a l'isolation des zones mémoire entre les processus, il devrait aussi y avoir une isolation des fonctionnalités accessibles. Un peu ce que fait SE-Linux.

    Ou dans un autre esprit, Singularity.
  • atha2
    Membre éprouvé
    Envoyé par Skyounet
    Il y a des OS qui savent se protéger des buffer overflows ? (c'est une vraie question).
    oui :
    http://www.developpez.net/forums/d79...ipe-recherche/

    après peut-on vraiment parler d'OS, c'est une autre question...
  • smyley
    Expert éminent
    Envoyé par pseudocode

    Mais empecher que des octets injectés par buffer-overflow se transforment en code valide, que ce code soit exécuté, et qu'il permette d'outrepasser les droits de l'application originale, et par là prendre le contrôle de l'OS... Désolé, mais pour moi c'est de la responsabilité de l'OS de ne pas permettre que tout cela arrive.
    C'est pas le rôle du DEP justement ?