IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft analyse techniquement mais diplomatiquement l'incident CrowdStrike, cependant il s'agit d'une gifle pour CrowdStrike, qui a déjà causé des pannes graves à d'autres systèmes d'exploitation

Le , par Jade Emy

44PARTAGES

14  0 
Dans un billet de blog, Microsoft examine la récente panne de CrowdStrike et fournit un aperçu technique de la cause première. Tout en étant aussi diplomatique que possible, Microsoft explique comment les clients et les fournisseurs de solutions de sécurité peuvent mieux exploiter les capacités de sécurité intégrées de Windows pour améliorer la sécurité et la fiabilité. Pour CrowdStrike, il s'agit certainement d'une gifle, surtout après que Crowdstrike ait tué un système d'exploitation tous les mois.

Le 19 juillet 2024, une panne informatique mondiale a touché des entreprises, des aéroports et des médias à travers le monde. Microsoft a confirmé qu'elle était consciente de ces problèmes, mais de nombreux experts en cybersécurité ont indiqué que la source potentielle du problème était l'entreprise de cybersécurité 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 didn’t load correctly.”

Plus de 1 000 vols ont été annulés, principalement dans le secteur du transport aérien. Des aéroports tels que Hong Kong International Airport, l’aéroport de Berlin, l’aéroport de Zurich et l’aéroport de Budapest ont été touchés. La compagnie aérienne Ryanair a signalé des problèmes de réservation et d’enregistrement. De plus, les systèmes de réservation de Cathay Pacific, Hong Kong Express et Hong Kong Airlines sont restés indisponibles pendant plusieurs heures, entraînant des retards et des désagréments pour les voyageurs.

L’entreprise de cybersécurité américaine CrowdStrike a reconnu être à l’origine de ces problèmes. Le directeur général de CrowdStrike, George Kurtz, a confirmé qu'un « défaut » dans une mise à jour de contenu pour les hôtes Windows était à l'origine de la panne, et Kurtz a exclu une cyberattaque. Il a ajouté que l'entreprise était en train de déployer un correctif et que les hôtes Mac et Linux n'étaient pas affectés.

Voici l'analyse technique de Microsoft de cet incident, tout en étant partageant les meilleures pratiques en matière de sécurité Windows :


Rapport d'incident : Les meilleures pratiques en matière de sécurité Windows pour l'intégration et la gestion des outils de sécurité

Windows est une plateforme ouverte et flexible utilisée par de nombreuses entreprises parmi les plus importantes au monde pour des cas d'utilisation à haute disponibilité où la sécurité et la disponibilité ne sont pas négociables.

Pour répondre à ces besoins :

  1. Windows offre une gamme de modes d'exploitation parmi lesquels les clients peuvent choisir. Il est notamment possible de limiter l'exécution aux seuls logiciels et pilotes approuvés. Cela permet d'améliorer la sécurité et la fiabilité en faisant fonctionner Windows dans un mode plus proche des téléphones mobiles ou des appareils.
  2. Les clients peuvent opter pour les fonctions intégrées de surveillance et de détection de la sécurité qui sont incluses dans Windows. Ils peuvent également choisir de remplacer ou de compléter cette sécurité par un large éventail de choix provenant d'un écosystème ouvert et dynamique de fournisseurs.


Dans ce billet de blog, nous examinons la récente panne de CrowdStrike et fournissons un aperçu technique de la cause première. Nous expliquons également pourquoi les produits de sécurité utilisent aujourd'hui des pilotes en mode noyau et les mesures de sécurité que Windows offre aux solutions tierces. En outre, nous expliquons comment les clients et les fournisseurs de solutions de sécurité peuvent mieux exploiter les capacités de sécurité intégrées de Windows pour améliorer la sécurité et la fiabilité. Enfin, nous donnons un aperçu de la manière dont Windows améliorera l'extensibilité des futurs produits de sécurité.

CrowdStrike a récemment publié une analyse préliminaire de la panne. Dans son billet de blog, CrowdStrike décrit la cause première comme un problème de sécurité de la mémoire, en particulier une violation d'accès hors limites en lecture dans le pilote CSagent. Nous utilisons le débogueur 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 schémas de crash globaux qui reflètent ceci :

Code : Sélectionner tout
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'accès afin d'en savoir plus sur son origine. Malheureusement, avec les données WER, nous ne recevons qu'une version compressée de l'état et nous ne pouvons donc pas désassembler à l'envers pour voir un ensemble plus large d'instructions avant le crash, mais nous pouvons voir dans le désassemblage qu'il y a une vérification de NULL avant d'effectuer une lecture à l'adresse spécifiée dans le registre R8 :

Code : Sélectionner tout
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 sécurité de lecture hors limites dans le pilote CSagent.sys développé par CrowdStrike.

