Windows vs Sysmon


Lors de la dernière conférence ZeroNights, au cours d'une communication informelle avec nos collègues du système de surveillance, on nous a posé une question simple à première vue - il était largement admis que Sysmon devrait être utilisé pour surveiller entièrement le point final avec le système d'exploitation Windows, est-ce le cas? Et si oui, pour quelles raisons spécifiques (bonjour Seryozha!)? Nous n'avons pas pu trouver de réponse complète sans ambiguïté dans notre bagage de connaissances ou une comparaison correspondante sur Internet, donc, tout d'abord pour nous-mêmes, mais non des moindres, afin qu'à l'avenir une telle source provienne encore de la communauté, nous avons décidé d'explorer ce sujet et comparer les événements face à face Windows et Sysmon. Comme le dit le proverbe, "1 ... 2 ... 3 ... Combattez!".


introduction


Tout spécialiste dans le domaine de la sécurité de l'information est contraint de travailler dans un certain cadre. Par exemple, dans un budget limité, la sécurité, à de rares exceptions près, n'est pas le principal moyen pour une organisation de réaliser un profit ou d'exercer d'autres fonctions au sein de son cœur de métier. Par conséquent, dans des conditions de ressources limitées que l'organisation possède, seule une petite partie d'entre elles est souvent allouée au secteur de la sécurité afin de maintenir cette orientation au niveau minimum suffisant (conformément à certaines exigences). Même avec des ressources illimitées, il y aura toujours d'autres restrictions qui ne permettront pas d'amener le niveau de sécurité à l'absolu. Ce sont les vulnérabilités notoires du jour zéro ou normal (gestion sans fin des correctifs), et la course aux armements constante des pirates et des agents de sécurité,et le dynamisme du développement de l'infrastructure informatique, et bien plus encore.

Dans cette optique, plus que jamais, la question de la hiérarchisation des moyens et méthodes de protection est urgente, y compris dans le sens du suivi. Dans ce domaine, selon les statistiques fondées sur les données de la MITRE ATT & CK matrice , que nous avons déjà écrit la dernière fois, les priorités sont les suivantes comme: première place inconditionnelle est prise par une telle source d'événements de sécurité comme paramètres.


Cette source mène au nombre de techniques matricielles qui peuvent être identifiées en fonction des événements enregistrés sur elle. Le système d'exploitation le plus courant pour les points de terminaison reste Microsoft Windows. La collecte exacte de ses journaux dans la plupart des infrastructures d'entreprise donnera le meilleur résultat dans le rapport de tous les types de coûts à la couverture des périphériques réseau et à la couverture des techniques malveillantes. Ceci est confirmé par les statistiques des mêmes auteurs. Les places 1 à 3, 5, 7, 8, 10 et la partie 4 occupent uniquement ces soi-disant événements de base.


Mais, comme dans la célèbre blague, il y a une mise en garde. Ces dernières années, il est devenu largement admis que les journaux Windows doivent être complétés, sinon remplacés, par des événements Sysmon - ils disent qu'ils sont plus complets, meilleurs, plus adaptés en tant qu'outil de surveillance du point de vue de la sécurité des informations.

De plus, cette approche répond en quelque sorte au concept de minimalisme. Chaque produit logiciel que vous essayez d'ajouter au vôtre ou qui vous est donné volontairement par un client d'entreprise représente une augmentation de la zone d'attaque, des coûts d'administration et de mise à jour et des points de défaillance. Et souvent - et juste avant la mise en œuvre de votre système de surveillance, tandis que votre approche passe l'approbation.

Sysmon a été développé par des spécialistes de Microsoft, et récemment absorbé par cette société, ce qui donne un certain niveau de confiance de la part des TI. De plus, les journaux sont écrits sous la forme d'un journal .evtx, qui vous permet de les collecter et de les traiter à l'aide des mêmes outils et méthodes que les journaux Windows classiques.

Faites immédiatement une réserve que l'article s'est avéré être volumineux, bien que nous ayons essayé de dupliquer et de compresser le matériel de manière minimale. Le lecteur, bien sûr, peut dire, en se référant à cette blague sur Lénine: "Mais il aurait pu réduire ...". Ou que "la publication pourrait être divisée en deux ou trois parties pour une meilleure lisibilité". Mais il nous a semblé que malgré le volume du matériel préparé, nous devons apporter une réponse complète à la question de nos collègues de la boutique, et la recherche serait plus pratique. Ainsi, afin de ne rien perdre, nous vous recommandons de lire l'article 1 fois complètement, peut-être de prendre des notes pour vous-même et de ne revenir ensuite qu'à des groupes spécifiques d'événements et de vous y plonger en détail.

Pour plus de commodité, nous ajoutons une table des matières:
Introduction
Table des matières
Format de comparaison
Création d'un processus
Connexions réseau
Fin d'un processus
Téléchargement d'un pilote
Accès à un processus
Création d'un fichier
Actions de registre
Configuration WMI
Requêtes DNS Événements
Sysmon uniques
Événements de filtrage
Autres fournisseurs d'événements de base gratuits
Sortie générale

Format de comparaison


Pourquoi et ce qui a été comparé, cela semble clair. Et comment cela a-t-il été fait et pourquoi exactement?

