Question

J'avais une conversation avec un collègue qui travaille sur une application de vote et le cadre. Il a posé des questions techniques et je lui ai suggéré open source de l'application pour obtenir plus d'opinions qualité des développeurs qui sont intéressés à ce problème et sont prêts à donner lourd cependant.

Il a un autre point de vue que je pense est toujours valide donc je veux ouvrir cette question à la discussion ici. Il dit qu'il croit quelque chose comme un cadre de scrutin devrait pas être open source, car elle réduira sa sécurité et sa validité que les gens révèlent des failles à travers lesquelles ils peuvent tricher. Ne peut pas dire que je suis complètement en désaccord. Je vois un point un peu valable, mais je croyais toujours que des solutions par un groupe de personnes sont presque toujours mieux qu'une solution pensée par une seule personne qui demande un petit nombre de collègues, peu importe la façon dont cette personne est intelligente. Encore une fois je suis prêt à accepter que peut-être certains types d'applications sont différentes.

Quelqu'un at-il un argument en sa faveur? Je voudrais vraiment présenter vos réponses à lui.

Était-ce utile?

La solution

Vous parlez de sondages sur les sites Web, je suppose? Le « qui est votre langue préférée, C #, Java ou COBOL? » saisissez les sondages? Si oui, c'est intéressant.

Normalement, je serais d'accord avec la réponse de Simon que si l'ouverture de la source révèle des lacunes, il n'a jamais été sécurisé pour commencer.

Cependant , pour ce genre d'application .. les chances sont que non, ce n'a pas été sécurisés pour commencer, et ne peut pas facilement être fait ainsi. Le problème est, je parie que vous avez un besoin pour les gens à être en mesure de venir juste pour le site et voter dans le sondage, aucune inscription requise. Et vous aussi avoir l'exigence incompatible que les gens ne devraient pouvoir voter une fois.

Alors quoi que vous fassiez .. il y a une échappatoire. Vérification des adresses IP? Visiteur qui veut tricher sait utiliser un proxy. Biscuits? Visiteur qui veut tricher sait effacer ses cookies. L'ouverture de la source permet trivial de voir comment tricher.

Mais après avoir dit que .. il est trivial de toute façon. Ne prend pas beaucoup de temps pour essayer les alternatives et voir ce qui permet plusieurs voix. Il est tout simplement pas possible de faire ce genre de sondage anonyme sécurisé, vous pourriez aussi bien open source et au moins obtenir globes oculaires repérer les bugs!

Autres conseils

En fait, étant open source vous aide pour être plus sûr .

