- PVSM.RU - https://www.pvsm.ru -

С 13 февраля Gmail будет фильтровать вложения в формате .js

С 13 февраля Gmail будет фильтровать вложения в формате .js - 1
Вложения .js стали самым популярным способом распространения криптовымогателей в 2016 году. Статистика: Proofpoint [1]

Gmail запрещает передавать с почтой вложения в следующих форматах [2]: ADE, ADP, BAT, CHM, CMD, COM, CPL, EXE, HTA, INS, ISP, JAR, JSE, LIB, LNK, MDE, MSC, MSP, MST, PIF, SCR, SCT, SHB, SYS, VB, VBE, VBS, VXD, WSC, WSF, WSH. Вчера в официальном блоге G Suite опубликовано сообщение [3], что с 13 февраля 2017 года список запрещённых форматов файлов для передачи через Gmail пополнит формат .js (JavaScript).

Дело в том, что в операционной системе Windows такие файлы по умолчанию запускаются на исполнение с помощью системного компонента Windows Script Host, так что можно внедрить в .js бинарник с криптовымогателем [4] — и отправить его пользователям под Windows. За пределами браузера Windows Script Host позволяет сохранять файлы и запускать их на исполнение, устанавливать сетевые соединения с любым сервером, запрашивать веб-контент.

С 13 февраля Gmail будет фильтровать вложения в формате .js - 2

Встроенные фильтры Gmail блокируют сообщения с исполняемыми файлами, чтобы предотвратить распространение вирусов. Сжатие в GZ/BZ2 или ZIP/TGZ не помогает. Фильтры Gmail автоматически разархивируют и декомпрессируют все вложения ко всем письмам — и проверяют их содержимое (вероятно, на сервере реализована защита от ZIP-бомб, о них ниже).

Защита архива паролем тоже не спасает — в Gmail запрещена пересылка запароленных архивов. Кроме того, запрещена пересылка архивов со вложенными архивами, которые защищены паролем. Таким образом, для передачи исполняемого файла приходится искать другие способы. Например, архивировать и переименовывать в JPG.

В феврале в веб-интерфейсе Gmail при попытке загрузки вложения .js появится сообщение «Заблокировано в целях безопасности» с объяснением причин.

С 13 февраля Gmail будет фильтровать вложения в формате .js - 3

Фильтры у Gmail продвинутые, так что передача картинки JPG со встроенным вирусом тоже может быть заблокирована, как и ссылки на вредоносные страницы. Сама компания Google рекомендует для обмена файлами загружать их на Google Drive, Google Could Storage или другой хостинг [5] — и делиться ссылкой. Если в файле не найдут вирус, то письмо со ссылкой пройдёт через фильтр.

Защита от архивных бомб

Чтобы реализовать проверку архивов на сервере для фильтрации спама и вирусов, компании Google наверняка пришлось внедрить защиту от ZIP-бомб, иначе серверы компании стали бы жертвой DoS-атаки.

Самый популярный формат ZIP-бомбы известен со стародавних времён. Это рекурсивный архив типа 42.zip, который распаковывается сам в себя. Если начать его распаковку, то процесс будет идти до тех пор, пока набор данных не достигнет верхнего предела распаковки в 4,3 гигабайта. При этом процесс займет более 4,5 петабайт в оперативной памяти (4 503 599 626 321 920 байт).

Похожий вариант применяется в варианте DoS-атаки с помощью PNG, которую впервые описал [6] в 2015 году программист и хакер Дэвид Фифилд (David Fifield). Как известно, в графическом формате PNG используется алгоритм сжатия DEFLATE в библиотеке zlib. Программист рассчитал, каков может быть максимальный размер картинки с минимальным размером файла. Идея в том, чтобы файл можно было быстро передать по сети, но при этом он не поместился в оперативную память на сервере.

В результате разных экспериментов автор пришёл к наиболее оптимальному соотношению размера файла и занимаемой памяти. Архив spark.png.bz2 [7] размером всего 420 байт занимает в памяти 141,4 ГБ.