Nous avons décidé de faire une comparaison sous forme de tableau pour chacun des groupes d'événements qui reflètent une certaine activité dans le système. Par exemple, les événements avec ID (ID d'événement, EID) 12, 13 et 14 dans Sysmon, reflétant l'activité avec le registre, ne sont même pas filtrés séparément, bien qu'ils parlent de différentes actions atomiques. Par la même logique, le reste du regroupement a été fait.

Ces groupes ne comprenaient que des événements similaires. Par exemple, un événement analogue à l'événement Sysmon EID 6 est l'événement Windows EID 6. Parallèlement, il existe au moins 219 et 7036 événements Windows concernant le chargement des pilotes. Mais ils surviennent en cas d'échec. Ceux. ne portent pas la même charge sémantique et, si nécessaire, peuvent compléter les événements de Sysmon ou Windows, selon ce que nous avons décidé de collecter.

Pour les groupes d'événements reflétés dans le tableau, les champs informatifs (que nous utilisons à des fins de surveillance) contenus dans les événements sont présentés sous forme de chaînes. Pour chacun de ces champs, son nom est indiqué. Pour Windows, 2 options sont possibles, pour les vues xml et magazine (qui aurait pensé qu'elles correspondraient?) Si elles diffèrent plus que par les espaces. Cela se fait parce que le nom du champ qui tombera dans le système de surveillance peut dépendre de la méthode de collecte. Les lignes contiennent également des données d'événement (afin de comprendre leur format) et un commentaire (si à notre avis cela est requis).

Les champs ayant la même charge sémantique pour les deux sources sont combinés sur une seule ligne. En l'absence d'un champ avec une charge sémantique similaire pour l'une des sources, des tirets ("-") sont indiqués dans les champs qui lui correspondent.

Les lignes contenant des informations sur une entité particulière, par exemple, le sujet effectuant l'action, sont combinées en un groupe sémantique.

La comparaison a été effectuée pour les versions de Windows Kernel 6.3 (Windows 2012R2) et 10.0 (Windows 10, 2016, 2019). Les versions antérieures n'ont pas été prises en compte, car bien qu'elles soient encore très répandues, elles disparaissent progressivement. Si les événements pour les différentes versions du noyau ne différaient pas, les colonnes ont été combinées en une seule pour réduire la duplication.

Le taux étant à temps plein, les colonnes sont organisées dans l'ordre suivant du centre vers les bords: données, nom de champ, commentaire. Cela rend la comparaison plus visuelle. Pour la séparation visuelle des colonnes en fonction des sources auxquelles elles se réfèrent, des couleurs sont utilisées.

