Question:
La sécurité physique est-elle moins importante lorsque les disques d'un serveur sont chiffrés?
user93353
2015-12-29 11:05:39 UTC
view on stackexchange narkive permalink

Si vous pouviez accéder physiquement à un serveur, vous pourriez changer le mot de passe root / admin même si vous ne connaissiez pas le mot de passe actuel.

Cependant, avec les disques chiffrés, je ne pense pas que ce soit possible (ou est-ce possible?).

Alors, cela signifie-t-il que la sécurisation physique de votre serveur est devenue moins importante - c'est encore nécessaire pour d'autres raisons - mais est-ce que cette raison n'existe plus?

Pourquoi est-il impossible de changer le mot de passe si le disque est chiffré? Le disque n'est pas en mode lecture seule, le système peut enregistrer des journaux, etc. Ainsi, un utilisateur malveillant peut modifier n'importe quel fichier (y compris le stockage des mots de passe) s'il a accès au serveur.
Je comprends que l'information est - probablement - l'atout le plus précieux pour vous, et il y a de fortes chances qu'elle soit également précieuse pour vos concurrents. Mais si vous êtes la cible d'un groupe «hacktiviste», criminel ou terroriste qui veut juste que vous vous retiriez du jeu, laisser un petit explosif sur la salle des serveurs semble assez efficace. Même si nous n'allons pas à l'extrême, effacer votre disque, le voler (peut-être le remplacer) ou installer du matériel ou des logiciels malveillants (comme l'ont souligné les réponses actuelles) peut faire beaucoup de dégâts.
@A.L - comment localiseriez-vous le stockage de mot de passe si le disque est chiffré.
@user93353 le serveur est en cours d'exécution, donc les partitions sont montées, elles sont lisibles et inscriptibles.
Boîtier ouvert, hotplug dans la carte PCI, vidage de la mémoire, recherche dans l'image mémoire pour le mot de passe. https://www.blackhat.com/presentations/bh-dc-07/Rutkowska/Presentation/bh-dc-07-Rutkowska-up.pdf
@pjc50: Je suis conscient que c'est faisable dans des conditions idéales. Cependant, lorsque j'ai essayé de brancher quelque chose sur mon PC, des étincelles et de la fumée ont suivi, donc je ne suis pas sûr de la facilité avec laquelle cela peut être fait.
@MartinArgerami Boîtier ouvert, branchement à froid de la carte PCI, démarrage, vidage de la mémoire, attente de la connexion de l'utilisateur désemparé, vidage de la mémoire, vidage de la mémoire diff pour le mot de passe, retrait de la carte PCI depuis, vous savez, le matériel n'est pas bon marché et nous avons plus à pirater . Ou, tu sais, keylogger USB. Aucun tournevis requis.
@CandiedOrange: Je répondais spécifiquement au commentaire de pjc50 sur "hotplug". S'il s'agit de voler le mot de passe, vous pouvez également installer une webcam filmant le clavier; vous n'avez même pas besoin d'ouvrir le boîtier. Ou encore plus simple, vous pouvez [écraser l'opérateur avec une clé à 5 $] (https://xkcd.com/538/).
Personnellement, je pense qu'il serait plus facile de s'introduire dans une station serveur avec quelques crétins et une arme chargée que d'apprendre les techniques nécessaires pour briser la sécurité virtuelle. La principale différence serait la quantité de preuves laissées pour compte.
@pharap vous ne connaissez pas la puissance du côté passif agressif.
Neuf réponses:
Adam Caudill
2015-12-29 12:33:25 UTC
view on stackexchange narkive permalink

L'accès physique, dans de nombreuses situations, probablement la plupart, signifie une perte totale de sécurité - pour diverses raisons (tout cela suppose des disques cryptés):

  • Vol - Un attaquant pourrait voler le serveur ou disques, pour attaquer à leur rythme. Cela permet à un attaquant de prendre son temps, et vous ne savez pas s'il a réellement eu accès aux données.
  • Modification physique - Si je peux accéder à un serveur, je pourrais ajouter du matériel, cela pourrait être n'importe quoi de la journalisation USB ou clavier à l'ajout d'une interface sans fil pour permettre l'accès à distance.
  • Attaque de démarrage à froid - Il existe des attaques qui peuvent être utilisées pour extraire les clés de chiffrement, permettant le déchiffrement des disques .
  • etc.

Il y en a d'autres bien sûr, mais ce n'est qu'un exemple de ce qui peut arriver si un attaquant a un accès physique. Il existe des attaques possibles qui sont encore quelque peu théoriques, telles que l'application d'images UEFI backdoored et autres.

Peut-être le pire aspect d'une attaque physique, c'est que vous ne savez peut-être même pas ce qui a été fait exactement, donc il y a un vrai problème pour pouvoir faire confiance au matériel par la suite.

Le fait de ne pas savoir ce qui a été fait n'est pas vraiment spécifique aux attaques physiques.
Il y a cependant 0% de chances que vous puissiez les tracer et détecter un comportement inattendu sur le réseau ou sur l'appareil que j'imagine.
Au sujet de la modification physique: L'accès physique s'accompagne d'un accès au bus PCIe, ce qui donne la possibilité d'exploiter l'accès DMA. Je ne pense pas qu'il ait même besoin du système d'exploitation pour charger correctement un pilote, mais cela n'a pas vraiment d'importance car un attaquant peut usurper l'identité de la carte. Un implant PCIe peut efficacement ouvrir le système d'une manière difficile à retracer.
Une fois, j'ai eu une expérience où tous les pare-feu, routeurs et périphériques HSM d'un site ont été volés. Comme vous pouvez l'imaginer, il n'y avait pas seulement un fardeau financier pour remplacer les appareils qui coûtaient 30 000 à 120 000 dollars chacun, mais le fait que les coupables aient accès aux clés de cryptage signifiait que toutes les données devaient être rechiffrées. La sécurité physique est-elle donc moins importante? Sûrement pas!
JTAG, SMM, IPMI, ...
candied_orange
2015-12-29 11:13:31 UTC
view on stackexchange narkive permalink

L'accès physique est un accès total. Kinda. Donnez-moi un accès physique à un serveur avec un disque crypté et la première chose que je ferais est de brancher un enregistreur de frappe sur le clavier pour prendre en charge ce cryptage embêtant.

Présentez-vous à ma porte avec un crypté disque dur et je vais le formater et vider les films dessus.

Le cryptage est le plus souvent vaincu non pas en le cassant mais en le contournant. Il ne vous protège que lorsque vous l'utilisez. Vous avez accès parce que vous avez quelque chose qui vous donne accès. Que ce soit un mot de passe, une RFID, une empreinte digitale, peu importe. Donnez-moi l'accès physique pendant que vous l'utilisez encore et je déterminerai comment vous y avez accès.

Quel type de keylogger allez-vous installer sans d'abord déchiffrer le disque?
vraisemblablement un keylogger matériel
Est-ce que la chose qui demande le logiciel de mot de passe ou le micrologiciel? Si tel est le cas, il pourrait être remplacé par un clone qui enregistre le mot de passe quelque part. Sinon, c'est un keylogger matériel.
@EloyRoldánParedes Pourquoi auriez-vous besoin d'accéder au disque pour installer quelque chose? Avec un accès physique, vous pouvez être en mesure de lire et de modifier tout ce qui se trouve dans sa mémoire pendant qu'il est encore en cours d'exécution, de sorte que vous pouvez soit lire ce dont vous avez besoin, soit obtenir un accès root au système d'exploitation et aux pilotes, et exécuter le keylogger de cette façon.
"Je vais le formater et y vider les films." +1
André Borie
2015-12-29 18:37:40 UTC
view on stackexchange narkive permalink

Le chiffrement du disque peut être vaincu en remplaçant la machine par une machine malveillante qui ressemble et se comporte exactement de la même manière, mais son seul but est de tromper l'utilisateur légitime en lui faisant entrer le mot de passe FDE. Dans le cas d'un utilisateur local, cela peut être aussi simple qu'un keylogger USB, dans le cas d'un utilisateur distant (entrant la clé via SSH), vous devez extraire les clés privées SSH (qui se trouvent sur la partie non chiffrée du stockage depuis le La clé FDE n'est pas encore disponible), puis démarrez votre propre SSHd avec cette clé et attendez que l'utilisateur revienne.

John Deters
2015-12-29 12:27:28 UTC
view on stackexchange narkive permalink

L ' attaque de démarrage à froid a été utilisée sur les ordinateurs portables pour vaincre le chiffrement du disque et fonctionnerait certainement sur les serveurs. Il y a également eu des attaques de RAM utilisant DMA via Thunderbolt, PCI Express et d'autres technologies de bus. Et les logiciels malveillants ont accès aux données non chiffrées; un attaquant physique peut avoir plus de facilité à l'installer via du matériel local.

N'oubliez pas que pour fonctionner, le serveur doit être démarré, ce qui signifie que les clés du disque sont situées quelque part dans la machine.

"ce qui signifie que les clés de disque se trouvent quelque part dans la machine.". Toute bonne vérification de mot de passe n'est pas qu'une simple comparaison de chaînes.
@mathreadler Quoi? Nous parlons de clés de déchiffrement, pas de mots de passe.
Oui clé, mot de passe. Potayto, potahto.
@mathreadler, dans la cryptographie moderne, les clés de cryptage ne sont pas utilisées comme mots de passe et les mots de passe ne sont pas utilisés comme clés de cryptage. Les mots de passe sont parfois utilisés pour dériver des clés de chiffrement de manière algorithmique, mais il est tout aussi possible qu'ils ne soient validés que comme une étape de récupération de la clé de chiffrement. Le démarrage à froid annule le chiffrement du disque en récupérant directement la clé de chiffrement du disque. Le mot de passe de l'utilisateur est utilisé dans le système d'exploitation pour dériver une clé utilisée pour accéder à la clé utilisée pour déchiffrer les fichiers chiffrés par l'utilisateur; il n'est pas lié au cryptage du disque.
Oui, je sais que le mot de passe utilisateur du système d'exploitation n'est généralement pas le même que la clé de chiffrement du disque. La clé n'a toujours pas besoin d'être stockée sur la machine. Il peut être stocké sur un appareil amovible ou pas du tout stocké mais juste validé. Je vois aussi ce que vous essayez de faire et cela ne fonctionne pas très bien.
Silverfox
2015-12-30 00:14:15 UTC
view on stackexchange narkive permalink

Dans le cas d'un accès physique, vous contournez de nombreux dispositifs de sécurité tels que les pare-feu et les périphériques ips ids en périphérie du réseau, vous avez donc plusieurs longueurs d'avance. Lorsque vous obtenez un accès à distance au serveur, vous devez toujours gérer le cryptage, donc c'est la même chose dans les deux cas. Il y a une citation à ce sujet qui dit: "Ils n'ont pas à contourner votre pare-feu s'ils peuvent contourner votre réceptionniste."

Theraot
2015-12-30 04:36:43 UTC
view on stackexchange narkive permalink

Il convient de noter que la sécurité ne concerne pas uniquement la confidentialité et la confidentialité, elle inclut également la disponibilité et l'intégrité (et la traçabilité, etc.).

En tant que tel, avec un accès physique - même si ils ne peuvent pas accéder à vos données - un attaquant peut faire beaucoup de dégâts.

Je suppose que l'intégrité et la disponibilité sont vos "autres raisons". Pourtant, si la question est quelconque ou non, la sécurité physique est moins importante, la réponse est que même si vous supprimez la confidentialité de vos préoccupations, la sécurité physique est toujours primordiale.


Considérez cette réponse comme un complément aux autres ici, il n'est pas nécessaire de répéter leurs points.

Ajay
2015-12-29 11:27:12 UTC
view on stackexchange narkive permalink

Si vous pouviez obtenir un accès physique à un serveur, vous pourriez changer le mot de passe root / admin même si vous ne connaissez pas le mot de passe actuel.

Quel système d'exploitation ne vous le demandera pas pour le mot de passe actuel lorsque vous souhaitez changer? Ou vous voulez dire changer le mot de passe d'un autre utilisateur (qui est un administrateur)?

Cependant, avec les disques chiffrés, je ne pense pas que ce soit possible (ou est-ce?).

Avec mon expérience sur Windows, dossier EFS / Le fichier ne sera pas accessible si un autre administrateur modifie le mot de passe avec force. Vous aurez besoin d'un certificat EFS pour le même si vous perdez votre mot de passe ou si un changement de mot de passe forcé se produit (ou si le compte lui-même est supprimé).

Donc, cela signifie-t-il que la sécurisation physique de votre serveur est devenue moindre important - il est toujours nécessaire pour d'autres raisons - mais cette raison n'existe-t-elle plus?

IMO, les deux sont nécessaires.

Pour Linux, Unix et Windows, si vous avez un accès physique à la machine que vous modifiez, changez le root / admin. Vous démarrez sur une image différente et la modifiez. Google pour cela.
Avec EFS, ce n'est pas possible. Et, même avec un volume / dossier non-EFS, comment pouvez-vous accéder et modifier le mot de passe?
C'est exactement ma question, non? Auparavant, les disques n'étaient pas chiffrés - vous pouviez changer le mot de passe si vous aviez un accès physique - donc la sécurisation physique de la machine était très importante. Désormais, avec les disques chiffrés, cette raison de sécuriser physiquement les machines n'existe plus.
Eh bien, ignorez le cryptage du disque. Les mots de passe sont stockés cryptés (AES 256, par exemple). Comment pouvez-vous accéder ou modifier? Même avec l'ancien fichier de mot de passe "simple" sous Unix, le système d'exploitation utilisait le salage pour se défendre contre les attaques par brute / dictionnaire. Les mots de passe sont stockés à l'aide de hachages unidirectionnels, comme vous le savez peut-être. Le système d'exploitation conserverait les informations d'authentification / d'intégrité sur le fichier de mot de passe quelque part (MAC / HMAC) - par conséquent, une modification d'un seul octet casserait le MAC.
Eh bien, je comprends votre point de vue. Et si `etc / passwd` est volé, modifié et remis en place? Eh bien, la sécurité physique de l'OMI est alors indispensable!
`etc / passwd` est volé ... Ici, je pensais que l'accès physique signifiait être dans la même pièce que le serveur. Je peux voler votre `etc / passwd` à l'autre bout du monde. Pourquoi assimilez-vous l'accès aux fichiers à l'accès physique?
Dans un disque non chiffré, le mot de passe peut être modifié (mais pas récupéré) si vous disposez d'un accès physique à la machine. C'est parce que vous pouvez démarrer à partir d'une image différente et l'écraser sur le disque. http://www.liberiangeek.net/2013/03/unlock-the-root-account-reset-the-root-password-change-username-in-ubuntu-13-04-raring-ringtail/
@CandiedOrange: Avec de bons paramètres de sécurité et d'autorisation du réseau, il est difficile de voler etc / passwd. Si j'ai votre lecteur SATA, il me suffit de le placer sur un connecteur SATA sur MON OS sur MON PC pour le monter pour voler etc / passwd - c'est ce que l'accès physique bat - tous les logiciels qui protègent etc / passwd depuis ces logiciels ( y compris le système d'exploitation) ne fonctionnera pas. La seule chose qui pourrait vous sauver est le cryptage. Mais sans aucun logiciel capable d'exécuter et de limiter mes tentatives de piratage de mot de passe, le seul coût pour moi est le temps.
J'ai changé de nombreux mots de passe administrateur Windows 7 Pro en environ cinq minutes avec une astuce qui nécessite un accès physique. Bien sûr, Windows 7 (même pro) n'est pas un système d'exploitation serveur, mais les mots de passe sont stockés avec un hachage unidirectionnel. L'astuce que l'on peut utiliser ne nécessite pas de connaître ou même de saisir les mots de passe actuels sur le système - il remplace simplement le mot de passe administrateur par un nouveau. Bien qu'ils ne soient pas identiques, des processus similaires peuvent être utilisés pour d'autres systèmes d'exploitation si le lecteur n'est pas chiffré. Comme l'indiquent CandiedOrange et Andre Borie, certains types d'accès physique peuvent conduire à un accès complet à un système cible.
"Écraser le mot de passe" - Où? Voyez-vous un fichier ou un hachage calculé?
http://www.howtogeek.com/96630/how-to-reset-your-forgotten-windows-password-the-easy-way/ Les fonctionnalités d'accessibilité peuvent être remplacées par cmd.exe qui peut ensuite être utilisé pour émettre le "net user adminusername newpassword", écrasant ainsi le mot de passe de l'utilisateur en question. ** En supposant que vous ayez un accès physique **.
Par conséquent, encore une fois, vous oubliez EFS. Si le disque n'est pas chiffré et que vous avez un accès physique, volez simplement le disque dur!
... alors que s'il * est * chiffré, vous devez entrer dans l'analyse de la mémoire. Ce qui est une classe très réelle d'attaques, en particulier si vos attaquants sont bien financés (au dernier rappel, les cartes PCI pour extraire des images de mémoire en direct ont coûté environ 8 000 $).
@Ajay J'essayais de répondre à votre question citée ici: "Et, même avec un volume / dossier non-EFS, comment pouvez-vous accéder et changer le mot de passe?" C'est vous qui avez spécifié un système non EFS.
@slebetman / etc / passwd est * lisible dans le monde *. Il doit l'être, car il contient des éléments aussi utiles que des mappages entre des ID utilisateur numériques et significatifs / conviviaux. Obtenir une copie est trivial si vous avez un accès de connexion. C'est pourquoi les systèmes modernes utilisent des "mots de passe masqués", où les * mots de passe hachés * sont stockés dans un fichier différent, qui n'est accessible qu'à root (/ etc / shadow sous Linux).
guest
2017-02-28 12:37:54 UTC
view on stackexchange narkive permalink

Réponse courte: Non, c'est toujours très important

La plupart des gens ont publié des réponses qui incluent l'ingénierie sociale, ou des attaques qui sont nécessairement interactives (comme des enregistreurs de frappe ou des variantes de l'attaque de la méchante femme de chambre). Ceux-ci peuvent être contournés à l'aide de techniques d'attestation à distance sécurisées (impliquant généralement Intel TXT ou SGX). Comme la plupart d'entre eux sont interactifs et que de nombreux adversaires ne peuvent pas se permettre d'attendre que quelqu'un se connecte au serveur, je vais fournir quelques exemples qui peuvent être utilisés pour compromettre un serveur chiffré à tout moment, ainsi que des mesures d'atténuation. Notez que ce sera centré sur Linux, mais les points matériels sont indépendants du système d'exploitation.

Récupération directe de la mémoire à l'aide d'attaques de démarrage à froid

La méthode que tout le monde connaît , une attaque de démarrage à froid, peut récupérer les clés de chiffrement sur la plupart des matériels avec une fiabilité modérée avec deux méthodes. La première consiste à refroidir la mémoire à l'aide d'un spray réfrigérant, à la retirer physiquement et à la placer dans une nouvelle carte mère pour lire le contenu. La seconde consiste à conserver la mémoire, éventuellement à la refroidir pour améliorer la fiabilité et à redémarrer le système dans un système d'exploitation malveillant et léger, un chargeur de démarrage ou, dans au moins un cas connu, un BIOS personnalisé, qui lit et vide la mémoire sur un non -moyen volatil.

L'attaque de démarrage à froid fonctionne parce que la mémoire informatique moderne de haute capacité, appelée DRAM, stocke les données dans des condensateurs qui doivent être rafraîchis à un taux élevé lorsqu'ils stockent une charge, ou ils ' Je perdrai leur charge. Ils sont généralement actualisés toutes les 64 ms pour plus de fiabilité, mais même sans alimentation, beaucoup d'entre eux conservent leurs données pendant une courte période.

Il existe aujourd'hui trois principaux types de mémoire couramment utilisés dans les serveurs: DDR2, DDR3 et DDR4. La DDR2 peut parfois conserver les données pendant 30 secondes ou plus sans alimentation. La DDR3 et la DDR4 perdront de l'énergie en quelques secondes, ce qui les rendra beaucoup plus difficiles à monter contre des attaques à démarrage à froid. De plus, la mémoire DDR3 et DDR4 brouillera leur contenu pour réduire les interférences électriques, mais l'algorithme qu'il utilise est un LFSR, qui n'est pas cryptographiquement sécurisé et est facile à casser.

Atténuer la première méthode est aussi simple que s'assurer que les modules DIMM ne peuvent pas être retirés. Cela peut être fait en utilisant correctement une résine époxy anti-effraction. S'il est utilisé correctement, toute tentative de suppression détruira la mémoire dans le processus. Cela peut ne pas être possible si vous utilisez un serveur qui ne vous appartient pas physiquement. Atténuer la deuxième méthode nécessite l'effacement de la mémoire de votre BIOS avant le démarrage. La désactivation du démarrage rapide peut parfois entraîner l'effacement de la mémoire dans le cadre du POST. La mémoire ECC nécessite également souvent d'être initialisée par le BIOS avant utilisation. Cependant, au moins une fois, une attaque de démarrage à froid de ce type impliquait une version personnalisée de démarrage à froid. BootGuard, une fonctionnalité sur de nombreux nouveaux systèmes Intel, empêchera l'installation de BIOS personnalisés, mais un adversaire particulièrement avancé pourra toujours le contourner.

Il existe encore une dernière méthode pour annuler le démarrage à froid attaque, qui fonctionne contre les deux types d'attaques de démarrage à froid, et qui consiste à ne jamais permettre à la clé de chiffrement d'entrer en contact avec la mémoire. C'est exactement ce que fait le patch du noyau TRESOR pour Linux, en plaçant les clés dans les registres de débogage x86. Cela ne rend pas votre ordinateur à l'abri de toutes les attaques impliquant un accès physique, cela empêche uniquement les attaques de démarrage à froid de lire vos clés de chiffrement. Les données de votre disque qui restent par exemple dans les tampons du système de fichiers seront toujours récupérables.

Lecture et écriture en mémoire à l'aide d'attaques DMA

Tout périphérique connecté au PCH (PCI, PCIe, LPC) a le potentiel de lire et d'écrire directement dans la mémoire via DMA, ou accès direct à la mémoire, des attaques, également appelées master bus mal (un périphérique qui est maître de bus est autorisé pour envoyer des requêtes DMA, entre autres). Le DMA est une technique qui permet aux périphériques de lire et d'écrire de manière asynchrone dans la mémoire, sans avoir à impliquer le processeur, pour de meilleures performances. Malheureusement, si un tel périphérique est détourné ou inséré de manière malveillante, il peut lire et écrire dans toute la mémoire et le processeur ne peut rien y faire. Le processeur peut dire si l'appareil a des capacités DMA, mais s'il est activé, le processeur fait confiance à l'appareil, lui faisant confiance pour ne pas le trahir.

Je connais trois types d'attaques DMA. Le premier est le branchement à chaud PCI / PCIe, qui consiste à placer un périphérique malveillant dans un emplacement sur la carte mère et à laisser le système d'exploitation le configurer automatiquement. Ceci est simple à atténuer, en désactivant le branchement à chaud. Cela peut nécessiter une modification de la configuration du noyau. Le deuxième type d'attaque consiste à détourner un périphérique de confiance existant qui est le maître de bus et à l'utiliser pour lire ou écrire dans la mémoire. Cela peut être fait soit en exploitant le micrologiciel exécuté sur l'appareil, soit en détournant le matériel via des interfaces de débogage exposées, en reflétant le micrologiciel et en déclenchant une réinitialisation à froid du processeur de l'appareil, etc. Le dernier type, qui est beaucoup moins connu, est une attaque sur le LPC. Le LPC est l'équivalent du bus ISA archaïque sur du matériel moderne. Il gère les anciens périphériques à faible vitesse. Cependant, il peut également être rendu maître de bus en affirmant l'interruption LDRQ #. Toutes les cartes mères ne l'exposent pas, et bien que ce soit purement anecdotique, un développeur Intel que j'ai rencontré a déclaré qu'il n'avait jamais vu un ordinateur portable exposant LDRQ #. Cela peut être différent pour les serveurs. Malheureusement, la fiche technique Intel PCH spécifie que le bit maître de bus du LPC est en lecture seule, forcé. Si votre système prend en charge LDRQ #, l'atténuation des attaques DMA basées sur LPC doit être effectuée d'une autre manière.

Il existe deux façons d'atténuer les attaques DMA. Le premier tire parti du fait que, alors que DMA fonctionne indépendamment du CPU, l'activation du DMA nécessite toujours que le CPU lui donne l'autorisation en activant le bit maître du bus. Un pilote, qui n'est qu'un logiciel, peut refuser un périphérique qui souhaite cette autorisation. Si le périphérique n'est pas autorisé, il ne peut pas lancer DMA. Par exemple, si vous n'utilisez pas le pilote Firewire ou que vous utilisez le pilote Firewire plus moderne dont le DMA est désactivé par défaut, le périphérique Firewire PCI aura DMA désactivé (le bit maître de bus sera désactivé). Cette technique a ses inconvénients, car certains appareils nécessitent un DMA pour fonctionner. Les cartes d'interface réseau, les cartes graphiques, etc. nécessitent DMA, ou elles seraient si lentes qu'elles seraient inutilisables. Bien que vous n'ayez pas à vous soucier d'un nouveau, malveillant étant branché, un exploit contre la carte, ou une attaque contre le matériel (le contrôlant à l'aide d'interfaces de débogage, par exemple) peut utiliser ce privilège contre l'hôte.

L'autre atténuation consiste à utiliser une fonctionnalité dans la plupart des processeurs modernes, l'IOMMU (la fonctionnalité est nommée VT-d sur les processeurs Intel). L'IOMMU est capable de filtrer efficacement tous les accès DMA, sans le désactiver purement et simplement. Cela s'appelle DMAR ou remappage DMA. La spécification ACPI spécifie un blob de données appelé la table DMAR qui est stockée dans le BIOS que l'IOMMU utilisera pour isoler les périphériques compatibles DMA individuels, redirigeant tout accès direct à la mémoire vers une zone de mémoire spécifique et sûre. Sur de nombreux systèmes Linux, vous devez l'activer en démarrant avec le paramètre intel_iommu = on (pour Intel), ou amd_iommu = force (pour AMD). Ces options ne sont pas activées par défaut car de nombreux BIOS ont une table DMAR cassée, empêchant le système de démarrer ou causant des problèmes. Vérifiez si votre système utilise l'IOMMU pour isoler les périphériques si dmesg | grep -e IOMMU -e DMAR affiche la Technologie de virtualisation Intel (R) pour les E / S dirigées (évidemment spécifique à Intel) dans la sortie, et plusieurs périphériques sont référencés.

Piratage du processeur lui-même à l'aide de JTAG

JTAG est un groupe de normes spécifiant des interfaces et des protocoles pour le débogage matériel. Un standard, intitulé IEEE 1149.1, permet de mettre un CPU dans un mode de débogage de bas niveau simplement en attachant une sonde JTAG sur un en-tête sur la carte mère. Les systèmes Intel utilisent un en-tête propriétaire modifié, appelé ITP-XDP. Si quelqu'un veut attaquer un serveur chiffré avec JTAG, il doit connecter la sonde à l'en-tête XDP. Même si l'en-tête n'est pas clairement visible, les traces seront toujours là, et seront toujours actives et viables. Dès que la sonde est connectée, tous les cœurs du processeur s'arrêteront, et l'attaquant pourra lire le contenu de tous les registres, lire toute la mémoire, écrire dans n'importe quel registre, écrire dans n'importe quelle mémoire, faire défiler l'instruction CPU par instruction, changer le pointeur d'instructions, réactiver et mettre en pause le processeur, et bien plus encore. En bref, JTAG permet à un attaquant de prendre le contrôle complet du CPU, le contrôlant comme une marionnette, et il ne peut rien y faire.

Il n'y a aucun moyen d'atténuer une attaque JTAG dans un logiciel. Essentiellement, toutes les cartes mères ont des en-têtes XDP. Un moyen possible de l'atténuer, si vous avez un accès physique au serveur et êtes autorisé à le modifier de manière permanente (par exemple colo, hébergement à la maison, etc.), vous pouvez utiliser une résine époxy forte et la placer sur l'en-tête XDP. Cette technique peut être encore améliorée en plaçant une épaisse plaque de métal sur l'époxy, empêchant les forets fins de casser des trous dans l'époxy. On m'a dit qu'il n'y avait pas de souci pour un attaquant de percer le fond, car il y a tellement de couches de traces dans une carte mère moderne que cela détruirait le système. Je ne sais pas si cela entraînerait l'arrêt du système ou empêcherait JTAG de fonctionner, il est donc préférable de mettre de l'époxy et une feuille de métal des deux côtés.

Exotique, attaques extrêmement difficiles ou théoriques

Il y a le problème bien connu des attaques par canal latéral via l'analyse de puissance et l'analyse thermique. Cela peut être possible lorsque le programme effectuant le chiffrement / déchiffrement n'utilise pas d'opérations à temps constant là où elles sont critiques, ce qui entraîne des retards détectables ou de grandes consommations d'énergie qui se produisent à des moments différents en fonction de la valeur de la clé. Il est peu probable que les pilotes de cryptographie modernes aient ce problème, et l'accélération matérielle comme AES-NI rend cela encore moins problématique. Les mesures d'atténuation incluent l'utilisation de chiffrements qui prennent en charge l'accélération matérielle, comme AES sur du matériel approprié, l'utilisation de chiffrements qui ont de petites boîtes S et peuvent être optimisés en utilisant le découpage de bits, comme Serpent, ou en utilisant la séparation rouge / noir pour un EMSEC approprié (recherchez le SDIP-27 OTAN pour les spécifications. En général, il vous suffit d'acheter un ordinateur approuvé.

Les analyseurs de bus logiques peuvent être connectés directement à toute trace ou fil électrique exposé, sans jamais avoir besoin de couper le circuit. C'est possible avec la DRAM, mais à mesure que les vitesses augmentent, cela devient de plus en plus difficile. PCIe utilise des techniques pour améliorer la vitesse qui entraînent des phénomènes électriques très étranges que les analyseurs logiques n'aiment pas du tout (une voie PCIe n'a pas une séparation nette entre hi et lo, car les données saignent dans les lignes adjacentes et les signaux électriques font écho dans les deux sens). C'est peut-être possible, mais ce serait difficile à faire. Si votre concentrateur racine PCI prend en charge AER, rapport d'erreurs, vous pouvez configurer votre système pour désactiver immédiatement le maître de bus de tout périphérique qui signale des erreurs corrigibles, plutôt que de continuer, comme c'est le cas par défaut. Cette technique rapide peut détecter une tentative d'insertion d'un analyseur de bus logique dans un périphérique PCIe. Parce qu'il s'agit d'une attaque tellement théorique et exotique qui peut très bien ne pas être possible de toute façon, et que l'atténuation n'est pas testée (simplement une idée qui est née lors d'une conversation que j'ai eue avec un chercheur), j'explique simplement le concept, pas le étapes pour le faire. Il est probable que vous n'ayez pas à vous soucier de la lecture des données PCIe de toute façon, car il est peu probable qu'elles contiennent la clé, mais je l'inclus par souci d'exhaustivité.

Enfin, et de manière irréaliste, un attaquant extrêmement avancé pourrait déclencher des bogues dans le CPU en exploitant les bizarreries de synchronisation et de puissance. Ces attaques (appelées attaques glitching) sont couramment utilisées pour exploiter de simples microcontrôleurs tels que les Atmel 8051 bon marché, mais ce sont de nombreux ordres de grandeur moins bien testés que les processeurs Intel. Le glitching peut impliquer le réglage de l'horloge ou des horloges à des valeurs invalides ou instables, la mise hors tension des spécifications, la violation des spécifications de synchronisation, etc. Dans les cas particulièrement avancés, le glitching peut impliquer une technique appelée injection de défaut laser, où le processeur est décapé (le haut est soigneusement dissous ou brûlés), et un laser contrôlé avec précision est utilisé pour déclencher une activité électrique dans des zones spécifiques, induisant des défauts. Le but final des pépins est de provoquer une erreur qui change l'état interne du périphérique en un état plus convivial pour les attaquants, comme celui où le maître de bus peut être activé, ou les restrictions IOMMU peuvent être rompues. Les exemples du monde réel avec les microcontrôleurs 8051 tentent souvent de désactiver les bits de verrouillage de sécurité, tels que le bit de lecture du micrologiciel. Ils réussissent presque toujours sur des appareils aussi simples.

Tout atténuer, du moins en théorie

Enfin, il existe une atténuation commerciale qui protège de tout sauf de l'attaque JTAG, et c'est PrivateCore vCage. C'est une solution de virtualisation qui crypte toute la mémoire et place le noyau dans le cache du processeur. Les attaques DMA sont fondamentalement empêchées et le TCB (Trusted Computing Base) est entièrement réduit au CPU lui-même, ce qui signifie que peu importe ce qui est détourné, seul le CPU doit être fiable. En théorie, même les attaques JTAG pourraient être vaincues si le système exécutait tout le code non approuvé dans une enclave SGX. Cela fonctionnerait car le mode sonde, le mode CPU dans lequel JTAG place le système, ne peut pas être utilisé dans le contexte d'une enclave SGX. Malheureusement, cette implémentation est une source fermée, et le service est très cher, donc c'est plus intéressant d'un point de vue académique.

Darien
2015-12-30 07:50:24 UTC
view on stackexchange narkive permalink

J'ai un disque "crack" basé sur UNIX qui peut vaincre la plupart des systèmes de connexion std, serveur et bureau sous Windows. Et ce n'est pas un secret de la Défense nationale, ils sont assez disponibles dans le monde entier. Donc, si vous me donnez votre serveur et une clé USB ou un CD-ROM ouvert, je serai probablement en moins de 15 minutes, parfois moins de 5. Alors oui, gardez votre sécurité physique aussi serrée que votre virtuelle. Sinon, vous allez être touché, tôt ou tard, la seule question sera «quelle était l'ampleur de la brèche?

cela fonctionne même sur un disque crypté?
Désolé pour le vote défavorable Darien, mais vous, je ne veux pas laisser une réponse incorrecte qui semble correcte. L'OP mentionne explicitement le chiffrement du disque.
Et il existe des disques qui peuvent craquer les systèmes de connexion Linux / Unix. Mais comme le vôtre, ne fonctionnera pas sur les systèmes cryptés.
Ces liveiscs ne font pas d'attaques DMA.Au mieux, vous pouvez extraire hiberfil.sys + pagefile.sys, ou copier brutalement la partition d'échange.OP a un lecteur crypté, très probablement avec un fichier de clé gpg, et un défi de mot de passe au démarrage.Il ne contient que quelques fichiers dans / boot et ailleurs qui sont en texte clair.Dans ce cas, un attaquant doit subvertir le binaire qui fournit le défi d'écrire également le mot de passe dans le fichier / l'hôte distant.
@user93353 Crack sha512 mots de passe hachés qui sont maintenant standard?Vous avez besoin d'une grosse plate-forme GPU ou cela prendra trop de temps.OP ne parle pas de système de connexion de toute façon, il parle (probablement) d'un cryptodisque LUKS, qui peut tout conserver sauf quelques fichiers en crypto fort.OP ne peut pas à nouveau se connecter à distance à ce système, car à présent un attaquant moyennement qualifié peut avoir backdooré ses binaires en clair.


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...