Как защита от Microsoft удалила код на серверах. Байка о Defender

в 23:01, , рубрики: Windows Defender, worm, антивирусная защита, вирусы, Восстановление данных, резервное копирование, Серверное администрирование

Сегодня на календаре 16 Августа 2016.
Windows Defender удалил рабочий код с хоста. Как это было:

Обсуждая с коллегой новости о череде проблем у Microsoft, которые пестрят в новостях. Там зависло, там пропало, там еще что-то — видимо накаркал себе проблем.
Работая на виртуальном сервере с кодом под IIS вдруг получаю предупреждение о том что Windows Defender обнаружил Worm внутри многих ASP файлов на хосте и настоятельно рекомендует удалить.

Вся прелесть в том что вариантов не предлагает Defender. Файлы уже пустые и залоченные. До вчера этой проблемы не существовало. Любая попытка восстановить с репозитория файлы — вызывает возмущение у Defender, с последующим удалением файлов.
Проверка настроек показала что Windows Defender обновился 8/15/16 до версии 1.225.3982.0.
Сканер настойчиво видел Worm:VBS/VBSWGbased.gen в ASP (VBScript ) файлах.
Проверка одного из файлов на virustotal.com показала теже результаты. Из 53х тестовых проверок — только Microsoft Defender находит Worm:VBS/VBSWGbased.gen.

Далее идет много часовая попытка понять, что именно заставило найти вирус и удалить код. Перебирая варианты строк и проверяя сканером каждую строчку — удалось удалить все и получить минимальный тестовый файл который вызывает безумие у Defender.

Function SafeSQLLogin()
  Execute(SafeSQLLogin())
End Function
Function Stream_StringToBinary(Text)
  Set BinaryStream = CreateObject("ADODB.Stream")
  BinaryStream.Type = adTypeText
  BinaryStream.CharSet = "us-ascii"
  BinaryStream.Open
  BinaryStream.WriteText Text
  BinaryStream.Position = 0
  BinaryStream.Type = adTypeBinary
  BinaryStream.Position = 0
  Stream_StringToBinary = BinaryStream.Read
  Set BinaryStream = Nothing
End Function
Function strCrypt()
  For i = 1 To Len(Text)
End Function

Код странный только потому что я удалил максимально все что смог, пока сканер все еще видел Червя. Этот текст минимальный, любое изменение или удаление одной из строк — перестает сводить с ума Defender.

Update:
более свежая версия текста для принятия его за вирус:

Function S
Execute S
End Function
For i To Len T

Сохранив текст в файл как test.txt и отправив на virustotal.com все еще выдает потверждение о Черве, несмотря на то что Defender уже получил несколько новых обновлений.
Вот результат от virustital.com
Result

Попытка связаться с Tech центром от Microsoft в режиме чата, слегка подняло настроение. Девушка+специалист настойчиво пыталась помочь мне восстановить систему и RestorePoint выдавая команды типа SCN и др. Все попытки пояснить что проблему не у меня с компьютером, вели вокруг настойчивой попытки решить мою проблему с моим компьютером. Поняв что сообщить о проблеме с Defender не получится, я связался с Администраторами хостов с предупреждением, что у нас могут возникнуть проблемы на всех серверах.
Администраторы как обычно не доступны. Надеюсь что они отзовутся не как обычно, когда уже что-то рухнуло. (сарказм)

Анализ «вредоносного» когда, не дает понимания никакой логики. Все ведет к случайному набору каких то совпадений. Любое изменение в тексте, ведет к тому что Червь перестает находиться. Но вся хитрость состоит в том, что текст идет не подряд!!! Этот код очищен от всего остального и это только часть строк, между этими строками были сотни строк другого кода. Нахождение Червя срабатывало только при существовании этих строк среди других строк кода весом на 80kb. Значит это не шаблон, а скорее по регулярке нахождение какого-то кол-ва определенных слов или фраз. Другой логики я не увидел.

Ничего против Microsoft не имею, но чтото в последнее время их ошибки чреваты огромными последствиями. У Администраторов существует жесткое правило — Никаких обновлений на серверах!!! Сначала долгие тесты на тестовых машинах. Понимаю что это звучит не ново — но исправления от Microsoft должны исправлять и защищать а не убивать и создавать новые проблемы, еще более страшные.

P.S. Defender получил очередную порцию обновлений, v1.225.4025.0 — но он все еще настойчиво блокирует и удаляет файлы на тестовом PC, на остальных машинах он везде отключен.

Автор: IhorL

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js