Si tous les ordinateurs utilisent le même système d'exploitation, les attaquants ne doivent se concentrer que sur un seul système d'exploitation, serait-ce dangereux?
En 2003, Dan Geer de @Stake a publié un article fondateur sur ce même sujet - Cyber In security: The Cost of Monopoly . Étonnamment (étant donné qu'il était employé par Microsoft à l'époque), il descend carrément dans le camp en affirmant que la diversité est vitale pour la sécurité (je souligne):
Quel que soit le sujet - informatique contre production d'énergie électrique contre défense aérienne - la capacité de survie consiste à se préparer à l'échec pour y survivre. La survie, que ce soit en tant que concept ou en tant que mesure, repose sur deux piliers: un approvisionnement répliqué et un risque diversifié ...
... la redondance a peu de capacité à se protéger contre les défaillances en cascade; avoir plus d'ordinateurs avec les mêmes vulnérabilités ne peut pas aider si une attaque peut les atteindre tous. La protection contre les défaillances en cascade est plutôt le domaine de la diversification des risques - c'est-à-dire, en utilisant plus d'un type d'ordinateur ou de périphérique, plus d'une marque de système d'exploitation, ce qui assure à son tour que les attaques seront Ce principe fondamental garantit que, comme les agriculteurs qui cultivent plus d'une culture, ceux d'entre nous qui dépendent des ordinateurs ne les verront pas tous échouer lors du prochain fléau. Ce type de diversification est largement accepté dans presque tous les secteurs de la société, de la finance à l'agriculture en passant par les télécommunications.
(Il a ensuite conclu que Microsoft était une menace dans la mesure où elle introduisait une monoculture; ce qui s'est avéré être un mouvement limitant la carrière pour lui chez Microsoft.)
Dans les commentaires, @Johnny suggère qu'il s'agit d'une réponse d'identification. Bien que j'ai choisi de citer ici le document bien rédigé d'un professionnel respecté, je le fais parce qu'il reflète mes 20+ années d'expérience dans l'industrie informatique et de la sécurité. (Ce qui, diable, ressemble presque à un credentialisme secondaire. Mais je dis juste que je fais référence plutôt que de perroquet).
Par exemple, l'architecture à 3 niveaux (web/application/db) est devenue une amélioration largement acceptée en termes de sécurité il y a longtemps, car la séparation entre les différentes fonctions a contribué à renforcer la sécurité. Dans cette veine, mon expérience a été qu'il y a un compromis entre le travail supplémentaire de mise en place de systèmes hétérogènes (disons, IIS avec un MySQL-on-Linux) backend) et l'avantage supplémentaire de la diversité lorsque les attaques (ou les correctifs!) introduisent des perturbations dans la pile. Et que j'ai regretté d'avoir un problème plus important plus de fois que je n'ai regretté le travail supplémentaire :)
Épidémies sur le terrain vierge - soit parce que vous ne segmentez pas vos réseaux, soit parce que vous utilisez les mêmes mots de passe, soit que vous n'avez qu'un seul fournisseur [DNS/Hébergement/Réseau], soit parce que vous utilisez le même système d'exploitation partout - tout finit mal.
Si tous les systèmes sont identiques, il y a alors une prévisibilité de ce qui pourrait mal tourner et comment réparer et corriger. Il devient beaucoup plus facile d'atténuer les problèmes que vous connaissez. Par exemple, si le réseau est entièrement Windows, les administrateurs doivent uniquement être conscients des risques Windows et déployer des atténuations pour un seul type de système.
Si vous mélangez les systèmes, les administrateurs doivent sécuriser ce mélange au même niveau de protection. Vous introduisez beaucoup d'inconnues et beaucoup d'incertitude, ce qui augmente les risques. Oui, il est possible que certains systèmes soient plus sûrs que d'autres, mais d'un point de vue holistique, plus les choses sont les mêmes, plus les protections sont faciles, moins chères et plus fiables.
Des systèmes plus diversifiés rendent plus difficile la propagation d'une infection. *
Des systèmes moins diversifiés rendent plus difficile le démarrage d'une infection. **
Donc, si votre scénario de défaillance concerne tous vos systèmes infectés (par exemple, si vous devez garantir la disponibilité), l'utilisation de plusieurs systèmes d'exploitation peut vous aider (si elle est effectuée correctement). Si votre scénario de défaillance est l'un de vos systèmes infectés (par exemple, si vous êtes un cabinet d'avocats avec des documents sensibles), l'utilisation de plusieurs systèmes nuira.
* Une faille de sécurité unique connue de l'attaquant peut potentiellement compromettre la plupart ou la plupart des machines exécutant le même système d'exploitation.
** Une faille de sécurité unique, sur n'importe laquelle des OS, connue de l'attaquant sera suffisante pour permettre de compromettre une des machines avec cette faille.
Cette réponse ignore la possibilité d'utiliser différents systèmes d'exploitation pour des machines avec des surfaces d'attaque intrinsèquement différentes (par exemple, serveur Web Unix, routeur Cisco, poste de travail Windows), car à ce stade, la réponse devient beaucoup plus compliquée.
Comme le souligne schroeder, il serait beaucoup plus difficile de gérer la sécurité d'un tel réseau.
Mais même si la gestion d'un réseau diversifié n'était pas un problème, les humains sont toujours le maillon le plus faible de chaque système. L'ingénierie sociale est très efficace de nos jours, et quelqu'un sur une boîte Linux peut être amené à abandonner ses informations de connexion aussi facilement que quelqu'un sur une boîte Windows.
Et même si tous vos utilisateurs sont avertis en matière de sécurité et ne tombent jamais dans le piège, le réseau ne serait toujours pas pratique à utiliser. La plupart des logiciels que les utilisateurs utiliseront pour faire leur travail ne sont probablement pas disponibles pour plusieurs systèmes d'exploitation.
Et même si tous vos logiciels étaient multiplates-formes, vous ne seriez toujours pas plus sûr. Les pirates commenceraient à peine à écrire des logiciels malveillants multiplateformes.
C'est faisable, mais ça n'en vaut pas la peine.
La réplication et la diversification protègent contre différents types d'attaques.
La réplication est au cœur de toute stratégie utilisée pour protéger l'entreprise contre les pannes de courant, les incendies, l'eau et d'autres risques pour lesquels une distribution de probabilité d'apparition de pannes peut être donnée. Ces connaissances sont ensuite utilisées pour déterminer les modèles de distribution afin de minimiser le risque.
C'est une préoccupation entièrement différente de se protéger contre les attaques intentionnelles. La réplication ne peut sauver une entreprise d'attaques intentionnelles que si les ressources répliquées sont entièrement inaccessibles aux attaquants. Une fois que les attaquants ont découvert comment compromettre une instance d'un système, il faut supposer que toutes les instances configurées de manière identique peuvent également être compromises à tout moment.
La diversité oblige les attaquants à adapter leur stratégie à chaque cible. Bien sûr, si les différences sont "triviales" dans une certaine mesure (1), l'adaptation pourrait ne pas prendre beaucoup d'efforts. Étant donné que le terme "trivial" dépend des capacités de l'attaquant, mettre trop de foi dans la diversité en tant que mesure de sécurité est également risqué.
(1) Debian et Ubuntu peuvent être considérés comme trop différents les uns des autres.
Cela dépend de ce que vous essayez de réaliser.
Avoir un ensemble diversifié de systèmes d'exploitation dans votre réseau rendra plus difficile pour un attaquant de compromettre tous les ordinateurs de votre réseau. Mais il y a très peu de cas où c'est le but d'un attaquant.
Au lieu de cela, les attaquants tentent généralement de saboter vos opérations en désactivant les services essentiels ou de voler des informations. Dans ces cas, compromettre un seul système d'exploitation sur un seul ordinateur peut être suffisant, et avoir plusieurs systèmes d'exploitation différents sur votre réseau signifie qu'un attaquant est libre (et seulement obligé) de trouver une vulnérabilité dans un seul de ces systèmes d'exploitation. Donc, ici, la diversité rend l'attaque beaucoup plus facile (par exemple, si des fichiers importants se trouvent sur un partage réseau accessible depuis les utilisateurs d'ordinateurs de bureau Windows, Linux et MacOS, le fait de comprendre n'importe lequel de ces systèmes peut permettre à l'attaquant d'accéder à ces fichiers) .
Comme tant de choses, cela dépend de votre modèle de menace.
Un écosystème diversifié fournit à un attaquant plus d'un défi et l'exploit qui l'a fait entrer ne le mettra pas sur tous les autres systèmes.
D'un autre côté, avez-vous les connaissances et les ressources pour maintenir un réseau diversifié constamment à jour et sécurisé?
Si vous avez beaucoup de bons experts Windows, mais pas de gens Linux, alors l'introduction de certains systèmes Linux juste pour obtenir la diversité est susceptible de réduire votre sécurité globale car vous n'avez personne pour configurer correctement, durcir et maintenir ces systèmes et ils deviendront un passif.
Vous avez également plus de facilité à automatiser le déploiement des correctifs et la gestion de la configuration dans un environnement moins diversifié.
L'opinion générale, AFAIK, est que si vous pouvez gérer un réseau diversifié, vous devriez le faire. Mais si vous manquez de l'expertise ou des ressources, ne le faites pas juste pour le faire.
Le système d'exploitation est à la couche supérieure du modèle OSI de mise en réseau. La couche 7 est la couche application. Le fait d'avoir un système d'exploitation monopolistique rend l'exploitation des vulnérabilités de sécurité plus efficace, mais elle permet également des correctifs et des résolutions de vulnérabilité de sécurité plus efficaces.
En sécurisant les protocoles de mise en réseau de niveau inférieur et leurs appareils, c'est-à-dire les routeurs, nous pouvons compenser les vulnérabilités du système d'exploitation dans la couche application. La plupart des intrusions peuvent être évitées avec un bon routeur de pare-feu capable de gérer la sécurité au niveau des couches Session (Layer 5), Transport (Layer 4) et Network (Layer 3) du modèle OSI avant même que le système d'exploitation ne voie les paquets.
Par analogie, imaginez si tout le monde avait la même serrure - n'importe qui avec la clé pourrait ouvrir toutes les portes.
Dans mon travail, nous avons deux OS principaux. Beaucoup connaissent un système d'exploitation, mais peu connaissent l'autre. Le système d'exploitation bien versé semble plus enclin aux tentatives de piratage que le moins connu. L’indication est que plus le système est connu, plus le besoin de précaution est probable.
De plus, d'autres arènes ont montré qu'un monopole engendre la complaisance plutôt que l'ingéniosité. Dans l'histoire de Ma Bell, le prix plutôt que la capacité a été le moteur. Une fois qu'elle a été dissoute (quoique pénible), les entreprises ont rompu avec l'innovation. Je pense que c'est la même chose pour le système d'exploitation d'aujourd'hui.
Enfin, certains systèmes d'exploitation ne fonctionnent que sur leurs marchés. OS390/400 fonctionne très bien pour les "transactions par seconde" mainframe rapides, mais pas si bien pour grand-mère lorsqu'elle cherche dans sa collection de recettes. PC/DOS est idéal pour les amateurs, mais ne peut rien faire au-delà de l'agitation nostalgique. Bien qu'il soit vrai que certains systèmes d'exploitation sont des imitations les uns des autres (en particulier dans le monde de la console de jeu), chacun a toujours son propre terrain de jeu.
J'espère que cela pourra aider.
Oh, j'ai oublié de mentionner ... un seul système d'exploitation dans l'entreprise est plus facile à maintenir avec des correctifs et ainsi de suite, mais risque tout. (Un virus pourrait supprimer tous les systèmes.) Alors que plusieurs systèmes d'exploitation différents sont plus difficiles à maintenir, mais séparent ou cloisonnent vos risques. L'adage "tous les œufs dans le même panier" s'applique.
Dans mon travail, je dois fournir plusieurs niveaux de redondance, de l'échec mineur à la reprise des trous de fumer. Une bonne sauvegarde est un miroir des systèmes actuels - serveurs et applications répliqués. Une sauvegarde encore meilleure est un miroir des systèmes actuels qui fonctionnent exactement comme les systèmes actuels mais sur différents systèmes d'exploitation et infrastructures. La meilleure sauvegarde possible est les différents systèmes d'exploitation et une troisième sauvegarde basée sur le cloud. Cela indique que la diversité est préférée à la simplicité.
Il s'agit d'équilibrer les choses pour mieux s'adapter à votre situation.
Il y a des avantages à 1 pour tous les systèmes d'exploitation: vous pouvez développer des mesures de sécurité, des paramètres, des correctifs et des solutions identiques. Mais l'inconvénient est que si l'un est compromis, les attaquants peuvent obtenir le reste relativement facilement. Ceci est valable pour les vulnérabilités et pas seulement.
Si vous avez plusieurs systèmes d'exploitation différents, l'administration, l'application de correctifs et le maintien de la compatibilité globale peuvent être plus difficiles, mais si l'un des systèmes est compromis, les autres systèmes d'exploitation seront beaucoup plus sûrs que dans le premier cas.
Dans les deux cas, vous avez besoin de sécurité et de correctifs.
Il importe également quel système d'exploitation il s'agit. S'il est facile d'être ciblé, il vaut mieux en utiliser d'autres également. Si c'est considéré comme suffisamment sûr, c'est bien si ce n'est que celui-là.
Vrai.
Ceci est similaire au "point de défaillance unique", la défaillance ici est due à un environnement homogène.
Mais le niveau de sécurité dépend en fait de nombreux facteurs. Même un environnement de système d'exploitation homogène n'est pas aussi homogène que vous l'imaginez, c'est-à-dire un matériel hétérogène, une version de système d'exploitation, une version d'application, etc.
L'atténuation consiste donc à isoler la menace. Par exemple, une organisation avec de nombreux ordinateurs utilisera un pontage ou VLAN pour isoler le réseau en fonction de la fonction d'exploitation de l'entreprise.
Il sera certainement plus difficile pour un pirate de compromettre complètement un réseau une fois qu'il y aura accès, si les ordinateurs ont tous des systèmes d'exploitation différents. Cependant, s'ils ont déjà accédé au réseau via un seul ordinateur, leur travail a déjà été facilité. Il est peu probable que tous les systèmes d'exploitation soient également renforcés contre une attaque, il y aura donc toujours le lien le plus faible qui puisse être utilisé pour attaquer l'ensemble du réseau.
Vous devez également considérer que compromettre l'ensemble du réseau n'est pas nécessairement l'objectif final d'un pirate. Si tout ce qu'ils recherchent, ce sont des données, il est plus probable que l'intrusion passera inaperçue, car l'informatique dépensera plus de ressources pour maintenir la sécurité pour tous les différents systèmes d'exploitation.