Вопрос про программы-шпионы

Тема в разделе "WASM.WIN32", создана пользователем ksu_ant, 4 янв 2006.

  1. ksu_ant

    ksu_ant New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2005
    Сообщения:
    273
    Здравствуйте!

    Возник такой вопрос: можно ли обмануть клавиатурный (и мышиный) шпион, работающий в kernel-mode (также и user-mode), т.е. - создать "шумы", не позволяющие перехватывать ввод пароля, или еще как-нибудь. Нужно обезопасить конкретное приложение, а не систему в целом, но защитить желательно так, чтобы "честно" было. Т.е. надежно на 100% (или, хотя-бы - 99,99% :)).

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

    И еще вопросик: к тем, кто использовал Klog. Со всеми ли типами клавиатур работает данный драйвер? Нет ли проблемы, которую отметил Four-F в своем примере, когда драйвер некорректно работает с USB-устройствами?

    У меня нет USB клавиатуры, поэтому я не могу проверить.

    И, если он нормально работает с USB, нет ли ссылок на подобные универсальные перехватчики мыши (желательно на C, но можно и на Asm).
     
  2. FsynC

    FsynC New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2005
    Сообщения:
    34


    Шумы? интересно конечно, если из-за одно кейлоггера создавать программные, или еще лучше, аппаратные шумы...



    И зачем обманывать, если можно просто отследить, а потом бахнуть? Любой кейлоггер теряет свой смысл, если в нем не имеется возможность отсылать емейл, или хоть как-то работать с сеткой. Хороший фаерволл-это раз.







    Можно. Но и все остальные проги так же будут

    воспринимать эти "шумы", как нажатие клавиш.

    А если будешь отсылать нажатые клавишы конкретному приложению-кейлоггеру, то какой смысл? проще просто бахнуть кейлоггер.
     
  3. ksu_ant

    ksu_ant New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2005
    Сообщения:
    273
    Вы меня не совсем правильно поняли.

    Ситуация такая: есть приложение, работающе, например с БД.

    При запуске данной программы производится авторизация - пользователь вводит свои данные и СУБД принимает/отклоняет соединение.

    Так вот, если keylogger перехватит данные, он (или программа, идущая с ним дополнительно) сможет запустить приложение и авторизоваться в СУБД, а затем выполнить какие-то действия от имени пользователя. Так вот этого и нельзя допустить.

    P.S.: Описаная ситуация схематична, СУБД может быть локальной, а может и не быть СУБД вообще (=> Firewall - не то решение), т.е. авторизация пользователя в любом другом (возможно, локальном) приложении.

    Нужно обеспечить невозможность перехвата/подстановки пароля для конкретного приложения.

    А если будешь отсылать нажатые клавишы конкретному приложению-кейлоггеру, то какой смысл? проще просто бахнуть кейлоггер.

    А узнать-то как, что это кейлоггер по SDT etc.? Пока перекроешь все возможности перехвата - времени куча уйдет, да и нет гарантии, что не найдут новое решение для обмана, а писать придется тонну кода (Antikeylogger - целая спец. программа, писать которую нет ни времени, ни желания).
     
  4. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"


    Я для этих целей использовал не кейлогер, а перехватывал интерфейсы COM обьектов работающих с СУБД.





    Это практически невозможно.





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





    Обойти Antikeylogger - задача на пару минут.
     
  5. ksu_ant

    ksu_ant New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2005
    Сообщения:
    273
    To Ms-Rem

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

    Надеюсь, что нужна. :derisive:



    Хорошо, скажите, можно ли создать такую имитацию, которую драйвер мог бы принять за нажатие клавиш. Только 100%, чтобы нельзя было отличить от аппаратного нажатия.

    Для распознавания нажатий в распоряжении все права и драйвер. Если возможно, то как обмануть такую систему?

    Желательно с кодом :)
     
  6. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"


    Такое невозможно даже теоретически.

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

    Этот метод требует интеграции такой фичи в программу, но и перехватить вводимый таким образом текст можно будет лишь написав кейлогер предназначеный специально для этой программы. Только юзера от таких фич будут крыть разработчика страшным матом...
     
  7. ksu_ant

    ksu_ant New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2005
    Сообщения:
    273
    "Такое невозможно даже теоретически. "



    Прошу прощения, за возможно нудное замечание, просто появилась одна идейка.

    Значит, если встроить в стек клавиатуры драйвер, наподобие Klog, то обмануть его программно не удастся?

    Т.е. нет способа перехитрить драйвер и послать какой-то программно-инициированный код с тем, чтобы этот Klog (к примеру) подумал, что это пользователь ткнул кнопочку на клаве/мышке.
     
  8. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"


    Klog обмануть удасться, я говорю о невозможность сымитировать нажатие клавиши так, чтобы никто и накогда (при всем желании и умении) не смог написать программу которая сможет это нажатие отличить от настоящего.
     
  9. ksu_ant

    ksu_ant New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2005
    Сообщения:
    273
    Спасибо!

    Будем накапливать "знания и умения".

    Если есть исходники - посодействуйте в процессе накопления. :)
     
  10. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    ksu_ant

    если ты хочеш сделать безопасным ввод пароля в своей проге то сделай например так



    выводиш на экран цифры от 0 до 9 в случайной последовалельности и пусть юзер наберает свой пароль кликая мышкой.
     
  11. BITk0der

    BITk0der New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2004
    Сообщения:
    24
    Адрес:
    Russia
    а нельзя разве поставить хук на клавиши и первым обрабатывать и подставлять уже свой кнопки?
     
  12. ksu_ant

    ksu_ant New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2005
    Сообщения:
    273
    to doctor_Ice:

    Спасибо за подсказку, эту идею, в сочетании с предложением Ms-Rem, я рассматриваю как одну из вероятных в разработке.

    В связи с этим возникает вопрос: нет ли примеров (исходников) создания изображения, защищенного от распознавания, так как изобретать велосипед - нет ни времени, ни желания.

    to BITk0der:

    Это понятно, но вопрос и возник из-за того, что тяжело гарантировать, что мой драйвер будет ПЕРВЫМ. Из различных обсуждений стало ясно, что вражеский драйвер (назовем его так) имеет возможность встроиться "ниже" доверенного, а, следовательно, может вводить в заблуждение драйвер защиты и систему авторизации.

    Если я в этом ошибаюсь, - будет просто замечательно.
     
  13. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    ksu_ant

    В связи с этим возникает вопрос: нет ли примеров (исходников) создания изображения, защищенного от распознавания, так как изобретать велосипед - нет ни времени, ни желания.



    вращение шум и эффект линзы
     
  14. ksu_ant

    ksu_ant New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2005
    Сообщения:
    273
    Нет ли у Вас ссылочек?
     
  15. BITk0der

    BITk0der New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2004
    Сообщения:
    24
    Адрес:
    Russia
    ksu_ant

    если рассматривать вопрос защиты от, именно, вражеского хук-а, то можно просто просмотривать все хуки, и подозрительные убивать, а еще же есть такая тема, что можно ставить хуки на хуки...тогда в любом случае твой хук будет первым...
     
  16. ksu_ant

    ksu_ant New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2005
    Сообщения:
    273
    Хуки-то ладно, наставить можно.

    Но вот в чем дело: но, как мы обсуждали выше с Ms-Rem, можно (хотя-бы теоретически) вклиниться в процесс обработки сигналов и посылать фальшивые пакеты, имитирующие нажатия клавиш пользователем. Это приведет к компрометации всей подсистемы авторизации. В смысле, если вредоносный объект каким-либо образом получит пароль пользователя (допустим, используя тот же перехват). Не могу же я все события клавиатуры шифровать драйвером - ОС и программы то работать должны. Да и если как-нибудь злоумышленник ухитрится расположить свой перехватчик ниже моего (учитывая предыдущие ответы, - это возможно), то даже шифрование теряет смысл.
     
  17. doctor_Ice

    doctor_Ice New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2005
    Сообщения:
    845
    Адрес:
    Russia
    ksu_ant



    нет ссылок не... да и зачем задача вообщем тривиальна главное грамотный шум под цвет текста почти и ломанные линии сплайны...