Unique à Sysmon EID (car dans ce cas, il s'agit d'un outil complémentaire, l'enregistrement des journaux du système d'exploitation est inclus dans les fonctionnalités de base du système d'exploitation) sont donnés dans une section distincte.

La section avec le tableau indique les paramètres de GPO qui doivent être définis pour activer l'enregistrement dans le journal des événements de groupe, comme le nombre d'options d'audit possibles est généralement assez important. Pour Sysmon, ces paramètres ne sont pas affichés, car tous sont contenus dans un seul fichier de configuration.

Création de processus


Paradoxalement, ils ont décidé de recommencer depuis le début. Et puis ils n'étaient pas non plus originaux et sont allés dans l'ordre - en augmentant EID Sysmon.

La journalisation des données d'événement dans Windows est activée comme suit:

• Configuration de l'ordinateur - Stratégies - Paramètres Windows - Paramètres de sécurité - Configuration avancée de la stratégie d'audit - Stratégies d'audit - Suivi détaillé - Création du processus d'audit - Le succès permet la journalisation de l'événement lui-même;

• Configuration informatique - Stratégies - Modèles d'administration - Système - Création de processus d'audit - Inclure la ligne de commande dans les événements de création de processus - ajoute la ligne de commande du processus démarré à l'événement, ce qui permet souvent de distinguer un démarrage légitime d'un démarrage illégitime.

La comparaison dans le format décrit ci-dessus est présentée dans le tableau suivant.


Ci-après, tous les tableaux sont représentés par des images et sont cliquables. Depuis, tout d'abord, nous n'avons pas trouvé un bon moyen de transférer des tableaux vers Markdown ou HTML tout en préservant la largeur de colonne ou la césure selon la version existante dans Excel. Et deuxièmement, leur contenu n'est pas très utile pour l'indexation, sauf pour les commentaires. La composition des champs abordés dans cet article et le format de données avec lequel vous devrez travailler si ces sources d'événements sont utilisées sont beaucoup plus précieux dans les tableaux.

Considérez-le dans l'ordre, mais pas ligne par ligne - chacun fera une telle analyse détaillée pour lui-même. Dans cette section et ci-dessous, nous ne nous attarderons que sur les informations rencontrées pour la première fois. Commencez immédiatement avec un exemple de ce comportement. Les champs de la section Système sont présents dans chaque événement qui tombe dans le journal, quelle que soit la source - Sysmon ou Windows. Ils contiennent des informations générales:

  • Le nom du fournisseur d'événements.
  • EID
  • Heure à laquelle l'événement a été enregistré.
  • Le nom du magazine d'où nous avons obtenu cet événement.
  • Hôte sur lequel l'événement s'est produit.

Le nom du fournisseur et le journal après la connexion ne sont généralement pas utilisés par l'analyste. Mais ils permettent de comprendre où et qui écrit les journaux, ce qui est important si le processus de collecte n'a pas encore commencé. L'heure, l'hôte et l'EID sont les balises principales par lesquelles le filtrage principal des événements est effectué.

En outre, parmi les champs que je voudrais particulièrement noter - le GUID pour la session utilisateur et les processus enfant et parent n'existe que dans les journaux Sysmon. Et à la même tirelire, par bizarreries - l'ID de processus (nouveau et parent) dans les événements Windows est écrit en hexadécimal, bien qu'il soit affiché en notation décimale dans le même gestionnaire de tâches. Comme le dit le proverbe, débogage heureux ("-veux d'améliorer? -Github") ...

La ligne de commande lors du démarrage d'un processus dans des événements Windows a un format différent selon l'utilitaire utilisé pour le démarrer. Mais à Sysmon, les auteurs voulaient et pouvaient - le format ne dépend pas d'autres entrées. Je ne vais pas en juger les raisons, mais les créateurs de contenu SIEM n'écriront pas merci à Microsoft à ce sujet, c'est sûr.

La principale caractéristique distinctive de Sysmon pour cela, ainsi que pour d'autres événements qui contiennent ce champ, j'appellerais le hachage du fichier exécutable. Le format de hachage est sélectionné dans la configuration Sysmon.

Encore une fois, parmi les bonus Sysmon intéressants supplémentaires - le champ Nom de la règle. Il s'agit en fait d'une balise qui est pratique pour marquer certains filtres dans le fichier de configuration, puis l'utiliser lors de l'analyse des événements. Par exemple, nous pouvons dire que le début du processus X fait référence à la tactique Y ou à la technique Z. Cette approche est intéressante à la fois du point de vue de l'analyste et du point de vue du développeur de contenu SIEM ou Sysmon - elle nous permet de comprendre la raison pour laquelle nous avons décidé de collecter cet événement.

Conclusion


Sysmon est bien meilleur pour corriger ce groupe d'événements:

  • GUID , , , , ID ( ). , , . . ID , , SIEM, . GUID, — .
  • — — , , . — Sysmon , SIEM ( ). - — , . , SIEM . , , IBM QRadar. , - . , , — Windows , , .
  • Rule Name .
  • L'applicabilité des champs uniques restants, celle des événements Windows, celle des événements Sysmon, joue un rôle, comme on dit en anglais, au cas par cas. Par conséquent, pour décider du choix d'un journal particulier, ou en général de les combiner, il faut également au cas par cas.

Les connexions de réseau


Enregistrement de ces événements sur Windows: Configuration de l'ordinateur - Stratégies - Paramètres Windows - Paramètres de sécurité - Configuration avancée de la stratégie d'audit - Stratégies d'audit - Accès aux objets - Connexion à la plateforme de filtrage d'audit

Pourquoi avez-vous décidé de vous concentrer sur les événements de la plateforme de filtrage Windows (WFP) et non sur le pare-feu Windows? La réponse est simple. D'après notre pratique, les points d'extrémité sous forme d'antivirus sont déjà sur les hôtes de toute façon. Bien qu'ils ne soient pas conçus pour surveiller les événements de base du système (c'est pourquoi ils ne conviennent pas à nos fins), néanmoins, dans les réalités modernes, ils incluent toujours un pare-feu hôte. Pour cette raison, pour éviter la duplication, le pare-feu Windows est généralement simplement annulé. En conséquence, personne n'écrit au colonel ... WFP, bien qu'il puisse filtrer le trafic, nous ne l'utilisons qu'à des fins de surveillance. Par conséquent, la duplication est absente.


Le tableau montre que si nous essayons de nous fier aux événements Windows, l'échographie utilisateur et le nom de domaine complet des hôtes en interaction devront être restaurés par enrichissement d'événement. Bien que, si vous y réfléchissez, il est plus important pour nous de savoir quel processus a établi la connexion, et non quel utilisateur. Par exemple, le malware va à son centre C&C. Quoi qu'il en soit, nous voulons savoir qui a commencé le processus ou créer un incident en sachant que le bloc-notes ne va pas sur Internet lui-même (c'est-à-dire sur la base des informations disponibles dans l'événement).

Et avec le FQDN, c'est encore plus simple - tous les systèmes modernes incluent le composant CMDB comme fonctionnalité de base ou supplémentaire. Et sinon, cela vaut vraiment la peine de s'approvisionner avec une solution tierce. Connaître votre infrastructure est la base de la sécurité de l'information en général. Les informations sont donc disponibles soit par enrichissement, soit par le biais d'une carte d'actif, ce qui permettra son utilisation en corrélation. L'essentiel est, si possible, de ne pas oublier de connecter les logs DHCP pour que les informations soient à jour.

Tous les autres champs uniques ne sont pas aussi importants, par exemple:

  • Ports célèbres. On ne s'appuierait pas sur ce champ - ce n'est pas en vain qu'il existe des moyens de détecter des anomalies de trafic lorsque, par exemple, le tunnel ssh passe par le port 80 plutôt que HTTP.
  • Direction du trafic. Connaissant l'ID d'hôte (IP ou FQDN) et la source \ destination de la connexion, vous pouvez facilement calculer la direction.

Conclusion


Et dans ce cas, Sysmon gagne, mais de manière moins significative - GUID, FQDN, User offrent une commodité qui est tout à fait possible à atteindre en utilisant SIEM ou des solutions tierces. Néanmoins, de petits efforts ne signifient pas zéro.

Achèvement du processus


En général, l'événement, comme déjà mentionné ci-dessus, n'est pas très souvent utilisé, mais ...


Si cela est nécessaire, il y a une nette victoire du côté de Windows. Nous ajoutons uniquement comment activer la journalisation et allons directement aux conclusions.

Configuration de l'ordinateur - Stratégies - Paramètres Windows - Paramètres de sécurité - Configuration de stratégie d'audit avancée - Stratégies d'audit - Suivi détaillé - Arrêt du processus d'audit - Succès

Conclusion


Dans ce cas, l'avantage de la journalisation native du système d'exploitation est obtenu par:

  • Affiche l'utilisateur qui a terminé le processus.
  • La présence de code de sortie, qui peut parler de l'achèvement régulier du processus, ainsi que des erreurs.

Téléchargement du pilote


Cet événement Windows, contrairement aux autres, est activé par défaut et entre dans le journal système. Il n'y a pas beaucoup de champs informatifs dans ces événements.


Et encore une fois, immédiatement aux conclusions.

Conclusion


Dans ce groupe, les événements Sysmon fournissent à l'analyste des informations beaucoup plus utiles. Par exemple, selon les événements Windows, il n'est même pas clair quel fichier de pilote a été utilisé. Par conséquent, dans ce groupe de Windows dans des étrangers explicites.

Accès au processus


Nous ne classerions pas ce groupe d'événements comme élémentaire, mais plutôt comme un niveau légèrement avancé. D'un point de vue sécuritaire, l'événement peut être d'un grand intérêt. Il existe de nombreuses façons dont un processus malveillant peut améliorer votre «petit» légitime. Bien sûr, pas pour des raisons d'altruisme, mais pour des actions malveillantes. Et les événements à l'étude nous aideront à découvrir de nombreuses options pour une telle créativité. Ces journaux sont activés dans Configuration ordinateur - Stratégies - Paramètres Windows - Paramètres de sécurité - Configuration de stratégie d'audit avancée - Stratégies d'audit - Accès aux objets - Objet noyau d'audit - Succès


Windows présente deux avantages. Tout d'abord, le mappage de l'utilisateur à partir duquel le processus source fonctionne. Comme nous l'avons noté ci-dessus, l'avantage est généralement négligeable. Et, deuxièmement, HandleID et les droits d'accès.

Si l'intérêt pour les droits d'accès est clair, alors HandleID n'est utile que pour rechercher des événements associés. Il est nécessaire pour organiser l'interaction utilisateur à travers des processus avec des objets OS - les mêmes processus (leurs threads), fichiers, etc. Par conséquent, des événements supplémentaires peuvent montrer comment, en conséquence, à qui il a été émis et quand le descripteur d'accès requis a été révoqué.

En touchant pour la première fois les sujets des objets et des poignées, ainsi que la journalisation des actions avec eux, il est important de noter deux choses.

Tout d'abord, pour enregistrer les étapes supplémentaires ci-dessus, il est important d'activer des paramètres de stratégie d'audit supplémentaires, en particulier Configuration ordinateur - Polcies - Paramètres Windows - Paramètres de sécurité - Configuration avancée de la stratégie d'audit - Stratégies d'audit - Accès aux objets - Manipulation de la poignée d'audit - Succès. Il convient de rappeler que le volume de ces événements peut être très important. Le traitement est émis à la réception d'une demande, respectivement, reflète les droits revendiqués. Mais pourquoi ne peut-on pas attendre le même volume d'événements directement de l'audit d'accès aux objets?

En effet, deuxièmement, il est nécessaire d'activer SACL sur l'objet qui est prévu pour être contrôlé. En fait, il s'agit d'une liste similaire à la liste des droits d'accès DACL, qui détermine si le sujet ou l'objet créé avec son jeton recevra le succès ou l'échec lors de la tentative d'accès à l'objet. Mais la SACL détermine approximativement sous la même forme non pas les droits d'interagir avec l'objet, mais si des événements de sécurité seront générés lors de la demande et de l'exercice de certains droits. Ces événements incluront les droits d'accès non déjà demandés, mais réellement utilisés.

En conséquence, nous obtenons un filtre qui vous permet de consigner uniquement l'accès aux objets qui sont essentiels pour nous et uniquement les types d'accès qui sont importants pour nous. Mais en retour, nous devons attacher une SACL directement à chacun de ces objets ou indiquer que la SACL est héritée de l'objet parent. Bien sûr, cela peut être automatisé par différentes méthodes. Mais le maintien de la configuration de tels outils d'automatisation ne sera probablement pas pratique. Contrairement à une simple liste Sysmon, qui peut également inclure des caractères génériques, bien que particuliers. Nous parlerons du filtrage dans Sysmon dans une section séparée.

Heureusement, pour les objets de type, un processus SACL existe déjà par défaut pour le noyau version 6.3 et supérieur. Si quelqu'un peut spécifier un moyen de recevoir ce SACL (recommandations de cet articlenous avons échoué), il sera intéressant d'entendre / discuter.

Du côté Sysmon, en plus des GUID et des noms de règles déjà discutés, il existe plusieurs champs plus intéressants. Tout d'abord, le PID du processus cible. Il vous permettra de surveiller l'activité ultérieure de l'objet infecté, car il peut y avoir plusieurs instances d'un même fichier exécutable. Deuxièmement, le champ CallTrace, qui capture les actions de la source d'événements dans la cible. Regardez cela et réalisez que «tour de passe-passe et pas de fraude» ne sont pas que des mots. D'un autre côté, une telle analyse détaillée est déjà le destin de la médecine légale. Et quiconque a un médecin légiste dédié n'est probablement pas au début de la construction d'un système de surveillance.

Conclusion


Dans ce groupe, les événements diffèrent dans un assez grand nombre de champs. Mais si dans les événements Windows, ces informations offrent très probablement la commodité de l'analyse initiale, alors Sysmon capture des données uniques qui sont difficiles à obtenir d'une autre manière. Par conséquent, l'avantage reste avec Sysmon.

Création de fichiers


Cette catégorie est incluse dans Windows comme suit: Configuration de l'ordinateur - Polcies - Paramètres Windows - Paramètres de sécurité - Configuration de stratégie d'audit avancée - Stratégies d'audit - Accès aux objets - Système de fichiers d'audit - Succès


Comme le montre le tableau, tous les avantages et inconvénients de ce groupe sont similaires à ceux déjà décrits ci-dessus. Y compris les avantages et les inconvénients de SACL (pour les fichiers et les dossiers pour tous les utilisateurs (Tout le monde), comprend Propriétés - Sécurité - Avancé - Audit - Ajouter - Tout le monde - Succès - Écrire (pour les fichiers) ou Modifier (pour un répertoire)).

Vous pouvez également définir SACL sur les fichiers de manière globale en le définissant dans Configuration ordinateur - Stratégies - Paramètres Windows - Paramètres de sécurité - Configuration de stratégie d'audit avancée - Stratégies d'audit - Accès aux objets - Audit d'accès global aux objets - Système de fichiers. Mais le nombre d'événements, notamment avec les fichiers temporaires, augmentera proportionnellement au volume des opérations. Je ne dirais pas que c'est une approche efficace, elle n'est possible que pour une petite partie des opérations.

Je voudrais noter les bizarreries de journalisation qui commencent ici. Pour ce groupe ne fixe événements Windows lorsqu'un fichier est créé par Powershell, par exemple, le Nouveau-Point C: \ ForTest \ test.t . Dans le même temps, la même action s'affiche parfaitement dans les journaux Sysmon.

Conclusion


Ce groupe d'événements est mieux enregistré à l'aide de Sysmon.

Actions de registre


Jusqu'à présent, en parlant du groupe, nous n'avons inclus qu'un seul événement. Cette tendance va changer ici.


La journalisation de ces événements est configurée comme suit: Configuration de l'ordinateur - Polcies - Paramètres Windows - Paramètres de sécurité - Configuration de stratégie d'audit avancée - Stratégies d'audit - Accès aux objets - Registre d'audit - Succès.

La SACL pour tous les utilisateurs (tout le monde) est définie comme suit: regedit.exe - branche du registre - Autorisations - Avancé - Audit - Tout le monde - Succès - Autorisations avancées - Contrôle total ou valeur définie, Créer une sous-clé, Créer un lien, Supprimer, Écrire DAC.

Vous pouvez également définir SACL sur les fichiers de manière globale en le définissant dans Configuration ordinateur - Stratégies - Paramètres Windows - Paramètres de sécurité - Configuration avancée de la stratégie d'audit - Stratégies d'audit - Accès aux objets - Audit global de l'accès aux objets - Registre. Les inconvénients de l'approche sont similaires aux mêmes opérations sur les fichiers.

Concentrez-vous immédiatement sur les limites. Pour Sysmon, toutes les opérations (créer, modifier, supprimer) avec des événements value ou key raise (sauf pour renommer value). Pour les fenêtres:

  • Toutes les opérations avec valeur déclenchent des événements.
  • La création d'une clé ne déclenche pas d'événements.
  • Renommer la clé déclenche uniquement l'événement Access, le nouveau nom de la clé n'est pas affiché; les droits demandés spécifiés dans l'événement n'ont pas de correspondance intuitivement non ambiguë avec l'opération. Ainsi, l'opération de changement de nom ne peut être déterminée que par la méthode d'exception - il n'y a pas d'événement de suppression 4660 avec ce HandleID.
  • La suppression de la clé déclenche l'événement 4663 suivi de 4660.

En plus des champs abordés dans les sections précédentes, il est important de noter que les événements Windows contiennent des données anciennes et nouvelles de noms et de valeurs de clé et de valeur, qui pendant l'enquête peuvent aider à comprendre le motif de l'attaquant. Surtout si les valeurs initiales ne sont pas standard ou typiques et que la configuration, y compris les données de registre de la machine faisant l'objet de l'enquête, n'est stockée nulle part en dehors de l'hôte.

Conclusion


Comme nous pouvons le voir, il existe des restrictions plus strictes sur la journalisation de Windows. Et pour corriger certains faits, une «corrélation» est nécessaire, quoique la plus simple. Cependant, il est capable de fournir une plus grande quantité d'informations vraiment utiles. Il est difficile de privilégier l'un des participants pour ce groupe d'événements.

Configuration WMI


Nous passons à l'avant-dernier groupe d'événements. Ce sont des événements WMI. Un attaquant peut créer un filtre (filter) qui reçoit tous les événements concernant un changement d'état du système, dans notre exemple, un changement d'état d'un service. Et pour effectuer certaines actions en fonction des événements reçus de ce filtre, créer un consommateur. Dans notre cas, il s'agit d'une entrée dans le fichier journal. Ensuite, il doit connecter la sortie du filtre à l'entrée du consommateur, créant une liaison entre le filtre et le consommateur. Il en résultera un système qui fonctionne dans des conditions données. Souvent utilisé pour les tactiques de persistance . C'est précisément dans l'ordre décrit que les événements 19-21 Sysmon sont enregistrés.

Il est important de comprendre que la création d'un filtre ou d'un consommateur en soi ne constitue pas une menace, mais peut bien sûr faire partie d'une attaque. De plus, pour une activité malveillante, un filtre existant, un consommateur ou les deux peuvent être utilisés. Ici, c'est comme avec un couteau, ou, plus près du sujet de la ressource, avec des messagers chiffrés. La question n'est pas dans l'outil, mais dans son utilisation.

Examinons de plus près le tableau.


Un point important à noter tout d'abord - l'événement 5861 est généré dans le journal spécifié uniquement sur le fait de la création ou de la modification ultérieure (y compris en termes de filtre et de consommateur) du bundle. Cela, d'une part, facilite le suivi des activités prétendument malveillantes (aucune corrélation entre deux ou trois événements n'est nécessaire) si non seulement un groupe est créé en son sein. Et d'autre part, nous manquons l'heure de début de cette activité si le filtre ou le consommateur est créé précisément dans le cadre de celui-ci et à l'avance.

Est-ce critique? Cas par cas. Si nous commençons à dérouler la séquence d'un incident et à voir qu'un filtre ou consommateur atypique et soi-disant malveillant a été créé il y a deux ans, nous nous rendons immédiatement compte que les attaquants sont chez nous depuis plus de deux ans. Et des traces de l'attaque doivent être recherchées au moins à cette profondeur. A quelle fréquence ceci se passe-t-il? Telle est la question principale.

Mais si des modifications sont apportées au filtre ou au consommateur du bundle existant, nous verrons l'image entière en un seul événement. Alors que Sysmon ne reflétera que les modifications (cet objet) qui ont été apportées.

Entre autres différences: dans les événements Sysmon, les données sont reflétées sous une forme plus structurée et dans un format plus pratique. Par exemple, au lieu du SID dans un format atypique, la connexion de l'utilisateur est immédiatement présentée. Mais les données sont un peu moins. C'est peut-être essentiel pour votre cas.

Nous concluons avec des restrictions. Premièrement, malgré le fait que ce journal soit présent depuis Windows 2012 (noyau 6.2), nous n'avons pas pu obtenir ces événements même pour le noyau 6.3 (2012R2), qui est étudié dans l'article. Cela est peut-être dû à l'absence de correctifs.

Deuxièmement, selon l'auteur de cearticles, le filtre des événements du minuteur n'est pas fixé par Sysmon. Il serait possible de ne pas prendre un mot, mais de vérifier. De plus, la version de Sysmon est ancienne. Mais ici, un précédent est important - il n'y a pas quelques types de filtres et de consommateurs WMI. À partir d'une telle étude, complétée par des détails, un article séparé pourrait être rédigé. Testez simplement les types cibles pour comprendre exactement ce qu'ils seront enregistrés.

Conclusion


Dans ce cas, nous sommes plus à l'aise avec l'utilisation des événements Windows. Du point de vue de la commodité: plus de données, il n'y a pas besoin de corrélation primaire. Donc, du point de vue de la fixation d'objectifs - il fixe la création d'un mécanisme (basé sur des pièces nouvelles, modifiées ou existantes), et non ses pièces individuelles.

Requêtes DNS


Nous passons donc au groupe final à comparer, mais encore loin de la conclusion de notre article. Ce type et l'ensemble d'événements correspondant sont récents non seulement par l'apparence de notre article, mais aussi par l'ajout de Sysmon à la boîte à outils.

Au cours des dernières années, le sujet de l'utilisation du DNS à d'autres fins, par exemple pour recevoir des commandes de C&C ou voler des informations via ce canal, est devenu populaire. Probablement pas par lui-même - nous renverrions les histoires sur une telle utilisation des canaux ICMP et DNS à zéro. À cette époque, des étudiants familiers étaient sophistiqués dans l'encapsulation du trafic de jouets afin d'atteindre les serveurs de jeux convoités du réseau de l'institut via les seuls canaux autorisés (bonjour, Zhenyatumbochko!). Cela a permis de passer le temps à ennuyer ou à maîtriser rapidement leurs laboratoires. Et ce n'était guère leur idée.

Mais il n'y a pas si longtemps, un concept tel que DoH a été ajouté à ce canal de fuite, ce qui a compliqué la détection du trafic DNS suspect au niveau du réseau.

Ou peut-être que c'était juste un stratagème de marketing - pour en vendre un nouveau, qui est aussi un ancien bien oublié. Ou le début de l'occurrence généralisée de ces canaux dans une activité malveillante détectable. Nous n'avons pas approfondi cette question, prêts à récolter des céréales - tout à coup l'un des lecteurs décide de laisser tomber un peu de sagesse dans les commentaires.

Donc, plus près du point. Activez l'Observateur d'événements - Journaux des applications et des services - Microsoft - Windows - Événements du client DNS - Opérationnel - Menu contextuel - Activer le journal.


Tout comme déjà discuté. En ce qui concerne les informations sur le sujet, nous prêtons attention à l'indication explicite de l'image du fichier exécutable qui a exécuté la requête dans l'événement Sysmon.

Si nous parlons de l'objet - il y a beaucoup plus d'informations dans les journaux Windows. Mais il existe plusieurs «mais» importants. Premièrement, l'information est répartie sur plusieurs événements avec toutes les conséquences.

Deuxièmement, les informations sont présentées de manière non intuitive. Pour déchiffrer la plupart des connaissances, il faut savoir comment les champs du package sont formés et avoir la capacité de retransformer ces données en faits qui facilitent la décision de l'analyste. On peut dire qu'en fait, l'analyste n'obtient pas en vain un salaire et pourquoi ne pas s'asseoir et le comprendre. Oui c'est vrai. Mais permettez-moi de vous rappeler que nous parlons d'une petite équipe sans spécialistes à profil étroit, devant laquelle il n'y a pas de fin aux tâches de sécurité de l'information. Et si pour chaque événement analysé par le SIEM, une telle tâche lui incombe, il ne les rattrapera pas dans quelques années.

Conclusion


Pour ce groupe, le vainqueur est difficile à déterminer. Sysmon propose une version laconique, à partir de laquelle vous pouvez facilement extraire une bonne partie des informations utiles. Windows propose une option avancée. Reste à le "coudre", à en traiter le contenu et à se demander s'il était temps d'introduire NTA?

Événements Sysmon uniques


Nous avons attribué les éléments suivants aux événements uniques de Sysmon:

  • EID 4, 16. Bien qu'il puisse être suivi via les journaux Windows, ils ne nous renseignent que sur les événements dans Sysmon lui-même. Par conséquent, en son absence, ils n'ont aucun sens.
  • EID 2 - EID 4663 pourrait être considéré comme un analogue. Mais même en tenant compte des listes de droits d'accès qui y sont fournies, l'événement n'est pas aussi granulaire que EID2, et il n'est pas enrichi à un tel état avec d'autres événements Windows.
  • EID 7-9, 17 — . ETW. , , .
  • EID 15 — , ETW. , — .
  • EID 18 — (named pipes) . , -, . -, , . ETW.


Il existe trois options pour filtrer les événements côté source.

Le premier est disponible uniquement pour les événements Windows et uniquement pour surveiller l'accès et les opérations avec les objets. Implémenté à l'aide de SACL. L'un des inconvénients de cette approche est la complexité des paramètres granulaires (par exemple, vous ne pouvez pas uniquement surveiller les fichiers existants ou créés avec l'extension .exe). Parmi les avantages figure la possibilité de limiter la liste des utilisateurs pour lesquels des opérations avec l'objet sont enregistrées.