Nous pouvons également constater que le module csagent.sys est enregistré en tant que pilote de filtre de système de fichiers couramment utilisé par les agents anti-malware pour recevoir des notifications sur les opérations de fichiers telles que la création ou la modification d'un fichier. Les produits de sécurité s'en servent souvent pour analyser tout nouveau fichier enregistré sur le disque, comme le téléchargement d'un fichier via le navigateur.

Les filtres de système de fichiers peuvent également être utilisés comme un signal pour les solutions de sécurité qui tentent de surveiller le comportement du système. 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 données relatives à la création de tuyaux nommés. L'API du pilote de filtrage du système de fichiers permet au pilote de recevoir un appel lorsque l'activité d'un tuyau nommé (par exemple, la création d'un tuyau nommé) se produit sur le système et pourrait permettre la détection d'un comportement malveillant. La fonction générale du pilote correspond aux informations communiquées par CrowdStrike.

Code : Sélectionner tout
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 contrôle spécifiée dans l'analyse de CrowdStrike est également présente dans le crash, ce qui indique que le fichier a été lu.

Déterminer la corrélation entre le fichier lui-même et la violation d'accès observée dans le crash dump nécessiterait un débogage supplémentaire du pilote à l'aide de ces outils, mais n'entre pas dans le cadre de ce billet de blog.

Code : Sélectionner tout
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 déterminer si d'autres pilotes fournis par CrowdStrike peuvent exister sur le système en cours d'exécution lors du crash.

Code : Sélectionner tout
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 reçoit un contrôle dynamique et des mises à jour de contenu fréquemment basées sur la chronologie de l'examen préliminaire post-incident de CrowdStrike.

Nous pouvons exploiter la pile unique et les attributs de ce crash pour identifier les rapports de crash Windows générés par cette erreur de programmation spécifique de CrowdStrike. Il convient de noter que le nombre d'appareils ayant généré des rapports de crash est un sous-ensemble du nombre d'appareils impactés précédemment partagé par Microsoft dans notre article de blog, car les rapports de crash sont échantillonnés et collectés uniquement auprès des clients qui choisissent de télécharger leurs crashs à Microsoft. Les clients qui choisissent d'activer le partage des rapports de panne aident les fournisseurs de pilotes et Microsoft à identifier les problèmes de qualité et les pannes et à y remédier.


Nous mettons ces informations à la disposition des propriétaires 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 problème de fiabilité tel que ce problème d'accès invalide à la mémoire peut entraîner des problèmes de disponibilité généralisés s'il n'est pas associé à des pratiques de déploiement sûres. Voyons pourquoi les solutions de sécurité s'appuient sur les pilotes du noyau sous Windows.

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

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

  • Visibilité et application des événements liés à la sécurité

    Les pilotes de noyau permettent une visibilité à l'échelle du système et la capacité de charger en début de démarrage pour détecter les menaces telles que les kits de démarrage et les kits racine qui peuvent se charger avant les applications en mode utilisateur. En outre, Microsoft fournit un ensemble riche de fonctionnalités telles que les rappels d'événements système pour la création de processus et de threads et les pilotes de filtre qui peuvent surveiller des événements tels que la création, la suppression ou la modification de fichiers. L'activité du noyau peut également déclencher des rappels pour que les pilotes décident quand bloquer des activités telles que la création de fichiers ou de processus. De nombreux fournisseurs utilisent également des pilotes pour collecter diverses informations réseau dans le noyau à l'aide de la classe de pilotes NDIS.
  • Performances

    Les pilotes du noyau sont souvent utilisés par les fournisseurs de solutions de sécurité pour leurs avantages potentiels en termes de performances. Par exemple, l'analyse ou la collecte de données pour une activité réseau à haut débit peut bénéficier d'un pilote de noyau. Il existe de nombreux scénarios dans lesquels la collecte et l'analyse de données peuvent être optimisées pour un fonctionnement en dehors du mode noyau et Microsoft continue de s'associer à l'écosystème pour améliorer les performances et fournir les meilleures pratiques pour atteindre la parité en dehors du mode noyau.
  • Résistance à la falsification

    Un deuxième avantage du chargement en mode noyau est la résistance à la falsification. Les produits de sécurité veulent s'assurer que leurs logiciels ne peuvent pas être désactivés par des logiciels malveillants, des attaques ciblées ou des personnes internes malveillantes, même lorsque ces attaquants ont des privilèges de niveau administrateur. Ils veulent également s'assurer que leurs pilotes se chargent le plus tôt possible afin de pouvoir observer les événements du système le plus tôt possible. C'est pour cette raison que Windows fournit un mécanisme permettant de lancer les pilotes marqués comme Early Launch Antimalware (ELAM) au début du processus de démarrage. CrowdStrike marque le pilote CSboot ci-dessus comme ELAM, ce qui lui permet de se charger au début de la séquence de démarrage.

    Dans le cas général, il existe un compromis que les fournisseurs de sécurité doivent rationaliser lorsqu'il s'agit de pilotes de noyau. Les pilotes de noyau offrent les propriétés susmentionnées au détriment de la résilience. Étant donné que les pilotes de noyau s'exécutent au niveau le plus fiable de Windows, où les capacités de confinement et de récupération sont par nature limitées, les fournisseurs de sécurité doivent soigneusement équilibrer des besoins tels que la visibilité et la résistance à la falsification avec le risque d'opérer en mode noyau.

    Tout code fonctionnant au niveau du noyau nécessite une validation approfondie parce qu'il ne peut pas tomber en panne et redémarrer comme une application utilisateur normale. Ce principe est universel dans tous les systèmes 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 sécurité d'équilibrer la sécurité et la fiabilité. Par exemple, les fournisseurs d'outils de sécurité peuvent utiliser des capteurs minimaux fonctionnant en mode noyau pour la collecte de données et la mise en œuvre, ce qui limite l'exposition aux problèmes de disponibilité. Le reste des fonctionnalités clés du produit, notamment la gestion des mises à jour, l'analyse du contenu et d'autres opérations, peuvent être effectuées de manière isolée en mode utilisateur, où la récupération est possible. Cela démontre la meilleure pratique qui consiste à minimiser l'utilisation du noyau tout en maintenant une posture de sécurité robuste et une forte visibilité.


    Windows propose plusieurs approches de protection en mode utilisateur pour lutter contre la falsification, comme les Enclaves de sécurité basées sur la virtualisation (VBS) et les Processus protégés que les fournisseurs peuvent utiliser pour protéger leurs processus de sécurité clés. Windows fournit également des événements ETW et des interfaces en mode utilisateur telles que l'interface d'analyse antimalware pour la visibilité des événements. Ces mécanismes robustes peuvent être utilisés pour réduire la quantité de code du noyau nécessaire pour créer une solution de sécurité, ce qui permet d'équilibrer la sécurité et la robustesse.


