Question:
Comment les grandes entreprises protègent-elles leur code source?
SEJPM
2015-12-28 02:03:14 UTC
view on stackexchange narkive permalink

J'ai récemment lu la réponse canonique de notre suzerain d'ursine à la question sur Comment les autorités de certification stockent-elles leurs clés racine privées?

Je devais alors me demander:
Comment les grandes entreprises (par exemple Microsoft, Apple, ...) protègent leur précieux code source?

En particulier, je me demandais comment protègent-ils leur code source contre le vol, contre les modifications malveillantes externes et contre les modifications malveillantes basées sur des initiés.

La première sous-question a déjà (un peu) été répondue dans Réponse de CodeExpress sur Comment empêcher la divulgation de données privées en dehors de l'organisation.

Le raisonnement des questions est simple:

  • Si le code source était volé, a) l'entreprise serait-elle (au moins partiellement) empêchée de le vendre et b) le produit serait-il exposé à une recherche d'attaque basée sur le code source. Imaginez simplement ce qui se passerait si le code source Windows ou iOS était volé.
  • Si le code était modifié par des attaquants externes malveillants, des portes dérobées secrètes pourraient être ajoutées, ce qui pourrait être catastrophique. C'est ce qui s'est passé récemment avec Juniper, où les coordonnées du deuxième point DUAL_EC_DRBG ont été remplacées dans leur source.
  • Si le code était modifié par un attaquant interne (par exemple un ingénieur Apple iOS?) Cette personne pourrait gagner beaucoup d'argent en vendant lesdites portes dérobées et peut mettre le produit en danger si la version modifiée est livrée.

S'il vous plaît don ne viens pas avec «loi» et «contrats». Bien qu'il s'agisse de mesures efficaces contre le vol et la modification, elles ne fonctionnent certainement pas aussi bien que les défenses techniques et n'arrêteront pas les attaquants agressifs ( c'est-à-dire les agences d'autres gouvernements).