Le second est disponible pour les événements Windows et les événements Sysmon: en utilisant Xpath, en tenant compte des restrictions imposées par le grand Microsoft. Étant donné que la méthode est disponible pour les deux sources, la description dépasse le cadre de cet article.

Et le troisième est la configuration Sysmon. Il existe de nombreuses options:

  • Émulation générique - contient (tout | tout), exclut (tout | tout), se termine par, commence par. L'utilisation de contains | exludes all vous permet d'émuler des expressions comme "C: \ Windows \ *. Exe".
  • Correspondance exacte - est, n'est pas, l'image.
  • Arithmétique - moins que, plus que.

Il convient de noter qu'un tel filtrage n'est pas disponible pour tous les champs. Par exemple, vous ne pouvez pas mettre sur liste blanche les hachages de logiciels standard, la création de processus pour lesquels nous ne sommes pas intéressés. Un exemple de notre expérience - le processus légitime git.exe a créé des dizaines de milliers d'événements de démarrage par jour sur les hôtes de nos développeurs. Peut-être, spécifiquement dans ce cas, son comportement pourrait être resserré, réduisant ainsi cet arbre d'événements. Mais exclure les fichiers exécutables par nom d'image n'est pas une bonne idée. Eh bien, peut-être seulement un antivirus avec auto-défense activée.

