Microsoft analyse techniquement mais diplomatiquement l’incident CrowdStrike, cependant il s’agit d’une gifle pour CrowdStrike, qui a dj caus des pannes graves d’autres systmes d’exploitation

Microsoft Defender Threat Intelligence pour cartographier l'internet, et Microsoft Defender External Attack Surface Management



Dans un billet de blog, Microsoft examine la rcente panne de CrowdStrike et fournit un aperu technique de la cause premire. Tout en tant aussi diplomatique que possible, Microsoft explique comment les clients et les fournisseurs de solutions de scurit peuvent mieux exploiter les capacits de scurit intgres de Windows pour amliorer la scurit et la fiabilit. Pour CrowdStrike, il s’agit certainement d’une gifle, surtout aprs que Crowdstrike ait tu un systme d’exploitation tous les mois.

Le 19 juillet 2024, une panne informatique mondiale a touch des entreprises, des aroports et des mdias travers le monde. Microsoft a confirm qu’elle tait consciente de ces problmes, mais de nombreux experts en cyberscurit ont indiqu que la source potentielle du problme tait l’entreprise de cyberscurit CrowdStrike, qui fournit une surveillance et une protection contre les cyberattaques de nombreuses entreprises de premier plan. Les crans bleus de la mort ont perturb le fonctionnement normal des machines Windows, affichant le message : Recovery: It looks like Windows didnt load correctly.

Plus de 1 000 vols ont t annuls, principalement dans le secteur du transport arien. Des aroports tels que Hong Kong International Airport, laroport de Berlin, laroport de Zurich et laroport de Budapest ont t touchs. La compagnie arienne Ryanair a signal des problmes de rservation et denregistrement. De plus, les systmes de rservation de Cathay Pacific, Hong Kong Express et Hong Kong Airlines sont rests indisponibles pendant plusieurs heures, entranant des retards et des dsagrments pour les voyageurs.

Lentreprise de cyberscurit amricaine CrowdStrike a reconnu tre lorigine de ces problmes. Le directeur gnral de CrowdStrike, George Kurtz, a confirm qu’un dfaut dans une mise jour de contenu pour les htes Windows tait l’origine de la panne, et Kurtz a exclu une cyberattaque. Il a ajout que l’entreprise tait en train de dployer un correctif et que les htes Mac et Linux n’taient pas affects.

Voici l’analyse technique de Microsoft de cet incident, tout en tant partageant les meilleures pratiques en matire de scurit Windows :

Rapport d’incident : Les meilleures pratiques en matire de scurit Windows pour l’intgration et la gestion des outils de scurit

Windows est une plateforme ouverte et flexible utilise par de nombreuses entreprises parmi les plus importantes au monde pour des cas d’utilisation haute disponibilit o la scurit et la disponibilit ne sont pas ngociables.

Pour rpondre ces besoins :

  1. Windows offre une gamme de modes d’exploitation parmi lesquels les clients peuvent choisir. Il est notamment possible de limiter l’excution aux seuls logiciels et pilotes approuvs. Cela permet d’amliorer la scurit et la fiabilit en faisant fonctionner Windows dans un mode plus proche des tlphones mobiles ou des appareils.
  2. Les clients peuvent opter pour les fonctions intgres de surveillance et de dtection de la scurit qui sont incluses dans Windows. Ils peuvent galement choisir de remplacer ou de complter cette scurit par un large ventail de choix provenant d’un cosystme ouvert et dynamique de fournisseurs.

Dans ce billet de blog, nous examinons la rcente panne de CrowdStrike et fournissons un aperu technique de la cause premire. Nous expliquons galement pourquoi les produits de scurit utilisent aujourd’hui des pilotes en mode noyau et les mesures de scurit que Windows offre aux solutions tierces. En outre, nous expliquons comment les clients et les fournisseurs de solutions de scurit peuvent mieux exploiter les capacits de scurit intgres de Windows pour amliorer la scurit et la fiabilit. Enfin, nous donnons un aperu de la manire dont Windows amliorera l’extensibilit des futurs produits de scurit.

CrowdStrike a rcemment publi une analyse prliminaire de la panne. Dans son billet de blog, CrowdStrike dcrit la cause premire comme un problme de scurit de la mmoire, en particulier une violation d’accs hors limites en lecture dans le pilote CSagent. Nous utilisons le dbogueur de noyau Microsoft WinDBG et plusieurs extensions qui sont disponibles gratuitement pour tout le monde afin d’effectuer cette analyse. Les clients qui disposent de fichiers de crash peuvent reproduire nos tapes l’aide de ces outils.

Sur la base de l’analyse par Microsoft des fichiers de crash du noyau Windows Error Reporting (WER) relatifs l’incident, nous observons des schmas de crash globaux qui refltent ceci :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

FAULTING_THREAD:  ffffe402fe868040
 
READ_ADDRESS:  ffff840500000074 Paged pool
 
MM_INTERNAL_CODE:  2
 
IMAGE_NAME:  csagent.sys
 
MODULE_NAME: csagent
 
FAULTING_MODULE: fffff80671430000 csagent
 
PROCESS_NAME:  System
 
