J'ai pris l'avion pour retourner aux États-Unis et tout mon équipement électronique a été saisi par la sécurité intérieure, y compris mon ordinateur portable, les disques durs externes, les lecteurs flash, etc.
Après plus d'un mois, j'ai enfin récupéré mes affaires. J'ai 2 questions:
Sait-on si Homeland Security a déjà installé des logiciels espions, des virus, des dispositifs de suivi, etc. sur les ordinateurs saisis?
Que dois-je rechercher, quelles mesures dois-je prendre pour désinfecter mes affaires, que feriez-vous?
EDIT: Je ne peux pas reformater, graver le disque dur, etc. comme certains l'ont suggéré parce que le travail est très important sur l'ordinateur portable, c'est-à-dire les logiciels sur lesquels je travaille depuis plus d'un an.
Oui, j'avais des sauvegardes de toutes mes données. Malheureusement, les sauvegardes étaient toutes avec moi, et elles ont également saisi tout cela (2 disques durs externes, 3 lecteurs flash USB). Donc, simplement utiliser des sauvegardes n'est pas une option.
De plus, quelqu'un a dit que les gens ne pouvaient pas m'aider sans enfreindre les lois. Je ne connais aucune loi qui stipule qu'il est illégal de supprimer les logiciels espions/programmes malveillants/virus, ou qu'il est illégal de supprimer tout ce que le gouvernement a mis sur votre ordinateur.
EDIT: Je suppose que je pourrais reformuler la question comme "comment feriez-vous pour obtenir le code source que vous aviez écrit (fichiers texte) de l'ordinateur en toute sécurité," en toute sécurité "signifiant numériser des fichiers texte pour détecter quelque chose d'inhabituel, puis de les transmettre ou de les mettre sur un autre ordinateur? "
Étant donné que votre ordinateur portable était en possession d'une entité gouvernementale avec des intentions inconnues envers vous pendant une durée prolongée, il n'y a vraiment aucun moyen de le restaurer dans un état entièrement fiable.
Si vous supposez que les États-Unis DHS pour être hostiles, le seul processus sécurisé pour aller de l'avant comprend:
Tout ce qui est inférieur à cela laisse plusieurs possibilités extrêmement indésirables:
Vous devriez vérifier les 10 lois immuables de sécurité . La loi # 3 s'applique certainement. En supposant qu'ils ont exploité cette loi, vous pouvez probablement parier que les lois n ° 1 et n ° 2 s'appliquent également.
Loi # 1: Si un méchant peut vous persuader d'exécuter son programme sur votre ordinateur, ce n'est plus votre ordinateur
Loi n ° 2: Si un méchant peut modifier le système d'exploitation de votre ordinateur, ce n'est plus votre ordinateur
Loi n ° 3: Si un méchant a un accès physique illimité à votre ordinateur, ce n'est plus votre ordinateur
Consultez également les 10 lois immuables de l'administration de la sécurité . Ici, la loi n ° 4 est la plus appropriée.
Loi n ° 4: il n'est pas très utile d'installer des correctifs de sécurité sur un ordinateur qui n'a jamais été sécurisé au départ
C'est une excellente question.
Fondamentalement, une fois qu'un appareil a été saisi par un adversaire avec le niveau de sophistication en tant qu'État-nation, en particulier aux États-Unis, cet appareil et toutes les données qu'il contient ne peuvent plus faire confiance. La seule approche sûre consiste à ne pas faire confiance à cet appareil et à le détruire.
Les fuites de Snowden ont révélé les diverses méthodes par lesquelles le gouvernement américain peut compromettre les ordinateurs. Cela inclut l'installation de bogues matériels dans le clavier lui-même, le GPU ou d'autres composants qui rendent l'ordinateur entièrement enraciné et compromis même si un O/S est réinstallé. Ils ont également installé des émetteurs radio pour vaincre les ordinateurs "sans air" qui ne se connectent jamais à Internet en exfiltrant des données via une radio cachée. Le discours de Jacob Appelbaum sur le sujet est très instructif: Je suggère fortement de regarder cette vidéo car il détaille les différents appareils que le gouvernement est connu d'utiliser. Un résumé wikipedia est également disponible.
Maintenant, il est possible que les agents de la sécurité intérieure n'aient installé aucun de ces appareils et n'aient pas les mêmes capacités que la NSA. Mais cela ne peut être exclu.
Bien que vous puissiez récupérer certaines données du disque dur en les retirant et en les plaçant dans un boîtier USB/en utilisant un câble SATA vers USB, cela comporte des risques. J'utiliserais un ordinateur jetable à usage unique pour lire le lecteur ... car le micrologiciel ou le contrôleur du lecteur peut contenir des logiciels malveillants qui tenteront d'infecter tout ordinateur auquel il est branché.
Pour contrer cela, je recommanderais d'acheter un dispositif de duplication de matériel médico-légal (connu sous le nom de duper de bloc d'écriture). Ensuite, branchez-y le lecteur SATA de votre ordinateur et clonez-le sur un autre disque. Ensuite, copiez les fichiers de ce disque cloné sur un autre ordinateur. Cela devrait empêcher un compromis basé sur le firmware.
Cependant ... vous ne pouvez pas être certain qu'un certain type de ver, etc. n'a pas été planté dans les fichiers eux-mêmes. En copiant sur plusieurs appareils et en n'utilisant pas l'appareil sur lequel vous avez initialement branché le disque dur, vous minimisez vos chances de compromis prolongé; mais il y a encore une chance que quelque chose ne tourne pas rond avec les fichiers. AntiVirus, etc. n'aidera pas contre des attaques sophistiquées comme celle-ci.
C'est pourquoi l'ordinateur ne peut plus faire confiance. Cependant, vous pouvez prendre des mesures telles que le duplicateur de matériel pour minimiser les risques de problèmes.
Cette histoire pourrait également être à noter: http://www.wired.com/2010/11/hacker-border-search/ .. un pirate célèbre fait inspecter son ordinateur à la frontière par le DHS, et son Je pense que c'est une conclusion très valable:
"Je ne peux faire confiance à aucun de ces appareils maintenant", déclare Marlinspike, qui préfère ne pas divulguer son nom légal. "Ils auraient pu modifier le matériel ou installer un nouveau firmware de clavier."
En fonction de votre niveau de paranoïa à ce sujet et de la quantité de votre code, à l'extrême, vous pouvez passer à une méthode LOW-TECH pour contourner tout ce qui a été fait.
Achetez une imprimante bon marché. Connectez-le à votre ordinateur portable. Imprimez votre code source sous forme de rames et de rames de texte. Imprimez tous les graphiques, mises en page, etc. Imprimez les paramètres utilisateur nécessaires. Détruisez l'ordinateur portable et l'imprimante.
Bien sûr, vous devez maintenant ressaisir tout votre code source, recréer vos graphiques et ainsi de suite, mais vous n'avez pas à réinventer réellement l'IP et il n'y a AUCUNE connexion électronique pour quiconque de suivre.
1) Il n'y a donc aucun moyen de savoir qu'ils ne l'ont pas fait. J'ai l'impression que c'est un peu au-dessus de leur niveau de rémunération (et auraient-ils le temps?). Cela dépend de votre niveau de paranoïa. Si vos pensées coulent comme un ruisseau tranquille après le premier jour de printemps, copiez les données sur une nouvelle machine et poursuivez votre vie. Si vous vous demandez si les chiens qui hurlent dans vos pensées sont des messagers du prince des ténèbres, brûlez tout dans un feu de joie alimenté par de la thermite.
2) Pour moi personnellement, je détruirais l'équipement, pleurerais sur sa tombe et continuerais. Avec des sauvegardes qui ne sont pas physiquement sur moi. Cependant, la plupart des données que je garde sur mes machines vivent dans le cloud ou sont remplaçables.
Si ce travail n'a vraiment pas de prix, un audit s'impose. Tout d'abord, retirez le lecteur de l'ordinateur portable et branchez-le dans un environnement isolé - nouvel ordinateur sans réseau. Un CD Live Linux pratique est idéal pour cela. Montez le lecteur en question et parcourez les fichiers - voyez-vous quelque chose d'étrange? Manque-t-il quelque chose? Des fichiers Windows étranges? L'utilisation de Clam AV est également un bon choix. Y a-t-il de nouveaux fichiers que vous ne reconnaissez pas? Supprime-les.
Je ferais également la copie en petits morceaux dans le CD Linux Live. À moins qu'ils ne soient suffisamment sophistiqués pour y installer des logiciels malveillants Windows et Linux, vous empêcheriez tout programme de surveillance de s'exécuter automatiquement et de trouver une nouvelle maison. Je ne saurais trop insister sur ce point - sachez ce que vous copiez. Vérifiez votre projet - De nouveaux ajouts dont vous ne vous souvenez pas?
Après cela, utilisez un environnement Windows propre et soyez à l'affût de toute activité suspecte. Créez une bonne politique de sécurité et chiffrez la prochaine fois vos disques! Oh, et lancez tout une fois que vous avez récupéré les données. Les attaques de firmware sont réelles.
Comme d'autres l'ont souligné, pour le code source vous devez faire plus que simplement le copier en toute sécurité - vous devez être en mesure de détecter la falsification. Et pour cela, vous devez effectuer une révision substantielle du code.
Si le code est très complexe, ou si vous n'en savez pas assez pour le faire correctement, vous avez une autre option: partager votre avis en crowdsourcing. Publiez simplement le code en open source et invitez les gens à trouver l'implant. J'imagine que certaines personnes savoureraient le défi.
cat /dev/ttyS0 > hd.img
. (Votre adaptateur série n'est peut-être pas/dev/ttyS0; vous voudrez peut-être vérifier cela d'une manière ou d'une autre)cat /dev/sda > /dev/ttyS0
(ou le disque dur que vous souhaitez imager et quel que soit l'adaptateur série appelé sur cet ordinateur)(Si vous souhaitez créer d'autres images, connectez-les à l'ordinateur non fiable et répétez la procédure)
Vous devriez maintenant avoir une image de disque dur, et vous l'avez obtenue sans rendre votre ordinateur de confiance vulnérable. Comme le contenu de l'image n'est pas fiable, ne la démarrez pas sur une machine virtuelle .
Vous pouvez l'ouvrir avec un éditeur hexadécimal et essayer de rechercher les données que vous voulez, mais cela vous prendra pour toujours pour reconstituer les fichiers.
Au lieu de cela, écrivez un programme (dans un langage à mémoire sûre tel que Java ou Python) pour analyser les structures de données du système de fichiers et extraire les fichiers que vous souhaitez. Assurez-vous de revoir chaque fichier extrait dans un hex avant de l'utiliser pour autre chose, au cas où il aurait été falsifié. (N'utilisez même pas cat
. xxd
est bien tant qu'il n'est pas configuré pour afficher ASCII caractères)
Détruisez l'ordinateur et les périphériques non fiables (y compris tous les USB Live que vous avez utilisés sur cet ordinateur); vous ne savez pas qu'ils n'ont ajouté aucun dispositif de suivi. Ils l'ont (probablement) fait par le passé , donc cette préoccupation n'est pas injustifiée.
Je n'ai jamais fait face à ce scénario; mais d'après ce que je sais, la procédure de nettoyage inverse fonctionne. Démarrez un support externe et copiez soigneusement vos fichiers de travail un par un, en les auditant au fur et à mesure. Reformatez ensuite.
Soyez heureux que les systèmes à jour ne subissent pas d'attaques via des fichiers texte ou image (du moins connus). Si des processus mystérieux apparaissent, soumettez vos fichiers de travail pour analyse de logiciels malveillants. Si vous en avez, le DHS regrettera de vous avoir ciblé et d'avoir gaspillé son malware le plus sophistiqué sur une cible de faible priorité.
Pour référence future, pour vous-même et pour les autres, je recommanderais d'effectuer un hachage SHA256 complet de tous les fichiers sur l'ordinateur et du micrologiciel, avant et après un tel voyage. Assurez-vous de laisser la liste de hachage SHA1 à la maison.
Je recommanderais également que pour les voyages à l'extérieur du pays, vous preniez un ancien ordinateur portable que vous avez effacé et donné une nouvelle installation de votre système d'exploitation de choix avant le voyage. Prenez uniquement les fichiers dont vous avez besoin. Les fichiers plus petits doivent être hébergés dans le cloud ou accessibles à distance. Les fichiers plus volumineux doivent être chiffrés individuellement et recevoir des noms inoffensifs et des extensions de fichier non standard qui ne révèlent pas leur objectif.
Avant de retourner, vous devez supprimer tous les fichiers auxquels vous ne souhaitez pas que les agents des douanes accèdent.
À tout le moins, ces étapes réduiront votre attention pour déterminer quels fichiers ont pu être ajoutés/modifiés/supprimés.
Comme indiqué dans d'autres réponses, il peut y avoir des logiciels espions dans le BIOS ou autrement cachés dans du matériel modifié. (Par exemple, en théorie, on peut imaginer une attaque complexe où un processeur est remplacé par une puce qui émule le processeur d'origine mais fait également des choses supplémentaires à des fins d'espionnage.)
Pour être absolument sûr d'avoir supprimé un tel logiciel espion, il faudrait une expertise en électronique, et même alors, le temps de le faire pourrait valoir plus que la valeur du matériel.
Cependant, il est possible de récupérer données (code non exécutable), en particulier du texte brut, à condition de ne jamais exécuter de code provenant - directement ou indirectement - de la machine compromise (y compris les fichiers directement écrits par matériel de l'ordinateur portable compromis). Cela signifie:
Vous devez connecter le disque dur à une nouvelle machine, pour en copier et le jeter ensuite.
Il existe toujours le risque d'attaques de dépassement de tampon dans les documents, ciblant une application particulière que vous pourriez utiliser pour afficher le document. Une défense possible contre celles-ci (en dehors de la vérification des vulnérabilités connues) serait d'utiliser des applications moins courantes (et non celles qui ont été installées sur votre ordinateur portable, car ce sont elles qu'elles s'attendent à ce que vous utilisiez) pour afficher les documents, ou les convertir dans un autre format (en utilisant un logiciel d'une source fiable pour le faire), et éventuellement de retour.
Le ou les disques durs de l'ordinateur portable compromis peuvent avoir modifié le micrologiciel, mais cela ne peut pas entraîner directement l'exécution du code sur la machine que vous utilisez pour les copier (il peut altérer les données lors de leur lecture ou de leur écriture). Bien qu'en théorie, il pourrait avoir un exploit de dépassement de tampon ciblant un pilote de disque.
Idéalement, toutes les copies et conversions (et la suppression des macros) devraient être effectuées sur une machine que vous réinstalleriez (ou supprimeriez) par la suite. (Un Raspberry Pi ou similaire est rapide à installer et peut être consommé).
Vous souhaitez copier votre code source depuis la machine compromise sans risque d'infecter votre nouvel ordinateur?
Facile:
De cette façon, vous n'avez pas de connexion directe entre la machine (éventuellement) compromise et votre ordinateur personnel. Les seuls fichiers que vous transférez sont des fichiers texte bruts et inspectés à la main. Ainsi, le seul vecteur d'attaque restant est le code sournois dans vos fichiers de code source. La seule façon d'être à l'épreuve des balles serait de réécrire chaque méthode dans un nouveau projet. Regardez l'ancien code source et écrivez à nouveau chaque méthode avec quelques corrections mineures et un nettoyage.
D'autres ont parfaitement couvert les dangers et les problèmes, donc je ne vais pas essayer de reproduire cela. Je voulais juste ajouter une suggestion pour après la révision inévitable du code. Je me rends compte que la question concerne la santisation de l'ordinateur, mais je vous suggère de prendre également des mesures concernant votre code.
Supposons donc que vous avez traité tout le matériel comme s'il s'agissait d'une annulation totale et hostile, et que vous devez en récupérer le code. Il y a déjà eu des suggestions sur la façon de retirer le code sur une autre machine en utilisant une imprimante jetable et disons que vous l'avez fait (j'aurais retiré physiquement l'adaptateur sans fil de la machine compromise avant de le démarrer par précaution supplémentaire) aussi).
Vous avez donc tapé à nouveau votre code et l'avez déjà examiné pour les modifications et vous en êtes satisfait. L'étape supplémentaire que je prendrais maintenant est de supposer également que le code a été examiné et doit être revu au niveau fonctionnel et, si nécessaire, modifié.
Cela peut être la façon dont vous hachez et stockez les mots de passe, peut-être un mécanisme de licence s'il en a un, ou peut-être que votre code communique sur Internet avec les utilisateurs d'une manière particulière. Je pense juste que si je portais le code qui générait quelque chose qui pourrait intéresser un acteur de l'État-nation, j'envisagerais de le modifier de sorte que s'il a glané quelque chose de son fonctionnement interne, la prochaine fois qu'il verrait lors de son utilisation, il se comportera différemment de la façon dont ils s'attendent à ce qu'il se comporte.
tl; dr
Je suggère de réfléchir à la fonction du code que vous portiez; un acteur potentiellement hostile gagnerait-il à comprendre comment cela fonctionne? Si tel est le cas, réfléchissez à la manière dont vous atténueriez le fait que quelqu'un possède ces connaissances.
Cela suppose bien sûr que le code que vous portiez pourrait potentiellement les intéresser.
Note finale; cette étape serait nécessaire dans mon esprit même si j'avais restauré le code à partir d'une sauvegarde sûre connue, car c'est la façon dont le code fonctionne qui a été exposée.
Votre situation ne semble pas très amusante malgré tout - bonne chance pour tout régler.