Sysmon est également sur la voie d'un filtrage sophistiqué en combinant les conditions de différents domaines. Vous ne pouvez créer qu'un seul groupe de règles pour chaque EID combiné par des relations ET, et un seul avec des relations OU. En conséquence, les conditions du formulaire (A et B) ou (C et D) ne peuvent plus être écrites. Selon le flux filtré, ce fait peut ne pas donner d'avantage significatif, mais aussi donner un résultat tangible.

Autres fournisseurs d'événements de base gratuits


Dans cette section, tout d'abord, je voudrais parler du mécanisme ETW (Event Trace for Windows). Les journaux intégrés Windows et Sysmon consignent les événements à l'aide de ce mécanisme. En fait, pour chaque action du système, nous pouvons obtenir un événement. La façon la plus simple de consulter le volume potentiel de ces événements consiste à activer l'option Observateur d'événements - Afficher - Afficher les journaux d'analyse et de débogage. Pour que les événements ne remplissent pas immédiatement votre système, chaque journal est activé séparément dans son menu contextuel. Vous regardez cette bonté et vous posez involontairement une question - pourquoi avons-nous besoin de Sysmon avec un tel volume d'événements divers?

Le fait est que, premièrement, ces journaux étaient à l'origine destinés au débogage et non à des fins de sécurité. Par conséquent, leur collection centralisée n'est pas fournie. En particulier, vous ne trouverez nulle part le nom de domaine complet de l'hôte sur lequel ils ont été créés. La question, bien sûr, peut être résolue par des utilitaires tiers de petite à grande taille, des scripts aux services de journalisation à part entière. Mais vous devez vous rappeler qu'il s'agit d'un logiciel supplémentaire dans une grande entreprise et, par conséquent, d'une tâche distincte. Permettez-moi de vous rappeler que dans l'introduction, nous sommes partis du principe du minimalisme dans l'activité supplémentaire pour l'installation de logiciels.

