Защита от эмуляции нажатий клавиш

Тема в разделе "WASM.WIN32", создана пользователем pahan_, 9 июн 2011.

  1. pahan_

    pahan_ New Member

    Публикаций:
    0
    Регистрация:
    9 июн 2011
    Сообщения:
    2
    Как можно защитить в своей программе форму (или хотя бы некоторые поля ввода) от удаленного управления через
    VNC, RAdmin и проч? Пробовал делать ввод через DirectInput, все равно через VNC без проблем вбрасываются нажатия.
    Судя по исходникам VNC он для этого использует ф-цию keybd_event, можно как-то от этого защититься?
    Программа должна работать под правами обычного пользователя (XP/Vista/7). Например в оснастке Касперского это реализовано, через VNC внутри его окна нельзя ничего сделать. В каком хоть направлении копать?
     
  2. float

    float New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2010
    Сообщения:
    113
    Shadow Sdt хук на NtUserSendInput
     
  3. 100gold

    100gold New Member

    Публикаций:
    0
    Регистрация:
    26 фев 2010
    Сообщения:
    165
    При таких требованиях абстрактная цель защиты недостижима, т.к. всегда можно на уровне клавиатурного стека сгенерировать нажатие на клавишу, которое никак не получится отличить от настоящего.

    Самое простое в этом случае - сделать список известных приложение (VNC RAdmin и проч) и не запускаться, когда запущены они. Если это не устраивает, то отказываться от требования про обычного пользователя
     
  4. pahan_

    pahan_ New Member

    Публикаций:
    0
    Регистрация:
    9 июн 2011
    Сообщения:
    2
    сделал пока через хук на WH_KEYBOARD_LL (раньше про него не знал)
    в VNC и через терминал действительно ввод отвалился

    это самое совместимое решение которое нашел
    к сожалению от кейлоггеров оно сильно не спасет
    через directinput было неплохо в этом плане
    видимо придется комбинировать эти 2 метода: где-то ввод через DirectInput,
    где-то хук чтобы нельзя было юзать программу удаленно
     
  5. float

    float New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2010
    Сообщения:
    113
    раньше юзал этот хук, он не защищает от WH_JOURNALPLAYBACK
     
  6. klzlk

    klzlk New Member

    Публикаций:
    0
    Регистрация:
    2 июн 2011
    Сообщения:
    449
    100gold
    На уровне IRP устанавливаются фильтры, там же и кейлоггеры. Так что надёжнее и проще эмулить ввод на уровне шадова(RIT), либо на уровне GUI-апи в приложении.