J'ai une machine exécutant Mac OS X et je soupçonne qu'une porte dérobée est installée.
Je sais que je pourrais l'apporter à une firme de sécurité professionnelle pour analyse, ou la neutraliser depuis l'orbite, mais je suis intéressé à m'en occuper moi-même.
Quelles techniques judiciaires puis-je utiliser pour déterminer s'il existe des portes dérobées dans le système?
De plus, quelles options de configuration réseau souhaiterais-je mettre en place (pare-feu ou règles IDS, par exemple) pour aider à limiter ou détecter l'exploitation des portes dérobées dans mon système?
Si certaines personnes ont placé des portes dérobées cachées dans votre système et si elles étaient compétentes dans ce domaine, vous ne pourrez pas les trouver. "Compétence" signifie ici "avoir un accès à Internet et taper" rootkit mac os x "dans Google". Voir par exemple ce . Il est théoriquement impossible de masquer complètement une porte dérobée, mais uniquement dans le même sens qu'il est théoriquement possible d'écrire un logiciel sans aucun bug. En d'autres termes, c'est difficile.
Les "laboratoires de sécurité", quels qu'ils soient, peuvent essayer de voir dans votre machine s'ils trouvent quelque chose de louche. Peut-être, si vous observez des symptômes étranges, ils pourraient être en mesure de les expliquer sans postuler un virus/porte dérobée/malware. Si vous ne voulez pas leur montrer votre ordinateur, alors n'y échappez pas: vous devrez faire l'analyse vous-même, ce qui signifie acquérir quelques années de compétences techniques.
Vous pouvez également reformater le disque dur, puis réinstaller à partir de zéro. Très peu de logiciels malveillants peuvent survivre à cela.
Si vous recherchez une porte dérobée inactive, alors bonne chance, vous aurez besoin de plusieurs années de compétences en informatique légale pour la retrouver. D'un autre côté, si vous recherchez une porte dérobée en cours d'utilisation, l'utilisation de l'analyse du trafic à partir d'un autre système ou d'un périphérique matériel sur le réseau peut vous permettre de voir si votre ordinateur émet des paquets inattendus.
Cela pourrait aider à découvrir si quelqu'un utilise activement votre ordinateur pour quelque chose, mais nécessite toujours un niveau de connaissances techniques assez élevé, car il y aura une communication de fond sur votre système même s'il "ne fait rien".
L'efficacité n'est pas une variable ici. Le compromis est l'assurance de l'intégrité des ressources dépensées. Pour obtenir l'assurance complète que votre système a une intégrité parfaite (c'est-à-dire que personne ne peut utiliser votre système sans votre approbation), vous devrez dépenser une quantité presque infinie de ressources.
À tout le moins, vous auriez besoin d'un système d'exploitation avec un partitionnement beaucoup plus strict, puis OS X. À l'extrême, vous avez besoin d'un processeur spécialisé qui assure une séparation physique stricte des données et du contrôle (architecture Harvard par opposition à l'architecture von Neumann). Étant donné le nombre de composants du système hors de votre contrôle (processeur, carte mère, carte réseau, système d'exploitation et autres logiciels), même un expert aurait du mal à obtenir une assurance d'intégrité élevée d'un système sans aide extérieure.
Étant donné que vous n'êtes pas un expert en logiciels malveillants, le mieux que vous puissiez espérer est la réduction des risques par la réduction de l'exposition, la gestion des vulnérabilités et la réduction de la visibilité des menaces.
Limiter l'exposition signifie des étapes telles que la réduction du nombre total d'heures pendant lesquelles le système est connecté à un réseau, la réduction de la taille et de la portée des données sensibles stockées sur le système, et la réduction du téléchargement et de l'installation de logiciels.
La gestion des vulnérabilités signifie le suivi de tous les composants de votre système et la mise à niveau ou le patch continuels des composants vulnérables. Il s'agit principalement d'un logiciel, mais il peut également s'agir d'une carte réseau ou d'un périphérique. Cela signifie la surveillance des sources de votre système d'exploitation et de vos applications pour les alertes sur les vulnérabilités et la reconfiguration ou la correction de votre système selon les besoins.
Réduire la visibilité des menaces signifie ne pas annoncer où ou ce que votre système est et ce qu'il contient. La façon la plus simple d'illustrer cela est de montrer le contraire. Ne postez pas sur Facebook que vous avez commencé à prendre des cartes de crédit pour votre petite entreprise en utilisant votre Macbook. Cela alerte un attaquant potentiel sur une cible précieuse (les numéros de carte de crédit) ainsi que sur le type de vulnérabilités qu'il pourrait avoir.
Étant donné un système dans un état inconnu, il est, comme d'autres l'ont dit, très difficile à détecter les portes dérobées.Il existe différents outils que vous pouvez utiliser, mais une discussion appropriée à leur sujet dépasse quelque peu la portée d'un article ici.
Cependant, étant donné un système connu pour être en bon état, il est possible de détecter toute modification de son état en utilisant un système de détection d'intégrité basé sur l'hôte tel que les fils tripfire et ossec. Cela maintient une base de données sécurisée de hachages de fichiers du code exécutable sur votre système. Fournir un moyen pour vous de voir tout changement se produisant en dehors de vos activités de correction/développement.