Les développeurs ignorent-ils trop les failles découvertes dans leur code ?
Prenez-vous en compte les remarques des autres ?

Les rubriques (actu, forums, tutos) de Développez
Tags
Réseaux sociaux


 Discussion forum

Le , par Hinault Romaric, Responsable Actualités
Les applications pendant leur cycle de vie sont le plus souvent sujettes à des bugs ou des failles de sécurité dues à des erreurs de programmation, des dysfonctionnements, etc.

Ces bugs et failles sont couramment découverts par d’autres tiers (experts en sécurité, testeurs, etc.) qui se chargent de décrire la faille, les risques et les conséquences que peut avoir une exploitation de celle-ci, ainsi que la fonction qui est à l’origine de la défaillance.

Face à de telles situations, le développeur doit le plus souvent essayer de mettre sur pied en fonction du degré de vulnérabilité un correctif de sécurité.

Cependant, il s’avère que souvent, le développeur ne s’aligne pas avec le rapport de l’expert en sécurité, affirme que les propositions faites par celui-ci sont inacceptables, ferme les yeux sur certaines failles en supposant qu’elles ne peuvent pas être exploitées ou qu’elles ne sont pas critiques, etc.

Un cas pareil pour l’application Calibre, un logiciel d’e-book libre et open source, qui organise, enregistre et gère les e-books sur plusieurs formats a attiré note attention.

Plusieurs vulnérabilités ont été découvertes et soumises au développeur du projet dans « calibre SUID mount helper », pouvant entrainer la suppression de n’importe quel répertoire vide sur le système, la création des répertoires root, la création et la suppression de « user_controlled _dir/.created_ by_calibre_ mount_helper » n’importe ou sur le système de fichier, la possibilité d’exécuter n’importe quel programme comme root.

Au lieu d’essayer de travailler de commun accord avec celui ayant soumis le rapport, le développeur du projet trouve dans un premier temps que certaines vulnérabilités ne sont pas des failles de sécurité, ou qu’elles ne peuvent pas être exploitées. Bref qu’elles ne sont d'aucunes importance.

Ensuite, il trouve que les mesures d’atténuation proposées par celui-ci sont inacceptables, et que finalement la menace (qui permet à des utilisateurs sans privilèges d’avoir un accès root) n’est pas critique.

Une telle situation et le nombre d’applications dont les versions s’enchainent souvent avec des failles de sécurité qui avaient déjà été découvertes ou qui ont été corrigées uniquement dès lors que la vulnérabilité et la preuve de réalisation (PoC) ont été divulguées publiquement, nous pousse à nous demander comment le développeur prend-il en compte le rapport des failles sur son programme ? Comment les classifie-t-il et fait-il appel à celui ayant découvert la faille pour apporter un correctif ?

Le rapport de failles sur Calibre et les échanges avec le développeur du projet


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de ZeRevo ZeRevo
http://www.developpez.com
Membre confirmé
le 22/02/2012 23:10
C'est un manque de connaissance et pas d'imcompétence. Les informaticiens en général ne sont pas assez sensibilisé et formé à la sécurité.
Avatar de sybil sybil
http://www.developpez.com
Inactif
le 22/02/2012 23:19
Les developpeurs ignorent tout, ils passent leur vie devant un écran
Avatar de alex_vino alex_vino
http://www.developpez.com
Membre Expert
le 23/02/2012 0:09
Microsoft, Adobe, ... sont tous dans le meme cas, car parfois colmater une faille répercute des erreurs sur des fonctions sous-jacentes, tout a retester...

Cela coute beaucoup plus cher que développer, et puis aucun logiciel n'est parfait (non pas a cause des developpeurs mais a cause de la nature humaine qui est faite ainsi), donc ce qui est vrai aujourd'hui pourra etre faux demain.

Je ne connaissais pas ce logiciel, mais d'apres l'article c'est un mec seul qui l'a réalisé, alors bon je pense qu'il a aussi d'autes chat a fouetter, surtout que son application est gratuite. Je serais plutot de l'avis pour dire que c'est une faille dans le systeme d'exploitation.

Bon concernant les autres cas avérés je ne parle pas de Siemens, du FBI et encore moins de Symantec...
Avatar de coshibe coshibe
http://www.developpez.com
Membre éclairé
le 23/02/2012 8:47
Citation Envoyé par pcdwarf  Voir le message
Les décideurs ont tendance à vouloir une sécurité à toute épreuve mais refusent de se soumettre à des contrôles contraignants.

Généralement on commence par demander une super porte blindée avec plusieurs serrures sécurités et alarmes. Et puis avec le temps on se rends compte que c'est quand même pénible de taper le digicode 20 fois par jours pour faire sortir ou rentrer le chat qui miaule devant la porte. Alors au bout de 6 mois on demande d'y ajouter une chatière.

