Comodo Internet Security Beta 10.0.0.5144. Хорошие и плохие новости

Внешне непримечательная 10-я версия CIS имеет серьезные улучшения под капотом. И ухудшения.

Внешние изменения

Если смотреть поверхностно, новых функций почти нет, разве что платный «Безопасный шоппинг» и ряд изменений на уровне интерфейса. Компоновка различных кнопок и списков в окне расширенной настройки стала чуть менее компактной, но в целом гламурненько. Блуждание по интерфейсу позволило все же выявить небольшие функциональные изменения.

Comodo Internet Security 10 Beta

Во-первых, к счастью многих, вернули изъятую из версии 8.2 функцию очистки списка файлов от недействительных записей.

Во-вторых, в правилах Auto-Sandbox изменилось задание условий на целевую программу, внешне и функционально:

  • появилось условие на пользователя, создавшего файл;
  • появилось условие на дату создания файла или его возраст (раньше было только на возраст);
  • стало возможным отметить съемный диск как источник происхождения;
  • вместе с тем исчезла возможность задавать в качестве расположения программы локальный, съемный или сетевой диск;
  • стало невозможным редактировать путь программы-создателя (но в качестве создателя можно указать группу и редактировать путь уже в ней).

В-третьих, изменилось представление журналов событий: журнал «Событий Защиты+» разделен на «События HIPS» и «События Sandbox», а журнал изменений конфигурации разделен на изменения собственно конфигурации, изменения в списке файлов и изменения в списке доверенных поставщиков. Надо сказать, это повысило удобство и наглядность. Разделить бы еще журнал «Событий HIPS» на события собственно HIPS и события облачной проверки...

Обнаружилась также парочка сомнительных, если не сказать «трешевых» нововведений, к которым я вернусь в конце статьи. А пока рассмотрю важные изменения, находящиеся «под капотом».

Сразу предупрежу, что выводы сделаны из тестов на Windows 7 x64, в основном, виртуальной. Где проверялась Windows 10, оговорено отдельно.

Лед тронулся?

Отказ от ADS

В новой версии по-новому реализован учет происхождения файлов. Раньше CIS записывал информацию о происхождении в ADS (альтернативные потоки данных NTFS) самих файлов. При копировании файлов информация о происхождении дублировалась, так как копировались привязанные к файлу ADS. Это обеспечивалось самой операционной системой. Недостатки такого решения — засорение файлов, искажение даты их модификации, конфликты с некоторыми приложениями.

Еще в утекшей альфе CIS 9 я заметил, что все сведения о происхождении CIS стал записывать в собственную базу данных. Также CIS стал самостоятельно отслеживать копирование файлов и записывать данные о каждой копии в таблицу FcTrackingFiles. Удаление также отслеживается: при удалении файла удаляется и соответствующая ему запись из этой таблицы. При этом файлы идентифицируются не по именам, а по их физическому расположению на диске.

Можно предположить, что изначально разработчики таким путем и собирались пойти, так как в базе версии CIS 8 тоже присутствовала таблица FcTrackingFiles, но запись в нее не велась. По неведомым причинам они сбились с этого пути, но, к счастью, временно.

Однако теперь от учета происхождения файлов невозможно отказаться: удалена опция, позволявшая это сделать.

Хотя учет происхождения стал менее конфликтным, нельзя сказать, что повысилась его надежность: риск неучтенных файлов как был, так и остался.

Новые ограничения на размер файлов

Другое важное изменение связано с «проблемой больших файлов», напомню ее. Файлы, размер которых превышал определенную границу (40 МБ), CIS воспринимал по-особому:

  • они считались установщиками (а при наличии подписи доверенного поставщика — доверенными установщиками, со всеми вытекающими привилегиями);
  • для таких «больших» файлов не работали правила Auto-Sandbox, основанные на хеше или происхождении;
  • будучи созданными доверенными установщиками, «большие» файлы не делались автоматически доверенными;
  • в отсутствие подписи такие файлы воспринимались «неопознанными», несмотря на добавление в «доверенные» (конкретно для этого поведения граница менялась опцией «Максимальный размер фйала» в настройке антивируса, в остальных случаях она была фиксированной: 40 МБ).

Самое яркое следствие «проблемы больших файлов» — привилегии установщика у таких популярных программ, как Skype (7.7), Opera (29.0), Dropbox (3.6.9).

Что же изменилось в версии CIS 10? Эксперименты дали простой ответ: границу повысили с 40 до 200 МБ. Теперь с превышением именно этого размера начинают проявляться перечисленные особенности (с одним исключением: основанные на хеше правила Auto-Sandbox работают даже для гигабайтных файлов).

Таким образом, для 10-й версии Скайп не будет представлять опасность... до тех пор, пока он не вымахает за 200 МБ.