Реализовано это следующим образом. Сначала алгоритм DEFLATE [6] заменяет повторяющиеся строки указателями (LZ77), при этом каждая пара бит кодирует 258 одинаковых байтов с нулями. Степень компрессии составляет 1032 к 1. Затем за дело берётся bzip2, который сжимает длинный набор одинаковых значений в максимально компактный вид. В архиве на 420 байт — файл PNG размером 6 132 534 байт (5,8 МБ) и изображением 225 000 × 225 000 пикселей (50,625 гигапикселей). В пиксельном буфере с тремя байтами на пиксель картинка займёт примерно 141,4 ГБ. Картинка почти полностью состоит из нулей, с секретным сообщением в центре. Для лучшего сжатия используется однобитное цветовое пространство, хотя большинство программ для рендеринга графики всё равно резервируют по три бита на пиксель и разворачивают картинку в 141,4 гигабайта.

В Gmail, Habrastorage и других веб-приложениях, разумеется, реализована защита против архивных бомб PNG (более подробно см. статью «Защита приложений Libpng от архивных бомб [8]»). Сканирование файлов на сервере выполняется в изолированной песочнице, и если вложение в вашем письме «повалит» песочницу, то это никак не скажется на работе остальных серверов Google.

Впрочем, применение сжатия в графических форматах позволяет проявить креативность и применить другие трюки, например, со сжатием GIF [9].

Распространение зловредов через файлы .js

В последнее время злоумышленники часто распространяли вредоносное ПО, прикрепляя скрипты JavaScript к письмам. Например, таким способом [10] авторы криптовымогателя Locky распространяли загрузчик криптовымогателя.

С 13 февраля Gmail будет фильтровать вложения в формате .js - 4
Вложение к письму содержит скрипт, который скачивает исполняемый файл Locky

С 13 февраля Gmail будет фильтровать вложения в формате .js - 5
Код скрипта со ссылкой на исполняемый файл

Позже авторы Locky обнаглели и начали сразу внедрять бинарник в .js [11].

Кроме Locky, через вложения .js давно распространяются другие криптовымогатели (Ransom32 [12], RAA [13]), а также другой вредоносный софт [1].

После блокировки .js в Gmail злоумышленникам придётся использовать другие способы, чтобы распространять ссылки на вредоносные программы по почте, через мессенджеры, в твиттере и социальных сетях. Таких способов много.

Автор: alizar

Источник [14]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/237475

Ссылки в тексте:

[1] Proofpoint: https://www.proofpoint.com/us/threat-insight/post/beware-javascript-malicious-email-campaigns-with-js-attachments-explode

[2] следующих форматах: https://support.google.com/mail/answer/6590#messageswattachments

[3] сообщение: https://gsuiteupdates.googleblog.com/2017/01/gmail-will-restrict-js-file-attachments.html

[4] внедрить в .js бинарник с криптовымогателем: https://nakedsecurity.sophos.com/2016/04/26/ransomware-in-your-inbox-the-rise-of-malicious-javascript-attachments/

[5] хостинг: https://www.reg.ru/?rlink=reflink-717

[6] описал: https://www.bamsoftware.com/hacks/deflate.html

[7] spark.png.bz2: https://www.bamsoftware.com/bzr/deflate/spark.png.bz2

[8] Защита приложений Libpng от архивных бомб: http://libpng.sourceforge.net/decompression_bombs.html

[9] сжатием GIF: http://probablyprogramming.com/2009/03/15/the-tiniest-gif-ever

[10] таким способом: https://www.trustwave.com/Resources/SpiderLabs-Blog/Massive-Volume-of-Ransomware-Downloaders-being-Spammed/

[11] сразу внедрять бинарник в .js: http://blog.cyren.com/articles/2016-Q3_locky-ransomware-now-embedded-in-javascript.html

[12] Ransom32: http://blog.emsisoft.com/2016/01/01/meet-ransom32-the-first-javascript-ransomware/

[13] RAA: https://www.bleepingcomputer.com/news/security/the-new-raa-ransomware-is-created-entirely-using-javascript/

[14] Источник: https://geektimes.ru/post/285158/