Les chatières, le fléau des développeurs. Quand on arrive à livrer une application aussi sécurisée que ce qu'ils demandent tres souvent on recoit un mail quelques mois plus tard parce que l'application est penible d'utilisation et qu'il faut alléger tout ca. Ou alors on nous appelle parce que l'application bug et on s'apercoit que l'utilisateur en voulant contourner la sécurité(qu'il avait demandé) a tout fait planter...

Donc après il faut voir les risques encourus en fonction des données de l'entreprise, son domaine , sa taille, prevoir une sauvegarde back up et aviser... Ce qui m'intéresserait c'est de connaitre le nombre d'entreprises victimes de telles attaques.
Avatar de deathness deathness
http://www.developpez.com
Expert Confirmé
le 23/02/2012 9:13
Citation Envoyé par ZeRevo  Voir le message
C'est un manque de connaissance et pas d'imcompétence. Les informaticiens en général ne sont pas assez sensibilisé et formé à la sécurité.

Je suis assez d'accord. La plupart des personnes n'ont par exemple jamais eu de formation sur comment parer les attaques par injections SQL.

Alors qu'avec une simple formation d'une demi-journée une personne pourrait apprendre à parer les attaques les plus communes.

J'ai remarqué que bien souvent on nomme une personne experte en sécurité qui est chargé de la sécurité de tout le bordel, et on dit aux autre "vous en préoccupez pas c'est lui qui sait faire!"
Avatar de pmithrandir pmithrandir
http://www.developpez.com
Expert Confirmé
le 23/02/2012 9:17
Si on résume, dans l'exemple, on peut :
- supprimer des dossiers vides : la belle affaire
- créer des dossier en root, mais on ne parle pas de création de fichier... pas vraiment super critique non plus (pas de pertes de données)

Ca vous parait prioritaire ? Au point de travailler des heures dessus, de risquer de tout casser, etc ?

Quand on voit que 80% des projets peuvent se permettre de ne pas être actif pendant 2 heures, que personne n'a besoin de les pirater(ce n'est ni un challenge, ni profitable), et qu'en 10 minutes on a remis une nouvelle vm toute propre pour supprimer les conneries introduites par un tiers...

Pourquoi travailler des heures pour sécuriser ce type d'application ?