Comment Windows contribue-t-il à garantir la qualité des produits tiers liés à la sécurité ?

Microsoft collabore avec des fournisseurs de sécurité tiers dans le cadre d'un forum industriel appelé Microsoft Virus Initiative (MVI). Ce groupe, composé de Microsoft et de l'industrie de la sécurité, a été créé pour établir un dialogue et une collaboration au sein de l'écosystème de sécurité Windows afin d'améliorer la robustesse de l'utilisation de la plateforme par les produits de sécurité. Avec MVI, Microsoft et les fournisseurs collaborent sur la plateforme Windows pour définir des points d'extension fiables et des améliorations de la plateforme, ainsi que pour partager des informations sur la meilleure façon de protéger nos clients.

Microsoft travaille avec les membres du MVI pour assurer la compatibilité avec les mises à jour de Windows, améliorer les performances et résoudre les problèmes de fiabilité. Les partenaires MVI qui participent activement au programme contribuent à rendre l'écosystème plus résilient et bénéficient d'avantages tels que des briefings techniques, des boucles de retour d'information avec les équipes Produits de Microsoft et l'accès à des fonctionnalités de la plateforme antimalware telles que ELAM et Protected Processes. Microsoft fournit également une protection en cours d'exécution, 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 signés par le Microsoft Windows Hardware Quality Labs (WHQL) doivent subir une série de tests et attester d'un certain nombre de contrôles de qualité, notamment l'utilisation de fuzzers, l'exécution d'une analyse statique du code et la vérification du pilote en cours d'exécution, entre autres techniques. Ces tests ont été mis au point pour garantir le respect des meilleures pratiques en matière de sécurité et de fiabilité. Microsoft inclut tous ces outils dans le kit de pilote Windows utilisé par tous les développeurs de pilotes. Une liste des ressources et des outils est disponible ici.

Tous les pilotes signés WHQL sont soumis aux contrôles d'ingestion et aux analyses de logiciels malveillants de Microsoft et doivent passer avec succès avant d'être approuvés 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 déploiement progressif de Microsoft afin d'observer la qualité et de s'assurer que le pilote répond aux critères de qualité nécessaires pour une diffusion à grande échelle.

Les clients peuvent-ils déployer Windows dans un mode de sécurité plus élevé afin d'accroître la fiabilité ?

Windows est un système d'exploitation ouvert et polyvalent, et il peut facilement être verrouillé pour une sécurité accrue à l'aide d'outils intégrés. En outre, Windows augmente constamment les paramètres de sécurité par défaut, y compris des dizaines de nouvelles fonctions de sécurité activées par défaut dans Windows 11.


