Вот пара вопросов возникла: в висте запущенной на 64-битном процессоре нельзя будет даже под админом ставить неподписанные цифровой подписью драйвера и нельзя будет модифицировать ядро (т.е. в частности, перехватывать IRP_MJ_* обработчики в других драйверах и ставить хуки на SST). Вот непойму, как будут искать выход из положения производители антивирусов и фаерволов. Драйвера то они подпишут, а вот как кернел под себя править будут ? Документированных способов три: защита отключается при подключении системного отладчика, при выборе режима загрузки системы без контроля драйверов (F8 при загрузке и в меню выбирается) и то же самое, но прописанное в boot.ini. Если нетрудно, подкиньте ссылку на толковое описание механизма проверки цифровых подписей реализованного в WinXP - w2k3 - vista.
Пока vista64 не вышла, ничего конкретного про эту защиту сказать врядли будет возможно. Единственно, авторам антивирусов, фаерволлов и другого защитного софта она доставит много геморроя, а вот авторам руткитов как раз нет. Просто потому что делая руткит, я могу творить с системой все, что только пожелаю, в том числе патчить ядро на диске, бут сектора, загрузчик и.т.д, а вот авторам антивирусов за такие вещи могут и пинка дать.
Ms Rem делая руткит, я могу творить с системой все, что только пожелаю, в том числе патчить ядро на диске, бут сектора, загрузчик и.т.д В смысле, через самописный драйвер файловой системы ? Чтобы его загрузить, он должен будет быть подписан. Т.е. есть способы подделки/эмуляции/обхода цифровой подписи ? Я просто с ней никогда не сталкивался непосредственно, поэтому возможно глупые вопросы задаю. Или ты имеешь ввиду, что дырки в защите, через которые можно будет запустить неподписанный драйвер все равно сможешь найти ?
Я говорю не о взломе цифровой подписи (это практически нереально), об отключении кода ее проверяющего, либо об использовании обходных методов исполнения кода в ринг0 (парочка таких, не считая \device\phisycalmemory есть). С диском я могу работать и напрямую, просто открывая девайс созданый драйвером тома, и для этого не обязательно грузить свой драйвер. Пропатчить же загрузчик системы или ядро можно вобще стандартными файловыми функциями. Короче говоря, способов можно придумать множество, поэтому я не считаю эту защиту каким-либо препятствием для себя.
Трудности будут всегда встречатся. Если б их не было все б мы отрастили животики и косили дружно бабло. Если так то можно отлично работать и в юзермоде. Выпустит тот же аутпост версию под висту, мы дружно поковыряем и научимся ставить перехваты там же как и он, хотя как я понял перхват в ядре это ерунда =)
Интересно, а так ли много будет официальных подписанных драйверов, чтобы эта функция всегда оставалась включенной. Сейчас такого не наблюдается, так что скорее всего будет готовый патч (или встроенная функция), отучающий систему от проверки подписи, поскольку Мелкомягкие беруться подписывать дрова вроде как не бесплатно (а многим производителям железо лишние затраты не нужны).
Похоже, что если патч, то неофициальный. У MS позиция достаточно жесткая, чтобы не отключать подпись и давать кому-либо патчить ядро. http://www.microsoft.com/whdc/system/platform/64bit/kmsigningFAQ.mspx
<font color="gray][ FKMA</font><!--color--><font color="gray]: Если нетрудно, подкиньте ссылку на толковое описание механизма проверки цифровых подписей... ]</font><!--color--> http://www.uninformed.org/
да вот как раз таки производителям скорее всего будет выгоднее единажды подписать свой драйвер, чем выпускать железо, которое не будет интегрироваться в систему, в этом чисто коммерческая тактика, потому как такое просто покупать не будут.
CARDINAL Хм. Насколько я понимаю - цифровая подпись действует до тех пор, пока хотя-бы один байт в драйвере не поменяется? И каждый релиз придется подписывать за деньги. Как интересно такие драйверы будут отлаживаться... Очень многие вендоры вряд-ли согласяться на такие затраты, особенно если в их железе используется нелицензированная технология (что в массе своей выпускается в Китае). Наверное не зря руководства Азиатских стран с таким упором стремятся к линуху - там таких сюрпризов не предвидится.
Если производители железа откажутся подписывать дрова, то они просто выпустят патч отключающий проверку подписи. Если это мастера из Китая, то им будет глубоко наплевать на незаконность таких действий. Единственное чего следует опасаться - это того, что такие патчи могут оказаться весьма глючными. Мелкософт пишет, что это остановит kernel mode руткиты, но я считаю, что никакого конца света для вирусописателей не предвидится. Все чем может грозить эта защита, это день-два (или еще меньше) потраченые на создание надежного ее обхода.
Судя по статье по ссылке Four-F неофициально отключить проверку патченья ядра на сегодняшний день проблемы не представляет. Некоторые производители защитного софта (http://www.ghostsecurity.com) открыто предупреждают (http://www.wilderssecurity.com/showthread.php?t=107864), что их продукты используют лазейку для отключения контроля. Возможно так и остальные будут действовать. А пользователь уже будет выбирать, пользоваться такими программами или нет. Имхо. По поводу платной подписи: я так понял, что разработчик должен получить два сертификата: один в verisign ($499) а второй потом в мелкософте (вроде $100) и он сможет сам подписывать свои драйвера. Без обращения в службы мелкософта. Или я не так понял ? alpet Как интересно такие драйверы будут отлаживаться... Для отладки драйверов есть режим отключения проверки подписи: либо по F8 при загрузке (далее в меню выбираешь). Тогда проверка (подписи) для текущего сеанса отключается. Либо в boot.ini ключик прописать.
На тему бедных производителей антивирусов, слышал, что для них лазейку оставят. Но, видимо, на трастовость будут проверять. Наверняка это тоже можно будет фейкать. Подробностей, к сожалению, не знаю. Сам кроме 2-ой беты ничего больше не пользовал. Да и ту совсем маленько - ни о каком реверсировании речи не было... =( Хотя вообще совершенно согласен с ms rem'ом, непреодолимых барьеров не будет. Разве что чуть больше гимора.
S_T_A_S_ Где взял 2ю бету? Официально вышел только build 5308. Это и есть бета 2. По крайней мере она сама о себе так сообщает.
FKMA Это ещё не beta 2. "We are pleased to announce the release of build 5308 of Windows Vista, the Enterprise Community Technology Preview. This build is not beta quality but is being provided as a preview of our progress towards Beta 2."