Комментарии 63
Давно пора было заменить, писать свою GINA.dll не очень приятно.
Мне к счастью не приходилось, поэтому не знаю как было раньше. Может расскажете в двух словах?
Вкратце примерно так: при входе WinLogon загружает msgina.dll, которая экспортирует штук 20 функций. Писать с нуля — задача на любителя. Обычно пишут обертку на стандартной. Как правило «заворачивают» все функции.
Если очень интересно, то можно почитать об этом тут: www.rsdn.ru/article/baseserv/extgina.xml
Если очень интересно, то можно почитать об этом тут: www.rsdn.ru/article/baseserv/extgina.xml
Спасибо за полезную информацию! :)
О да, я помню это извращение! ))
Дебагинг всего этого был просто неописуемым ))
Помню, чтобы была возможность загрузиться, когда что-то пошло не так, я засунул свою gina.dll на флешку, и если что — выдирал ее из компа )))
Дебагинг всего этого был просто неописуемым ))
Помню, чтобы была возможность загрузиться, когда что-то пошло не так, я засунул свою gina.dll на флешку, и если что — выдирал ее из компа )))
удаленную отладку в совокупности с виртуальной машиной надо использовать под такие вещи имхо.
Не уверен, что это можно отлаживать удаленной отладкой… В любом случае, я тогда совсем зеленый был, и про такие вещи как удаленная отладка и виртуальные машины еще не слышал :)
можно, почему нельзя… под ntsd можно загнать winlogon изменив gflags-и, а можно и msvsmon сервисом поставить и работать через студии как обычно… по крайней мере через ntsd я отлаживал винлогон, но это было еще в win2k, может что и поменялось…
Спасибо за информацию, приму к сведению )
blogs.msdn.com/alejacma/archive/2007/11/13/how-to-debug-lsass-exe-process.aspx
вот пошаговое описание как отлаживать «околоядерные» процессы, в этом нет ничего сложного.
вот пошаговое описание как отлаживать «околоядерные» процессы, в этом нет ничего сложного.
Есть замечательный OpenSource проект pGina — там достаточно написать плагин, обязанность которого авторизовать.
(Я писал плагин, чтобы ребёнку ограничить время сидения за компьютером: другие программы, такие как TimeBoss, он как-то обходит)
(Я писал плагин, чтобы ребёнку ограничить время сидения за компьютером: другие программы, такие как TimeBoss, он как-то обходит)
40 тысяч обезьян улыбнули
А если флешка потеряется?
А если флешка потеряется?
значит удаляем дллку, чтобы тот кто её нашел не сильно радовался, и входим по паролю :)
вход по паролю не отключаем — более того, credential providers и фильтры в безопасном режиме не работают :)
вход по паролю не отключаем — более того, credential providers и фильтры в безопасном режиме не работают :)
By флешка будет не единственный способ аутентификации?
Т.е. сможем ли мы потом войти by руки?
// Весь код и логику не читал
Т.е. сможем ли мы потом войти by руки?
// Весь код и логику не читал
Пароль классный. Остальное не читал.
Я знаю человека с таким-же паролем. Пора заносить в словари.
Вообще, глупо хранить в флешке или в коде провайдера пароль. Надо либо его там не хранить, либо если этого требует модель безопасности, хранить уникальный (для провайдера) код.
НЛО прилетело и опубликовало эту надпись здесь
На учебе по линуксу была именно такая задача: вход по флешке. Ничего не кодили. Савили пакеты, генерили ключ и все. Не для холивара…
Теперь если на учёбе по винде будет именно такая задача, поставьте пакет автора топика. Ничего не надо будет кодить.
Ну если можно поставить пакет, то можно вообще задействовать TPM с аппаратным идентификатором вроде iButton + биометрия с полностью шифрованными разделами. Это не проблема. Было бы желание, ну и под виндовс такие пакеты как правило платные + цена самих tpm.
про обезьянм — это из лабиринта отражений Лукъяненко.
а если потеряется флешка — винду придется сносить. это как со смарт-картами, если настроить аутентификацию на одного юзера.
а если потеряется флешка — винду придется сносить. это как со смарт-картами, если настроить аутентификацию на одного юзера.
Ничего сносить не придётся, это один из способов логина. Потерялась флешка — удалите dll, зайдя из Safe Mode, и логиньтесь дальше со своим обычным паролем.
скажу по секрету что очень редко действительно надо сносить винду. в данном случае есть масса способов решить проблему не снося винду, от не-выключения стандартного режима входа по паролю(да-да, под одним и тем же пользователем можно войти разными способами!), до исправления реестра из диска восстановления винды :)
Потерялась смарт-карта — выписали пользователю новый сертификат на новую смарт-карту.
Или Вы про какой-то другой метод работы со смарт-картами?
Или Вы про какой-то другой метод работы со смарт-картами?
И только сейчас обратил внимание на дату, мои извинения.
Сделайте конфигуратор
а ещё переписать всё без заплаток, сделать конфигуратор, удобный установщик, гарантировать безопасность и надежность и отсутствие утечек памяти — так можно и свой коммерческий продукт сделать.
проблема в том что это всё — уже дело не двух вечеров, а больше :(
проблема в том что это всё — уже дело не двух вечеров, а больше :(
Ну что, кто реализует целую утилиту?))
интереснее сделать авторизацию не по флешке, а по «Bluetooth»
например подходим к компьютеру, активируем — нас впускает
отходим, сигнал пропадает или ослабевает — блокировка
например подходим к компьютеру, активируем — нас впускает
отходим, сигнал пропадает или ослабевает — блокировка
технически — вход можно реалиховать так же. только сканировать все PNP-устройства на предмет виртуального ком-порта или чего-либо ещё(смотря какой bluetooth-профиль используем), а на устройстве+компьютере настроить автоматический pairing в случае нахождения девайса в видимом радиусе :)
впринципе вышеуказанное + сервис/приложение работающее в фоне которое по пропадании коннекта — блокирует винду = то что вы хотите :)
а вообще такие решения уже есть, насколько я знаю…
впринципе вышеуказанное + сервис/приложение работающее в фоне которое по пропадании коннекта — блокирует винду = то что вы хотите :)
а вообще такие решения уже есть, насколько я знаю…
села батарея — приехали :)
Какая-то софтинка для сони-ериксонов могла блокировать компьютер по исчезновению телефона из пределов видимости. Логин реализован не был. С другой стороны, дело было года три назад, может уже и изменилось что… Вон, в описании Rohos Logon про блютус что-то написано.
Лично мне интереснее вариант использования чего-нибудь типа проксимити-карты… Но для нее специально обученный ридер надо покупать.
Лично мне интереснее вариант использования чего-нибудь типа проксимити-карты… Но для нее специально обученный ридер надо покупать.
Угощайтесь www.rohos.ru/welcome/bluetooth_login.htm
Если кому хочется готового, то можно глянуть на www.rohos.ru/products/rohos-logon-key/ или www.dekart.com/products/access_control/logon/
За деньги, но демка есть и там, и там. Декартом я несколько лет назад пользовался под ХР, вроде особых проблем не было. Потом надоело. :)
За деньги, но демка есть и там, и там. Декартом я несколько лет назад пользовался под ХР, вроде особых проблем не было. Потом надоело. :)
Интересно, но пара небольших замечаний.
Во-первых, все устройства (в частности и диски и мыши) являются наследниками CIM_LogicalDevice.
Во-вторых, вместо итерирования всех устройств с последующим сравнением, лучше сразу создавать WQL запрос с ключевым словом WHERE:
SELECT * FROM CIM_LogicalDevice WHERE PNPDeviceId = 'USBSTOR\DISK&VEN_CBM&PROD_FLASH_DISK&REV_5.00\192023004CB4C702&0'
Во-первых, все устройства (в частности и диски и мыши) являются наследниками CIM_LogicalDevice.
Во-вторых, вместо итерирования всех устройств с последующим сравнением, лучше сразу создавать WQL запрос с ключевым словом WHERE:
SELECT * FROM CIM_LogicalDevice WHERE PNPDeviceId = 'USBSTOR\DISK&VEN_CBM&PROD_FLASH_DISK&REV_5.00\192023004CB4C702&0'
автор упрям и усидчив.
Credential Provider — это объект COM?
да
ну значит в теории то же самое можно сделать и на .NET.
не хотите написать вторую часть статьи? :)
не хотите написать вторую часть статьи? :)
сделать то можно, но лично мне не кажется правильным писать такие вещи на управляемом коде… если при логоне начнет подгружаться CLR ради такой маленькой вещи то это не очень хорошо ИМХО.
как бы я ни любил .NET :)
как бы я ни любил .NET :)
Ура! У меня заработало! Спасибо автору статьи!!!
pam_usb for Windows…
Как поживает проект на новых Windows 7?
На моей WM_DEVICECHANGE не приходит…
На моей WM_DEVICECHANGE не приходит…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Вход в систему по подключению определенной флешки