Et deuxièmement, ces journaux rapportent tellement de détails sur chaque éternuement qu'ils doivent également sélectionner les informations bit par bit. Les entrées de journal sont vraiment atomiques et nécessiteront une corrélation ou un enrichissement préalable pour que l'analyste fonctionne de manière productive. Après tout, un programmeur qui débogue sa création en utilisant ces événements sait comment tout devrait fonctionner. Et un agent de sécurité, en particulier d'un profil large, pense à des niveaux d'abstraction beaucoup plus élevés. Oui, en plus, il recherche une activité illégitime inconnue. Une telle déclaration du problème conduit à un module logiciel supplémentaire qui effectuera le prétraitement. Cela compliquera encore notre concept.

Bien que nous n'ayons pas été loin de nous connecter avec Windows, nous n'oublierons pas de mentionner WMI. Cet outil capture essentiellement les changements d'état sans afficher leur source. À titre d'exemple d'exception, le chargement d'une dll: affiche le module dll lui-même et le processus qui le charge. Mais pour des raisons de sécurité, cet événement nécessite également un enrichissement, car c'est là que ses informations sont épuisées. En général, l'absence de poisson et le cancer sont des poissons. Mais l'outil ne peut être utilisé qu'en supplément.

Une autre option populaire, mais non abordée dans l'article, est l' osquery.. Les deux principales raisons pour lesquelles nous n'avons pas envisagé cette solution ici sont la faible fréquence des mises à jour des produits (moins en termes de sécurité et de fonctionnalité) et l'utilisation accrue des ressources système par rapport aux autres options (une base de données complète est incluse). Vraisemblablement, la solution est bien adaptée aux serveurs pour lesquels elle a été développée. Mais pour les postes de travail, éventuellement avec du matériel obsolète - à peine.