Windows a intégré des fonctions de sécurité pour se défendre. Il s'agit notamment de fonctions anti-programmes malveillants clés activées par défaut, telles que :

  1. Secure Boot, qui aide à prévenir les logiciels malveillants de démarrage précoce et les rootkits en appliquant la signature de manière cohérente à tous les démarrages de Windows.
  2. Measured Boot, qui fournit des mesures cryptographiques matérielles basées sur le TPM sur les propriétés de démarrage disponibles par le biais de services d'attestation intégrés tels que Device Health Attestation.
  3. Intégrité de la mémoire(également connue sous le nom d'intégrité du code protégé par l'hyperviseur ou HVCI), qui empêche la génération de code dynamique au cours de l'exécution dans le noyau et contribue à garantir l'intégrité du flux de contrôle.
  4. La liste de blocage des pilotes vulnérables, qui est activée par défaut, intégrée au système d'exploitation et gérée par Microsoft. Elle complète la liste de blocage des pilotes malveillants.
  5. L'autorité de sécurité locale protégée est activée par défaut dans Windows 11 pour protéger une série d'informations d'identification. La protection des informations d'identification basée sur le matériel est activée par défaut pour les versions d'entreprise de Windows.
  6. Microsoft Defender Antivirus est activé par défaut dans Windows et offre des fonctionnalités anti-malware dans l'ensemble du système d'exploitation.


Ces fonctions de sécurité 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 sécurité et des technologies de sécurité Windows pour renforcer leurs systèmes, et ces capacités ont collectivement réduit la surface d'attaque de manière significative.

L'utilisation des fonctions de sécurité intégrées de Windows pour prévenir les attaques adverses telles que celles présentées dans le framework ATT&CK® de MITRE renforce la sécurité tout en réduisant les coûts et la complexité. Il s'appuie sur les meilleures pratiques pour atteindre une sécurité et une fiabilité maximales. Ces meilleures pratiques sont les suivantes :

  1. Grâce à App Control for Business (anciennement Windows Defender Application Control), vous pouvez élaborer une politique de sécurité qui n'autorise que les applications de confiance et/ou critiques pour l'entreprise. Cette politique peut être conçue pour empêcher de manière déterministe et durable la quasi-totalité des logiciels malveillants et des attaques du type « vivre aux crochets de l'entreprise ». Elle peut également spécifier quels pilotes de noyau sont autorisés par votre organisation afin de garantir durablement que seuls ces pilotes se chargeront sur les terminaux gérés.
  2. Utilisez l'intégrité de la mémoire avec une politique de liste d'autorisations spécifique pour protéger davantage le noyau Windows à l'aide de la sécurité basée sur la virtualisation (VBS). Associée à App Control for Business, l'intégrité de la mémoire peut réduire la surface d'attaque des logiciels malveillants ou des kits de démarrage du noyau. Elle peut également être utilisée pour limiter les pilotes susceptibles d'avoir un impact sur la fiabilité des systèmes.
  3. Exécution en tant qu'utilisateur standard et élévation uniquement si nécessaire. Les entreprises qui suivent les meilleures pratiques en matière d'exécution en tant qu'utilisateur standard et de réduction des privilèges atténuent 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 sécurité, y compris les mesures matérielles de la posture de sécurité de l'appareil. Il s'agit d'une approche moderne et exceptionnellement durable pour garantir la sécurité dans les scénarios de haute disponibilité et utiliser l'architecture Zero Trust de Microsoft.


Que se passera-t-il ensuite ?

Windows est un système d'exploitation autoprotégé qui a produit des dizaines de nouvelles fonctionnalités de sécurité et de changements architecturaux dans les versions récentes. Nous prévoyons de collaborer avec l'écosystème de lutte contre les logiciels malveillants afin de tirer parti de ces fonctions intégrées pour moderniser leur approche, en contribuant à soutenir et même à renforcer la sécurité et la fiabilité.

Il s'agit notamment d'aider l'écosystème en

  1. fournissant des conseils, des meilleures pratiques et des technologies pour un déploiement sûr afin de rendre plus sûre la mise à jour des produits de sécurité.
  2. réduisant le besoin de pilotes de noyau pour accéder à d'importantes données de sécurité
  3. améliorant les capacités d'isolation et de lutte contre la falsification grâce à des technologies telles que les enclaves VBS récemment annoncées
  4. permettant des approches de confiance zéro comme l'attestation d'intégrité élevée qui fournit une méthode pour déterminer l'état de sécurité de la machine sur la base de l'état des fonctions de sécurité natives de Windows.