Сняты привилегии установщика со сборок PortableApps

Еще одна решенная проблема — уязвимость к портативным сборкам. Напомню, что в прежних версиях CIS считал ряд стартеров PortableApps доверенными установщиками. Под «раздачу привилегий» попадал ряд портативных браузеров и некоторые другие программы.

Впрочем, уязвимость к браузерам, собранным в формате PortableApps, более-менее устранили уже в версии CIS 8.2: статус установщиков перестали получать программы с именами FirefoxPortable, OperaPortable и т.п. Однако оставалась проблема с другими портативными сборками, например, 7-ZipPortable.

Теперь стартеры PortableApps не считаются установщиками: стартеры не только браузеров, но и других портативных сборок. Любопытно, что при этом метод версии CIS 8.2, исключавший стартеры по именам, больше не используется.

Поддержка правил с буквами съемных носителей

Приятное и совершенно неожиданное улучшение. Теперь наконец-таки можно защищать от изменения файлы на съемных дисках, регламентировать права программ на них и т.д. В какой-то мере это было достижимо и раньше, но приходилось так или иначе изворачиваться.

Что особенно радует, стала работать блокировка ярлыков на флешках. Значит, теперь можно не городить из-за них огород с Software Restriction Police.

Защита от чтения тоже есть, хотя не полная. Напомню, что содержимое «Папок с защищенными данными» на локальном диске скрывается двумя способами: в реальной среде эти папки запрещено открывать программам, которым в правилах HIPS заблокирован «Диск»; а в виртуальной среде эти папки для всех программ выглядят пустыми. Так вот, на съемных дисках работает только первый способ, а из виртуальной среды данные доступны. Но если какой-либо программе заблокирован «Диск», то при виртуальном запуске ей тоже будет запрещено открывать защищенные папки. Короче, если нужна эффективная защита от чтения — запрещаем «Диск» глобально.

А теперь весомая ложка дегтя. Вся эта радость не работает для виртуальных шифрованных томов VeraCrypt/TrueCrypt, т.е. как раз там, где она наиболее востребована.

В связи с последним возникает опасение, что и вообще для съемных устройство все не так гладко, но с флешками я пока не заметил проблем.

Защита клавиатуры от виртуальной среды

Прямой доступ к клавиатуре из виртуальной среды представлял серьезную опасность, причем не только считыванием вводимых паролей. Виртуально запущенные программы могли отправлять клавиатурные нажатия в реальную среду и в результате запросто выскочить из-под виртуализации. От этого можно было защититься глобальной блокировкой клавиатуры в HIPS, но она создавала проблемы с буфером обмена.

В версии CIS 10 эта уязвимость закрыта, т.е. виртуальная среда сама по себе запрещает прямой доступ к клавиатуре, безо всяких правил. При этом запрет более мягкий, чем в правилах HIPS: доступ к буферу обмена не блокируется и с ним можно нормально работать.

Дополнительная защита монитора

Кроме клавиатуры, от виртуальной среды стал защищаться и монитор. Эта защита выражена, в частности, в запрете создавать рабочий стол. Теоретически таким трюком могут воспользоваться трояны-вымогатели, чтобы заблокировать интерфейс ОС. Хотя против реальных порнобаннеров одной этой защиты оказалось недостаточно, CIS 10 успешно дал отпор тестовой программе.

Прежде этой защиты не было, и даже блокировка «Монитора» в правилах HIPS ее не давала. Сейчас защита работает для виртуально запущенных программ независимо от правил; а для программ, выполняющихся в реальной среде, она достигается блокировкой «Монитора» в правилах HIPS.

Как и в случае с клавиатурой, виртуальная среда защищает монитор мягко: виртуально запущенная программа может снимать скриншоты, когда ее окно активно. Блокировка же «Монитора» в правилах HIPS запрещает делать скриншоты, что мешает корректной работе некоторых программ.

Исправлена защита реестра

Устранена проблема, когда CIS ни в какую не хотел защищать отдельные разделы реестра. На CIS 8 это более-менее решалось заменой аббревиатур полными названиями. В CIS 10 защита работает и с аббревиатурами.

Контроль интерфейса DNS на Windows 10

Прежде CIS неполноценно работал на Windows 10. В частности, не мог защитить системный интерфейс DNS от сторонних приложений. Сейчас защита DNS работает.

Устранена проблема виртуальной установки MSI-пакетов

Раньше возникал сбой при установке MSI-пакетов в виртуальной среде Comodo, если выбрана конфигурация «Proactive Security». Приходилось идти на ухищрения из-за этого.

Теперь проблема решена разработчиками.

Устранены недочеты в работе Auto-Sandbox