Récemment, plusieurs autres outils sont apparus qui ne sont pas aussi répandus que ceux considérés. Il s'agit notamment de Velociraptor et SilkETW. Ils n'inventent pas un vélo et travaillent également au-dessus de la norme Windows - ETW. Compte tenu du volume de matériel déjà cité, il a été décidé de séparer ces outils dans une publication distincte (dans la mesure où le temps et les efforts sont disponibles, ainsi qu'un sentiment de demande).

Conclusion générale


Au cours de la comparaison, il a été montré que les événements Sysmon qui ont des analogues surpassent généralement les événements Windows dans leurs caractéristiques fonctionnelles. Certains événements Sysmon n'ont tout simplement pas d'alternative.

Cependant, n'oubliez pas que, premièrement, la solution doit être choisie en fonction de vos tâches. Si vous êtes en train de construire un système de surveillance et que la première année, vous prévoyez de mettre en œuvre des méthodes de détection de sept à dix incidents, comme l'a laissé Gartner, alors vous devriez avoir suffisamment d'événements Windows. Et peut-être bien plus d'un an.

Deuxièmement, le système de journalisation des événements Windows est également constamment mis à jour et au cours de la rédaction de cet article, des EID Windows tels que 4798 et 4799 sont apparus. Il est également possible que l'ensemble de champs soit complété. Ainsi, cette comparaison, bien que la plus complète, basée sur les informations que nous possédons, n'est pas gravée dans la pierre.

Et troisièmement, Sysmon est toujours un outil externe, ce qui comporte un certain nombre de risques. Par exemple, nous avons eu des cas où l'enregistrement de chaque EID a été interrompu sans indiquer de raison. Dans ce cas, l'enregistrement d'autres événements était comme d'habitude. Des collègues plus éminents affirment que le problème était lié à des fuites de mémoire dans la version 10.41. Mais la version 10.42, dans laquelle ce problème est fermé en tout ou en partie (avec le changelog de Sysmon, tout n'est pas si détaillé), n'a pas résolu nos problèmes dans cette direction. Seul le composant de désinstallation-installation est utile. Toute sécurité et bonne journée!

Merci à Timurzinintpour vous aider à préparer la publication.

UPD1 : Il s'avère très difficile de maintenir un journal des modifications normal ou d'ajouter de nouvelles fonctionnalités à la description principale, comme nous l'avons découvert (merci, Oncle Dimshudv), un camion avec des nishtyaks retourné dans notre rue il y a déjà 9 mois ... Résumé: dans Sysmon vous pouvez faire (A et B) ou (C et D), seulement chut ...

All Articles