Windows continue d'innover et d'offrir aux outils de sécurité de nouveaux moyens de détecter les menaces émergentes et d'y répondre en toute sécurité. Windows a annoncé un engagement autour du langage de programmation Rust dans le cadre de la Secure Future Initiative (SFI) de Microsoft et a récemment é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 après l'incident CrowdStrike. Nous continuerons à partager des conseils sur les meilleures pratiques de sécurité pour Windows et à travailler avec notre large écosystème de clients et de partenaires pour développer de nouvelles capacités de sécurité 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 problèmes similaires affectant certaines distributions Linux dans le passé ont ensuite été révélés sur des forums Internet. Il s'agissait parfois de problèmes relativement isolés, affectant une application spécifique ou un système d'exploitation qui n'est pas aussi largement déployé que d'autres.

  • Avril 2024 : Un utilisateur de Hacker News a affirmé que dans la soirée du vendredi 19 avril 2024, Crowdstrike a publié une mise à jour logicielle défectueuse qui a fait planter les ordinateurs fonctionnant sous Debian Linux et les a empêchés de redémarrer normalement. L'utilisateur affirme également que CrowdStrike a reconnu le bogue un jour plus tard et en a déterminé 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 équipés du logiciel CrowdStrike pouvaient se figer après une mise à niveau vers Rocky Linux 9.4. CrowdStrike a déclaré qu'ils étaient au courant du problème car il s'agissait du même problème dû à un capteur Linux en mode utilisateur combiné à des versions spécifiques 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 récemment, il y a eu l'incident avec Microsoft Windows. Le 19 juillet 2024, CrowdStrike a publié une mise à jour logicielle du scanner de vulnérabilités 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 affectées ont été forcées de démarrer en boucle, ce qui les a rendues inutilisables.

Ce phénomène est dû à la mise à jour d'un fichier de configuration, le Channel File 291, qui, selon CrowdStrike, a déclenché une erreur de logique et provoqué le plantage du système d'exploitation. Bien que CrowdStrike ait publié un correctif pour corriger l'erreur, les ordinateurs bloqués dans une boucle de démarrage n'ont pas pu se connecter à Internet pour télécharger le correctif avant que Falcon ne se charge et ne fasse à nouveau planter l'appareil.

La solution recommandée par CrowdStrike consistait à démarrer en mode sans échec ou en mode de récupération Windows et à supprimer manuellement le fichier Channel 291, ce qui nécessite un accès administrateur local et, si l'appareil est chiffré par BitLocker, une clé de récupération. Microsoft a signalé que certains clients ont pu remédier au problème en redémarrant les appareils concernés jusqu'à 15 fois.

Le 22 juillet 2024, les actions de CrowdStrike ont clôturé la journée au prix de 263,91 $, avec une perte de 41,05 $ ou 13,46 %. Le 24 juillet 2024, CrowdStrike aurait contacté les clients concernés 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 crédible ou pertinente ?
Selon vous, quelles seront les impacts de ces différents incidents sur CrowdStrike ?

Voir aussi :

Une panne chez Microsoft provoquée par une mise à jour logicielle de CrowdStrike a des répercussions mondiales, touchant divers secteurs tels que les compagnies aériennes, les banques, les organismes de santé

Réforme de l'accès au noyau Windows : Microsoft cherche à renforcer la sécurité après l'incident avec CrowdStrike. Windows deviendra-t-il un système plus fermé, à l'instar de macOS d'Apple ?

Les coûts de la panne mondiale provoquée par CrowdStrike pourraient dépasser le milliard de dollars, mais il est plus difficile de savoir qui paiera la facture

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de floyer
Membre éclairé https://www.developpez.com
Le 29/08/2024 à 15:33
N’importe quel OS qui permet des extensions en mode noyau s’expose à ce risque. Les différents OS type UNIX n’y échappent pas. (D’ailleurs une mise à jour de Crowdstrike a provoqué des kernel panic sur Linux).

L’architecture de Windows depuis NT n’a rien à voir avec DOS, contrairement à ce que tu sembles dire.

L’approche qui changera vraiment quelque chose est le micronoyau (Mach, QNX, SeL4…) et encore, si un module est un SPOF (typiquement un système de fichier), un défaut dans ce module compromet le fonctionnement du système. Cette approche pourrait rogner un peu les performances… mais pour des applications critiques, pourquoi pas. (Cela me rappelle l’arrivée d’OS/2 où la presse s’indignait oh là là, on perd 2% de performances par rapport à un OS non sécurisé)

Et le principe de mise à jour automatique est vraiment le cœur du problème. Imaginons Oracle « pousser » une nouvelle pile Java à l’insu des développeur et exploitant… même si elle ne tourne qu’en mode utilisateur, cela peut bloquer beaucoup d’applications potentiellement critiques.
5  0 
Avatar de Fagus
Membre expert https://www.developpez.com
Le 29/07/2024 à 13:22
Mais le changement le plus important consisterait à verrouiller l'accès au noyau de Windows afin d'empêcher les pilotes tiers de faire planter un PC entier. Ironiquement, Microsoft a essayé de faire exactement cela avec Windows Vista, mais s'est heurté à la résistance des fournisseurs de cybersécurité et des régulateurs de l'UE.
ça ressemble à de la com' de mauvaise foi de microsoft.

J'ai vite fait balayé du regard cet accord. Je ne sais pas ce qu'en diraient les juristes, mais le législateur peut imposer des objectifs mais (en principe) pas des solutions techniques.
En gros l'accord dit que microsoft doit documenter ses API et les ouvrir aux concurrents comme à ses propres produits. Il n'est pas dit que microsoft doit donner les privilèges kernel à quiconque le demande, ni que le noyaux doit planter s'il n'arrive pas à charger un pilote.
3  0 
Avatar de Mat.M
Expert éminent sénior https://www.developpez.com
Le 15/08/2024 à 18:06
La vision des choses de Mr Sterone, rien à commenter tout est dit:

