Certaines personnes affirment que le code open source peut être audité par beaucoup et qu'il contient donc de petits bugs. D'autre part, les attaquants ont le même accès facile et recherchent également ces mêmes vulnérabilités. Il y a certainement un compromis ici qui n'est pas correctement décrit dans les réponses précédentes.
D'autres mentionnent que le code doit être intrinsèquement sécurisé et ne nécessite donc aucune obfuscation / chiffrement / masquage. Il est vrai qu'un système doit être conçu pour être sécurisé même si vous savez comment il fonctionne. Cela ne veut pas dire que c'est toujours le cas ET que la mise en œuvre est sans faille. En pratique, le code n'est jamais sécurisé à 100%. (Jetez un œil à la sécurité des applications Web: pourquoi avons-nous besoin d'en-têtes de sécurité pour nous protéger contre les attaques XSS et CSRF s'il n'y a pas de vulnérabilités dans l'application Web?) Des mesures de sécurité supplémentaires peuvent être prises en essayant de masquer le code par cryptage et obfuscation . Dans le monde mobile, l'ingénierie inverse est même considérée comme un risque sérieux: Top 10 des risques OWASP Mobile.
Comme aucun système n'est sécurisé à 100%, nous ne pouvons qu'essayer d'augmenter l'effort requis pour le casser.
Alors maintenant, le compromis entre code open source / facilement disponible VS code chiffré et obscurci. Autoriser l'examen public de votre code source peut aider à réduire le nombre de bogues. Cependant, si vous êtes une petite entreprise où le public est peu incité à auditer librement votre code, il n'y a aucun avantage à publier votre code car personne ne le regardera avec de bonnes intentions. Cependant, il devient beaucoup plus facile pour les attaquants de découvrir des vulnérabilités. (Nous ne parlons pas de la dernière version d'iOS que tous les chercheurs en sécurité essaient de déchiffrer) ..
Dans ce cas, nous ne parlons même pas de l'open sourcing du code pour examen public. Nous parlons de crypter le firmware en transit. Les chercheurs en sécurité n'achèteront probablement pas votre appareil pour obtenir le code permettant de découvrir et de publier des vulnérabilités. Par conséquent, les chances que les gentils trouvent les vulnérabilités par rapport aux méchants diminuent.