Si tous les ordinateurs utilisent le même système d'exploitation, les attaquants n'ont besoin de se concentrer que sur un seul système d'exploitation, serait-ce dangereux?
Si tous les ordinateurs utilisent le même système d'exploitation, les attaquants n'ont besoin de 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 sujet - Cyber In security: The Cost of Monopoly. Étonnamment (étant donné qu'il était employé par Microsoft à l'époque), il arrive carrément dans le camp en affirmant que la diversité est vitale pour la sécurité (c'est moi qui souligne):
Quel que soit le sujet - informatique contre électrique production d'énergie contre défense aérienne - la survie consiste à se préparer à l'échec pour y survivre. La capacité de survie, que ce soit en tant que concept ou en tant que mesure, repose sur deux piliers: l'approvisionnement répliqué et le risque diversifié ....
... la redondance a peu de capacité à se protéger contre les pannes 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 pannes en cascade relève plutôt 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 garantit à son tour que les attaques seront limitées dans leur efficacité. 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 poursuivi en concluant que Microsoft était une menace dans la mesure où il introduisait une monoculture; qui s'est avéré être un mouvement de limitation de carrière pour lui chez Microsoft.)
Dans les commentaires, @Johnny suggère qu'il s'agit d'une réponse de crédibilité. Bien que j'aie choisi de citer ici l'article bien rédigé d'un professionnel respecté, je le fais parce qu'il reflète mes plus de 20 ans d'expérience dans le secteur de l'informatique et de la sécurité. (Ce qui, diable, ressemble presque à un diplôme secondaire. Mais je dis simplement que je fais référence plutôt que de perroquet).
Par exemple, l'architecture à 3 niveaux (web / app / db) est devenue une amélioration largement acceptée en termes de sécurité il y a longtemps, car la séparation entre différentes fonctions permettait de renforcer la sécurité. Dans cette veine, mon expérience a été qu'il y a un compromis entre le travail supplémentaire de configuration de systèmes hétérogènes (par exemple, IIS avec un backend MySQL-sur-Linux) et l'avantage supplémentaire de la diversité lors des attaques ( ou des 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 , ou vous n'avez qu'un seul fournisseur [DNS / Hébergement / Réseau], ou parce que vous utilisez le même système d'exploitation partout - tout finit mal.
Si tous les systèmes sont identiques, alors il y a une prévisibilité de ce qui pourrait mal tourner et comment corriger et patcher. 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 se tenir au courant des risques Windows et déployer des mesures d'atténuation pour un seul type de système.
Si vous mélangez les systèmes, les administrateurs doivent sécuriser ce mélange pour le même niveau de protection. Vous introduisez beaucoup d'inconnues et beaucoup d'incertitudes, ce qui augmente les risques. Oui, il est possible que certains systèmes soient plus sécurisés que d'autres, mais d'un point de vue holistique, plus les choses se ressemblent, 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 échec scénario est que tous vos systèmes sont infectés (par exemple, si vous devez garantir la disponibilité), l'utilisation de plusieurs systèmes d'exploitation peut aider (si cela est fait correctement). Si votre scénario de défaillance est l'un de vos systèmes infecté (par exemple, si vous êtes un cabinet d'avocats avec des documents sensibles), l'utilisation de plusieurs systèmes nuira.
* Une seule faille de sécurité connue du l'attaquant peut potentiellement permettre de compromettre plusieurs ou la plupart des machines exécutant le même système d'exploitation.
** Une seule faille de sécurité, sur n'importe quel des systèmes d'exploitation, connue de l'attaquant sera suffisante pour permettre de compromettre l'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, gérer la sécurité d'un tel réseau demanderait beaucoup plus de travail.
Mais même si la gestion d'un réseau diversifié n'était pas un problème, les humains restent 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 machine Linux peut être amené à abandonner ses identifiants de connexion aussi facilement que quelqu'un sur une machine Windows.
Et même si tous vos utilisateurs sont avertis sur la sécurité et ne tombez jamais dans aucune astuce, 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 multiplateformes, vous ne seriez toujours pas plus en sécurité . Les hackers commenceraient simplement à écrire des logiciels malveillants multiplateformes.
C'est faisable, mais ça n'en vaut tout simplement 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 où une distribution de probabilité pour l'occurrence des échecs peuvent être donnés. Ces connaissances sont ensuite utilisées pour déterminer les modèles de distribution afin de minimiser le risque.
La protection contre les attaques intentionnelles est une préoccupation entièrement différente. La réplication ne peut sauver une entreprise d'attaques intentionnelles que si les ressources répliquées sont totalement 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 «insignifiantes» dans une certaine mesure (1), l'adaptation pourrait ne pas demander beaucoup d'efforts. Étant donné que le terme «trivial» dépend des capacités de l'attaquant, mettre trop de foi dans la diversité comme mesure de sécurité est également risqué.
(1) Debian contre Ubuntu peut être considérée comme trop peu différente les uns des autres.
Cela dépend de ce que vous essayez de réaliser.
Le fait d'avoir un ensemble diversifié de systèmes d'exploitation sur 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 l'objectif d'un attaquant.
Au lieu de cela, les attaquants essaient généralement soit de saboter vos opérations en désactivant les services essentiels, soit d'essayer de voler des informations. Dans ces cas, compromettre un seul système d'exploitation sur un seul ordinateur peut suffire, et avoir plusieurs systèmes d'exploitation différents dans votre réseau signifie qu'un attaquant est libre de (et doit seulement) 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, l'un 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é offre à un attaquant plus d'un défi et l'exploit qui l'a amené à le faire ne le fera pas passer 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 un tas de très bonnes fenêtres experts, mais pas de Linux, alors l'introduction de certains systèmes Linux juste pour obtenir de la diversité est susceptible de réduire votre sécurité globale car vous n'avez personne pour configurer, renforcer et entretenir correctement ces systèmes et ils deviendront un responsabilité.
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 d'expertise ou de ressources, ne le faites pas uniquement pour le faire.
Le système d'exploitation se trouve au niveau supérieur du modèle OSI de réseau. La couche 7 est la couche d'application. Avoir un système d'exploitation monopolistique rend l'exploitation des vulnérabilités de sécurité plus efficace, mais il permet également des correctifs et des résolutions de vulnérabilités de sécurité plus efficaces.
En rendant les protocoles réseau de niveau inférieur et leurs appareils plus sûrs, c'est-à-dire les routeurs, nous pouvons compenser les vulnérabilités du système d'exploitation dans la couche d'application. La plupart des intrusions peuvent être évitées avec un bon routeur pare-feu capable de gérer la sécurité au niveau des couches Session (couche 5), transport (couche 4) et réseau (couche 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 expérimenté 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, c'est le prix plutôt que la capacité qui a été le moteur. Une fois qu'il a été rompu (bien que pénible), les entreprises ont rompu avec l'innovation. Je pense qu'il en va de même 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 rapide, mais pas très bien pour grand-mère lorsqu'elle recherche sa collection de recettes. PC / DOS est idéal pour les passionnés mais ne peut vraiment rien faire d'autre que la nostalgie. Bien qu'il soit vrai que certains systèmes d'exploitation sont des imitations les uns des autres (en particulier dans le monde des consoles de jeux), chacun a toujours son propre terrain de jeu.
J'espère que cela vous aidera.
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 peut éliminer tous les systèmes.) Alors que plusieurs systèmes d'exploitation différents sont plus difficiles à maintenir, mais ils séparent ou silosent également 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 fumoirs. 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 des systèmes d'exploitation et des infrastructures différents. La meilleure sauvegarde possible est les différents systèmes d'exploitation et une troisième sauvegarde basée sur le cloud. Cela montre que la diversité est préférable à 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. si l'un d'entre eux est compromis, les attaquants peuvent obtenir le reste relativement facilement. Ceci est valable pour les vulnérabilités et pas seulement.
Si vous avez de nombreux systèmes d'exploitation différents, l'administration, la correction 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 le seront plus sûr par rapport au premier cas.
Dans les deux cas, vous avez besoin de sécurité et de correctifs.
Le système d'exploitation est également important. S'il est facile d'être ciblé, il vaut mieux en utiliser d'autres également. Si c'est une solution considérée comme suffisamment sûre, c'est bien si ce n'est que celle-là.
Vrai.
Ceci est similaire au "point de défaillance unique", l'échec ici est dû à 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 matériel hétérogène, version du système d'exploitation, version de l'application, etc.
L'atténuation consiste donc à isoler les menaces. Par exemple, une organisation avec de nombreux ordinateurs utilisera le pontage ou le VLAN pour isoler le réseau en fonction de la fonction opérationnelle 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à eu accès au réseau via un ordinateur, leur travail a déjà été simplifié. 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 ' t nécessairement l'objectif final d'un hacker. Si tout ce qu'ils veulent, ce sont des données, il est plus probable que l'intrusion passera inaperçue, car le service informatique dépensera plus de ressources simplement pour maintenir la sécurité pour tous les différents systèmes d'exploitation.