3  0 
Avatar de PomFritz
Membre confirmé https://www.developpez.com
Le 16/08/2024 à 21:42
Face à l'incompétence généralisée, ça panique chez les gratte-papier, zéro mise en perspective et Microsoft se frotte les mains. On dirait une communication du service marketing, pas d'experts.
3  0 
Avatar de OrthodoxWindows
Membre expert https://www.developpez.com
Le 25/08/2024 à 15:19
CrowdStrike découvre qu'il vaut mieux tester une mise à jour avant de la déployer, surtout sur un logiciel qui se place à un stade critique de l'OS, sur un ordi utilisé pour un usage critique.
CrowdStrike découvre qu'en cas de problème grave, la seul confiance avec le client ne fonctionne plus.
Désormais CrowdStrike découvre qu'il existe un système concurrentiel, où chaque concurrent attend qu'un concurrent fasse une connerie.

Bientôt CrowdStrike découvrira qu'il est une entreprise spécialisé dans le domaine de la cybersécurité, dans un contexte d'économie capitaliste libérale.

Ah moins que CrowdStrike se foute tout simplement de la g**** du monde.
3  0 
Avatar de OuftiBoy
Membre éprouvé https://www.developpez.com
Le 29/10/2024 à 21:07


Citation Envoyé par Mathis Lucas Voir le message
David Weston déclare : « la différence de gravité des problèmes entre le mode noyau et le mode utilisateur est que si vous tombez en panne dans le noyau, c'est toute la machine qui tombe en panne. Si une application tombe en panne en mode utilisateur, nous pouvons généralement la récupérer ». Cet état de choses peut amener à privilégier le mode utilisateur et à limiter l'accès au noyau pour protéger les clients de Windows. Mais Microsoft mise sur les SDP :
C'est le ba-ba niveau sécurité. C'est bien des bonnes pratiques, mais ça ne résoud pas le problème de fond. L'accès au noyau doit-être "sécurisé", point. Et le meilleur moyen, c'est d'en interdire l'accès. Au minimum, les sociétés ayant besoin de cet accès doivent travailler en "trés" étroite collaboration avec une équipe de Microsoft. Equipe dont ce serait la spécialité et l'unique but.

Citation Envoyé par Mathis Lucas Voir le message
Les SDP ne sont pas une idée nouvelle. L'USENIX a publié en 2004 un article de l'université d'Utrecht intitulé « A Safe and Policy-Free System for Software Deployment ». La première phrase de ce document est la suivante : « les systèmes existants pour le déploiement de logiciels ne sont ni sûrs ni suffisamment flexibles ». Ce problème des SDP n'a pas encore été résolu, et une telle solution est un aspect important des plans de Microsoft pour limiter les pannes futures.
C'est quand même étonnant de lire ça. Le document a plus de 20 ans... Ils n'avaient donc pas de plans avant cette panne ? C'était "open bar" et chacun faisait ce qu'il voulait dans son coin ? Pour un composant logiciel aussi "critique", il faut que l'éditeur de l'OS "certifie" ce logiciel. S'il n'est pas en mesure de la faire, alors c'est qu'il accepte l'état de fait que leur noyau peut être perturbé par n'importe qui faisant n'importe quoi, involontairement ou pas.

Citation Envoyé par Mathis Lucas Voir le message
Ce point a été discuté lors du sommet de septembre. Dans un billet de blogue sur le sommet, David Weston avait écrit : « cette riche discussion lors du sommet se poursuivra dans le cadre d'un effort de collaboration avec nos partenaires MVI [Microsoft Virus Initiative] afin de créer un ensemble partagé de meilleures pratiques que nous utiliserons en tant qu'écosystème à l'avenir ». Le billet abordait également les difficultés rencontrées par Microsoft et ses partenaires :

« Nous avons discuté des moyens d'éliminer les conflits entre les différentes approches SDP utilisées par nos partenaires et de réunir toutes les parties en un consensus sur les principes du SDP. Nous voulons que tout soit transparent, mais nous voulons aussi que cette norme devienne une exigence pour travailler avec Microsoft », explique David Weston à SecurityWeek. La question est de savoir comment Microsoft fera respecter l'application rigoureuse de ces mesures.
Bien dit, donc Microsoft n'avait non seulement pas de plan, mais est incapable d'en faire respecter un ? Y'a pas une IA pour ça ? C'est dit juste en dessous:

