Вирус-вымогатель WannaCrypt: ситуация и меры безопасности
http://spb.media/blogt/virus-vymogatel-wannacrypt-situaciya-i-mery-bezopasnosti
13 мая 2017
Кратко про ситуацию с заражением Ransom:Win32.WannaCrypt и что предпринимать.
Его называют по разному – и WanaCrypt0r 2.0, и WannaCrypt, и WCry. В более-менее стандартизированной номенклатуре – Ransom:Win32.WannaCrypt.
Причина заражения
В семействе ОС Windows обмен файлами в LAN-сетях практически полностью реализуется протоколом SMB. Данный протокол разработан фирмой IBM (в сотрудничестве с 3Com) в 1983 году, используется в OS/2, и оттуда уходит в состав сетевого стека Microsoft, более известного как “семейство протоколов и сервисов LAN Manager”.
Протокол SMBv1 живёт достаточно долго. Работает плохо и неэффективно – но не потому что он плохой, а потому что предназначался для универсальных задач – от сетевой печати до общего доступа к COM-портам – и поверх любых сетевых протоколов. То есть должен был он работать в следующей схеме:
- Какой-то протокол сетевого уровня (IP, IPX, AppleTalk)
- NetBIOS поверх транспортного протокола (в варианте IP – NetBT, NetBIOS Transport over TCP, используется 139й порт)
- Запросы и ответы SMBv1
Всё это было снабжено большим количеством команд, долгими и многофазными согласованиями каждой мелочи, поэтому КПД протокола был откровенно не самым лучшим. Тянется это с Windows for Workgroups 3.11 до Windows XP / Server 2003.
В Windows 2000 Microsoft проводит первичную оптимизацию и запускает SMBv1 поверх “чистого” IP, снижая задачи прослойки NetBIOS и уменьшая overhead протоколов, чем улучшает соотношение “заголовки / данные”. Вы знаете этот вариант по открытому порту TCP 445. Но этот вариант работает параллельно с классическим, не являясь его заменой.
Начиная с ядра NT 6.0, где Microsoft первый раз серьёзно переписывает сетевой стек, появляется протокол SMBv2.
Он значительно упрощается в части количества команд, в него также начинает добавляться новый функционал. Данный процесс продолжается и после, выходят версии 2.1, 3.0, 3.0.2 и в текущих Windows Server 2016 / Windows 10 – SMB 3.1.1.
Microsoft двигает стандарт и дальше, публикуя свои открытые спецификации – их потом реализуют в сторонних продуктах типа Samba (пять лет по открытой документации реализовывали стандарт) и Apple (Apple делает свою копию Microsoft’овского SMBv2).
В результате на текущий момент на борту ОС от Microsoft обычно работает полный зоопарк – три версии SMB поверх двух сетевых портов (TCP 139 и TCP 445).
И вот в самой старой, ещё IBM’овской реализации SMBv1, была обнаружена уязвимость.
Матчасть здорового человека
Патч закрытия критической уязвимости в SMBv1 был выпущен 14 марта 2017 года, то есть 2 месяца назад: MS17-010.
Ссылки на патчи для различных ОС есть здесь: KB 4013389.
Какова реальная картинка с заражением?
Вот здесь можно посмотреть на ситуацию с заражением Ransom:Win32.WannaCrypt в реальном масштабе времени.
Как выглядит заражение?
Например вот так, как на фото выше, выглядит заражённый банкомат.
Если всё плохо
Пароль для расшифровки файлов – WNcry@2ol7
Штатные меры, которые не были использованы
Протокол SMBv1 может быть выключен полностью во всех сетях, где нет ОС младше Windows Vista и устаревших принтеров.
Как минимум, возможен переход на Direct SMB даже в случае Windows 2000 / XP / 2003, что уже упростит работу и снизит потенциальный attack surface.
Выключить SMBv1 можно и через PowerShell:
Set-SmbServerConfiguration -EnableSMB1Protocol $false
И через реестр:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
, параметр SMB1
типа DWORD = 0
Можно также удалить сам сервис, отвечающий за SMBv1 (да, за него лично отвечает отдельный от SMBv2 сервис):
sc.exe config lanmanworkstation depend=browser/mrxsmb20/nsi
sc.exe config mrxsmb10 start=disabled
Все указанные методы не приведут к потере функционала передачи файлов поверх сети – они лишь отключат супер-древний (34 года ему) вариант протокола SMB.
Действия на современных ОС
Если у вас Windows Server 2012 R2 / Windows 8.1 / старше, то дело ещё проще – вы можете целиком удалить компонент “старые возможности LAN Manager”, в который входит сервис Computer Browser и SMBv1. Это делается штатно, через удаление компонентов ОС.
Действия на устаревших ОС
Microsoft уже не поддерживает ОС линейки NT 5.x – Windows Server 2003 и Windows XP. Однако для такого случая выпущены патчи для Windows Server 2003, Windows XP SP2 и SP3.
Вопросы
Большой вопрос, почему всё это не было сделано на данный момент в сетях, подвергшихся заражению (их список только увеличивается).
Ещё больший вопрос – как за 2 месяца корпоративные системы, обладающие букетом возможностей обновления – от Windows Update и WSUS до Microsoft System Center с его ConfMgr – не установили патч, закрывающий критическую уязвимость включённого по умолчанию протокола. Какая квалификация у персонала, который это администрирует, у архитекторов, которые делали и подписывали дизайн сети с такой системой управления обновлениями, у безопасников, которые должны отслеживать текущую ситуацию с используемыми компонентами и их безопасностью.
Самый большой вопрос – как уязвимость в протоколе прожила 30 с лишним лет, хотя исходник был и у IBM, и у Microsoft. Вроде как у этих фирм коллективы тестировщиков и разработчиков разные. Исходный код SMBv1 был отдан IBM в опенсорсный проект Samba и прошёл аудит – и там тоже находят и тоже в марте 2017 года оставшиеся с тех же лет уязвимости. То есть вся эта уйма людей, адресно занятых аудитом, что со стороны корпораций США, что со стороны “американского сертифицированного открытого ПО” – все они удивительно синхронно просмотрели одни и те же древние уязвимости в SMBv1. Товарищ Сноуден имеет на этот счёт весьма закономерные вопросы и заготовленные ответы.
Впрочем, все эти вопросы – риторические.
Комментариев нет:
Отправить комментарий