TRAP_FRAME:  ffff94058305ec20 -- (.trap 0xffff94058305ec20)
.trap 0xffff94058305ec20
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=ffff94058305f200 rbx=0000000000000000 rcx=0000000000000003
rdx=ffff94058305f1d0 rsi=0000000000000000 rdi=0000000000000000
rip=fffff806715114ed rsp=ffff94058305edb0 rbp=ffff94058305eeb0
 r8=ffff840500000074  r9=0000000000000000 r10=0000000000000000
r11=0000000000000014 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0         nv up ei ng nz na po nc
csagent+0xe14ed:
fffff806`715114ed 458b08          mov     r9d,dword ptr [r8] ds:ffff8405`00000074=????????
.trap
Resetting default scope
 
STACK_TEXT:  
ffff9405`8305e9f8 fffff806`5388c1e4     : 00000000`00000050 ffff8405`00000074 00000000`00000000 ffff9405`8305ec20 : nt!KeBugCheckEx 
ffff9405`8305ea00 fffff806`53662d8c     : 00000000`00000000 00000000`00000000 00000000`00000000 ffff8405`00000074 : nt!MiSystemFault+0x1fcf94  
ffff9405`8305eb00 fffff806`53827529     : ffffffff`00000030 ffff8405`af8351a2 ffff9405`8305f020 ffff9405`8305f020 : nt!MmAccessFault+0x29c 
ffff9405`8305ec20 fffff806`715114ed     : 00000000`00000000 ffff9405`8305eeb0 ffff8405`b0bcd00c ffff8405`b0bc505c : nt!KiPageFault+0x369 
ffff9405`8305edb0 fffff806`714e709e     : 00000000`00000000 00000000`e01f008d ffff9405`8305f102 fffff806`716baaf8 : csagent+0xe14ed
ffff9405`8305ef50 fffff806`714e8335     : 00000000`00000000 00000000`00000010 00000000`00000002 ffff8405`b0bc501c : csagent+0xb709e
ffff9405`8305f080 fffff806`717220c7     : 00000000`00000000 00000000`00000000 ffff9405`8305f382 00000000`00000000 : csagent+0xb8335
ffff9405`8305f1b0 fffff806`7171ec44     : ffff9405`8305f668 fffff806`53eac2b0 ffff8405`afad4ac0 00000000`00000003 : csagent+0x2f20c7
ffff9405`8305f430 fffff806`71497a31     : 00000000`0000303b ffff9405`8305f6f0 ffff8405`afb1d140 ffffe402`ff251098 : csagent+0x2eec44
ffff9405`8305f5f0 fffff806`71496aee     : ffff8405`afb1d140 fffff806`71541e7e 00000000`000067a0 fffff806`7168f8f0 : csagent+0x67a31
ffff9405`8305f760 fffff806`7149685b     : ffff9405`8305f9d8 ffff8405`afb1d230 ffff8405`afb1d140 ffffe402`fe8644f8 : csagent+0x66aee
ffff9405`8305f7d0 fffff806`715399ea     : 00000000`4a8415aa ffff8eee`1c68ca4f 00000000`00000000 ffff8405`9e95fc30 : csagent+0x6685b
ffff9405`8305f850 fffff806`7148efbb     : 00000000`00000000 ffff9405`8305fa59 ffffe402`fe864050 ffffe402`fede62c0 : csagent+0x1099ea
ffff9405`8305f980 fffff806`7148edd7     : ffffffff`ffffffa1 fffff806`7152e5c1 ffffe402`fe864050 00000000`00000001 : csagent+0x5efbb
ffff9405`8305fac0 fffff806`7152e681     : 00000000`00000000 fffff806`53789272 00000000`00000002 ffffe402`fede62c0 : csagent+0x5edd7
ffff9405`8305faf0 fffff806`53707287     : ffffe402`fe868040 00000000`00000080 fffff806`7152e510 006fe47f`b19bbdff : csagent+0xfe681
ffff9405`8305fb30 fffff806`5381b8e4     : ffff9680`37651180 ffffe402`fe868040 fffff806`53707230 00000000`00000000 : nt!PspSystemThreadStartup+0x57 
ffff9405`8305fb80 00000000`00000000     : ffff9405`83060000 ffff9405`83059000 00000000`00000000 00000000`00000000 : nt!KiStartSystemThread+0x34

En creusant davantage dans ce crash dump, nous pouvons restaurer le stack frame au moment de la violation d'accs afin d'en savoir plus sur son origine. Malheureusement, avec les donnes WER, nous ne recevons qu'une version compresse de l'tat et nous ne pouvons donc pas dsassembler l'envers pour voir un ensemble plus large d'instructions avant le crash, mais nous pouvons voir dans le dsassemblage qu'il y a une vrification de NULL avant d'effectuer une lecture l'adresse spcifie dans le registre R8 :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

6: kd> .trap 0xffff94058305ec20
.trap 0xffff94058305ec20
NOTE: The trap frame does not contain all registers.
Some register values may be zeroed or incorrect.
rax=ffff94058305f200 rbx=0000000000000000 rcx=0000000000000003
rdx=ffff94058305f1d0 rsi=0000000000000000 rdi=0000000000000000
rip=fffff806715114ed rsp=ffff94058305edb0 rbp=ffff94058305eeb0
 r8=ffff840500000074  r9=0000000000000000 r10=0000000000000000
r11=0000000000000014 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=000000000000
000
iopl=0         nv up ei ng nz na po nc
csagent+0xe14ed:
fffff806`715114ed 458b08          mov     r9d,dword ptr [r8] ds:ffff8405`00000074=????????
6: kd> !pte ffff840500000074
!pte ffff840500000074
                                           VA ffff840500000074
