{"id":25153,"date":"2024-09-12T09:05:41","date_gmt":"2024-09-12T17:05:41","guid":{"rendered":"http:\/\/www.palada.net\/index.php\/2024\/09\/12\/news-18883\/"},"modified":"2024-09-12T09:05:41","modified_gmt":"2024-09-12T17:05:41","slug":"news-18883","status":"publish","type":"post","link":"https:\/\/www.palada.net\/index.php\/2024\/09\/12\/news-18883\/","title":{"rendered":"Sophos Endpoint : mises \u00e0 jour de contenu et architecture du produit"},"content":{"rendered":"<p><strong>Credit to Author: Nicolas Pommier| Date: Mon, 26 Aug 2024 17:33:00 +0000<\/strong><\/p>\n<div class=\"entry-content lg:prose-lg mx-auto prose max-w-4xl\">\n<p>Suite \u00e0 notre <a href=\"https:\/\/news.sophos.com\/en-us\/2024\/08\/01\/driving-lessons-the-kernel-drivers-in-sophos-intercept-x-advanced\/\" target=\"_blank\" rel=\"noopener\">r\u00e9cent article sur les pilotes du noyau de Sophos Intercept X<\/a>, dans lequel nous expliquions comment ils \u00e9taient test\u00e9s et ce qu&#8217;ils faisaient exactement, nous apportons davantage de transparence sur le fonctionnement interne d&#8217;Intercept X, cette fois-ci en examinant les <em>mises \u00e0 jour de contenu<\/em> qui sont soit des modifications de configuration entra\u00eenant des changements au niveau des chemins d&#8217;ex\u00e9cution du code, soit du code \u00e0 proprement parler.<\/p>\n<p><a href=\"https:\/\/news.sophos.com\/fr-fr\/category\/threat-research\/\" target=\"_blank\" rel=\"noopener\">Intercept X<\/a> utilise une combinaison de recherches (<em>lookups<\/em>) dans le Cloud en temps r\u00e9el et de <em>mises \u00e0 jour de contenu<\/em> sur l&#8217;appareil. \u00c9tant donn\u00e9 que le paysage des menaces \u00e9volue et change constamment, il est essentiel que les<em> mises \u00e0 jour de contenu<\/em> sur les appareils soient fournies fr\u00e9quemment (certaines donn\u00e9es sur les appareils changent moins fr\u00e9quemment, mais peuvent n\u00e9cessiter des mises \u00e0 jour dans des d\u00e9lais courts). N\u00e9anmoins, cette m\u00e9thode comporte des risques : en effet, si les <strong>mises \u00e0 jour de contenu<\/strong> sont <strong>corrompues<\/strong> ou <strong>invalides<\/strong>, alors une telle situation pourrait entra\u00eener des perturbations.<\/p>\n<p>Sophos utilise un m\u00e9canisme classique pour diffuser les <em>mises \u00e0 jour de contenu<\/em> sur l&#8217;appareil, qui sont charg\u00e9es dans des processus au niveau de l&#8217;espace utilisateur Sophos \u00e0 faible privil\u00e8ge (plut\u00f4t que d&#8217;\u00eatre charg\u00e9es ou interpr\u00e9t\u00e9es par les pilotes du noyau Sophos) \u00e0 partir du CDN (<em>Content Distribution Network<\/em>) de Sophos. Les <em>mises \u00e0 jour de contenu<\/em> constituent l&#8217;un des trois composants principaux d&#8217;Intercept X, avec les logiciels du CDN, la politique et la configuration de Sophos Central.<\/p>\n<p>Dans cet article, nous explorerons les diff\u00e9rents types de mise \u00e0 jour de contenu que nous utilisons, comment nous les v\u00e9rifions et les validons, et nous d\u00e9taillerons aussi l&#8217;architecture de l&#8217;\u00e9cosyst\u00e8me qui permet d&#8217;\u00e9viter les probl\u00e8mes caus\u00e9s par un contenu corrompu ou d\u00e9fectueux (comme nous l&#8217;avons not\u00e9 dans notre article pr\u00e9c\u00e9dent, Intercept X [et tous ses composants] fait \u00e9galement partie d&#8217;un <a href=\"https:\/\/bugcrowd.com\/engagements\/sophos\" target=\"_blank\" rel=\"noopener\">programme externe bug bounty<\/a> depuis le 14 d\u00e9cembre 2017).<\/p>\n<p>Il convient de noter que les d\u00e9tails contenus dans cet article sont corrects au moment de l\u2019\u00e9criture de ces lignes (ao\u00fbt 2024), mais pourraient changer \u00e0 mesure que nous continuons \u00e0 mettre \u00e0 jour et \u00e0 d\u00e9velopper des solutions.<\/p>\n<h2>D\u00e9ploiement des mises \u00e0 jour de contenu \u00e9tape par \u00e9tape<\/h2>\n<p>Sophos propose de <em>nouvelles mises \u00e0 jour de contenu<\/em> aux clients via des &#8220;groupes de version&#8221;. Chaque entit\u00e9 (<em>tenant<\/em>) Sophos Central est affect\u00e9 \u00e0 un groupe de version.<\/p>\n<p>Le premier groupe de version est destin\u00e9 aux tests d&#8217;ing\u00e9nierie internes ; nous ne lui affectons aucun client en termes de production. Cette approche permet \u00e0 nos \u00e9quipes d&#8217;ing\u00e9nierie de tester de nouvelles <em>mises \u00e0 jour de contenu<\/em> au niveau de l&#8217;infrastructure de production, sans aucune \u00e9tape manuelle. Si les tests \u00e9chouent, nous abandonnons la version sans passer \u00e0 d&#8217;autres groupes de version.<\/p>\n<p>Si la qualification au mati\u00e8re d\u2019ing\u00e9nierie r\u00e9ussit, alors nous diffusons manuellement la version au niveau du groupe de version &#8220;<em>Sophos internal<\/em>&#8221; (&#8220;<em>dogfooding<\/em>&#8220;). Cette approche inclut les appareils de production des employ\u00e9s de Sophos, ainsi que les comptes personnels des employ\u00e9s. Encore une fois, si des probl\u00e8mes sont d\u00e9tect\u00e9s ou signal\u00e9s, nous abandonnons la version et ne poursuivons pas plus loin.<\/p>\n<p>Si tout va bien, nous diffusons ensuite manuellement la version aupr\u00e8s des groupes de version publique. \u00c0 partir de ce moment-l\u00e0, les syst\u00e8mes de version Sophos publient automatiquement la nouvelle mise \u00e0 jour de contenu au niveau de tous les groupes de version sur une p\u00e9riode de plusieurs heures ou jours par d\u00e9faut (voir Figure 1 ci-dessous).<\/p>\n<p><a href=\"https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-956964\" src=\"https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-1.png?w=640\" alt=\"mises a jour de contenu\" width=\"640\" height=\"369\" srcset=\"https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-1.png 1200w, https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-1.png?resize=300,173 300w, https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-1.png?resize=768,442 768w, https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-1.png?resize=1024,590 1024w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p style=\"text-align: center\"><em>Figure\u00a01\u00a0: Phases de diffusion, avec des v\u00e9rifications \u00e0 chaque phase<\/em><\/p>\n<h2>T\u00e9l\u00e9chargement des donn\u00e9es : Sophos AutoUpdate<\/h2>\n<p><em>Sophos AutoUpdate<\/em>, qui fait partie d&#8217;Intercept X, v\u00e9rifie les <em>nouvelles mises \u00e0 jour de contenu<\/em> toutes les heures, bien qu&#8217;en pratique les mises \u00e0 jour soient moins fr\u00e9quentes (voir tableau ci-dessous).<\/p>\n<p><em>Sophos AutoUpdate<\/em> t\u00e9l\u00e9charge chaque mise \u00e0 jour de contenu \u00e0 partir du CDN et v\u00e9rifie si de nouveaux packages de mise \u00e0 jour de contenu sont disponibles pour le groupe de version appropri\u00e9.<\/p>\n<p>Les <em>mises \u00e0 jour de contenu<\/em> sont horodat\u00e9es et sign\u00e9es \u00e0 l&#8217;aide de la fonction de hachage SHA-384 et d&#8217;une cha\u00eene de certificat Sophos priv\u00e9e. <em>Sophos AutoUpdate<\/em> v\u00e9rifie les mises \u00e0 jour t\u00e9l\u00e9charg\u00e9es. S\u2019il d\u00e9tecte des mises \u00e0 jour corrompues ou non fiables, il les supprime et avertit Sophos ainsi que l\u2019administrateur de Sophos Central. De plus, pour vous prot\u00e9ger contre les caches CDN obsol\u00e8tes ou les attaques par relecture (<em>replay<\/em>) malveillantes, <em>Sophos AutoUpdate<\/em> rejette toute mise \u00e0 jour, pourtant valide, si l&#8217;horodatage de la signature est plus ancien que la mise \u00e0 jour d\u00e9j\u00e0 t\u00e9l\u00e9charg\u00e9e.<\/p>\n<p>Si un nouveau package de mise \u00e0 jour de contenu est disponible, <em>Sophos AutoUpdate<\/em> le t\u00e9l\u00e9charge et l&#8217;installe \u00e0 l&#8217;aide du programme d&#8217;installation du package appropri\u00e9. Diff\u00e9rentes mises \u00e0 jour sont g\u00e9r\u00e9es par diff\u00e9rents composants d&#8217;Intercept X.<\/p>\n<h2>Aper\u00e7u des mises \u00e0 jour de contenu<\/h2>\n<p>Les <em>mises \u00e0 jour de contenu<\/em> suivantes font partie de la derni\u00e8re version d&#8217;Intercept X (2042.2).<\/p>\n<p><a href=\"https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-956965\" src=\"https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-2.png?w=318\" alt=\"mises a jour de contenu\" width=\"374\" height=\"1202\" srcset=\"https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-2.png 1200w, https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-2.png?resize=93,300 93w, https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-2.png?resize=768,2470 768w, https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-2.png?resize=478,1536 478w, https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-2.png?resize=637,2048 637w\" sizes=\"auto, (max-width: 374px) 100vw, 374px\" \/><\/a><\/p>\n<p style=\"text-align: center\"><em>Tableau 1 : Un aper\u00e7u des mises \u00e0 jour de contenu qui font partie de la derni\u00e8re version d&#8217;Intercept X (2024.2).<\/em><\/p>\n<p><a href=\"https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-956966\" src=\"https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-3.png?w=640\" alt=\"mises a jour de contenu\" width=\"640\" height=\"325\" srcset=\"https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-3.png 1242w, https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-3.png?resize=300,152 300w, https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-3.png?resize=768,390 768w, https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu-3.png?resize=1024,519 1024w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p style=\"text-align: center\"><em>Figure\u00a02\u00a0: Un diagramme illustrant les processus Sophos (indiqu\u00e9s en bleu marine) qui chargent des mises \u00e0 jour de contenu sp\u00e9cifiques (indiqu\u00e9es en violet).<\/em><\/p>\n<h3>DatasetA<\/h3>\n<p><strong>DatasetA<\/strong> est charg\u00e9 par <em>SophosFileScanner.exe<\/em>, un processus \u00e0 faible privil\u00e8ge, sans acc\u00e8s au syst\u00e8me de fichiers (\u00e0 part son dossier de log et un r\u00e9pertoire temporaire utilis\u00e9 pour analyser les objets volumineux). Il charge l&#8217;interface SAVI (<em>Sophos Anti-Virus Interface<\/em>).<\/p>\n<p><em>SophosFileScanner.exe<\/em> analyse le contenu suite aux demandes d&#8217;analyse provenant d&#8217;autres processus Sophos. Bien qu&#8217;il s&#8217;appelle &#8220;<em>SophosFileScanner.exe<\/em>&#8220;, le nom est quelque peu historique : en effet, il s&#8217;agit du principal scanner de contenu d&#8217;Intercept X, analysant les fichiers, la m\u00e9moire des processus, le trafic r\u00e9seau, etc.<\/p>\n<h3>LocalRepData<\/h3>\n<p><strong>LocalRepData<\/strong> contient deux listes de r\u00e9putation :<\/p>\n<ol>\n<li>R\u00e9putation par la fonction de hachage SHA-256.<\/li>\n<li>R\u00e9putation par signataire.<\/li>\n<\/ol>\n<p>Lorsqu&#8217;un ex\u00e9cutable Windows lance son ex\u00e9cution, Intercept X le recherche dans <strong>LocalRepData<\/strong> par son hachage SHA-256 et sa signature (en supposant que ce dernier soit valablement sign\u00e9). Si la r\u00e9putation est fournie par <strong>LocalRepData<\/strong>, Intercept X &#8220;<em>identifie\u00a0(tag)<\/em>&#8221; le processus avec la r\u00e9putation appropri\u00e9e (les r\u00e8gles Sophos traitent diff\u00e9remment les fichiers et les processus de haute r\u00e9putation, par exemple, en les exemptant de nettoyage).<\/p>\n<p><em>SSPService.exe<\/em> utilise <strong>LocalRepData<\/strong> pour attribuer une r\u00e9putation lors du lancement des processus.<\/p>\n<p><em>SophosFileScanner.exe<\/em> charge \u00e9galement <strong>LocalRepData<\/strong>, afin de pouvoir attribuer une r\u00e9putation aux flux ex\u00e9cutables int\u00e9gr\u00e9s qu&#8217;il d\u00e9couvre dans le contenu et qui ne concernent pas les fichiers ex\u00e9cut\u00e9s.<\/p>\n<h3>Comportements<\/h3>\n<p>Les r\u00e8gles de comportement sont charg\u00e9es par <em>SSPService.exe<\/em>. Les fichiers de r\u00e8gle contiennent du code <strong>Lua<\/strong> sign\u00e9 et chiffr\u00e9. <em>SSPService.exe<\/em> v\u00e9rifie, d\u00e9chiffre et charge les r\u00e8gles dans un interpr\u00e9teur <strong>LuaJIT<\/strong> sandbox\u00e9 avec un acc\u00e8s uniquement aux API internes de Sophos.<\/p>\n<p><a href=\"https:\/\/lua.org\/about.html\" target=\"_blank\" rel=\"noopener\">Lua<\/a> est un langage de script rapide et int\u00e9gr\u00e9. Sophos utilise <strong>Lua<\/strong> pour les r\u00e8gles de comportement car il offre un moyen flexible de fournir de nouvelles d\u00e9tections de comportement sans avoir besoin d&#8217;une nouvelle version logicielle, tout en pr\u00e9servant la s\u00e9curit\u00e9. Les r\u00e8gles sont charg\u00e9es dans l&#8217;espace utilisateur et ne peuvent donc pas provoquer une panne critique du syst\u00e8me si elles se comportent de mani\u00e8re malveillante. De plus, Sophos construit son moteur de r\u00e8gles sans les biblioth\u00e8ques de base <strong>Lua<\/strong> : le seul acc\u00e8s au syst\u00e8me se fait via l&#8217;API interne de Sophos, qui est renforc\u00e9e contre toute utilisation abusive accidentelle des r\u00e8gles de comportement. Sophos collecte des donn\u00e9es t\u00e9l\u00e9m\u00e9triques approfondies sur les temps d&#8217;ex\u00e9cution (<em>runtime<\/em>) des r\u00e8gles, et ajuste\/r\u00e9duit en permanence la surcharge d&#8217;ex\u00e9cution.<\/p>\n<p>Les r\u00e8gles sont de v\u00e9ritables moteurs : Intercept X fournit divers \u00e9v\u00e9nements et des gestionnaires d&#8217;enregistrement de r\u00e8gle pour ces \u00e9v\u00e9nements. Les r\u00e8gles peuvent \u00e9galement configurer divers param\u00e8tres d&#8217;agr\u00e9gation pour certains \u00e9v\u00e9nements \u00e0 volume \u00e9lev\u00e9, permettant aux capteurs de fusionner ou d&#8217;ignorer certains \u00e9v\u00e9nements.<\/p>\n<h3>Indicateurs<\/h3>\n<p>Les indicateurs sont le moyen par lequel Sophos active progressivement de nouvelles fonctionnalit\u00e9s dans Intercept X. Ces derniers sont fournis de deux mani\u00e8res diff\u00e9rentes :<\/p>\n<ol>\n<li>Les <strong>Alertes Compl\u00e9mentaires<\/strong> (<em>Flags Supplement<\/em>) contiennent un ensemble de base compos\u00e9 d&#8217;indicateurs correspondant aux fonctionnalit\u00e9s disponibles dans le logiciel.<\/li>\n<li>Le <strong>Service des Alertes<\/strong> (<em>Flags Service<\/em>) est un microservice de Sophos Central qui permet aux ing\u00e9nieurs en charge des versions de Sophos de configurer des indicateurs au niveau de plusieurs entit\u00e9s (<em>tenants<\/em>).<\/li>\n<\/ol>\n<p>Les alertes compl\u00e9mentaires (<em>Flags Supplement<\/em>) pour une version logicielle donn\u00e9e contient un ensemble d&#8217;indicateurs de fonctionnalit\u00e9 et indique comment cette derni\u00e8re doit \u00eatre activ\u00e9e :<\/p>\n<p>&nbsp;<\/p>\n<p>Ce m\u00e9canisme offre \u00e0 Sophos plusieurs possibilit\u00e9s pour activer et d\u00e9sactiver des fonctionnalit\u00e9s :<\/p>\n<ul>\n<li>Sophos peut introduire de nouvelles fonctionnalit\u00e9s avec l\u2019alerte (<em>flag<\/em>) &#8220;Disponible&#8221; (mais non activ\u00e9es dans le Service des Alertes [<em>Flags Service<\/em>]).<\/li>\n<li>Sophos peut progressivement activer de nouvelles fonctionnalit\u00e9s \u00e0 l&#8217;aide du Service des Alertes (<em>Flags Service<\/em>) pour activer les indicateurs entre les entit\u00e9s (<em>tenants<\/em>).<\/li>\n<li>Sophos peut d\u00e9sactiver une fonctionnalit\u00e9 probl\u00e9matique en modifiant l&#8217;indicateur dans le Service des Alertes (<em>Flags Service<\/em>).<\/li>\n<li>Sophos peut d\u00e9sactiver une fonctionnalit\u00e9 probl\u00e9matique dans une version logicielle sp\u00e9cifique en modifiant les alertes compl\u00e9mentaires (<em>Flags Supplement<\/em>) de la version.<\/li>\n<\/ul>\n<h3>CRT<\/h3>\n<p>Le CRT (<a href=\"https:\/\/support.sophos.com\/support\/s\/article\/KBA-000003343?language=en_US\" target=\"_blank\" rel=\"noopener\">Competitor Removal Tool<\/a>) contient un ensemble de r\u00e8gles permettant de supprimer les logiciels incompatibles connus lors de l&#8217;installation. Il est automatiquement t\u00e9l\u00e9charg\u00e9 par le programme d&#8217;installation et supprim\u00e9 apr\u00e8s l&#8217;installation.<\/p>\n<p>Normalement, le CRT n&#8217;est pas utilis\u00e9 par Intercept X ; cependant, si un client installe un composant de type &#8220;<em>non-protection<\/em>&#8221; tel que <em>Sophos Device Encryption<\/em>, et choisit ult\u00e9rieurement de d\u00e9ployer Intercept X, l&#8217;agent existant t\u00e9l\u00e9charge et installe le CRT et l&#8217;ex\u00e9cute avant l&#8217;installation. Une fois Intercept X install\u00e9, le CRT est automatiquement supprim\u00e9.<\/p>\n<h3>Outil ESH (Endpoint Self Help)<\/h3>\n<p>Les r\u00e8gles ESH (<em>Endpoint Self Help<\/em>) sont un ensemble d&#8217;expressions r\u00e9guli\u00e8res pour certains fichiers de log. Si les ing\u00e9nieurs Sophos ont identifi\u00e9 une cause fondamentale commune ou une mauvaise configuration, ils peuvent publier une nouvelle r\u00e8gle et cr\u00e9er un lien vers l&#8217;article KBA (<em>Knowledge Base Article<\/em>) d\u00e9crivant le probl\u00e8me et\/ou la\/les solution(s) sugg\u00e9r\u00e9e(s).<\/p>\n<h3>ScheduledQueryPack<\/h3>\n<p>La mise \u00e0 jour planifi\u00e9e du contenu du pack de requ\u00eates contient une liste des requ\u00eates planifi\u00e9es et leur fr\u00e9quence d&#8217;ex\u00e9cution. Les r\u00e8gles sont charg\u00e9es par <em>SophosOsquery.exe<\/em> ; la sortie est fournie par <em>McsClient.exe<\/em> pour une ingestion par le Data Lake de Sophos Central.<\/p>\n<p><em>SophosOsquery.exe<\/em> dispose d&#8217;un syst\u00e8me de surveillance int\u00e9gr\u00e9 qui emp\u00eache les requ\u00eates de type &#8220;<em>runaway<\/em>&#8221; de consommer trop de CPU ou de m\u00e9moire. Sophos collecte des donn\u00e9es t\u00e9l\u00e9m\u00e9triques sur les performances des requ\u00eates planifi\u00e9es et optimise\/ajuste r\u00e9guli\u00e8rement les requ\u00eates planifi\u00e9es pour \u00e9viter de d\u00e9clencher le <em>watchdog<\/em>.<\/p>\n<h3>RemapperRules<\/h3>\n<p>Les r\u00e8gles en mati\u00e8re de remapping sont charg\u00e9es par <em>McsAgent.exe<\/em> et utilis\u00e9es pour &#8220;<em>remapper<\/em>&#8221; les param\u00e8tres de politique dans Sophos Central au niveau de la configuration Endpoint, stock\u00e9s dans le registre Windows sous <em>HKLMSOFTWARESophosManagementPolicy<\/em>.<\/p>\n<p>La politique est fournie par Central sous la forme d&#8217;un ensemble de documents XML. Les r\u00e8gles sont \u00e9galement un ensemble de documents XML qui d\u00e9crivent la structure des donn\u00e9es stock\u00e9es dans le registre et fournissent des requ\u00eates XPath et certaines fonctions de conversion pour extraire le contenu des politiques XML et g\u00e9n\u00e9rer des donn\u00e9es de registre.<\/p>\n<p>Si un fichier de r\u00e8gle est corrompu ou si son traitement \u00e9choue pour une autre raison, aucune des valeurs de registre d\u00e9finies par ce fichier n&#8217;est mise \u00e0 jour et tous les param\u00e8tres pr\u00e9c\u00e9dents resteront intacts. Le traitement d\u2019autres fichiers de r\u00e8gle valides ne sera pas non plus affect\u00e9.<\/p>\n<h3>EPIPS_data<\/h3>\n<p>La mise \u00e0 jour de contenu <em>EPIPS_data<\/em> contient les signatures de l\u2019IPS (<em>Intrusion Prevention System<\/em>) charg\u00e9es par <em>SophosIPS.exe<\/em>. <em>SophosIPS.exe<\/em> contient un produit IPS d\u00e9velopp\u00e9 par Sophos ; les signatures sont de type IPS, publi\u00e9es par les SophosLabs.<\/p>\n<p><em>SophosIPS.exe<\/em> s\u2019ex\u00e9cute comme un processus \u00e0 faible privil\u00e8ge. Lorsque l\u2019IPS est activ\u00e9, le pilote <em>sntp.sys<\/em> envoie des paquets \u00e0 <em>SophosIPS.exe<\/em> pour le filtrage ; <em>SophosIPS.exe<\/em> r\u00e9pond alors au pilote avec des commandes pour accepter ou rejeter les paquets.<\/p>\n<p>Interagir avec les flux r\u00e9seau &#8216;paquet-par-paquet&#8217; au plus profond de la pile r\u00e9seau (<em>network stack<\/em>) implique une extr\u00eame prudence. Les appels WFP (<em>Windows Filtering Platform<\/em>) au niveau L2 sont tr\u00e8s sensibles aux pilotes sous-jacents, souvent provenant de tiers, qui interagissent avec les couches d&#8217;acc\u00e8s physique et m\u00e9dia. En raison du risque \u00e9lev\u00e9 pour la stabilit\u00e9 du syst\u00e8me, la fonctionnalit\u00e9 IPS se surveille elle-m\u00eame pour d\u00e9tecter les BSOD ou les perturbations du r\u00e9seau susceptibles d&#8217;\u00eatre caus\u00e9es par des interactions de pilotes tiers. En cas de d\u00e9tection, la fonctionnalit\u00e9 IPS se d\u00e9sactive automatiquement et met l\u2019\u00e9tat de s\u00e9curit\u00e9 du syst\u00e8me endpoint sur <strong>rouge<\/strong> pour alerter sur l\u2019incompatibilit\u00e9.<\/p>\n<h3>NTP_OVERRIDES<\/h3>\n<p>L&#8217;un des probl\u00e8mes potentiels lors de la cr\u00e9ation d&#8217;un pilote de noyau (<em>kernel<\/em>) WFP (<em>Windows Filtering Platform<\/em>) est que, bien que la plateforme soit con\u00e7ue pour que plusieurs pilotes interagissent simultan\u00e9ment avec la pile de filtrage (<em>filtering<\/em> <em>stack<\/em>), Sophos a identifi\u00e9 certains packages logiciels tiers qui ne sont pas compatibles avec la fonctionnalit\u00e9 IPS, et qui n\u00e9cessite alors de pouvoir intercepter et manipuler les paquets L2.<\/p>\n<p>La mise \u00e0 jour de contenu <em>NTP_OVERRIDES<\/em> contient une liste de pilotes incompatibles connus. Si l\u2019IPS est activ\u00e9 au niveau de la politique mais d\u00e9ploy\u00e9 sur un appareil avec un pilote incompatible, <em>SophosNtpService.exe<\/em> d\u00e9sactive l\u2019IPS, rempla\u00e7ant ainsi la politique en question.<\/p>\n<p>Cette capacit\u00e9 est fournie sous forme de mise \u00e0 jour de contenu, ainsi, \u00e0 mesure que de nouveaux pilotes incompatibles sont d\u00e9couverts, Sophos pourra r\u00e9agir de mani\u00e8re dynamique pour prot\u00e9ger les autres clients ayant la m\u00eame configuration. De plus, si Sophos ou des tiers mettent \u00e0 jour les pilotes pour traiter cette incompatibilit\u00e9, Sophos pourra supprimer le pilote \u00e0 partir d&#8217;une certaine version.<\/p>\n<h3>RepairKit<\/h3>\n<p>Lors de chaque mise \u00e0 jour, effectu\u00e9e toutes les heures, <em>Sophos AutoUpdate<\/em> ex\u00e9cutera un programme d&#8217;auto-r\u00e9paration (<em>su-repair.exe<\/em>) pour d\u00e9tecter et corriger tout probl\u00e8me connu et r\u00e9parable. Le <em>RepairKit<\/em> a \u00e9t\u00e9 initialement con\u00e7u pour d\u00e9tecter et r\u00e9parer l\u2019alt\u00e9ration de fichier caus\u00e9e par des interruptions suspectes qui pourraient corrompre l&#8217;installation de Sophos. Au fil du temps, l&#8217;\u00e9quipe engineering de Sophos a utilis\u00e9 cette fonctionnalit\u00e9 pour corriger de nombreux probl\u00e8mes qui, historiquement, auraient n\u00e9cessit\u00e9 une implication en termes de support Sophos aupr\u00e8s du client, ou qui seraient potentiellement pass\u00e9s inaper\u00e7us jusqu&#8217;\u00e0 ce qu&#8217;une future mise \u00e0 jour logicielle ne signale le probl\u00e8me en question.<\/p>\n<p>Les r\u00e8gles <em>RepairKit<\/em> sont \u00e9crites en langage <strong>Lua<\/strong> et charg\u00e9es par <em>su-repair.exe<\/em>. Les r\u00e8gles sont chiffr\u00e9es et sign\u00e9es. Si <em>su-repair.exe<\/em> ne parvient pas \u00e0 charger les r\u00e8gles <em>RepairKit<\/em>, il charge un ensemble de r\u00e8gles de &#8220;dernier recours (<em>last resort<\/em>)&#8221; int\u00e9gr\u00e9 qui se concentre uniquement sur la r\u00e9paration de <em>Sophos AutoUpdate<\/em> lui-m\u00eame.<\/p>\n<p>Les r\u00e8gles <em>RepairKit<\/em> ont un large acc\u00e8s \u00e0 la machine et s&#8217;ex\u00e9cutent en tant que SYSTEM, car elles doivent pouvoir corriger les cl\u00e9s et les fichiers privil\u00e9gi\u00e9s.<\/p>\n<h3>TELEMSUP<\/h3>\n<p>Cette mise \u00e0 jour de contenu t\u00e9l\u00e9m\u00e9trique contient un document JSON d\u00e9crivant \u00e0 quelle fr\u00e9quence et o\u00f9 soumettre la t\u00e9l\u00e9m\u00e9trie :<\/p>\n<pre>{  \"additionalHeaders\": \"x-amz-acl:bucket-owner-full-control\",  \"port\": 0,  \"resourceRoot\": \"prod\",  \"server\": \"t1.sophosupd.com\",  \"verb\": \"PUT\",  \"interval\": 86400  }<\/pre>\n<p>La mise \u00e0 jour de contenu t\u00e9l\u00e9m\u00e9trique n&#8217;a pas chang\u00e9 depuis son introduction en 2016.<\/p>\n<h3>APPFEED et USERAPPFEED<\/h3>\n<p>Les mises \u00e0 jour de contenu <em>APPFEED<\/em> contiennent des extraits <strong>Lua<\/strong> sign\u00e9s et chiffr\u00e9s pour d\u00e9tecter les applications install\u00e9es et g\u00e9n\u00e9rer dynamiquement des exclusions pour celles-ci.<\/p>\n<p>Si une application est d\u00e9tect\u00e9e et que <em>APPFEED<\/em> contient des r\u00e8gles d&#8217;exclusion concernant celle-ci, les r\u00e8gles g\u00e9n\u00e8rent dynamiquement des exclusions sp\u00e9cifiques \u00e0 la machine en fonction de l&#8217;application install\u00e9e. Ces exclusions sont signal\u00e9es \u00e0 Sophos Central pour un envoi d&#8217;informations \u00e0 l&#8217;administrateur de Sophos Central.<\/p>\n<p>Les r\u00e8gles ont un acc\u00e8s en lecture seule au registre et au syst\u00e8me de fichier et fonctionnent g\u00e9n\u00e9ralement en recherchant des applications connues dans les cl\u00e9s de registre des programmes \u2018<em>Add\/Remove<\/em>\u2019. Certaines applications, comme <em>Microsoft SQL Server<\/em>, n\u00e9cessitent l&#8217;ex\u00e9cution d&#8217;un script PowerShell pour d\u00e9tecter les composants optionnels du syst\u00e8me d&#8217;exploitation (OS).<\/p>\n<p><em>APPFEED<\/em> et <em>USERAPPFEED<\/em> sont charg\u00e9es par une instance de <em>SEDService.exe<\/em>.<\/p>\n<h3>ProductRulesFeed<\/h3>\n<p>Les r\u00e8gles du produit sont charg\u00e9es par <em>SSPService.exe<\/em>. Elles sont au m\u00eame format que les r\u00e8gles de comportement, avec les m\u00eames acc\u00e8s et privil\u00e8ges. Elles sont charg\u00e9es dans le m\u00eame interpr\u00e9teur <strong>LuaJIT<\/strong> et fournissent les fonctionnalit\u00e9s de base requises par les r\u00e8gles de comportement.<\/p>\n<h3>Mod\u00e8les ML<\/h3>\n<p>La mise \u00e0 jour de contenu des mod\u00e8les ML contient plusieurs mod\u00e8les d&#8217;apprentissage automatique (ML) charg\u00e9s par <em>SophosFileScanner.exe<\/em>. Contrairement \u00e0 la plupart des <em>mises \u00e0 jour de contenu<\/em>, les mod\u00e8les ML contiennent des DLL Windows qui renferment la logique essentielle du mod\u00e8le ML, ainsi que les &#8220;pond\u00e9rations&#8221;, \u00e0 savoir le r\u00e9sultat de l&#8217;entra\u00eenement et du param\u00e9trage des mod\u00e8les dans le Cloud des SophosLabs.<\/p>\n<p>Les mod\u00e8les ML sont charg\u00e9s par <em>SophosFileScanner.exe<\/em> et sont ex\u00e9cut\u00e9s dans le m\u00eame environnement \u00e0 faible privil\u00e8ge. <em>SophosFileScanner.exe<\/em> prend en charge le chargement de deux versions de chaque mod\u00e8le : \u2018<em>telemetry<\/em>\u2019 and \u2018<em>live<\/em>.\u2019 Sophos utilise cette fonctionnalit\u00e9 pour fournir des mod\u00e8les ML, potentiellement \u00e9ligibles, en mode t\u00e9l\u00e9m\u00e9trie. Lorsque <em>SophosFileScanner.exe<\/em> dispose d&#8217;un mod\u00e8le ML en mode t\u00e9l\u00e9m\u00e9trie, il s\u00e9lectionne un \u00e9chantillon de donn\u00e9es pour l&#8217;analyse t\u00e9l\u00e9m\u00e9trique et l&#8217;ex\u00e9cute via le mod\u00e8le en question (en plus des activit\u00e9s normales). La sortie du mod\u00e8le de t\u00e9l\u00e9m\u00e9trie, ainsi que les donn\u00e9es collect\u00e9es par les mod\u00e8les classiques, fournissent\u00a0 \u00e0 Sophos la t\u00e9l\u00e9m\u00e9trie \u00e0 des fins d&#8217;analyse et de formation.<\/p>\n<p>Sophos fournit des mod\u00e8les ML sous forme de <em>mises \u00e0 jour de contenu<\/em> afin qu&#8217;un nouveau mod\u00e8le ML puisse b\u00e9n\u00e9ficier de plusieurs it\u00e9rations en mati\u00e8re de t\u00e9l\u00e9m\u00e9trie, de recyclage et de r\u00e9glage plus pr\u00e9cis avant d&#8217;\u00eatre utilis\u00e9 au niveau d\u2019un mod\u00e8le repr\u00e9sentatif du monde r\u00e9el.<\/p>\n<p>\u00c9tant donn\u00e9 que la mise \u00e0 jour du mod\u00e8le ML contient du code ex\u00e9cutable, Sophos la publie plus progressivement, via plusieurs \u00e9tapes diff\u00e9rentes :<\/p>\n<ul>\n<li>Cette derni\u00e8re passe plus de temps dans les groupes de version pr\u00e9liminaire (\u00e0 savoir les tests techniques et ceux de Sophos Internal).<\/li>\n<li>Elle est publi\u00e9e sur plusieurs semaines et non sur quelques heures.<\/li>\n<\/ul>\n<h3>Hmpa_data<\/h3>\n<p>La mise \u00e0 jour de contenu <em>Hmpa_data<\/em> contient une liste globale d&#8217;empreintes digitales (<em>thumbprints<\/em>) autoris\u00e9es pour HitmanPro.Alert. Chaque d\u00e9tection HitmanPro.Alert cr\u00e9e une empreinte digitale (<em>thumbprint<\/em>) unique pour une mitigation pertinente et des informations sp\u00e9cifiques \u00e0 la d\u00e9tection. Par exemple, une empreinte digitale pour une mitigation <em>StackPivot<\/em> peut inclure le processus et quelques derniers &#8216;stack frames&#8217;.<\/p>\n<p><em>Hmpa_data<\/em> contient une liste condens\u00e9e d&#8217;empreintes digitales autoris\u00e9es globalement. Le <em>service HitmanPro.Alert, hmpalertsvc.exe,<\/em> utilise cette base de donn\u00e9es pour supprimer rapidement et silencieusement les d\u00e9tections, r\u00e9duire les faux positifs et \u00e9viter les probl\u00e8mes de performances ou de stabilit\u00e9.<\/p>\n<ul>\n<li>Le pilote <em>HitmanPro.Alert<\/em>, <em>hmpalert.sys<\/em>, g\u00e9n\u00e8re des empreintes digitales et les envoie au service pour toute mitigation bas\u00e9e sur le pilote : CryptoGuard, CiGuard, PrivGuard, etc.<\/li>\n<li>La <em>DLL hook HitmanPro.Alert<\/em>, <em>hmpalert.dll<\/em>, qui est inject\u00e9e dans les processus utilisateur, g\u00e9n\u00e8re des empreintes digitales\u00a0pour chaque d\u00e9tection et les envoie au service pour reporting.<\/li>\n<\/ul>\n<h2>Conclusion<\/h2>\n<p>Afin de suivre le rythme des menaces en constante \u00e9volution et de se prot\u00e9ger contre les menaces \u00e9mergentes, il est extr\u00eamement important de mettre r\u00e9guli\u00e8rement \u00e0 jour les produits de s\u00e9curit\u00e9 avec de nouvelles donn\u00e9es. Cependant, les <em>mises \u00e0 jour de contenu corrompues ou d\u00e9fectueuses<\/em> peuvent provoquer des perturbations. Il est donc \u00e9galement essentiel que des m\u00e9canismes soient en place pour garantir qu&#8217;elles sont valides, sign\u00e9es et v\u00e9rifi\u00e9es.<\/p>\n<p>Dans cet article, nous avons fourni un aper\u00e7u g\u00e9n\u00e9ral des <em>mises \u00e0 jour de contenu<\/em> que nous utilisons dans Intercept X, en explorant ce qu&#8217;elles sont r\u00e9ellement, \u00e0 quelle fr\u00e9quence elles sont diffus\u00e9es, comment elles sont valid\u00e9es et v\u00e9rifi\u00e9es, les processus sp\u00e9cifiques \u00e0 faible privil\u00e8ge et les m\u00e9thodes sp\u00e9cifiques que nous utilisons pour les d\u00e9ployer en mode \u00e9tape-par-\u00e9tape et contr\u00f4l\u00e9e.<\/p>\n<p>Comme nous l\u2019avons mentionn\u00e9 dans notre <a href=\"https:\/\/news.sophos.com\/en-us\/2024\/08\/01\/driving-lessons-the-kernel-drivers-in-sophos-intercept-x-advanced\/\" target=\"_blank\" rel=\"noopener\">pr\u00e9c\u00e9dent article<\/a> sur les pilotes du noyau Intercept X, \u00e9quilibrer <strong>protection<\/strong> et <strong>s\u00e9curit\u00e9<\/strong> est risqu\u00e9, mais nous nous engageons \u00e0 g\u00e9rer ce risque de la mani\u00e8re la plus transparente possible.<\/p>\n<p>Billet inspir\u00e9 de <a href=\"https:\/\/news.sophos.com\/en-us\/2024\/08\/15\/content-updates-and-product-architecture-sophos-endpoint\/\" target=\"_blank\" rel=\"noopener\">Content updates and product architecture: Sophos Endpoint<\/a>, sur le Blog Sophos.<\/p>\n<\/p><\/div>\n<p><a href=\"https:\/\/news.sophos.com\/fr-fr\/2024\/08\/26\/sophos-endpoint-mises-a-jour-de-contenu-et-architecture-du-produit\/\" target=\"bwo\" >http:\/\/feeds.feedburner.com\/sophos\/dgdY<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/news.sophos.com\/wp-content\/uploads\/2024\/08\/mises-a-jour-de-contenu.png\"\/><\/p>\n<p><strong>Credit to Author: Nicolas Pommier| Date: Mon, 26 Aug 2024 17:33:00 +0000<\/strong><\/p>\n<p>Sophos X-Ops vous pr\u00e9sente une analyse des mises \u00e0 jour de contenu dans Intercept X et la mani\u00e8re avec laquelle nous les validons et publions.<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[10378,10377],"tags":[16771],"class_list":["post-25153","post","type-post","status-publish","format-standard","hentry","category-security","category-sophos","tag-threat-research"],"_links":{"self":[{"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/25153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/comments?post=25153"}],"version-history":[{"count":0,"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/25153\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/media?parent=25153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/categories?post=25153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/tags?post=25153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}