Citation Envoyé par Mathis Lucas Voir le message
Convenir d'un ensemble de pratiques de déploiement sûres et les exiger des partenaires est une chose ; s'assurer que ces partenaires emploient les SDP convenues en est une autre. « L'application technique serait un défi. La transparence et la responsabilité semblent être la meilleure méthode pour l'instant », affirme David Weston. Microsoft dispose toutefois d'un pouvoir. Si un partenaire a ignoré les SDP, Microsoft peut retirer sa signature à tout pilote de noyau.
Et comment savoir si ce "partenaire" a ignoré les SDP ? Une fois une panne découverte ? Parce que compter sur la "transparence et la responsabilité", c'est bien beau, mais ça n'êmpéchera pas une nouvelle catastrophe de se produire.

"Ce serait un défit technique"

Comment un responsable peut-il tenir de telles propos ? Ils ont assez de moyens financiers pour et des équipes en suffisance pour justement régler les "défits techniques". C'est un aveux d'impuissance terrible.

Citation Envoyé par Mathis Lucas Voir le message
« C'est de la même manière que nous travaillons aujourd'hui avec les agences de certification racine. Nous avons une norme, et si vous ne respectez pas cette norme de sécurité, nous pouvons vous retirer, ce qui aurait un impact considérable sur vos activités. En même temps, l'insistance sur la transparence montrerait aux clients que ce fournisseur n'est pas honnête avec eux. Nous pensons que ce niveau d'application est assez efficace », explique David Weston.
C'est bien qu'il le pense, mais des entreprises ont perdu des sommes considérables, et je trouve leur réponse un peu "juste"

Citation Envoyé par Mathis Lucas Voir le message
« En résumé, les SDP sont le meilleur outil dont nous disposons pour mettre fin aux interruptions de service. Le mode noyau, le mode utilisateur - je ne dis pas qu'ils ne sont pas valables, je dis simplement qu'ils représentent une partie beaucoup plus petite du problème. les SDP peuvent aider à prévenir les pannes à l'intérieur et à l'extérieur du noyau », a-t-il ajouté. David Weston n'a pas donné de détails sur les travaux de Microsoft et les fournisseurs de logiciels de sécurité.
Bref, le monsieur dit, c'est "un défit technique", on a ni les moyens, ou ni l'envie, et/ou ni la compétence pour régler cela, alors on compte sur la bonne volonté et les bonnes pratique.

Citation Envoyé par Mathis Lucas Voir le message
Source : David Weston, vice-président de la sécurité des entreprises et des systèmes d'exploitation chez Microsoft
Nous voilà rassuré

Citation Envoyé par Mathis Lucas Voir le message

Et vous ?
Citation Envoyé par Mathis Lucas Voir le message

Quel est votre avis sur le sujet ?
Mon avis est que tout celà n'est pas rassurant du tout.

Citation Envoyé par Mathis Lucas Voir le message

Que pensez-vous de l'avis de Microsoft sur la restriction de l'accès au noyau Windows ?
Apparemment, il y aura restriction après la découverte de "mauvaise pratique", en retirant le certificat. Il faudrait inverser l'ordre des choses, c'est à dire au minimum s'assurer AVANT de permettre la diffusion que les "bonnes pratiques" ont été respectées.

Citation Envoyé par Mathis Lucas Voir le message

Que pensez-vous des « pratiques de déploiement sûres » (SDP) mises en avant par Microsoft ?
Que ça n'empêchera pas d'autres pannes de ce genre.

Citation Envoyé par Mathis Lucas Voir le message

Selon vous, en quoi pourraient constituer « ces pratiques de déploiement sûres » ?
C'est à Microsoft qu'il faudrait poser cette question. Je ne suis pas expert du noyau Windows, mais dire que ce serait un "défit technique", pour une société comme Microsoft me laisse sans voie.

Citation Envoyé par Mathis Lucas Voir le message

Cette approche permettrait-elle de garantir la sécurité du noyau Windows et limiter les pannes à l'avenir ?
J'ai des doutes...

BàV et Peace & Love.
3  0 
Avatar de bmayesky
Membre régulier https://www.developpez.com
Le 29/07/2024 à 22:43
Bla, bla, bla, nous n'avons rien testé parce que c'est trop cher et c'est long et ça demande de faire confiance à des gens, tout ce dont nous ne voulons pas dans notre société (ça coûte de l'argent et ça oblige à mettre des vraies personnes qui réfléchissent et risque de nous contredire), bla, bla, bla, c'est pas nous, c'est le logiciel de test, croyez-nous et achetez nos produits pareil qu'avant, bla, bla, bla, même Microsoft disent que c'est pas eux, c'est l'UE, alors croyez-les et achetez, bla, bla, bla,