A la rigueur, lorsque l'on permet de lire des fichiers, de creer des fichiers(ce qui permet entre autre de remplir le disque, ou de tester les fichiers existants), je comprends que ca soit chiant et dangereux, mais la on est sur du petit qui semble pas bien grave... surtout qui s'applique a un smartphone perso(ou ebook reader) donc sans grande conséquences...
Avatar de spyserver spyserver
http://www.developpez.com
Membre confirmé
le 23/02/2012 10:44
Tout dépend dans quel contexte on se situe, à défaut de parler d'incompétence, je dirais que surtout il faudrait laisser plus de temps pour concevoir et produire du code de qualité, la plupart du temps c'est bien ça la cause du pb même, ds la plupart des boites, les demandeurs ne sont pas du tout techos et demandent de dev tout et n'importe quoi sans vraiment tenir compte de la faisabilité technique... mais c'est sur il y a clairement des lacunes pour certains d'entre nous sur les fondamentaux.
Avatar de Freem Freem
http://www.developpez.com
Expert Confirmé
le 23/02/2012 11:31
Je pense qu'il y a effectivement un certain laxisme sur la sécurité.
Par contre, je ne pense pas qu'il soit dû uniquement aux développeurs:
_ ceux-ci, en entreprise, ne se voient pas toujours accorder le temps de faire du travail propre
_ ceux-ci ne sont pas forcément formés aux problématiques de sécurité (allez, souvenir de bts: on apprends au gens à utiliser scanf quand ils maîtrisent à peine les pointeurs. Sauf qu'on apprend jamais aux gens que cette fonction est d'une puissance extrême, et peut supporter les regex pour, entres autres, sécuriser la lecture des données et éviter le buffer overflow. De mémoire - ça remonte quand même - il me semble aussi qu'on utilisait gets()...)
_ la sécurité d'un logiciel dépend de celle de l'OS sur lequel il est installé: Calibre, par exemple, est portable. Les failles reportées sont valables sous tous les OS? J'en doute. Du coup, est-ce vraiment la faute du dev du soft, ou de ceux qui ont fait les outils dont il se sert? Ou des chefs de ceux-ci? On peut remonter loin comme ça.
_ la sécurité est l'affaire de tous. Un utilisateur qui désactive l'antivirus pénible (et pourri parfois) est une faille plus grande que le dev qui laisse un trou.

Et pour taper sur l'expert qui a trouvé les failles de Calibre: c'est un logiciel open-source, développé sur le temps libre, probablement, et ouvert aux contributions. Si l'expert avait soumis un patch, peut-être aurait-il été intégré?

Après, je pense aussi que certains dev s'en foutent. Mais je ne suis pas persuadé que ces dev aient été formés/sensibilisés de toute façon, ce qui implique que même s'ils s'en foutaient pas, ils n'y pourraient rien.
Avatar de abriotde abriotde
http://www.developpez.com
Membre éclairé
le 23/02/2012 11:58
La vérité c'est un problème de temps et de pressions externes. N'importe quel développeurs peut sécurisé son applis la tester à fond... à condition d'avoir le temps. En général on lui signale 5 problème par jours en plus des nouvelles demandes... Il est obligé de faire un choix alors la petites évols du casse pied passe en dernier et la faille de sécurité encore après. Surtout qu'il faut rappeler que corriger une faille de sécurité c'est risquer d'introduire des bugs et des mécontentements parce que "ça marche plus, il y a plus le bouton" alors qu'il à juste été décalé d'1 cm ou qu'il faut attendre 3 secondes de plus.
Avatar de martopioche martopioche
http://www.developpez.com
Membre éprouvé
le 23/02/2012 12:08
Pour rebondir sur certains commentaires, j'ai personnellement découvert Calibre il y a quelque mois quand je cherchais un outil pour gérer mes eBooks (pdf et ePub). Un collègue adepte des liseuses m'a après dit qu'il s'agissait d'une référence dans le domaine. Et il y a de quoi. Mis à part qu'il est écrit dans le meilleur langage au monde, Python évidemment , il est surtout assez bien pensé : fonctionnement par bibliothèques qui sont des arborescences de fichiers, des bases SQLite dédiées (donc vous voulez faire un backup ou un déplacement, vous ne déplacez que le répertoire), multiplateformes (Windows, Linux, MacOs, même une version portable - donc synchro des bibliothèques possible) mais surtout avec des installateurs dédiés (msi, dmg...), connectivité aux liseuses, même à iTunes, récupération des infos sur le web, serveur web embarqué...

Bref, c'est pas la promo que je veux en faire là, mais souligner qu'il y a un vrai boulot derrière, avec une animation de communauté (Facebook, Twitter, etc...).

Alor le projet en lui même est ouvert (sources dispo), et les contributeurs sont acceptés. Mais j'ai l'impression qu'il s'agit de contributions ponctuelles, et que l'auteur est le seul "régulier".

Comme certains l'ont souligné, on compare souvent notre métier d'"Informaticien" au "Batiment", mais autant on accepte qu'il y ai des maçons, des électriciens, des plombiers, autant on a du mal à voir cette granularité dans notre métier. Je n'ai pas lu les 110 échanges du bug en question. Mais il me semble que non seulement des correctifs ont été tenté, mais aussi également que l'auteur n'a pas forcément une vision des conséquences à ce niveau. Mais l'auteur de l'article aurai pu souligner que Calibre étant ouvert, n'importe qui peut soumettre un patch. Et j'ai bien eu l'impression en survolant les posts que beaucoup d'énergie à été dépensée à démontrer la faiblesse plutôt qu'à la patcher...

Bref, on ne peut pas dire que les failles ont été ignorées, mais pour les cas des logiciels ouverts, la question est plutôt : comment le développeur peut il (ou "devrait-il") gérer un cas qu'il ne sait pas faire...
Avatar de cylere cylere
http://www.developpez.com
En attente de confirmation mail
le 24/02/2012 11:33
Si un développeur sait qu'un fichier exécutable de type 'root' donne les droits administrateur (tout pouvoir sur la machine), alors il doit pouvoir imaginer que c'est dangereux.

Pas pour son application bien ou mal codée, ni pour les fichiers qu'il manipule, mais pour son compte en banque, ou celui de tout utilisateur de son programme.

Un programme pirate peut très bien lancer un utilitaire qui capture les mots de passe à partir des touches claviers, récupérer l'URL affichée et le nom du login, et même faire tourner un démon qui attend les authentifications.

Alors pirate sans le savoir, complice par négligence?

Internet est devenu un monde hostile.
Les préconisations de sécurité s'apprennent avant de coder, avant de publier.

Et elles sont de toute nature, concernent l'ensemble machine - progiciels - programmes.

Il a beaucoup de développeurs très contents de faire du beau code, de belles pages, qu'ils prennent garde à la judiciarisation de la société.

Qu'ils affichent au moins que leur code n'est pas sécurisé et demande à l'utilisateur de vérifier l'origine des fichiers manipulés par leur programme,
... surtout si cela leur a été signalé, car alors il n'y a pas d'excuse.
Offres d'emploi IT
Developpeur php symfony2
Mission
TalentFair - Ile de France - Paris (75000)
Parue le 06/10/2014
Lead développeur php
CDI
Job4geek - Ile de France - Paris (75000)
Parue le 20/10/2014
Analyste d'exploitation
CDI
AMETIX - Ile de France - La Défense
Parue le 15/10/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula