Przygotowując się do wydania Fall Creators Update w 2017 roku, Microsoft zapowiedział, że w ramach wieloletniego planu poprawy bezpieczeństwa pozbędzie się wsparcia dla protokołu sieciowego SMB1. Miało to zmniejszyć ryzyko ataku, czyniąc Windows 10 systemem jeszcze bezpieczniejszym. Od ogłoszenia tamtych planów minęło 2,5 roku, a jednak zakorzeniony jeszcze w latach 80. ubiegłego wieku protokół nie chce odejść. Dlaczego?
Proszę, przestańcie używać SMB1. Proszę, pozbądźcie się tych starożytnych, przestarzałych systemów, które wspierają tylko SMB1.
— James Kehr, Escalation Engineer w Microsoft
Server Message Block 1 jest przestarzałym i niebezpiecznym składnikiem Windows, nadal używanym przez wiele systemów i produktów, które przed trzema laty padły ofiarą złośliwego oprogramowania WannaCry. Między innymi na skutek tej epidemii ransomware Microsoft zapowiedział, że protokół przestanie być dołączany do Windows 10 (od wersji 1709) i Windows Server 2016, ale tak się nie stało. Zamiast tego gigant dodał "rozwiązanie", które pozwala starszym urządzeniom i aplikacjom polegającym na SMB1 — takim jak Eksplorator plików — kontynuować działanie bez zawieszania się. Zgodnie z tym schematem, jeśli SMB1 zostanie wyłączony, wówczas połączenie zostanie wyłączone.
Windows 10 już w wersji 1703 usuwał na dobre SMB1, gdy wykrywał, że nie jest on używany. Jego dialekt nie był wysyłany podczas negocjacji i w ogóle nie był dopuszczony do użytku. A to wywołało problemy.
Wyszło na to, że niektóre urządzenia, które znały tylko SMB1, nie były pewne, co zrobić, gdy dostawały zapytanie SMB bez SMB1 w nim. Powodowało to wiele dziwnych zachowań po stronie Windows, w tym zawieszanie lub pauzowanie wszystkiego aż do przekroczenia limitu czasu. Objawiało się to w Windows jako nieodpowiadający Windows Explorer (techniczna nazwa tej żółtej ikony, którą klikasz, by uzyskać dostęp do plików). Ludzie tego nie lubią. Ja tego nie lubię. Ostatecznie wprowadziliśmy zmiany, które mają temu zapobiegać, bez właściwego włączania SMB1.
- Windows 10 1709 (2017 Fall Update) i nowsze będą wysyłać dialekty SMB1 jako część negocjacji SMB. Robimy tak, by wspomóc interoperacyjność z przestarzałymi urządzeniami, np. aby zapobiegać zawieszaniu się/wstrzymywaniu Windows Explorera.
- W rzeczywistości nie zezwalamy na połączenie SMB1, gdy SMB1 jest wyłączony. Jedynie udajemy. Połączenie zakończy się zamknięciem, gdy serwer lub klient spróbuje użyć dialektu SMB1.
— James Kehr, Escalation Engineer w Microsoft
Server Message Block doczekał się nowszych, dużo bezpieczniejszych wydań, w tym SMB 2.1 i SMB 3.0. Microsoft dodał do niego i wciąż dodaje nowe funkcje, w tym SMB Encryption, która pozwala na pełne szyfrowanie AES, Continuous Availability czy SMB Direct. W rzeczywistości nie ma powodu, by pozostawać przy SMB1. Być może część firm robi to z oszczędności, ale w przypadku ataku koszty przywracania mogą być dużo wyższe. Czy warto więc ryzykować?