web-dev-qa-db-fra.com

Puis-je déterminer si mon ordinateur a un enregistreur de frappe installé?

Un de mes amis vient de commencer un travail dans une entreprise sensible à la sécurité. Ils lui ont fourni un ordinateur portable avec Windows XP Professional installé. Il a entendu une rumeur d'autres employés que les ordinateurs portables peuvent avoir des enregistreurs de frappe installés. Y a-t-il un moyen pour lui de confirmer ou d'infirmer cela Est-ce que ce sera aussi simple que de regarder l’arborescence des processus ou le registre, ou ces types d’enregistreurs de données se cachent-ils mieux que cela?

Il ne a des droits d'administrateur.

56
Plutor

Cela dépendrait grandement de la mise en œuvre de l'enregistreur de frappe. Certains produits de niveau entreprise incluent des rootkits qui rendent le keylogger presque impossible à détecter, à moins que vous ne connaissiez le produit utilisé et sa configuration. Pour un exemple, consultez Spector Pro *. En outre, comme le note Syneticon-dj , il est possible qu'ils utilisent à la place un enregistreur de frappe matériel qui pourrait être implémenté d'une manière qui ne peut pas être facilement détectée par le logiciel.

S'ils ont donné à votre ami les droits d'administrateur complets sur la boîte, ils sont soit vraiment confiants dans leurs capacités de surveillance et de contrôle de la configuration, soit ils sont assez ignorant les implications de l'octroi de tels privilèges à un utilisateur final. Souvent, c'est ce dernier. Mais, si vous présumez que le premier est le cas, vous devez également présumer qu'il existe une justification solide de leur confiance.

Quoi qu'il en soit, il est très probable que votre ami a déjà signé (et donc accepté) une politique d'utilisation acceptable qui comprend une clause qui renonce à tous les droits à la confidentialité des équipements appartenant à l'entreprise. De plus, toute entreprise inquiète de la conformité dans ces domaines aura également une bannière d'avertissement sur le système qui rappelle aux utilisateurs à chaque connexion qu'ils peuvent être soumis à une surveillance sur ces systèmes.

Bottom line: Ne faites rien sur l'équipement de l'entreprise que vous ne voulez pas qu'ils voient. Supposez toujours qu'ils enregistrent les frappes au clavier, capturent des captures d'écran (une autre fonctionnalité de logiciel espion courante) et surveillent le trafic réseau avec l'inclusion éventuelle d'un proxy SSL. Gardez les affaires sur le matériel professionnel et les trucs personnels sur le matériel personnel, et ça devrait aller.

* Remarque: Ce n'est pas une approbation de Spector Pro. Je n'ai aucune affiliation avec la société et je n'ai pas utilisé leur produit. Ceci est simplement donné à titre d'exemple du type d'outils de spyware disponibles pour les entreprises.

59
Iszi

Iszi vous donne de très bons conseils en général - les chances sont que s'ils utilisent un logiciel de surveillance, ils y sont confiants.

Est-ce que ce sera aussi simple que de regarder l'arbre de processus ou le registre, ou ces types d'enregistreurs de clés se cachent-ils mieux que cela?

Détecter les enregistreurs de frappe est aussi simple que de regarder au bon endroit (ce qui peut ou non être simple selon votre point de vue). Le problème est de savoir quoi chercher et où. Ce qui suit est un petit nombre non exhaustif de choses que vous pourriez faire pour vérifier les modules de keylogging.

Tout d'abord, le moyen facile et évident de construire un enregistreur de frappe est d'utiliser DLL Injection qui peut être réalisé de plusieurs façons. La plupart d'entre eux se traduira par un DLL apparaissant comme mappé à l'espace d'adressage du processus. Jetez un œil à cette image:

pyd process

Quelle est l'entrée la plus élevée de cette liste? C'est un pyd, ou python, fichier. J'ai joué avec des serveurs COM implémentés en python et par conséquent, le DLL = est chargé dans l'espace d'adressage de l'Explorateur Windows.

L'injection de DLL de la variété keylogging chargera son DLL dans tous les espaces d'adressage cibles - ne peut pas tout capturer si vous ne le faites pas. Donc, une chose à rechercher serait d'étranges DLL que vous ne peut pas être attribué à des produits dont vous connaissez le but. Ils apparaîtront dans cette liste pour tous les processus.

Parmi les techniques décrites sur wikipedia, la seule que je n'ai pas vue est la variété CreateRemoteThread - je ne sais pas si le résultat serait d'attacher un fil à l'image ou d'exécuter un fil avec un nom DllMain. Grâce à l'Explorateur de processus, nous pouvons toujours voir quels threads exécutent quoi:

Threads

Génial, non? Eh bien, ils pourraient bien être nommés pour coïncider avec l'évidence user32.dll ou quelque chose comme ça. Il y a un certain nombre d'expériences que nous pourrions réaliser pour déterminer si c'est le cas, si nous le voulions. Celles-ci sont laissées comme un exercice au lecteur (ne détestez-vous pas simplement quand les gens disent ça!).

Cela couvre donc le mode utilisateur-évident-keylogger-mode. Il existe des endroits moins évidents où un enregistreur de frappe pourrait être intégré (mais il est peu probable qu'ils soient mondiaux). Cependant, les choses deviennent vraiment passionnantes lorsque vous commencez à parler des hooks au niveau du noyau. Il y a un excellent article par Mark R et Bryce Cogswell sur ce sujet, bien qu'il doive être mis à jour avec la mise en garde suivante:

  • Les noyaux Windows 64 bits disposent d'un mécanisme de protection des correctifs du noyau qui vérifie périodiquement les points clés du noyau pour les modifications et arrête le système s'ils sont détectés.

Donc, si vous exécutez des fenêtres 32 bits, vous pouvez toujours avoir une certaine forme de raccordement au niveau du noyau installé et fonctionnel; si vous utilisez 64 bits, il est beaucoup moins probable - étant donné que KPP a été contourné avant et change constamment, je parierais que vous êtes libre de crochets du noyau sur x64 car les mises à jour de Windows feraient planter le système de produit de surveillance périodiquement. Le logiciel ne se vend tout simplement pas sur cette base.

Que pouvez-vous faire par rapport à un crochet 32 ​​bits? Beaucoup de choses:

  • Examinez le dossier des pilotes pour les entrées qui semblent suspectes/ne peuvent pas être attribuées.
  • Faites la même chose, mais hors ligne, afin que le pilote ne puisse pas vous empêcher de regarder.
  • Configurer une entrée de démarrage de débogage avec bcdedit (bcdedit /copy {current} /d "Windows in debug mode", bcdedit /debug {id} ON après approprié bcdedit /dbgsettings), branchez un câble firewire (vraiment. N'utilisez pas de série. J'ai découvert cela en utilisant des câbles série - le firewire est beaucoup plus rapide). Ensuite, sur votre machine source, démarrez kd et définissez un point d'arrêt sur le chargement des modules, puis parcourez tous les modules qui se chargent, en prenant note d'eux. Un pilote ne peut pas faire grand-chose pour se cacher avant son démarrage . Vous pouvez même procéder à son examen à partir d'ici (g pour continuer, ctrl+c se casse à tout moment).

Bien sûr, les mises en garde ici sont qu'aucun exécutable Windows n'a été directement corrigé, ou certains malversations qui sont au-delà de notre capacité à détecter trivialement.

Cela regarde directement le système, mais ce n'est pas une solution complète. Si vous pensez que le logiciel de journalisation appelle à la maison, un proxy transparent pourrait vous aider à identifier où - c'est-à-dire que vous pourriez être appelé pour vpn.mycompany.com mais vous pouvez également voir des connexions à monitorserver.mycompany.com.

Comme vous pouvez sans doute le dire, beaucoup de techniques à votre disposition dépendent de deux choses:

  • Votre familiarité préexistante avec votre système d'exploitation, ou votre capacité à vous familiariser rapidement avec ce qui est hors de propos et
  • La capacité et la ressource de l'auteur de vous cacher/masquer ses modifications.

Réponse courte: il n'y a aucun moyen infaillible de détecter quoi que ce soit de la sorte; il y a cependant des endroits où vous pouvez commencer à chercher des preuves.

Avertissements divers:

  • L'enquête pourrait être contraire à votre PUA. Il peut également être illégal où vous vivez.
  • Si vous essayez tout ce que je suggère et ne donnez rien, suivez les conseils d'Iszi , supposez que tout programme de surveillance est meilleur que vous.
  • Il est peu probable que vous vous fassiez des amis parmi le support informatique et les administrateurs système en analysant leurs systèmes de cette manière.
  • La sécurité de votre activité sur l'ordinateur portable professionnel ne dépend pas uniquement de son système d'exploitation, elle dépend également de tout le matériel/logiciel impliqué dans le transit de ces données. Mon point? Si vous craignez (ne dites pas que vous l'êtes, juste un exemple) que votre employeur vous espionne pour déterminer si vous passez votre journée à jouer à Farmville, eh bien, il n'a pas besoin d'un enregistreur de frappe pour le faire - si vous êtes connecté via leur réseau, ils devraient pouvoir enregistrer vos connexions. SSL masquera le contenu, mais pas la source ou la destination.
  • D'après mon expérience, les rumeurs d'enregistreurs de frappe se révèlent généralement être juste cela - des rumeurs. Cependant, cela est basé sur mon échantillon statistiquement invalide d'une entreprise où une telle rumeur existait, donc, pour ne pas être invoqué. De toute évidence, ces produits existent.
32
user2213
  1. Créez un compte GMail avec non autorisation en 2 étapes (pas depuis l'ordinateur portable d'un ami) .
  2. Connectez-vous avec l'ordinateur portable de votre ami dans l'interface Web de GMail (tapez le nom d'utilisateur/passez manuellement) .
  3. Créer un nouveau courrier avec subj some reports from %companyname%, attachez quelques .docs et .pdfs factices, tapez "[email protected]" dans le champ "À:". Cliquez sur "Envoyer".
  4. Activer autorisation en 2 étapes, et liez-la à votre téléphone (pas depuis l'ordinateur portable d'un ami)
  5. Ne vous connectez jamais à ce compte depuis n'importe où, attendez simplement un SMS confirmant les enregistreurs de frappe :)
18
НЛО

bien certains enregistreurs de frappe se cachent très bien en fait, certains pourraient être comme un rootkit et vous devriez obtenir un bon programme antivirus qui peut détecter et extirper les rootkits et les chevaux de Troie de l'ordinateur et il devrait être analysé soigneusement à partir d'un système CLEAN sinon vous pouvez démarrer un rootkit ou d'autres choses désagréables qui feraient en sorte que l'analyse semble propre, alors qu'en fait ce n'est pas le cas. un bon programme de ce type est le programme AVG Pro antivirus et antirootkit et il y en a quelques autres qui prétendent bien contre les rootkits et toutes les autres sortes de vers de logiciels espions trojans etc ... un bon investissement, si vous n'aimez pas avoir quelqu'un surveillant votre épaule tout le temps, ou pire, attrapez un "bug" plutôt méchant alors faites un scan avec quelque chose comme AVG, à partir d'un système CLEAN ... qui devrait prendre en charge toutes les choses que j'ai mentionnées et garder à jour votre logiciel antivirus/antirootkit

0
John Robert Einem

Fondamentalement, il n'y a aucun moyen de détecter cela autre que de démonter le système et de le comparer à une implémentation fiable.

Il a été prouvé qu'il était théoriquement impossible de créer un programme qui serait capable d'analyser un morceau de code arbitraire et de déterminer s'il allait s'arrêter éventuellement ou s'exécuter indéfiniment avec une entrée particulière ( problème d'arrêt ), ce qui à son tour signifie beaucoup pour les scanners qui sont destinés à déterminer si un binaire arbitraire va mettre votre machine dans un état indésirable particulier.

Comme complication supplémentaire, les enregistreurs de frappe n'ont pas besoin d'être installés sur le logiciel de votre système d'exploitation - ils peuvent également être un composant matériel .

0
syneticon-dj