Pour éviter le vol, il n'y a pas de fentes de support amovibles dans les postes de travail. Les employés ne sont pas autorisés à transporter des médias, un téléphone portable avec appareil photo, etc. pour travailler. Autorisation requise pour les autorisations sur des modules non liés / pertinents. Séparation des tâches. Pour la prévention des portes dérobées, ils ont besoin d'un programme d'analyse de code source intégré à leur SDLC sécurisé. Pour les attaquants externes malveillants, ils doivent subir des tests de pénétration avant leur publication.
Pour être juste, aux États-Unis, dans la plupart des pays d'Europe, du Japon, etc. «la loi et les contrats» (enfin, les contrats sont exécutés ou ignorés en vertu de la «loi»; mais un petit chipotage sémantique ...) sont souvent des outils efficaces. À la fois pour punir ceux qui compromettent le code source et pour restreindre l'avantage que les parties qui ont accès à ce code peuvent en tirer. (Pas * toujours * efficace, bien sûr.) Les gros problèmes viennent beaucoup plus d'acteurs dans les domaines du monde de la cyber-anarchie. Ou du moins dans des régions du monde où les autorités ne se soucient pas de la protection des droits légaux revendiqués par les entreprises occidentales.
À mon humble avis, ce sont deux questions: protéger le code source contre le vol et contre la falsification. Ils ont différents modèles de menaces et doivent être interrogés séparément.
FWIW, le cœur du code source iOS est librement accessible à tous: http://opensource.apple.com. En outre, le code source de Windows est disponible pour toute personne souhaitant signer un accord (pas sûr si l'on doit payer quoi que ce soit): https://www.microsoft.com/en-us/sharedsource/. Donc pour les très grandes entreprises comme Apple et Microsoft, ils protègent leur IP en utilisant LA LOI (pas la réponse que vous vouliez mais c'est la vérité).
Notez également que contrairement à Microsoft, dont l'accord que vous devez signer vous empêche de vendre votre propre version de Windows, Apple ne peut pas empêcher / interdire à d'autres de créer et de vendre des systèmes d'exploitation basés sur le noyau OSX (car il est open source). Darwin est l'un de ces systèmes d'exploitation: http://www.puredarwin.org/
Si la source fermée est la seule chose qui vous évite les vulnérabilités, alors j'ai de mauvaises nouvelles pour vous.
Dans une grande entreprise, il est peu probable que chaque développeur ait besoin de recompiler chaque produit que l'entreprise a construit. Ainsi, si les développeurs n'ont accès qu'au code source dont ils ont besoin pour mener à bien leurs projets, aucun développeur ne peut divulguer tout le code source de l'entreprise. Sauf peut-être le gardien des clés, mais vous pouvez éviter cela en utilisant différents référentiels, avec un accès administrateur pour chaque projet détenu par différents gestionnaires.
Une chose amusante que nous faisons est de vous inscrire à des services qui indexent et recherchent régulièrement sur Github et autres le nom de notre entreprise et les URL internes. Vous seriez surpris de la fréquence à laquelle les packages Java propriétaires avec des URL internes, des noms d'utilisateur et des mots de passe codés en dur sont téléchargés vers des référentiels de code externes.
Par ailleurs, les grandes entreprises se font parfois voler des logiciels. Voici le résultat: [Un ancien employé d'IBM de Chine arrêté aux États-Unis pour vol de code] (http://www.reuters.com/article/us-ibm-crime-china-idUSKBN0TR2X820151208)
@KrishnaPandey, disons simplement que si le Fortune 50 pour lequel je travaille avait certains de ces types de règles en place (re: pas de transport de médias vers / depuis les locaux de l'entreprise - ce qui implique une ligne dure contre le télétravail), ils n'auraient pas démarrage par lequel je suis arrivé. Ces mesures ont des coûts réels, et ces coûts peuvent l'emporter sur les avantages.
Qu'est-ce qui vous fait penser que maintenir la sécurité des logiciels augmente la sécurité ou que leur ouverture la diminue? par exemple. voici la source du noyau OS X: https://opensource.apple.com/source/xnu/xnu-3248.20.55/ cela rend-il automatiquement OS X moins sécurisé? La vérité est tout le contraire; plus d'yeux sur le code signifie plus de personnes signalant des bogues. Un autre bon exemple est Atlassian (clause de non-responsabilité, je travaille pour eux), qui donne la source de leurs produits à tout client qui le demande (et leur permet de le modifier tant qu'ils ne redistribuent pas leurs modifications).
@CharlesDuffy Ces scénarios sont déjà couverts lorsque des politiques InfoSec sont en place. Risque lié à l'acquisition ou au rachat ou à des fournisseurs tiers, même votre ordinateur portable se perdant à l'aéroport. Car la sécurité est aussi forte que votre maillon le plus faible.
@KrishnaPandey, quel est l'intérêt de répéter des truismes à quelqu'un?
"Imaginez ce qui se passerait si le code source de Windows" AFAIR Windows avait fui, quelque part autour de NT ou 2000.
@KrishnaPandey Vous pouvez toujours obtenir tout le code source, le compresser, puis l'envoyer par e-mail. Vous n'avez pas besoin de slots USB pour cela
@JonasDralle Ce sera une mauvaise façon de voler, laissant des traces partout. :)
@KrishnaPandey Si vous le souhaitez, vous pouvez le crypter et automatiser le PC pour qu'il vous l'envoie au milieu de la nuit. Ensuite, il vous suffit de supprimer la tâche planifiée. Mais veuillez ne pas vous l'envoyer à votre adresse e-mail professionnelle
Six réponses:
Trey Blalock
2015-12-28 03:49:54 UTC
view on stackexchange narkive permalink

Tout d'abord, je tiens à dire que ce n'est pas parce qu'une entreprise est grande que sa sécurité sera meilleure.

Cela dit, je mentionnerai qu'après avoir effectué un travail de sécurité dans une grande nombre de sociétés Fortune 500, y compris de nombreuses marques connues que la plupart des gens connaissent, je dirai qu'actuellement, 60 à 70% d'entre elles ne font pas autant que vous pensez qu'elles devraient faire. Certains donnent même à des centaines d'entreprises tierces à travers le monde un accès complet pour extraire de leur base de code, mais pas nécessairement y écrire.

Quelques-unes utilisent plusieurs référentiels privés Github pour des projets séparés avec l'authentification à deux facteurs activée et un contrôle strict sur les personnes auxquelles ils accordent l'accès et disposent d'un processus pour révoquer rapidement l'accès lorsque quelqu'un quitte.

Quelques autres sont très sérieux au sujet de la protection des choses, ils font donc tout en interne et utilisent quoi pour beaucoup d'autres les entreprises ressembleraient à des niveaux excessifs de contrôle de sécurité et de surveillance des employés. Ces entreprises utilisent des solutions telles que les outils de prévention de la perte de données (DLP) pour surveiller l'exfiltration de code, l'accès VPN interne à des environnements fortement renforcés uniquement pour le développement avec une tonne de contrôles et de surveillance de sécurité traditionnels, et, dans certains cas, la capture complète de tous les paquets. trafic dans l'environnement où le code est stocké. Mais à partir de 2015, cette situation est encore très rare.

Ce qui peut être intéressant et qui m'a toujours semblé inhabituel, c'est que le secteur financier, en particulier les banques, a une sécurité bien pire qu'on ne le pense et que l'industrie pharmaceutique est bien meilleure que d'autres industries, y compris de nombreux entrepreneurs de la défense. Certaines industries sont absolument horribles en matière de sécurité. Je mentionne cela parce qu'il y a d'autres dynamiques en jeu: il n'y a pas que les grandes entreprises par rapport aux petites, une grande partie est liée à la culture organisationnelle.

Pour répondre à votre question, je vais souligner que c'est l'entreprise dans son ensemble qui prend ces décisions et non les équipes de sécurité. Si les équipes de sécurité étaient en charge de tout, ou même étaient au courant de tous les projets en cours, les choses ne ressembleraient probablement pas à ce qu'elles font aujourd'hui.

Cela dit, vous devez garder à l'esprit que les plus grands les entreprises sont cotées en bourse et, pour un certain nombre de raisons, ont tendance à être beaucoup plus préoccupées par les bénéfices à court terme, par le respect des chiffres trimestriels et par la concurrence pour la part de marché contre leurs autres grands concurrents que par les risques de sécurité, même si les risques pourraient effectivement détruire leur entreprise. Gardez cela à l'esprit lorsque vous lisez les réponses suivantes.

  • Si le code source était volé:

    1. La plupart ne s'en soucieraient pas. n'aurait pratiquement aucun impact sur leur marque ou leurs ventes. Gardez à l'esprit que le code lui-même n'est dans de nombreux cas pas ce qui stocke la valeur de l'offre d'une entreprise. Si quelqu'un d'autre obtenait une copie de la source de Windows 10, il ne pouvait pas soudainement créer une entreprise vendant un système d'exploitation clone Windows 10 et être en mesure de le prendre en charge. Le code lui-même n'est qu'une partie de la solution vendue.

    2. Le produit serait-il plus à risque à cause de cela? Oui absolument.

  • Modification externe: Oui, mais c'est plus difficile à faire et plus facile à attraper. Cela dit, comme la plupart des entreprises ne surveillent pas sérieusement cela, il est très possible que cela soit arrivé à de nombreuses grandes entreprises, en particulier si l'accès détourné à leurs logiciels est d'une valeur significative pour d'autres États-nations. Cela arrive probablement beaucoup plus souvent que les gens ne le pensent.

  • Attaquant interne: en fonction de l'intelligence de l'attaquant, cela peut ne jamais être remarqué ou ressembler à une erreur de programmation discrète. En dehors de la vérification des antécédents et de la surveillance du comportement, il n'y a pas grand-chose qui puisse empêcher cela, mais j'espère que certains outils d'analyse du code source attraperont cela et forceront l'équipe à le corriger. Il s'agit d'une attaque particulièrement difficile contre laquelle se défendre et c'est la raison pour laquelle certaines entreprises n'externalisent pas leur travail dans d'autres pays et ne vérifient pas les antécédents de leurs développeurs. Les outils d'analyse de code source statique s'améliorent, mais il y aura toujours un écart entre ce qu'ils peuvent détecter et ce qui peut être fait.

En un mot, les trous viendront toujours avant les correctifs, ainsi traiter la plupart des problèmes de sécurité devient une sorte de course contre la montre. Les outils de sécurité vous permettent de faire des compromis sur le temps, mais vous n'aurez jamais une sécurité «parfaite» et s'en rapprocher peut coûter très cher en temps (ralentir les développeurs ou exiger beaucoup plus d'heures de travail ailleurs). >

Encore une fois, ce n'est pas parce qu'une entreprise est grande qu'elle bénéficie d'une bonne sécurité. J'ai vu des petites entreprises avec beaucoup une meilleure sécurité que leurs concurrents plus importants, et je pense que ce sera de plus en plus le cas, car les petites entreprises qui souhaitent prendre leur sécurité plus au sérieux n'ont pas à faire les changements organisationnels, où les grandes entreprises seront obligées de s'en tenir à la façon dont elles faisaient les choses dans le passé en raison du coût de la transition.

Plus important encore, je pense qu'il est plus facile pour une nouvelle entreprise (quelle que soit sa taille, mais surtout les plus petites) d'intégrer la sécurité dans sa culture de base plutôt que de devoir changer sa culture actuelle / héritée comme les entreprises plus anciennes doivent le faire. Il peut même y avoir des opportunités maintenant de prendre des parts de marché à un produit moins sécurisé en créant une version très sécurisée de celui-ci. De même, je pense que votre question est importante pour une raison totalement différente: la sécurité en est encore à ses balbutiements, nous avons donc besoin de meilleures solutions dans des domaines comme la gestion du code où il y a beaucoup de place à l'amélioration.

Pour ajouter au fait que la plupart des gens ne se soucieraient pas si le code source était volé: d'une manière générale, la valeur réelle de l'entreprise réside dans les données de leurs bases de données, pas dans le code source. Il y a de fortes chances que la plupart de ce code source soit des réinventions ennuyeuses que vous pouvez trouver n'importe où.
En passant, un géant de la technologie vous oblige à transporter vos appareils (PC, téléphone) avec vous tout le temps.
Il pourrait être important de souligner que la «perte de données», dans ce contexte, fait référence à l'exfiltration ou à la divulgation.
tylerl
2015-12-28 05:25:47 UTC
view on stackexchange narkive permalink

Clause de non-responsabilité : Je travaille pour une très grande entreprise qui fait du bon travail dans ce domaine, mais ma réponse est mon opinion personnelle et ne reflète pas la position de mon employeur ou des politiques.

Tout d'abord, comment protéger le code contre les fuites:

  • Sécurité du réseau: C'est la plus évidente - si les pirates chinois obtiennent des informations d'identification dans vos systèmes internes, ils iront chercher votre code source (si pour aucune autre raison que le fait que le code source leur dira où aller ensuite). Donc, la sécurité informatique de base doit être un "donné".
  • Contrôle d'accès: Votre réceptionniste a-t-il besoin d'accéder à votre référentiel de codes? Probablement pas. Limitez votre exposition.
  • Soyez sélectif dans l'embauche et maintenez un environnement de travail sain: les mesures DLP telles que la numérisation des e-mails sortants sont astucieuses en théorie, mais si votre ingénieur est assez intelligent pour être de quelle que soit votre utilité, ils sont suffisamment intelligents pour comprendre comment contourner vos mesures DLP. Vos employés ne devraient pas avoir de raison de divulguer votre code source. Si tel est le cas, vous avez fait quelque chose d'horriblement, d'horriblement mal.
  • Surveillez votre réseau: Ceci est une extension de la réponse "sécurité du réseau" mais avec un accent sur la prévention des pertes numériques . Si vous voyez un pic soudain dans le trafic DNS, cela peut être votre code source exfiltré par un attaquant. OK, demandez-vous maintenant si vous sauriez s'il y a eu un pic soudain du trafic DNS de votre réseau. Probablement pas.
  • Traitez les appareils mobiles différemment : les téléphones et les ordinateurs portables se perdent très souvent. Ils sont également volés très souvent. Vous ne devez jamais stocker d'informations sensibles (y compris le code source, les données client et les secrets commerciaux) sur les appareils mobiles. Sérieusement. Jamais. Cela ne signifie pas que vous ne pouvez pas utiliser d'appareils mobiles pour accéder au code source et le modifier. Mais si un ordinateur portable disparaît, vous devriez pouvoir révoquer à distance tout accès de l'ordinateur portable aux données sensibles. En général, cela signifie que le code et les documents sont édités "dans le cloud" (voir c9.io, koding.com, Google Docs, etc.) avec une authentification appropriée et tout cela. Cela peut être fait avec ou sans faire confiance à un tiers, en fonction de la quantité de travail que vous souhaitez y consacrer. Si votre solution ne prend pas en charge 2 facteurs, choisissez une autre solution; vous voulez réduire votre exposition avec cette mesure, et non l'augmenter .

Deuxièmement, comment empêcher la modification de code malveillant; il n'y a vraiment qu'une seule réponse à cette question: le contrôle des changements.

Pour chaque caractère de code de votre référentiel, vous devez savoir exactement qui a ajouté (ou supprimé) ce code, et quand. C'est si facile à faire avec la technologie actuelle que c'est il est presque plus difficile de ne pas mettre en place un suivi des modifications. Si vous utilisez Git ou Mercurial ou tout autre système de contrôle de source modérément utilisable, vous bénéficiez d'un suivi des modifications et vous comptez beaucoup dessus.

Mais pour améliorer un peu la fiabilité, j'ajouterais que chaque changement à votre référentiel doit être signé par au moins une autre personne en plus de l'auteur soumettant la modification. Des outils comme Gerrit peuvent rendre cela simple. De nombreux régimes de certification nécessitent de toute façon des révisions de code, donc l'application de ces révisions au moment de l'enregistrement signifie que les acteurs malveillants ne peuvent pas agir seuls pour obtenir du mauvais code dans votre dépôt, cela aide à empêcher la validation d'un code mal écrit et permet de garantir qu'au moins 2 les gens comprennent chaque changement soumis.

Ouaip. Cela décrit essentiellement mon environnement de travail lorsque j'étais chez Nokia
WRT "Pour chaque caractère de code ... vous devez savoir exactement qui a ajouté ... ce code, et quand. C'est si simple ... Git ou Mercurial" Git, hg et d'autres gardent une trace de la paternité du code, mais à moins que vous utilisez quelque chose comme les commits signés gpg (la plupart ne le font pas), il est facile pour les pirates de contourner.
@emory, même sans commits signés, quelqu'un ne peut pas changer l'historique sans modifier les hachages actuels, et (pour les endroits avec des flux de travail sans rebasage autorisés, que toute personne à cette échelle devrait avoir en place) cela se fait remarquer.
@CharlesDuffy pourquoi le hacker aurait-il besoin de changer l'histoire. Il suffit de pousser un nouveau commit avec de nouvelles failles de sécurité et de l'attribuer à un membre de l'équipe de confiance.
@emory, où je vis, les nouveaux commits font l'objet d'un contrôle strict là où les anciens ne le font pas.
@emory, ... btw, dans le monde git, il est courant de s'assurer que la clé SSH utilisée pour télécharger un ensemble de modifications s'aligne sur l'identité Committed-By dans l'en-tête. Ainsi, vous devez soit compromettre le SCM, soit voler les informations d'identification de ce membre du personnel de confiance.
@emory si votre organisation a du sens, il est impossible de valider du code sans informations d'identification et les informations d'identification utilisées sont enregistrées en tant que validateur. Si vous n'avez pas ce niveau de sécurité très basique, vous n'essayez même pas.
@tylerl Mon expérience a été d'utiliser des clés ssh pour pousser le code vers le référentiel organisationnel (vous n'avez pas besoin d'informations d'identification pour valider) et le référentiel d'organisation étant sur un VPN. L'organisation peut être raisonnablement sûre que seuls les membres de l'organisation transmettent le code, mais les membres de l'organisation peuvent se faire passer pour l'un l'autre. gpg signé commits ou restreindre les poussées aux clés ssh où la clé correspond à l'identifiant Committed-By permettrait à l'organisation de savoir exactement qui a commis quel code, mais je ne pense pas que ces mesures soient courantes - je peux me tromper à ce sujet.
@CharlesDuffy s'assurer que la clé SSH utilisée pour télécharger un ensemble de modifications s'aligne sur l'identité Committed-By a du sens, mais je n'en ai jamais entendu parler dans la pratique, donc je ne peux pas accepter que ce soit une pratique courante. Peut-être que ça devrait l'être.
Pourquoi identifiez-vous les hackers * chinois *? Cela a l'air un peu bizarre.
@emory, si Github Enterprise ne prend pas en charge l'application de cette politique prête à l'emploi, ma mémoire me manque gravement.
@Kobi L'espionnage industriel vient généralement de Chine. Si vous êtes piraté par des attaquants syriens ou brésiliens, c'est généralement pour une autre raison.
+1 pour la partie avec des employés ne devrait pas avoir de motivation pour voler
o.m.
2015-12-28 23:06:50 UTC
view on stackexchange narkive permalink

Il y aura des mesures en place pour empêcher l'insertion accidentelle de code problématique, c'est-à-dire des bogues. Certains d'entre eux aideront également à éviter l'insertion délibérée de code problématique.

  • Lorsqu'un développeur souhaite valider du code dans le référentiel, un autre développeur doit examiner cette demande de fusion. Peut-être que le deuxième développeur devra expliquer au premier développeur ce que fait le nouveau code. Cela signifie parcourir chaque ligne.
  • Si le code semble déroutant, il pourrait être rejeté comme étant de mauvais style et non maintenable.
  • Le code a automatisé des tests unitaires et d'intégration. Quand il n'y a pas de test pour une certaine ligne de code, les gens se demandent. Il faudrait donc qu'il y ait un test pour que la porte dérobée fonctionne, ou une sorte d'obfuscation.
  • Lorsqu'une nouvelle version du logiciel est construite, les développeurs et l'assurance qualité vérifient quels commits font partie de la construction et pourquoi . Chaque commit doit avoir un but documenté.
  • Le logiciel est construit et déployé à l'aide de scripts automatisés. Ce n'est pas seulement pour la sécurité, mais aussi pour simplifier la charge de travail.

Bien entendu, de telles mesures reposent sur l'honnêteté et la bonne volonté de tous les participants. Une personne disposant d'un accès administrateur au serveur de build ou au référentiel pourrait faire beaucoup de ravages. D'un autre côté, les programmeurs ordinaires n'ont pas besoin de ce type d'accès.

Les administrateurs système ne devraient pas non plus avoir ce type d'accès. Lorsque les programmeurs ont besoin de vérifier le travail des autres programmeurs - pourquoi les sysAdmins ne devraient-ils pas revérifier ce que font les autres administrateurs?
Floris
2015-12-29 00:56:33 UTC
view on stackexchange narkive permalink

Dans ma (grande) entreprise, nos ordinateurs portables utilisent tous des disques durs cryptés. Nous utilisons un outil appelé Digital Guardian qui surveille tous les transferts / téléchargements de fichiers et qui bloque les ports USB pour l'écriture de fichiers. Quiconque a besoin d'une exception doit utiliser une clé USB chiffrée matérielle (encore une fois, pour empêcher l'accès aux fichiers en cas de perte ou de vol du lecteur). De telles exceptions sont temporaires et il faut justifier les fichiers en cours d'écriture (qui sont journalisés). Digital Guardian empêche l'envoi de la plupart des types de pièces jointes à des adresses e-mail externes. Tout échange de fichiers interne se fait à l'aide de dossiers Web avec contrôle d'accès et d'une piste d'audit de qui a accédé à quoi - cela signifie que le partage de fichiers "pour les besoins de l'entreprise" est assez transparent, et tout le reste est difficile.

Le système n'est pas infaillible, et il a un impact sur la bande passante - mais les outils d'audit à eux seuls ont détecté plusieurs instances d'employés (souvent des employés sur le point de quitter l'entreprise) qui ont tenté de prendre du code source / des documents de conception, etc. . Au moins, nous arrêtons certaines de ces tentatives.

Et au cas où quelqu'un penserait que les importations https seraient "invisibles": tout le trafic Web externe est géré par un proxy-in -le-cloud qui utilise un certificat MITM pour inspecter le trafic https. Il est sans aucun doute possible de contourner ces mesures - il y a beaucoup d'employés intelligents - mais parfois cela suffit pour rendre votre cible plus difficile que les autres.

oh eh ... oh ... est-ce que vos postes de travail ont ces lecteurs DVD pratiques? .. J'ai accidentellement ouvert le boîtier alors que personne ne regardait, j'ai échangé à chaud un deuxième disque dur dans le boîtier, copié mes fichiers, déconnecté le disque dur, et je suis prêt à partir :-)
@MichaelDibbets non, l'écriture sur un disque dur non reconnu ne fonctionne pas. Et si vous pouviez usurper un disque "connu", l'écriture d'un groupe de fichiers sur un autre lecteur serait signalée et vous ne passeriez pas la sécurité à la sortie sans expliquer pourquoi vous deviez le faire et où se trouve le disque maintenant . Encore une fois quelque chose que vous pourriez essayer de contourner ... Mais la question était "comment les grandes entreprises ..." et non "ce qui est un moyen infaillible de ...". C'est ainsi que procède une grande entreprise. En tant que tel, il répond à la question.
Notez également qu'il ne s'agit en réalité que de plus de détails reflétant ce que le paragraphe 4 de la réponse acceptée déclare: "quelques autres sont très sérieux ... DLP ..."
BlueWizard
2016-01-03 12:21:03 UTC
view on stackexchange narkive permalink

C'est une question délicate et comme je n'ai jamais travaillé dans ce secteur, mon idée pourrait être théorique ou très irréalisable.

Et si les employés à faible niveau de hiérarchie n'obtenaient que de petites parties du code source? L'équipe explorer.exe n'a besoin que d'accéder au code source de explorer.exe, ce qui rendrait le vol du code source de l'intérieur plus difficile car vous auriez besoin d'être dans des positions plus élevées pour avoir un aperçu de plus de parties du code source.

Bien sûr, vous auriez besoin d'une bonne documentation sur toutes les parties dont l'équipe pourrait avoir besoin mais ne peut pas voir. De plus, le débogage deviendrait plus délicat car vous auriez à fusionner le code source pré-comilé avec celui fraîchement compilé de explorer.exe-Team.Il pourrait y avoir un serveur de compilation qui contient tout le code source et peut compiler des versions complètes du produit même pour ceux qui n'ont édité qu'un petit morceau. (Parce qu'ils ont besoin de tester leurs modifications) Ce serveur sait également qui a accès à quelles parties du code.

Je ne sais pas si c'est une approche pratique ou si cela se produit vraiment dans l'industrie ou ne pas. C'est juste un concept qui, à mon avis, aurait du sens pour empêcher le vol de code source.

4 mois plus tard et je pense: "pourquoi ai-je essayé de répondre en soulignant que je n'ai aucune expérience"
Santanu Dey
2015-12-29 08:43:41 UTC
view on stackexchange narkive permalink

La valeur marchande d'un logiciel est une fonction directe de

  • La valeur des analyses de rentabilisation qu'il prend en charge. RoI, c'est-à-dire.
  • Valeur marchande des produits concurrents
  • Le fait qu'il continuerait à être amélioré et soutenu par l'entreprise
  • Marque de l'entreprise. Effort de marketing et de vente autour du produit
  • Nombre de clients, développeurs et membres de la communauté satisfaits existants
  • Caractéristiques, LoC, nombre de brevets, exhaustivité et qualité du logiciel

Le code source fait donc simplement partie du jeu. Pas le tout.

Le code source lui-même est protégé par

  • Contrats légaux / T&Cs signés par les employés et l'entrepreneur
  • Brevets
  • Décomposition du produit en plusieurs composants boîte noire auxquels aucune personne ou équipe n'a accès.
  • Utilisation de mécanismes de sécurité au niveau logiciel et au niveau physique pour protéger l'accès au code
cela ne répond pas à la question - le PO déclare explicitement que la "loi" et les "contrats" ne sont pas des réponses valides - le point essentiel de la question est de développer les "mécanismes de sécurité au niveau logiciel et au niveau physique"


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...