Исправлена работа автопесочницы со скриптами. Раньше, если правило Auto-Sandbox срабатывало для скрипта, то оно применялось не в полной мере: не работало ограничение по времени и исключение дочерних процессов. Теперь и то, и другое работает в т.ч. для скриптов.

Еще один мелкий баг автопесочницы: исключение из Auto-Sandbox дочерних процессов не срабатывало, если запуск дочернего процесса более двух минут задерживался оповещением HIPS. Исправлено.

Улучшено ведение списка файлов

CIS 8.x обращался с некоторыми файлами (теми, что из скрытой базы) как с доверенными, не занося при этом их в список файлов. CIS 10 заносит и отмечает в журнале.

Однако неопознанные файлы, блокируемые автопесочницей, как не заносились в список, так и не заносятся.

Исчез конфликт с EMET

Раньше программы, которые защищены в правилах EMET, могли беспрепятственно запускать неопознанные скрипты. Т.е. для них не работал анализ командной строки.

Сейчас анализ командной строки работает, по крайней мере, у меня.

И ныне там

Легкодобываемые привилегии установщика

Как и прежде, защиту легко обойти с помощью привилегий установщика. Автопесочница может худо-бедно противостоять этому при определенной настройке, хипс — нет.

Я иллюстрирую проблему вредоносными ярлыками, но это совершенно не значит, будто вся угроза — в них.

Для получения привилегий достаточно воспользоватсья каким-нибудь признаком установщика, например, характерным именем. Следующая команда, будь она вписана в ярлык, запустит файл malware.exe с привилегиями установщика:

%COMSPEC% /c "copy %COMSPEC% install.exe /y & install.exe /c malware.exe"

Чтоб еще и сделать вредоносный файл доверенным, раньше достаточно было скопировать его «установщиком». Но в CIS 10 копирование не засчитывается, нужно именно создать файл. Не знаю, зачем комодовцы внесли данное изменение, но если вдруг для защиты от уязвимости, то это почти удалось — однострочная команда, добавляющая файл malware.exe в доверенные, увеличилась на целых девять символов (подчеркнуто):

%COMSPEC% /c copy %COMSPEC% install.exe /y & install.exe /c "copy /b nul + malware.exe malware2.exe & malware2.exe"

Казалось бы, что стоило сделать признаки установщика отключаемыми?

Фальшивая защита от шелл-кода

Как читатели уже знают, опция «Обнаруживать внедрение shell-кода» имеет мало общего со своим названием. По сути, она просто отключает внедрение комодовских библиотек в некоторые процессы (почему бы разработчикам не переименовать ее соответственно?).

Немного изменилась работа CIS с процессами, исключенными из этой «защиты». Раньше они могли свободно запускать программы, которые, по правилам автопесочницы, должны блокироваться. Теперь — нет, блокировка срабатывает. Но, как и прежде, не применяются другие ограничения автопесочницы, за исключением виртуализации и ограничения по времени.

Конфликты с Sandboxie

Из-за изменений в «защите от shell-кода» придется немного изменить рекомендации по настройке CIS для Sandboxie: настраивать автопесочницу не на блокировку программ из каталога Sandboxie, а на ограничение.

Как и прежде, из-за CIS на Windows 10 не работает запуск 64-битных программ в Sandboxie. Как и прежде, это частично решается исключениями «защиты от shell-кода». Но плохо.

Обновлено. Конфликт на Windows 10 решается блокировкой файлов guard32.dll и guard64.dll.

Восставшие из зада

Не проверяется репутация интерпретаторов

Да-да, определение интерпретаторов снова стало поименным, даром что эту уязвимость я уже в землю закопал и надпись написал. Снова можно выдать вредоносную программу за любую другую, причем в реальной среде. В сочетании с проблемой установщиков это делается однострочной командой:

%COMSPEC% /c copy %COMSPEC% install.exe /y & install.exe /c "copy /b nul + malware.exe rundll32.exe /y & rundll32.exe %WINDIR%\System32\svchost.exe"

Здесь близлежащий файл malware.exe выдается за svchost.exe, да еще и получает привилегии установщика. Кстати, от этого не спастись, даже если отключить обнаружение установщиков (в настройке песочницы) и доверие к созданным ими файлам (в настройке репутации).

Старая репутация у подмененного файла

В версии CIS 8.2 эта уязвимость была не то чтобы устранена, но при определенной (не очень хорошей) настройке она пропадала. В альфа-версии CIS 9 ситуация стала даже лучше (благодаря отказу от ADS).

Но сейчас получи фашист гранату — после замены доверенного файла неопознанным тот все равно считается доверенным. Эксплуатация уязвимости: копируем любой доверенный файл, запускаем, после завершения заменяем вредоносным, запускаем. Profit. Все делается одной строкой:

