Обороной руководит антивирус
17 августа 2017
Microsoft критикуют много, и нельзя сказать, что компания не прислушивается к этой критике. Microsoft старается сделать свои системы более безопасными – с помощью технологий, исключающих возможность тех или иных распространенных атак злоумышленников. Например, атак на переполнение буфера.
Предположим, у нас есть программа, в которую передаются те или иные данные (параметры командной строки или информация, указываемая пользователем на сайте). Скажем, эта программа принимает на вход ваши имя и фамилию. Вполне логично, что и то и другое имеет не слишком большую длину. А раз так, то можно не вычислять каждый раз, сколько данных было передано, а зарезервировать небольшую область и записывать их туда. Однако злоумышленник может передать на вход данные, объем которых превышает зарезервированное под их прием хранилище. И если программа не проверяет, сколько данных было передано на самом деле, то после заполнения отведенного участка процедура приема продолжит запись за его пределами – перезаписывая соседние данные, а то и код.
Если же хакер сформирует передаваемые данные специальным образом, то он сможет изменить код программы полностью.
Специалист компании One Up Security Джастин Тафт (Justin Taft) обнаружил уязвимость в составе Valve Source SDK. Исследователь пишет, что уязвимость в движке Source затрагивала такие популярные игры, как Counter Strike: Global Offensive, Team Fortress 2, Left 4 dead 2, Potral 2.
Дело в том, что игры, работающие на движке Source, используют Source SDK, чтобы сторонние компании и независимые разработчики могли создавать собственные кастомные моды. К тому же файлы карт для движка Source позволяют разработчикам добавлять кастомный контент (текстуры, скины, модели трупов), который подгружается вместе с картой.
Корень проблемы лежал в обычном переполнении буфера (buffer overflow), через уязвимость можно было добиться и выполнения произвольного кода на клиентской или серверной стороне. В качестве примера эксплуатации бага Тафт приводит следующий кейс: если создать кастомую модель трупа, которая будет загружаться после смерти игрового персонажа, к этой модели можно привязать загрузку произвольного вредоносного кода. Как видно на гифке ниже, смерть игрока в TF2 влечет за собой выполнение вредоносных инструкций.
Исследователь сообщает, что разработчики Valve устранили проблему еще в июне 2017 года, и разработчиков модов попросили обновить Steam Source SDK до актуальной версии, установив этот патч.
Пока Тафт не обнародовал proof-of-concept эксплоита, так как он хочет дать разработчикам больше времени на установку исправления. Тем не менее, через несколько недель эксплоит будет опубликован здесь.
К сожалению, несмотря на широкую известность этого типа атаки, далеко не все программы защищены от него.
Еще один вариант атаки с помощью перезаписи данных: прописать в область, отведенную под данные, нужный код и передать на него управление. В этом случае основная часть программы не изменяется.
Для защиты от этой атаки компания Microsoft разработала специальную технологию – DEP. При ее использовании места, отведенные под данные, помечаются как «неисполняемые» (NX). Если приложение попытается выполнить код из сегмента памяти с меткой NX, механизм DEP запретит это действие.
Поддержка DEP добавлена в Windows начиная с версий XP SP2, Server 2003 SP1 и 2003 R2. При этом реализаций DEP имеется две: аппаратная на уровне процессоров и программная.
Чтобы узнать, поддерживает ли ваша система аппаратную реализацию, в Панели управления откройте настройки производительности, а затем перейдите на вкладку Предотвращение выполнения данных.
В нижней части окна настроек конфигурации службы DEP указан тип реализации данной службы.
Служба DEP поддерживает два уровня защиты:
- Первый уровень защищает только системный и исполняемый код ОС Windows.
- Второй уровень защищает весь исполняемый код в системе. Механизмы DEP применяются и к системному коду Windows, и к приложениям компании или независимых производителей.
Администраторы могут настраивать уровни защиты посредством конфигурационного экрана службы DEP.
Проверить, защищено ли то или иное приложение, можно, открыв Диспетчер задач и настроив отображение столбца Предотвращение выполнения данных.
Победа? Неполная.
DEP не знает, кто попытался исполнить код из области данных: злоумышленник или сама программа, и автоматически реагирует на это завершением программы. Поэтому теперь киберпреступники получили возможность реализации атаки на отказ в обслуживании. Имитируя попытку исполнить код из области данных, они заставляют систему эту программу завершить.
Малоизвестный факт. Первые антивирусы содержали описания вирусов непосредственно в себе. Но рост количества вирусов привел к тому, что описания вынесли в отдельную от программы вирусную базу. А требования постоянных обновлений привели к тому, что эта база должна обновляться с перезаписью устаревших данных. Все знают, что антивирус хранит свои вирусные базы в памяти. Но как они там размещаются? Выделяется область данных, в нее записываются сигнатуры и код эвристики. И из этой области исполняется код баз данных.
Антивирусные программы относятся к небольшому числу программ, для которых разрешено исполнение кода из области данных, так как иначе они работать не могут.
#Windows #антивирус #игры #уязвимость #эксплойтАнтивирусная правДА! рекомендует
Несмотря на постоянный прогресс технологий защиты от хакерских атак, избавиться от антивируса не получается. DEP позволяет гарантировать, что программа будет работать так, как хотели ее создатели, но только антивирус позволяет не допустить атаки на программу.
Нам важно ваше мнение
Чтобы оставить комментарий, нужно зайти через свой аккаунт на сайте «Доктор Веб». Если аккаунта еще нет, его можно создать.
Комментарии пользователей
Toma
19:37:58 2018-12-04
Денисенко Павел Андреевич
21:42:38 2018-08-05
Неуёмный Обыватель
08:38:39 2018-06-28
vasvet
19:12:15 2018-04-08
Пaвeл
16:16:26 2017-08-29
Подробнее: http://www.securitylab.ru/news/488118.php
Надеюсь немалая доля этих разработок принадлежит компании Dr.Web !?
Littlefish
17:08:38 2017-08-21
Родриго
15:50:13 2017-08-21
Littlefish
08:03:35 2017-08-21
Вам выплывет - Настройка представления и производительности системы, кликаете на это, и в открывшемся окне нажимаете на вкладку Предотвращение выполнения данных.
сергей
18:30:18 2017-08-20
alexandr
14:25:53 2017-08-20
alexandr
14:24:48 2017-08-20
Родриго
18:01:48 2017-08-19
Вячeслaв
13:06:39 2017-08-18
Вячeслaв
13:03:56 2017-08-18
Честно скажем, что найти эту функцию не просто, доступ к ней не слишком логичен. И еще. Не все программы могут корректно работать в режиме DEP. Поэтому если вы включили этот режим для каких либо программ - мы рекомендуем некоторое время не работать с критическими данными, понаблюдать за работой программ
Вячeслaв
12:55:42 2017-08-18
Марина
22:55:41 2017-08-17
Marsn77
21:54:53 2017-08-17
dyadya_Sasha
21:23:43 2017-08-17
Не переживай, не все старатели на жилу попадают)).
aleks_ku
21:03:40 2017-08-17
orw_mikle
20:40:30 2017-08-17
В...а
20:35:28 2017-08-17
Andromeda
20:32:19 2017-08-17
Альфа
20:16:46 2017-08-17
vla_va
20:05:22 2017-08-17
Dvakota
20:01:22 2017-08-17
НинаК
19:22:14 2017-08-17
Шалтай Александр Болтай
19:11:36 2017-08-17
ek
18:57:46 2017-08-17
maestro431
18:26:31 2017-08-17
kva-kva
18:02:26 2017-08-17
mk.insta
17:33:30 2017-08-17
DrKV
17:26:07 2017-08-17
Mehatronik
17:14:25 2017-08-17
Littlefish
13:53:04 2017-08-17
Родриго
12:46:25 2017-08-17
AxooxA
11:36:51 2017-08-17
Alexander
11:34:47 2017-08-17
Проверил свой ноутбук, - система поддерживает аппаратную реализацию DEP. Но как настраивать уровни защиты посредством конфигурационного экрана службы DEP, - не разобрался. На скриншоте в статье видны два процесса, для которых в столбце "Предотвращение выполнения данных" ничего не написано. На моем ноутбуке для служб System, Системные прерывания, Бездействие системы - тоже пусто. Что это означает? А для программы URL-Album указано, что DEP отключен. Включить не получилось.
Успокоила уверенность, что установленный Dr.Web Security Space защитит "в случае чего".
Правильно написано в статье, DEP - гарантирует, а Dr.Web - не допускает. А это, как говорится, - "две большие разницы". Спасибо за информацию.
a13x
11:33:24 2017-08-17
PITONMAN
11:29:07 2017-08-17
dyadya_Sasha
11:18:33 2017-08-17
Если доказать не удается, значит и ошибаются не все из многих.)) А из тех многих, у которых лицензионое ПО, которое постоянно своевременно обновляется ошибаются ещё меньше. Не всем крутая защита нужна. Кому терять нечего и базовой защиты достаточно.
Влад
10:58:53 2017-08-17
Sasha50
09:25:52 2017-08-17
Natalya_2017
09:21:01 2017-08-17
duduka
09:07:27 2017-08-17
Littlefish
09:01:48 2017-08-17
Littlefish
08:55:24 2017-08-17
Порядочный человек, вначале дал времени разработчикам исправить уязвимость, а не опубликовал сразу же как только выявил эту уязвимость.
Littlefish
08:52:03 2017-08-17
ka_s
08:15:10 2017-08-17
user
07:42:54 2017-08-17
GREII
07:41:13 2017-08-17