Pull to refresh

Comments 34

Компания Capcom уже выпустила обновление игры, закрывающее данную уязвимость.

Я так понимаю, этого мало. Нужно отозвать цифровую подпись драйвера, чтобы никто не мог воспользоваться старой, дырявой версией, включив её в свой exploit pack
Вот так примерно и выглядит добрая половина драйверов режима ядра от сторонних производителей. Людям нужно было решить проблему, и они ее решили, а как это выглядит с точки зрения безопасности — всем наплевать. Вот еще один пример похожего поведения.
The ASUS «Generic Function Service» includes a couple of drivers, ASMMAP.sys / ASMMAP64.sys,
the version resources describe them as «Memory mapping Driver».

This description is very accurate, it has a pair of ioctls, 0x9C402580 and 0x9C402584, that map or
unmap to the calling process' address space ANY PART OF PHYSICAL MEMORY, with READ/WRITE permissions.
Using code that has been copypasta'd a bunch of times, but seems to originate from a sample driver for NT 3.1.
1993 vintage code, everybody.

It also has a couple of other ioctls that allocate or free some RAM and gives the physical and virtual pointers
to it, and another one that can make any I/O request (does in/out byte/word/dword with parameters given in the ioctl buffer, and returns the result for the case of in).
Интересно, а как это было выявлено? Чтобы обнаружить подобную проблему нужно кропотливо сидеть хотя бы неделю с отладчиком WinDbg или дизассемблировать с Ida и изучать код. Скорее всего кто-то хотел взломать игру и нашел «это».
причем перед этим отключает SMEP

Думаю по этому коду и нашлось каким-то автоматическим анализатором. А дальше раскурили уже спецы что и как происходит.
Сразу вспомнился драйвер защиты Frost от Innova Systems, печально известный тем, что одна из его версий без возражений принимала управляющие команды от любого приложения. Сам драйвер умел, например, скрывать указанные процессы и был подписан валидной цифровой подписью. Эдакий «официальный» руткит.
Как майкрософт вообще подписывает такие драйвера, и почему не банит на веки вечные их производителей после таких косяков?

Или о пользователях и их безопасности мелкомягкие способны беспокоиться лишь на словах? Зачем тогда вообще механизм подписей?
Я так понимаю — драйвер подписывается авторами, которые имеют делегированное от MS право подписывать свои драйверы.

Механизм подписей нужен для того, чтобы в системе могли работать только авторизованные доверенными производителями программы. И чтобы можно было доказать вину автора программы.
Именно поэтому в Windows 10 все драйверы, работающие в режиме ядра, теперь обязаны получать подпись от Microsoft. До Windows 10 достаточно было подписи самого разработчика.

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

до Windows 10 для любого драйвера достаточно было подписи, приобретаемой разработчиком у Comodo, VeriSign и т.п. Бонусом существует способ обойтись без подписи вообще (не отключение этой защиты, а полный её обход прозрачно для пользователя).
начиная с Windows 10 (с августовского обновления) добавились условия: если включена безопасная загрузка (SecureBoot), то все драйверы режима ядра, выпущенные после 29 июля 2015 года должны быть подписаны Microsoft. Если SecureBoot отключена, то поведение аналогично предыдущим версиям Windows.
все драйверы режима ядра, выпущенные после 29 июля 2015 года должны быть подписаны Microsoft.

То есть, если во время написания левых вирусных драйверов, поставить дату локального времени до 29 июля 2015, то этот механизм защиты не будет работать?
UFO just landed and posted this here
Под выпуском понимается время подписывания. То есть, драйвер по-любому должен быть подписан: либо до 29.07.2015 легально приобретённой подписью разработчика драйвера (и при подписывании обязательно используется онлайн-сервер удостоверяющего центра, выдавшего этому разработчику сертификат), либо после этой даты — в Microsoft. Локальное время, как верно замечено в комментарии выше, роли не играет.
Не расскажете про этот способ? Можно в личку.
Помню обновление Win7, которое ломало игры от Capcom. Интересно, они по этой же причине ломались или там ещё какие-то секреты
Ну а какие могут быть альтернативы таким драйверам?
Либо все игрушки только на консолях, либо с выполнением части логики игры на сервере, для которого быстро напишут эмулятор, либо DRM для приложений на уровне OS, как это сделано в iOS, который всё равно сломают, либо играть только в DRM-free инди-игры.
Ведьмак 3 всем показал что такое возможно.
Зайдите на gog.com — откроете для себя много нового.

Зачем усложнять — отведите отдельный компьютер для игр и прочих радостей.(с условием если вы не оплачиваете не чего в играх) и можете забыть про реализацию чего угодно(если железо позволяет)

Имеется в виду альтернатива с т.з. разработчика для защиты, а не с т.з. пользователя.
Ага, этот отдельный компьютер для игр и прочих радостей называтся консоль — тем более, они сейчас здорово в цене упали.
У консолей в этом плане есть два недостатка — ограниченный выбор устройств ввода (Можно-ли к иксбоксу или к соньке подключить клаву с мышкой, или мой любимый подаренный на др. джойстик для авиасимуляторов) и ограниченный выбор магазинов приложений. (речь идет именно о легальных копиях ПО, а не о скачивании игр с торрентов)
Отдельный для игр, отдельный для банка, отдельный для котиков, отдельный для госуслуг. Не многовато ли?
денува? ее конечно тоже уже ломают, но она, внезапно, не творит херни. за системный драйвер «защиты» просто нужно бить по морде до тех пор пока ответственные не перестанут шевелиться, а потом еще и обоссать.
На самом деле нет, эмулятор написать достаточно сложно и долго.
Когда на сервере находится только механизм определения лицензии, то это обходится. Но в случае когда там лежат именно элементы игровых механик, таблицы контента и т.д., то требуется работа по фактически повторному созданию куска игры. Как пример до сих пор не взломанных — diablo 3. Были еще какие то, но кажется ни одной взломанной полноценно, так или иначе original game expirience всегда страдает.
Но такие меры потребуют обязательного стабильного интернет соединения(проблема для игроков) + поддержки серверов от разработчика. Близзард это потянут, их фанаты тоже, более мелкие конторы уже вряд ли.
За создание подобных игр хочется бить по рукам. Как только отключатся сервера, игра превратится в тыкву.
Единственное приемлемое решение это f2p, будет потеряно только время.
Таких злобных примеров всего два — Prince Of Persia: Forgotten Sands и Dark Spore. Для первой быстренько написали эмулятор, а вторая да, погибла.

Онлайн от Метелицы — это всё таки нечто большее чем просто сервера
Тут дело вообще не в DRM и защите от пиратства. Игра вполне могла быть DRM-free и бесплатной.
Речь в новости об античите. Играть же против читеров банально неинтересно.
Да, виноват.
Если DRM ещё как-то можно реализовать в ОС, то с читерами бороться намного сложнее.
Ещё один неприятный побочный эффект подобных защит — невозможность запустить защищаемую игру под wine. А в некоторых случаях (ArcheAge как пример) даже и под VirtualBox не запустится.
UFO just landed and posted this here
интересно, как microsoft подписывает такие драйвера? неужели у них нет тестов, которые должны следить за попытками возможного отключения внутренних механизмов защиты?
Sign up to leave a comment.