web-dev-qa-db-fra.com

Accès à la base de code dans les grandes entreprises

Je me demande comment les grandes entreprises gèrent l'accès à leur base de code à partir de leurs développeurs. Afin de sécuriser leur code, permettent-ils à leurs développeurs d'avoir accès à l'intégralité de la base de code ou uniquement à des sous-projets particuliers pour éviter de voler la base de code entière?

Par exemple, si une entreprise compte 10 développeurs, doit-elle mettre en place des politiques de contrôle d'accès, afin que chaque développeur n'ait accès qu'à un module particulier dont il a besoin pour développer?

Dans l'affirmative, veuillez me faire savoir comment y parvenir.

[Modifié]: Comme prévu, la source du code a été prise par l'un des développeurs et vendue à quelqu'un, elle a été réalisée par des développeurs de confiance pour ceux qui disent que la confiance est indispensable.

24
Petr

Dans toute entreprise gérée de manière saine, un développeur obtient généralement un accès complet au code source de tout projet sur lequel il travaille.

La raison en est que les avantages de la publication de parties du code sur la base d'un strict besoin de savoir ne valent pas les tracas bureaucratiques et l'énorme perte de travail qu'elle crée pour les développeurs.

  1. Les développeurs ne peuvent pas travailler sans voir l'ensemble de l'image. Je suis un développeur de logiciels professionnel qui travaille dans une équipe qui gère un énorme système. La plupart des problèmes que je suis chargé de résoudre sont des bogues qui pourraient se trouver dans n'importe quelle partie du système. J'ai besoin du code source complet pour savoir d'où vient le bogue et comment le corriger. Je ne serais pas en mesure de faire ce travail si je devais remplir un formulaire et attendre l'approbation de la direction avant de pouvoir regarder certains des modules qui pourraient ont quelque chose à voir avec ça.
  2. Les bons développeurs de logiciels ne poussent pas sur les arbres. Ils sont difficiles à remplacer et peuvent facilement trouver un emploi ailleurs. Pour obtenir et conserver les meilleurs talents, vous devez bien traiter vos développeurs. Si mon entreprise commençait à me déranger avec des restrictions d'accès déraisonnables au code source, cela me frustrerait parce que je ne peux pas travailler efficacement et cela m'insulterait car cela signifie qu'ils ne me font pas confiance. Je serais parti dans quelques semaines.
  3. La plupart du code n'est pas vraiment si précieux. La plupart du code écrit dans le monde n'est utile que pour résoudre le problème d'un client spécifique. Pour n'importe qui d'autre, le code est complètement sans valeur.
  4. Même si le code est précieux pour une population plus large, vous avez la loi pour le protéger. Les clauses de copyright et de non-divulgation dans les contrats de travail vous permettent de poursuivre le pantalon de quiconque essaie de vendre votre propriété intellectuelle à quelqu'un d'autre.

Les mesures techniques pour éviter les fuites de code source sur une couche réseau (comme proposé dans les commentaires à la question) ne sont pas non plus une solution efficace. Les développeurs sont intelligents. Ils résolvent des problèmes informatiques pour gagner leur vie. S'ils veulent vraiment obtenir des informations de votre immeuble, ils trouveront un moyen de le faire. Même le NSA n'a pas pu empêcher Edward Snowden de divulguer des gigaoctets de données confidentielles.

En outre, un développeur malveillant peut faire bien plus de mal que de simplement divulguer votre code source. Vous ne pouvez pas faire grand-chose à ce sujet, car plus vous essayez de surveiller et de limiter vos développeurs, moins ils seront efficaces et plus ils seront mécontents.

Alors, que pouvez-vous empêcher vos développeurs de se retourner contre vous? C'est simple: N'embauchez pas de développeurs auxquels vous ne pouvez pas faire confiance et traitez-les bien pour qu'ils ne vous en veulent pas. Cela signifie que si vous êtes un gestionnaire souffrant de paranoïa et de problèmes de confiance, le développement de logiciels n'est pas le bon secteur pour vous (vous voudrez peut-être donner une chance au commerce de détail).

84
Philipp

Cela dépend vraiment du type d'industrie que vous soutenez/travaillez. Je crois qu'un pourcentage élevé (90%?) Des projets ne tirent pas leur avantage concurrentiel grâce à la propriété intellectuelle de leurs logiciels. voici quelques points de données à considérer:

  1. Quand quelqu'un prend un morceau de code source ou une idée de conception/mise en œuvre/architecture, il finit généralement par être modifié pour le bien commun (la raison principale est que l'open source est si génial et profite à beaucoup).
  2. Lorsque les entreprises ouvrent réellement leurs produits, elles acquièrent une synergie d'avantages compétitifs qui stimule l'innovation (Tomcat, mysql, php, jquery, sugarcrm et des milliers d'autres).
  3. Vous pouvez voler un bon logiciel pour découvrir que dès que vous le déployez comme le vôtre, l'original est déjà bien meilleur que votre copie.

Maintenant, si vous voulez vraiment empêcher quelqu'un de voler votre code source sans empêcher vos développeurs d'avoir accès à tout le code source, procédez comme suit:

il convient de noter que cette approche n'interfère pas avec la productivité de votre développeur jusqu'à ce qu'il essaie de voler votre code.

  1. Déployez des appareils approuvés. Il existe plusieurs façons de le faire, l'une utilise RDE (environnement de bureau à distance), il n'est pas très mature et ce n'est pas l'ancien contrôle de bureau à distance.
  2. Déployez la sécurité du périmètre sur votre appareil de confiance, essentiellement une bulle cryptée autour de votre appareil de confiance (ordinateur portable, ordinateur de bureau, mobile), encore une fois, il existe de nombreuses façons d'y parvenir, commencez vos recherches sur la prévention de la perte de données (DLP) et la gestion des droits relatifs à l'information (IRM) . Je ne recommande pas de produit spécifique car cela dépendrait de votre paysage architectural existant.
3
Hugo R