Leçon 3 sur 4 · 10 min
Journalisation et détection
Qu'est-ce qui vaut la peine d'être connecté sur un Mac et les signes concrets (balisage, anomalies DNS, binaires non signés) indiquant que quelque chose doit être examiné de plus près.
Un pare-feu qui ne bloque rien et n’enregistre rien ne constitue qu’une demi-défense. La détection est l’autre moitié : remarquer quand quelque chose sur la machine se comporte d’une manière qui ne convient pas. Sur un Mac, cela ne nécessite pas de centre d'opérations de sécurité, mais nécessite de savoir suffisamment à quoi ressemble une connexion normale pour en remarquer une anormale.
Qu'est-ce qui vaut la peine d'être enregistré
Sur un seul ordinateur, les catégories de journaux utiles reflètent ce qu'un centre d'opérations réseau plus vaste suivrait, juste à échelle réduite : quelles applications ont établi quelles connexions, vers quelles destinations et quand ; quelles applications ont été exécutées et si elles ont été signées par un développeur connu ; et les modifications apportées aux paramètres de sécurité tels que le pare-feu ou le Gatekeeper. macOS lui-même conserve un journal unifié couvrant les événements du système et des applications, visible dans l'application Console ou avec log show, et les propres décisions du pare-feu d'application y sont également enregistrées. Ce qui manque à la plupart des gens, ce n'est pas une journalisation exacte, puisque macOS enregistre déjà beaucoup de choses, mais une vue lisible des connexions sortantes en particulier, puisque c'est dans cette direction qu'une compromission est la plus susceptible d'apparaître en premier.
Lecture des journaux de connexion : à quoi ressemble la normale
Un journal de connexion n'est utile qu'une fois que vous avez une idée approximative de ce qui est normal pour une application donnée : on s'attend à ce qu'un navigateur établisse des connexions fréquentes à de nombreux domaines différents ; une application de prise de notes faisant la même chose ne l’est pas. Les trois détails à noter pour toute connexion sont la destination (un domaine ou une adresse IP, et idéalement qui l'exploite), le moment (une fois, occasionnellement ou à intervalle fixe) et l'application qui en est responsable.
Indicateur : balisage
Le balisage est une connexion sortante répétée, souvent chronométrée avec précision, utilisée par un logiciel pour s'enregistrer auprès d'un serveur distant, parfois pour recevoir des instructions supplémentaires. Le cadre ATT&CK de MITRE décrit ce modèle de trafic de commande et de contrôle au niveau de l'application comme quelque chose que les défenseurs recherchent spécifiquement à travers des « intervalles de type balise » : un timing régulier qu'une application normale pilotée par l'utilisateur, qui se connecte lorsque vous l'utilisez et reste silencieuse autrement, ne produirait pas. Une seule application se connectant discrètement à la même adresse toutes les quelques minutes, 24 heures sur 24, que vous l'utilisiez ou non, est le genre de modèle qui mérite d'être étudié plutôt que d'être rejeté.
Indicateur : anomalies DNS
Chaque recherche de nom de domaine passe par le DNS avant même qu'une connexion ne soit établie, ce qui fait du trafic DNS un endroit utile pour rechercher des bizarreries : une application résolvant un nom de domaine inhabituellement long ou d'apparence aléatoire, une rafale de recherches sur des domaines que vous ne reconnaissez pas, ou des requêtes DNS avec un volume et une forme qui ne correspondent pas à la navigation normale. L'explication de Cloudflare sur le tunneling DNS décrit l'une des raisons pour lesquelles cela se produit : le codage des données dans les requêtes et les réponses DNS peut être utilisé pour déplacer des informations dans ou hors d'un réseau au-delà des contrôles qui inspectent uniquement le trafic Web ordinaire. Vous n’avez pas besoin de diagnostiquer entièrement la technique vous-même ; remarquer que l’activité DNS d’une application particulière semble inhabituelle est une raison suffisante pour regarder de plus près ou demander de l’aide.
Indicateur : binaires non signés
Chaque application Mac légitime doit être signée par code, et la plupart sont également notariées (couvertes dans le cours de renforcement macOS de ce site). Vous pouvez vérifier si une application spécifique est signée depuis Terminal :
codesign -dv --verbose=4 /Applications/SomeApp.app
Executable=/Applications/SomeApp.app/Contents/MacOS/SomeApp
Identifier=com.example.someapp
...Une application qui n'est pas du tout signée ou dont l'identifiant ne correspond pas à ce que vous attendez de cette application mérite d'être traitée avec suspicion, en particulier si elle apparaît également dans la liste des processus établissant des connexions réseau que vous ne pouvez pas expliquer. Il s'agit d'une vérification en lecture seule : elle inspecte une signature, elle n'exécute ni ne modifie l'application.
IDS/IPS, à votre échelle
Un système de détection d'intrusion (IDS) surveille le trafic et déclenche une alerte en cas de schéma suspect ; un système de prévention des intrusions (IPS) va plus loin et bloque automatiquement le trafic. Les versions Entreprise de ceux-ci comparent le trafic à de vastes ensembles maintenus de signatures d'attaque et de modèles comportementaux connus. Sur un Mac, un pare-feu par application qui signale une destination nouvelle ou inhabituelle et vous permet de décider fonctionne comme une version légère et personnelle de la même idée : la détection, avec la possibilité d'agir, à l'échelle d'une machine plutôt que de l'ensemble d'un réseau.
À retenir
- La chose la plus utile pour se connecter sur un seul Mac sont les connexions sortantes par application, car macOS enregistre déjà la plupart des événements système et de sécurité ailleurs.
- Le balisage est une connexion sortante répétée, souvent programmée régulièrement, que vous utilisiez ou non activement l'application responsable.
- Une activité DNS inhabituelle (noms de domaine longs ou d'apparence aléatoire, rafales de recherches inhabituelles) peut indiquer que des données entrent ou sortent au-delà des contrôles normaux du trafic Web.
- `codesign -dv --verbose=4 <path>` est un moyen en lecture seule de vérifier si une application est signée par code et par qui.
- Un pare-feu personnel, par application, qui signale les destinations inhabituelles, fonctionne comme un IDS léger pour une machine : la détection, avec le choix d'agir.
Vérifiez vos connaissances
1. Qu’est-ce qui rend le « balisage » suspect plutôt qu’une simple connexion normale ?
- Il utilise HTTPS
- Cela n'arrive qu'une fois
- Il s'agit d'une connexion répétée, souvent programmée régulièrement, que l'application soit activement utilisée ou non. — Exact.
- Cela vient d'un navigateur
Les applications ordinaires se connectent lorsque vous les utilisez ; des enregistrements réguliers et mécaniques, quelle que soit l'activité, sont le modèle que MITRE ATT&CK associe au trafic de commande et de contrôle.
2. Pourquoi une activité DNS inhabituelle mérite-t-elle d’être prise en compte ?
- Le DNS est toujours crypté donc les anomalies sont rares
- Les données peuvent être codées dans des requêtes et des réponses DNS pour déplacer les informations au-delà des contrôles qui inspectent uniquement le trafic Web. — Exact.
- Les recherches DNS ne se produisent jamais sur un Mac normal
- Cela n'a d'importance que pour les serveurs Web, pas pour les ordinateurs personnels
Le tunneling DNS masque les données dans le trafic DNS, notamment parce que de nombreuses défenses n'inspectent pas le DNS aussi attentivement que le trafic HTTP.
3. Que fait `codesign -dv --verbose=4 <app path>` ?
- Supprime une application non signée
- Affiche la signature du code et l'identifiant d'une application, sans la modifier — Exact.
- Empêche l'exécution de l'application
- Installe une règle de pare-feu pour l'application
Il s'agit d'une commande d'inspection en lecture seule qui affiche les informations de signature pour l'application donnée, utile pour vérifier si elle est légitimement signée.
À vous de jouer avec FireAI
Mettez cette leçon en pratique sur votre propre Mac.
- Règles : appli, site, domaine, IP ou une plage, pour toujours ou jusqu’au redémarrage — Écrivez une règle aussi précise qu’une seule adresse ou aussi large qu’un domaine entier.
- Le coupe-circuit — Coupez votre Mac d’Internet en un clic quand quelque chose vous semble anormal.
- Enquêter sur une connexion — Décidez avec les faits sous les yeux, pas avec un vague avertissement.
- Activité : chaque appli qui s’est connectée, et une recherche en langage clair dans l’historique — Voyez chaque appli qui s’est connectée aujourd’hui, et agissez sur l’une d’elles en un clic.
Sources
- MITRE ATT&CK: Application Layer Protocol (T1071)
- Cloudflare Learning: What is DNS tunneling?
- Apple Platform Security: App code signing process
Mettez-le en pratique sur votre Mac
Essayez toutes les fonctionnalités gratuitement pendant 17 jours, sans carte bancaire.