Comme si une décision d'interopérabilité des années avant pouvait prédire un crash qui n'avait pas été ni écrit ni voulu par qui que ce soit à l'époque ou maintenant. Et qu'un logiciel de test empêche de faire le test de base que fait tout informaticien, même idiot: un test réel. Et il est clair qu'un PC sous windows n'est pas vraiment difficile et cher à trouver pour le faire (sans compter qu'on peut le réutiliser). Franchement on nous prend pour des c**s.

En fait c'est la défense classique en cas de crise lorsque vous vous êtes fait prendre la main dans le sac:
- Nier, nier même l'évidence, ça prendra pour un 50-50 ceux qui ne sont pas attentifs à votre cas au lieu d'un 100 à 0 en votre défaveur.
- Reporter la faute ailleurs, même si c'est capillotracté, c'est ce que fait Crowdstrike avec son logiciel de test et Microsoft avec l'UE; c'est de leur faute entière mais, là encore il y a une frange qui fera du 50-50 au lieu du 100-0 qui les desserts.
- Accepter, bien après la vague médiatique, que c'était peut-être éventuellement un peu de votre faute mais seulement pour montrer tout ce que vous avez fait (et prouver que vous avez fait) pour que cela ne puisse pas se reproduire. Mentir est une option possible si vous vous assurer que personne ne puisse vous contredire. Ça c'est que pour les fainéants qui voudrait reprendre affaire avec vous et vos commerciaux puissent balayer les suspicieux qui rappelleraient l'incident et continuer le business as usual.

En fait, tout ces articles avec de vrais ou de faux coupables masquent très bien quelque chose de plus important à mon avis: l'échec structurel des systèmes propriétaires à livrer du logiciel fiable.

Effectivement, l'utilisation de logiciels propriétaires demande à faire confiance au propriétaire et aucune garantie n'est possible que cela soit vrai et dure dans le temps. Et plus vous multipliez le nombre de logiciels propriétaires nécessaires à votre solution informatique, plus elle est fragile parce que vous multipliez les points de fragilités et ils se combinent et diminuent d'autant la fiabilité de votre solution.

Alors pourquoi prendre cet angle du logiciel propriétaire ? Parce que le logiciel libre fonctionne sur des principes différents qui augmentent la qualité de manière drastique. Le "c'est prêt quand c'est prêt" n'est pas très amis avec les projets de lancement et autres actions planifiées mais très fiable et d'une qualité logicielle très supérieure. Le fait que l'ensemble des couches logicielles soient connues évite radicalement les erreurs de conceptions qui font planter les autres couches logicielles proches. Et évidemment, les process de boot et autres n'ayant aucun besoin d'être cachés sont beaucoup plus souples et laissent beaucoup plus de moyens d'agir.

Cela m'étonne toujours que ce plantage mondial ne soit pas abordé par l'angle du process de construction du logiciel alors que c'est manifestement là qu'il y a eu un problème et qu'une analyse sur la façon de construire le logiciel avec un esprit ouvert permet de trouver une solution à ce type de problèmes.
2  0 
Avatar de bmayesky
Membre régulier https://www.developpez.com
Le 30/07/2024 à 0:04
Il n'y a pas de réduction des coûts: les banques prélèvent de l'argent sur chaque paiement fait en carte. Ce qui se retrouve directement dans la facture de tout ceux qui achètent parce que les commerçants doivent répercuter les frais bancaires sans compter les frais d'abonnement et d'entretien des terminaux. Le paiement par carte est tout sauf gratuit.
C'est à comparer avec le service de la monnaie de l'état qui ne produit aucun frais d'aucune sorte lors de transaction avec des commerçants pas plus qu'entre personnes. Comment allez vous faire pour donner de l'argent à vos enfants ? Ah oui, vous allez leur ouvrir un compte ... payant pour vous.

Il n'y a rien de gratuit dans le paiement par carte, même votre carte est soumise à abonnement et vous payez cet abonnement.

Imaginer un monde sans liquide c' est imaginer un monde où les banques auraient le monopole de l'argent et alors que nous payons déjà, ils auraient un intérêt de classe à faire encore augmenter les prix.

Mais contentons nous de constater les frais actuels pour demander une correction de l'article parce que le paiement par carte coûte à tout le monde et n'est en aucun cas gratuit !
2  0 
Avatar de chris_FR
Membre régulier https://www.developpez.com
Le 08/08/2024 à 19:17
Citation Envoyé par 23JFK Voir le message
Sauf que CrowdStrike a également fait planter des système Linux et MacOs de par le passé, la différence tient uniquement en l'hégémonie du système Windows sur le monde.
Pourrais tu fournir la source de ton information s'il te plaît ?
2  0 
Avatar de floyer
Membre éclairé https://www.developpez.com
Le 17/08/2024 à 11:10
Il y a beaucoup d’applications qui ont besoin d’un accès privilégié : pilotes (périphérique réels ou virtuel), antivirus, chiffrement de disque, firewall, probablement des éléments des machines virtuelles (virtual box).

Mais le problème concerne ici les mises à jour non testées. Mettre en place une sorte de sas où des machines représentatives essuient les plâtres des mises à jour, puis déploiement progressif aurait évité les problèmes. Alors bien sûr, il faut s’écarter du principe « installez le logiciel et on s’occupe de tout »
2  0