%COMSPEC% /c "copy %windir%\System32\msiexec.exe i.exe /y & i.exe /i /q & copy malware.exe i.exe /y & start "" i.exe"

(Здесь по-прежнему наш воображаемый зловред имеет имя malware.exe, а рядом лежит ярлык с указанной командой.)

Проблема короткого хеша

Вернулась лажа, исправленная в CIS 8.2.0.5027. Но дело не настолько плохо, как было раньше. Фактически точь-в-точь повторяется ситуация с CIS 8.2.0.5005: при определении репутации сравнивается криптостойкий хеш Sha1, но если встретится вредоносный файл с тем же коротким хешем Crc32ofSha1, что и у доверенного (ранее занесенного в базу вручную), то случится опасный конфликт. Подробно расписано в отдельной статье.

Конечно, это противно, но я ожидал гораздо худшего.

Невразумительное

А теперь обещанный «треш». Добавлена новая оригинальная кнопка — «Разблокировка приложений». От чего же освобождается «разблокированное приложение»? — От всего. Почти всего...

  • Оно добавляется в доверенные файлы.
  • Его путь становится исключенным для антивируса.
  • Ему назначаются правила фаервола, разрешающие любую сетевую активность (что эквивалентно политике фаервола «Разрешенное приложение»).
  • Ему назначаются правила HIPS, разрешающие все, кроме запуска дочерних процессов (что эквивалентно политике HIPS'а «Разрешенное приложение»).
  • Создается правило Auto-Sandbox, снимающее контроль с этого приложения и всех его дочерних процессов.

Попробуем понять логику разработчиков: для чего они делали эту функцию. Ведь в большинстве случаев одного только занесения приложения в «доверенные» более чем достаточно: после этого оно не определяется антивирусом, не изолируется автопесочницей, его запуск и активность разрешается HIPS'ом (в «Безопасном режиме»); даже фаервол, если он в «Безопасном режиме», разрешает исходящие соединения.

Зачем же было исключать из антивируса путь к приложению? По-видимому — чтобы не произошло детекта в случае его заражения, ведь тогда нарушится целостность файла, и он не будет доверенным. Тут пригодятся и разрешения HIPS'а. Ну и правила фаервола, разрешающие «разблокированному» приложению любые исходящие и даже входящие соединения, окажутся очень кстати.

Сложнее с автопесочницей. Дело в том, что «разблокированное» приложение задается в разрешающем правиле автопесочницы двумя условиями: путем и репутацией доверенного. Требование к репутации делает это правило слегка бессмысленным: при нарушении целостности «разблокированного приложения» разрешающее правило не сработает (сработает изоляция в песочнице), а при сохранении целостности — доверенное приложение и без того не изолируется. Другое дело, что дочерние процессы «разрешенного приложения» исключатся из автопесочницы по полной программе, какими бы они ни были.

Вернемся к HIPS'у. Разработчики разрешили «разблокированному приложению» разнообразную активность, да забыли разрешить сам его запуск (в правиле для группы «Все приложения», например). И дали права всего лишь «Разрешенного приложения». Почему же не «Системного»? Ведь наверняка это приложение будет дочерние процессы запускать, а там — раз, и оповещение или, того гляди, блокировка. Непорядок. Да и вообще, раз уж приложение «разблокированное» — гулять так гулять — даешь политику «Установка или обновление»! Останется только разрешить внедрение в память процессов CIS и их завершение...

С исключениями из антивируса разработчики тоже не додумали: надо было занести «разблокированное» приложение не только на вкладку «Исключенные пути» (чтобы не было детекта в случае заражения его самого), но и на вкладку «Исключенные приложения» — чтобы антивирус не мешал ему загружать любую заразу.

Как видим, функция «разблокировки приложений» далека от идеала: создаваемые ей дыры есть куда расширять...

После легкого разочарования недоделками «разблокировки приложений» перейдем к изменениям в настройке Auto-Sandbox. Тут разработчики оказались последовательнее.

Опция, определяющая реакцию CIS на неопознанные установщики, стала более гибкой. Раньше она предписывала или молча изолировать неопознанные установщики в песочнице, или показывать оповещение с выбором действий. Сейчас, кроме возможности молча изолировать, появились другие: блокировать любые неопознанные установщики, временно снимать с них ограничения или даже добавлять их в доверенные. Для тех, кто не проникся глубиной последнего нововведения, повторю медленно: Любые. Неопознанные. Установщики. Делать. Доверенными. Выдыхаем.

К счастью, никто не заставляет пользоваться новыми абсурдными функциями. Но цель их внедрения остается туманной...

Комментарии и отзывы

Добавляя комментарий, ознакомьтесь с Правилами сообщества