PXE at FFFFABD5EAF57840    PPE at FFFFABD5EAF080A0    PDE at FFFFABD5E1014000    PTE at FFFFABC202800000
contains 0A00000277200863  contains 0000000000000000
pfn 277200    ---DA--KWEV  contains 0000000000000000
not valid
 
6: kd> ub fffff806`715114ed
ub fffff806`715114ed
csagent+0xe14d9:
fffff806`715114d9 04d8            add     al,0D8h
fffff806`715114db 750b            jne     csagent+0xe14e8 (fffff806`715114e8)
fffff806`715114dd 4d85c0          test    r8,r8
fffff806`715114e0 7412            je      csagent+0xe14f4 (fffff806`715114f4)
fffff806`715114e2 450fb708        movzx   r9d,word ptr [r8]
fffff806`715114e6 eb08            jmp     csagent+0xe14f0 (fffff806`715114f0)
fffff806`715114e8 4d85c0          test    r8,r8
fffff806`715114eb 7407            je      csagent+0xe14f4 (fffff806`715114f4)
6: kd> ub fffff806`715114d9
ub fffff806`715114d9
                          ^ Unable to find valid previous instruction for 'ub fffff806`715114d9'
6: kd> u fffff806`715114eb
u fffff806`715114eb
csagent+0xe14eb:
fffff806`715114eb 7407            je      csagent+0xe14f4 (fffff806`715114f4)
fffff806`715114ed 458b08          mov     r9d,dword ptr [r8]
fffff806`715114f0 4d8b5008        mov     r10,qword ptr [r8+8]
fffff806`715114f4 4d8bc2          mov     r8,r10
fffff806`715114f7 488d4d90        lea     rcx,[rbp-70h]
fffff806`715114fb 488bd6          mov     rdx,rsi
fffff806`715114fe e8212c0000      call    csagent+0xe4124 (fffff806`71514124)
fffff806`71511503 4533d2          xor     r10d,r10d
 
6: kd> db ffff840500000074
db ffff840500000074
ffff8405`00000074  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
ffff8405`00000084  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
ffff8405`00000094  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
ffff8405`000000a4  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
ffff8405`000000b4  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
ffff8405`000000c4  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
ffff8405`000000d4  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????
ffff8405`000000e4  ?? ?? ?? ?? ?? ?? ?? ??-?? ?? ?? ?? ?? ?? ?? ??  ????????????????

Nos observations confirment l'analyse de CrowdStrike selon laquelle il s'agit d'une erreur de scurit de lecture hors limites dans le pilote CSagent.sys dvelopp par CrowdStrike.

Nous pouvons galement constater que le module csagent.sys est enregistr en tant que pilote de filtre de systme de fichiers couramment utilis par les agents anti-malware pour recevoir des notifications sur les oprations de fichiers telles que la cration ou la modification d'un fichier. Les produits de scurit s'en servent souvent pour analyser tout nouveau fichier enregistr sur le disque, comme le tlchargement d'un fichier via le navigateur.

Les filtres de systme de fichiers peuvent galement tre utiliss comme un signal pour les solutions de scurit qui tentent de surveiller le comportement du systme. CrowdStrike a indiqu sur son blog qu'une partie de la mise jour du contenu consistait modifier la logique du capteur en ce qui concerne les donnes relatives la cration de tuyaux nomms. L'API du pilote de filtrage du systme de fichiers permet au pilote de recevoir un appel lorsque l'activit d'un tuyau nomm (par exemple, la cration d'un tuyau nomm) se produit sur le systme et pourrait permettre la dtection d'un comportement malveillant. La fonction gnrale du pilote correspond aux informations communiques par CrowdStrike.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

6: kd>!reg querykey \REGISTRY\MACHINE\system\ControlSet001\services\csagent
 
Hive         ffff84059ca7b000
KeyNode      ffff8405a6f67f9c
 
[SubKeyAddr]         [SubKeyName]
ffff8405a6f683ac     Instances
ffff8405a6f6854c     Sim
 
 Use '!reg keyinfo ffff84059ca7b000 <SubKeyAddr>' to dump the subkey details
 
[ValueType]         [ValueName]                   [ValueData]
REG_DWORD           Type                          2
REG_DWORD           Start                         1
REG_DWORD           ErrorControl                  1
REG_EXPAND_SZ       ImagePath                     \??\C:\Windows\system32\drivers\CrowdStrike\csagent.sys
REG_SZ              DisplayName                   CrowdStrike Falcon
REG_SZ              Group                         FSFilter Activity Monitor
REG_MULTI_SZ        DependOnService               FltMgr\0
REG_SZ              CNFG                          Config.sys
REG_DWORD           SupportedFeatures             f

Nous pouvons voir que la version 291 du fichier du canal de contrle spcifie dans l'analyse de CrowdStrike est galement prsente dans le crash, ce qui indique que le fichier a t lu.

Dterminer la corrlation entre le fichier lui-mme et la violation d'accs observe dans le crash dump ncessiterait un dbogage supplmentaire du pilote l'aide de ces outils, mais n'entre pas dans le cadre de ce billet de blog.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

!ca ffffde8a870a8290
 
ControlArea  @ ffffde8a870a8290
  Segment      ffff880ce0689c10  Flink      ffffde8a87267718  Blink        ffffde8a870a7d98
  Section Ref                 0  Pfn Ref                   b  Mapped Views                0
  User Ref                    0  WaitForDel                0  Flush Count                 0
  File Object  ffffde8a879b29a0  ModWriteCount             0  System Views                0
  WritableRefs                0  PartitionId                0  
  Flags (8008080) File WasPurged OnUnusedList 
 
      \Windows\System32\drivers\CrowdStrike\C-00000291-00000000-00000032.sys
 
1: kd> !ntfskd.ccb ffff880ce06f6970
!ntfskd.ccb ffff880ce06f6970
 
   Ccb: ffff880c`e06f6970
 Flags: 00008003 Cleanup OpenAsFile IgnoreCase
Flags2: 00000841 OpenComplete AccessAffectsOplocks SegmentObjectReferenced
  Type: UserFileOpen
FileObj: ffffde8a879b29a0
 
(018)  ffff880c`db937370  FullFileName [\Windows\System32\drivers\CrowdStrike\C-00000291-00000000-00000032.sys]
(020) 000000000000004C  LastFileNameOffset 
(022) 0000000000000000  EaModificationCount 
(024) 0000000000000000  NextEaOffset 
(048) FFFF880CE06F69F8  Lcb 
(058) 0000000000000002  TypeOfOpen

Nous pouvons exploiter le crash dump pour dterminer si d'autres pilotes fournis par CrowdStrike peuvent exister sur le systme en cours d'excution lors du crash.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129

6: kd> lmDvmCSFirmwareAnalysis
lmDvmCSFirmwareAnalysis
Browse full module list
start             end                 module name
fffff806`58920000 fffff806`5893c000   CSFirmwareAnalysis   (deferred)             
    Image path: \SystemRoot\system32\DRIVERS\CSFirmwareAnalysis.sys
    Image name: CSFirmwareAnalysis.sys
    Browse all global symbols  functions  data  Symbol Reload
    Timestamp:        Mon Mar 18 11:32:14 2024 (65F888AE)
    CheckSum:         0002020E
    ImageSize:        0001C000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4
    Information from resource tables:
6: kd> lmDvmcspcm4
lmDvmcspcm4
Browse full module list
start             end                 module name
fffff806`71870000 fffff806`7187d000   cspcm4     (deferred)             
    Image path: \??\C:\Windows\system32\drivers\CrowdStrike\cspcm4.sys
    Image name: cspcm4.sys
    Browse all global symbols  functions  data  Symbol Reload
    Timestamp:        Mon Jul  8 18:33:22 2024 (668C9362)
    CheckSum:         00012F69
    ImageSize:        0000D000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4
    Information from resource tables:
6: kd> lmDvmcsboot.sys
lmDvmcsboot.sys
Browse full module list
start             end                 module name
 
Unloaded modules:
fffff806`587d0000 fffff806`587dc000   CSBoot.sys
    Timestamp: unavailable (00000000)
    Checksum:  00000000
    ImageSize:  0000C000
 
6: kd> !reg querykey \REGISTRY\MACHINE\system\ControlSet001\services\csboot
!reg querykey \REGISTRY\MACHINE\system\ControlSet001\services\csboot
 
Hive         ffff84059ca7b000
KeyNode      ffff8405a6f68924
 
[ValueType]         [ValueName]                   [ValueData]
REG_DWORD           Type                          1
REG_DWORD           Start                         0
REG_DWORD           ErrorControl                  1
REG_EXPAND_SZ       ImagePath                     system32\drivers\CrowdStrike\CSBoot.sys
REG_SZ              DisplayName                   CrowdStrike Falcon Sensor Boot Driver
REG_SZ              Group                         Early-Launch
6: kd> !reg querykey \REGISTRY\MACHINE\system\ControlSet001\services\csdevicecontrol
!reg querykey \REGISTRY\MACHINE\system\ControlSet001\services\csdevicecontrol
 
Hive         ffff84059ca7b000
KeyNode      ffff8405a6f694ac
 
[SubKeyAddr]         [VolatileSubKeyName]
ffff84059ce196c4     Enum
 
 Use '!reg keyinfo ffff84059ca7b000 <SubKeyAddr>' to dump the subkey details
 
[ValueType]         [ValueName]                   [ValueData]
REG_DWORD           Type                          1
REG_DWORD           Start                         3
REG_DWORD           ErrorControl                  1
REG_DWORD           Tag                           1f
REG_EXPAND_SZ       ImagePath                     \SystemRoot\System32\drivers\CSDeviceControl.sys
REG_SZ              DisplayName                   @oem40.inf,%DeviceControl.SVCDESC%;CrowdStrike Device Control Service
REG_SZ              Group                         Base
REG_MULTI_SZ        Owners                        oem40.inf\0!csdevicecontrol.inf_amd64_b6725a84d4688d5a\0!csdevicecontrol.inf_amd64_016e965488e83578\0
REG_DWORD           BootFlags                     14
6: kd> !reg querykey \REGISTRY\MACHINE\system\ControlSet001\services\csagent
!reg querykey \REGISTRY\MACHINE\system\ControlSet001\services\csagent
 
Hive         ffff84059ca7b000
KeyNode      ffff8405a6f67f9c
 
[SubKeyAddr]         [SubKeyName]
ffff8405a6f683ac     Instances
ffff8405a6f6854c     Sim
 
 Use '!reg keyinfo ffff84059ca7b000 <SubKeyAddr>' to dump the subkey details
 
[ValueType]         [ValueName]                   [ValueData]
REG_DWORD           Type                          2
REG_DWORD           Start                         1
REG_DWORD           ErrorControl                  1
REG_EXPAND_SZ       ImagePath                     \??\C:\Windows\system32\drivers\CrowdStrike\csagent.sys
REG_SZ              DisplayName                   CrowdStrike Falcon
REG_SZ              Group                         FSFilter Activity Monitor
REG_MULTI_SZ        DependOnService               FltMgr\0
REG_SZ              CNFG                          Config.sys
REG_DWORD           SupportedFeatures             f
 
6: kd> lmDvmCSFirmwareAnalysis
lmDvmCSFirmwareAnalysis
Browse full module list
start             end                 module name
fffff806`58920000 fffff806`5893c000   CSFirmwareAnalysis   (deferred)             
    Image path: \SystemRoot\system32\DRIVERS\CSFirmwareAnalysis.sys
    Image name: CSFirmwareAnalysis.sys
    Browse all global symbols  functions  data  Symbol Reload
    Timestamp:        Mon Mar 18 11:32:14 2024 (65F888AE)
    CheckSum:         0002020E
    ImageSize:        0001C000
    Translations:     0000.04b0 0000.04e4 0409.04b0 0409.04e4
    Information from resource tables:
6: kd> !reg querykey \REGISTRY\MACHINE\system\ControlSet001\services\csfirmwareanalysis
!reg querykey \REGISTRY\MACHINE\system\ControlSet001\services\csfirmwareanalysis
 
Hive         ffff84059ca7b000
KeyNode      ffff8405a6f69d9c
 
[SubKeyAddr]         [VolatileSubKeyName]
ffff84059ce197cc     Enum
 
 Use '!reg keyinfo ffff84059ca7b000 <SubKeyAddr>' to dump the subkey details
 
[ValueType]         [ValueName]                   [ValueData]
REG_DWORD           Type                          1
REG_DWORD           Start                         0
REG_DWORD           ErrorControl                  1
REG_DWORD           Tag                           6
REG_EXPAND_SZ       ImagePath                     system32\DRIVERS\CSFirmwareAnalysis.sys
REG_SZ              DisplayName                   @oem43.inf,%FirmwareAnalysis.SVCDESC%;CrowdStrike Firmware Analysis Service
REG_SZ              Group                         Boot Bus Extender
REG_MULTI_SZ        Owners                        oem43.inf\0!csfirmwareanalysis.inf_amd64_12861fc608fb1440\0
6: kd> !reg querykey \REGISTRY\MACHINE\system\Controlset001\control\earlylaunch
!reg querykey \REGISTRY\MACHINE\system\Controlset001\control\earlylaunch

Comme le montre l'analyse ci-dessus, CrowdStrike charge quatre modules de pilote. L'un de ces modules reoit un contrle dynamique et des mises jour de contenu frquemment bases sur la chronologie de l'examen prliminaire post-incident de CrowdStrike.

Nous pouvons exploiter la pile unique et les attributs de ce crash pour identifier les rapports de crash Windows gnrs par cette erreur de programmation spcifique de CrowdStrike. Il convient de noter que le nombre d'appareils ayant gnr des rapports de crash est un sous-ensemble du nombre d'appareils impacts prcdemment partag par Microsoft dans notre article de blog, car les rapports de crash sont chantillonns et collects uniquement auprs des clients qui choisissent de tlcharger leurs crashs Microsoft. Les clients qui choisissent d'activer le partage des rapports de panne aident les fournisseurs de pilotes et Microsoft identifier les problmes de qualit et les pannes et y remdier.

Nous mettons ces informations la disposition des propritaires de pilotes afin qu'ils puissent valuer leur propre fiabilit via le tableau de bord analytique du Hardware Dev Center. Comme nous pouvons le voir ci-dessus, tout problme de fiabilit tel que ce problme d'accs invalide la mmoire peut entraner des problmes de disponibilit gnraliss s'il n'est pas associ des pratiques de dploiement sres. Voyons pourquoi les solutions de scurit s'appuient sur les pilotes du noyau sous Windows.

Pourquoi les solutions de scurit s'appuient-elles sur les pilotes du noyau ?

De nombreux fournisseurs de solutions de scurit, tels que CrowdStrike et Microsoft, s'appuient sur une architecture de pilotes de noyau, et ce pour plusieurs raisons.

  • Visibilit et application des vnements lis la scurit

    Les pilotes de noyau permettent une visibilit l'chelle du systme et la capacit de charger en dbut de dmarrage pour dtecter les menaces telles que les kits de dmarrage et les kits racine qui peuvent se charger avant les applications en mode utilisateur. En outre, Microsoft fournit un ensemble riche de fonctionnalits telles que les rappels d'vnements systme pour la cration de processus et de threads et les pilotes de filtre qui peuvent surveiller des vnements tels que la cration, la suppression ou la modification de fichiers. L'activit du noyau peut galement dclencher des rappels pour que les pilotes dcident quand bloquer des activits telles que la cration de fichiers ou de processus. De nombreux fournisseurs utilisent galement des pilotes pour collecter diverses informations rseau dans le noyau l'aide de la classe de pilotes NDIS.

  • Performances

    Les pilotes du noyau sont souvent utiliss par les fournisseurs de solutions de scurit pour leurs avantages potentiels en termes de performances. Par exemple, l'analyse ou la collecte de donnes pour une activit rseau haut dbit peut bnficier d'un pilote de noyau. Il existe de nombreux scnarios dans lesquels la collecte et l'analyse de donnes peuvent tre optimises pour un fonctionnement en dehors du mode noyau et Microsoft continue de s'associer l'cosystme pour amliorer les performances et fournir les meilleures pratiques pour atteindre la parit en dehors du mode noyau.

  • Rsistance la falsification

    Un deuxime avantage du chargement en mode noyau est la rsistance la falsification. Les produits de scurit veulent s'assurer que leurs logiciels ne peuvent pas tre dsactivs par des logiciels malveillants, des attaques cibles ou des personnes internes malveillantes, mme lorsque ces attaquants ont des privilges de niveau administrateur. Ils veulent galement s'assurer que leurs pilotes se chargent le plus tt possible afin de pouvoir observer les vnements du systme le plus tt possible. C'est pour cette raison que Windows fournit un mcanisme permettant de lancer les pilotes marqus comme Early Launch Antimalware (ELAM) au dbut du processus de dmarrage. CrowdStrike marque le pilote CSboot ci-dessus comme ELAM, ce qui lui permet de se charger au dbut de la squence de dmarrage.

    Dans le cas gnral, il existe un compromis que les fournisseurs de scurit doivent rationaliser lorsqu'il s'agit de pilotes de noyau. Les pilotes de noyau offrent les proprits susmentionnes au dtriment de la rsilience. tant donn que les pilotes de noyau s'excutent au niveau le plus fiable de Windows, o les capacits de confinement et de rcupration sont par nature limites, les fournisseurs de scurit doivent soigneusement quilibrer des besoins tels que la visibilit et la rsistance la falsification avec le risque d'oprer en mode noyau.

    Tout code fonctionnant au niveau du noyau ncessite une validation approfondie parce qu'il ne peut pas tomber en panne et redmarrer comme une application utilisateur normale. Ce principe est universel dans tous les systmes d'exploitation. En interne, chez Microsoft, nous avons investi dans le transfert de services Windows complexes du mode noyau vers le mode utilisateur, comme l'analyse des fichiers de police.

    Il est aujourd'hui possible pour les outils de scurit d'quilibrer la scurit et la fiabilit. Par exemple, les fournisseurs d'outils de scurit peuvent utiliser des capteurs minimaux fonctionnant en mode noyau pour la collecte de donnes et la mise en uvre, ce qui limite l'exposition aux problmes de disponibilit. Le reste des fonctionnalits cls du produit, notamment la gestion des mises jour, l'analyse du contenu et d'autres oprations, peuvent tre effectues de manire isole en mode utilisateur, o la rcupration est possible. Cela dmontre la meilleure pratique qui consiste minimiser l'utilisation du noyau tout en maintenant une posture de scurit robuste et une forte visibilit.


    Windows propose plusieurs approches de protection en mode utilisateur pour lutter contre la falsification, comme les Enclaves de scurit bases sur la virtualisation (VBS) et les Processus protgs que les fournisseurs peuvent utiliser pour protger leurs processus de scurit cls. Windows fournit galement des vnements ETW et des interfaces en mode utilisateur telles que l'interface d'analyse antimalware pour la visibilit des vnements. Ces mcanismes robustes peuvent tre utiliss pour rduire la quantit de code du noyau ncessaire pour crer une solution de scurit, ce qui permet d'quilibrer la scurit et la robustesse.

Comment Windows contribue-t-il garantir la qualit des produits tiers lis la scurit ?

Microsoft collabore avec des fournisseurs de scurit tiers dans le cadre d'un forum industriel appel Microsoft Virus Initiative (MVI). Ce groupe, compos de Microsoft et de l'industrie de la scurit, a t cr pour tablir un dialogue et une collaboration au sein de l'cosystme de scurit Windows afin d'amliorer la robustesse de l'utilisation de la plateforme par les produits de scurit. Avec MVI, Microsoft et les fournisseurs collaborent sur la plateforme Windows pour dfinir des points d'extension fiables et des amliorations de la plateforme, ainsi que pour partager des informations sur la meilleure faon de protger nos clients.

Microsoft travaille avec les membres du MVI pour assurer la compatibilit avec les mises jour de Windows, amliorer les performances et rsoudre les problmes de fiabilit. Les partenaires MVI qui participent activement au programme contribuent rendre l'cosystme plus rsilient et bnficient d'avantages tels que des briefings techniques, des boucles de retour d'information avec les quipes Produits de Microsoft et l'accs des fonctionnalits de la plateforme antimalware telles que ELAM et Protected Processes. Microsoft fournit galement une protection en cours d'excution, telle que Patch Guard, afin d'viter tout comportement perturbateur de la part des types de pilotes du noyau, tels que les logiciels anti-malveillants.

En outre, tous les pilotes signs par le Microsoft Windows Hardware Quality Labs (WHQL) doivent subir une srie de tests et attester d'un certain nombre de contrles de qualit, notamment l'utilisation de fuzzers, l'excution d'une analyse statique du code et la vrification du pilote en cours d'excution, entre autres techniques. Ces tests ont t mis au point pour garantir le respect des meilleures pratiques en matire de scurit et de fiabilit. Microsoft inclut tous ces outils dans le kit de pilote Windows utilis par tous les dveloppeurs de pilotes. Une liste des ressources et des outils est disponible ici.

Tous les pilotes signs WHQL sont soumis aux contrles d'ingestion et aux analyses de logiciels malveillants de Microsoft et doivent passer avec succs avant d'tre approuvs pour la signature. En outre, si un fournisseur tiers choisit de distribuer son pilote via Windows Update (WU), le pilote passe galement par les processus de pilotage et de dploiement progressif de Microsoft afin d'observer la qualit et de s'assurer que le pilote rpond aux critres de qualit ncessaires pour une diffusion grande chelle.

Les clients peuvent-ils dployer Windows dans un mode de scurit plus lev afin d'accrotre la fiabilit ?

Windows est un systme d'exploitation ouvert et polyvalent, et il peut facilement tre verrouill pour une scurit accrue l'aide d'outils intgrs. En outre, Windows augmente constamment les paramtres de scurit par dfaut, y compris des dizaines de nouvelles fonctions de scurit actives par dfaut dans Windows 11.

Windows a intgr des fonctions de scurit pour se dfendre. Il s'agit notamment de fonctions anti-programmes malveillants cls actives par dfaut, telles que :

  1. Secure Boot, qui aide prvenir les logiciels malveillants de dmarrage prcoce et les rootkits en appliquant la signature de manire cohrente tous les dmarrages de Windows.
  2. Measured Boot, qui fournit des mesures cryptographiques matrielles bases sur le TPM sur les proprits de dmarrage disponibles par le biais de services d'attestation intgrs tels que Device Health Attestation.
  3. Intgrit de la mmoire(galement connue sous le nom d'intgrit du code protg par l'hyperviseur ou HVCI), qui empche la gnration de code dynamique au cours de l'excution dans le noyau et contribue garantir l'intgrit du flux de contrle.
  4. La liste de blocage des pilotes vulnrables, qui est active par dfaut, intgre au systme d'exploitation et gre par Microsoft. Elle complte la liste de blocage des pilotes malveillants.
  5. L'autorit de scurit locale protge est active par dfaut dans Windows 11 pour protger une srie d'informations d'identification. La protection des informations d'identification base sur le matriel est active par dfaut pour les versions d'entreprise de Windows.
  6. Microsoft Defender Antivirus est activ par dfaut dans Windows et offre des fonctionnalits anti-malware dans l'ensemble du systme d'exploitation.

Ces fonctions de scurit fournissent des couches de protection contre les logiciels malveillants et les tentatives d'exploitation dans les versions modernes de Windows. De nombreux clients Windows ont tir parti de notre base de scurit et des technologies de scurit Windows pour renforcer leurs systmes, et ces capacits ont collectivement rduit la surface d'attaque de manire significative.

L'utilisation des fonctions de scurit intgres de Windows pour prvenir les attaques adverses telles que celles prsentes dans le framework ATT&CK de MITRE renforce la scurit tout en rduisant les cots et la complexit. Il s'appuie sur les meilleures pratiques pour atteindre une scurit et une fiabilit maximales. Ces meilleures pratiques sont les suivantes :

  1. Grce App Control for Business (anciennement Windows Defender Application Control), vous pouvez laborer une politique de scurit qui n'autorise que les applications de confiance et/ou critiques pour l'entreprise. Cette politique peut tre conue pour empcher de manire dterministe et durable la quasi-totalit des logiciels malveillants et des attaques du type vivre aux crochets de l'entreprise . Elle peut galement spcifier quels pilotes de noyau sont autoriss par votre organisation afin de garantir durablement que seuls ces pilotes se chargeront sur les terminaux grs.
  2. Utilisez l'intgrit de la mmoire avec une politique de liste d'autorisations spcifique pour protger davantage le noyau Windows l'aide de la scurit base sur la virtualisation (VBS). Associe App Control for Business, l'intgrit de la mmoire peut rduire la surface d'attaque des logiciels malveillants ou des kits de dmarrage du noyau. Elle peut galement tre utilise pour limiter les pilotes susceptibles d'avoir un impact sur la fiabilit des systmes.
  3. Excution en tant qu'utilisateur standard et lvation uniquement si ncessaire. Les entreprises qui suivent les meilleures pratiques en matire d'excution en tant qu'utilisateur standard et de rduction des privilges attnuent bon nombre des techniques ATT&CK de MITRE.
  4. Utiliser Device Health Attestation (DHA) pour surveiller les appareils afin d'appliquer la bonne politique de scurit, y compris les mesures matrielles de la posture de scurit de l'appareil. Il s'agit d'une approche moderne et exceptionnellement durable pour garantir la scurit dans les scnarios de haute disponibilit et utiliser l'architecture Zero Trust de Microsoft.

Que se passera-t-il ensuite ?

Windows est un systme d'exploitation autoprotg qui a produit des dizaines de nouvelles fonctionnalits de scurit et de changements architecturaux dans les versions rcentes. Nous prvoyons de collaborer avec l'cosystme de lutte contre les logiciels malveillants afin de tirer parti de ces fonctions intgres pour moderniser leur approche, en contribuant soutenir et mme renforcer la scurit et la fiabilit.

Il s'agit notamment d'aider l'cosystme en

  1. fournissant des conseils, des meilleures pratiques et des technologies pour un dploiement sr afin de rendre plus sre la mise jour des produits de scurit.
  2. rduisant le besoin de pilotes de noyau pour accder d'importantes donnes de scurit
  3. amliorant les capacits d'isolation et de lutte contre la falsification grce des technologies telles que les enclaves VBS rcemment annonces
  4. permettant des approches de confiance zro comme l'attestation d'intgrit leve qui fournit une mthode pour dterminer l'tat de scurit de la machine sur la base de l'tat des fonctions de scurit natives de Windows.

Windows continue d'innover et d'offrir aux outils de scurit de nouveaux moyens de dtecter les menaces mergentes et d'y rpondre en toute scurit. Windows a annonc un engagement autour du langage de programmation Rust dans le cadre de la Secure Future Initiative (SFI) de Microsoft et a rcemment tendu le noyau Windows pour prendre en charge Rust.

Les informations contenues dans ce billet de blog sont fournies dans le cadre de notre engagement communiquer les enseignements et les prochaines tapes aprs l'incident CrowdStrike. Nous continuerons partager des conseils sur les meilleures pratiques de scurit pour Windows et travailler avec notre large cosystme de clients et de partenaires pour dvelopper de nouvelles capacits de scurit sur la base de vos commentaires.

CrowdStrike face aux incidents de panne graves

CrowdStrike a t l'origine d'une panne informatique mondiale majeure en 2024 affectant Windows. Des problmes similaires affectant certaines distributions Linux dans le pass ont ensuite t rvls sur des forums Internet. Il s'agissait parfois de problmes relativement isols, affectant une application spcifique ou un systme d'exploitation qui n'est pas aussi largement dploy que d'autres.

  • Avril 2024 : Un utilisateur de Hacker News a affirm que dans la soire du vendredi 19 avril 2024, Crowdstrike a publi une mise jour logicielle dfectueuse qui a fait planter les ordinateurs fonctionnant sous Debian Linux et les a empchs de redmarrer normalement. L'utilisateur affirme galement que CrowdStrike a reconnu le bogue un jour plus tard et en a dtermin la cause quelques semaines plus tard.
  • Mai 2024 : Le 13 mai 2024, il a t signal sur les forums de Rocky Linux que les serveurs quips du logiciel CrowdStrike pouvaient se figer aprs une mise niveau vers Rocky Linux 9.4. CrowdStrike a dclar qu'ils taient au courant du problme car il s'agissait du mme problme d un capteur Linux en mode utilisateur combin des versions spcifiques du noyau 6.x.
  • Juin 2024, incident chez Red Hat : Le 4 juin 2024, Red Hat a publi un article de solution relatif aux paniques du noyau et au processus du capteur Falcon qui a eu un impact sur Red Hat Enterprise Linux 9.4 utilisant le noyau 5.14.0 et un capteur Falcon de Crowdstrike.

Et rcemment, il y a eu l'incident avec Microsoft Windows. Le 19 juillet 2024, CrowdStrike a publi une mise jour logicielle du scanner de vulnrabilits Falcon Sensor. Des failles dans cette mise jour ont provoqu des crans bleus de la mort sur les machines Microsoft Windows, perturbant des millions d'ordinateurs Windows dans le monde entier. Les machines affectes ont t forces de dmarrer en boucle, ce qui les a rendues inutilisables.

Ce phnomne est d la mise jour d'un fichier de configuration, le Channel File 291, qui, selon CrowdStrike, a dclench une erreur de logique et provoqu le plantage du systme d'exploitation. Bien que CrowdStrike ait publi un correctif pour corriger l'erreur, les ordinateurs bloqus dans une boucle de dmarrage n'ont pas pu se connecter Internet pour tlcharger le correctif avant que Falcon ne se charge et ne fasse nouveau planter l'appareil.

La solution recommande par CrowdStrike consistait dmarrer en mode sans chec ou en mode de rcupration Windows et supprimer manuellement le fichier Channel 291, ce qui ncessite un accs administrateur local et, si l'appareil est chiffr par BitLocker, une cl de rcupration. Microsoft a signal que certains clients ont pu remdier au problme en redmarrant les appareils concerns jusqu' 15 fois.

Le 22 juillet 2024, les actions de CrowdStrike ont cltur la journe au prix de 263,91 $, avec une perte de 41,05 $ ou 13,46 %. Le 24 juillet 2024, CrowdStrike aurait contact les clients concerns avec des courriels d'excuses contenant des cartes-cadeaux Uber Eats d'une valeur de 10 $. CrowdStrike a remport les 2024 Pwnie Awards pour l'chec le plus pique.

Source : Microsoft

Et vous ?

Pensez-vous que cette analyse technique de Microsoft est crdible ou pertinente ?

Selon vous, quelles seront les impacts de ces diffrents incidents sur CrowdStrike ?

Voir aussi :

Une panne chez Microsoft provoque par une mise jour logicielle de CrowdStrike a des rpercussions mondiales, touchant divers secteurs tels que les compagnies ariennes, les banques, les organismes de sant

Rforme de l'accs au noyau Windows : Microsoft cherche renforcer la scurit aprs l'incident avec CrowdStrike. Windows deviendra-t-il un systme plus ferm, l'instar de macOS d'Apple ?

Les cots de la panne mondiale provoque par CrowdStrike pourraient dpasser le milliard de dollars, mais il est plus difficile de savoir qui paiera la facture



Source link

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.