Je crois personnellement que lorsqu'un programme a commencé en tant que source fermée et est alors d'abord fait open source, il commence souvent moins sûr pour tous les utilisateurs (par l'exposition des vulnérabilités), et au fil du temps (disons quelques années), il a le potentiel être beaucoup plus sûr qu'un programme fermé. Si le programme a commencé en tant que logiciel open source, l'examen public est plus susceptible d'améliorer sa sécurité avant qu'il ne soit prêt à être utilisé par un nombre important d'utilisateurs, mais il y a plusieurs mises en garde à cette déclaration (ce n'est pas une règle à toute épreuve). Il suffit de faire un programme open source ne fait pas soudainement un programme sécurisé, et juste parce qu'un programme est open source ne pas la sécurité garantie:

  • Tout d'abord, les gens doivent passer en revue en fait le code. Ceci est l'un des points clés du débat - les gens vont vraiment revoir le code dans un projet open source? Toutes sortes de facteurs peuvent réduire le montant de l'examen: être une niche ou un produit rarement utilisé (où il y a peu de critiques potentiels), ayant peu de développeurs, et l'utilisation d'un langage informatique rarement utilisé. De toute évidence, un programme qui a un seul développeur et pas d'autres contributeurs de toute nature n'a pas ce genre d'examen. D'autre part, un programme qui a un auteur principal et beaucoup d'autres personnes qui examinent parfois le code et contribuer suggère qu'il y en a d'autres examinent le code (au moins pour créer des contributions). En général, s'il y a plus de critiques, il y a généralement une plus forte probabilité que quelqu'un d'identifier un défaut - ce qui est la base de la théorie « de nombreux globes oculaires ». Notez que, par exemple, le projet OpenBSD examine en permanence les programmes pour les failles de sécurité, de sorte que les composants dans ses parties les plus intimes ont certainement subi un examen approfondi. Depuis les discussions OSS / FS sont souvent tenues publiquement, ce niveau d'examen est quelque chose que les utilisateurs potentiels peuvent juger eux-mêmes.

    Un facteur qui peut notamment réduire la probabilité d'examen ne sont pas réellement open source. Certains fournisseurs comme à la posture de leur « divulguée source » (aussi appelée « source disponible ») des programmes comme étant open source, mais étant donné que le propriétaire du programme a des droits exclusifs étendus, d'autres auront beaucoup moins incités à travailler « gratuitement » pour le propriétaire sur le code. Même les licences open source qui ont des droits exceptionnellement asymétriques (comme la MPL) ont ce problème. Après tout, les gens sont moins susceptibles de participer volontairement si quelqu'un d'autre aura droit à leurs résultats ne sont pas (comme Bruce Perens dit, « qui veut être quelqu'un d'autre employé non rémunéré? »). ce facteur de dissuasion à participer, en particulier, étant donné que les examinateurs les plus incitatifs ont tendance à être des gens qui essaient de modifier le programme, réduit le nombre de « globes oculaires ». Elias Levy a fait cette erreur dans son article sur la sécurité open source; ses exemples de logiciels qui avait été cambriolée (par exemple, Gauntlet de TIS) ne sont pas, à l'époque, open source.

  • En second lieu, au moins quelques-unes des personnes élaboration et la révision du code doit savoir comment écrire des programmes sécurisés. Espérons que l'existence de ce livre vous aidera. De toute évidence, il n'a pas d'importance s'il y a beaucoup de « globes oculaires » si aucun des globes oculaires savent ce qu'il faut chercher. Notez qu'il est pas nécessaire pour tout le monde de savoir comment écrire des programmes sécurisés, aussi longtemps que ceux qui ne savent comment étudient les changements de code.

  • En troisième lieu, une fois trouvé, ces problèmes doivent être fixés rapidement et leurs correctifs distribués. Les systèmes open source ont tendance à résoudre les problèmes rapidement, mais la distribution est pas toujours lisse. Par exemple, les développeurs d'OpenBSD font un excellent travail de révision du code des failles de sécurité - mais ils ne signalent pas toujours les problèmes identifiés au dos du développeur original. Ainsi, il est tout à faitpossible pour qu'il y ait une version fixe dans un système, mais pour le défaut de rester dans un autre. Je crois que ce problème est atténuait au fil du temps, puisque personne ne « en aval » aime à corriger à plusieurs reprises le même problème. Bien sûr, veiller à ce que les correctifs de sécurité sont effectivement installés sur les systèmes utilisateur final est un problème pour les logiciels open source et source fermée.

Un autre avantage de l'open source est que, si vous trouvez un problème, vous pouvez le corriger immédiatement. Cela n'a vraiment pas de contrepartie dans la source fermée.

En bref, l'effet sur la sécurité des logiciels open source est encore un grand débat dans la communauté de la sécurité, mais un grand nombre d'éminents experts estiment qu'il a un grand potentiel pour être plus sûr.

Regardez Linux ...

L'argument que l'open source « réduira sa sécurité et sa validité que les gens révèlent des lacunes » est totalement invalide. Un produit sécurisé ne devrait pas avoir des lacunes ainsi quand il est fait open source, il devrait y avoir aucune échappatoire à révéler.

Si votre produit a des lacunes qui seraient mises en évidence par le rendant open source qui n'est pas la sécurité, qui vient cacher votre manque de sécurité derrière votre compilateur. Vous pourriez sortir avec elle pendant un certain temps, mais finalement quelqu'un va de désosser votre code et trouver une de ces lacunes (que vous ne pouvez pas même avoir su)

Je confiance à un produit de sécurité open source beaucoup plus que ce que je confierais une source fermée.

L'expert en sécurité Bruce Schneier résume bien:

Si je prends une lettre, le verrouiller dans un coffre-fort, cacher la dans un endroit sûr à New York, alors vous dire de lire la lettre, ce n'est pas la sécurité. C'est l'obscurité. D'autre part, si je prends une lettre et le verrouiller dans un coffre-fort, puis donner vous le coffre-fort ainsi que la conception spécifications du coffre-fort et cent des coffres-forts identiques avec leur combinaisons afin que vous et la meilleures safecrackers du monde peuvent étudier le mécanisme de verrouillage -et vous encore ne peut pas ouvrir le coffre-fort et lire la lettre -. que de la sécurité

Bruce Schneier - Cryptographie appliquée

Avoir une lecture par ouvrirons Sourcing Stack Overflow détruire notre modèle d'affaires -. tout débordement de la pile n'est pas le même que votre cadre de sondage, il devrait vous donner une meilleure idée de l'opinion de beaucoup d'autres personnes

Couple de pensées qui me que je survenus ne connais pas la réponse à moi-même ...

  1. Juste parce que le code de quelqu'un soumet au projet, il pourrait ne pas être assez bon / accepté / utilisé. Open Source ne fait pas automatiquement mieux le code.
  2. De même, je ne sais pas ce que l'adoption moyenne est pour les développeurs aider avec le code. Il ne peut y avoir des hordes de développeurs qui contribuent à la source? (Même si vous avez seulement besoin 1 ou 2 pour faire une différence substantielle).
  3. Je suppose qu'il n'y a rien qui vous empêche d'en Open Source du cadre, mais vous exécutez une version personnalisée pour votre entreprise qui possède d'autres caractéristiques / sécurité intégrée.
  4. Votre entreprise peut rester anonyme / pas la publicité qu'il est derrière le cadre? Et où le cadre est installé / live - déguisement qu'il est un cadre particulier? (Pensez à la façon dont wordpress et l'une des recommandations de sécurité est de cacher la balise meta qui dit « version de WordPress 2.3 »).
  5. Vous devez également parler à votre service patron / juridique parce que votre contrat de travail pourrait dire quelque chose à l'effet que la propriété intellectuelle de tout ce que vous créez au travail appartient à votre employeur, et l'ouverture d'approvisionnement du code qui a pris naissance dans la société pourrait vous débarquez dans l'eau chaude.
Licencié sous: CC-BY-SA avec attribution
scroll top