😇 Kloak

Kloak – інструмент деанонімізації проти натискання клавіш. Інструмент забезпечення конфіденційності, який знижує ефективність збору біометричних даних натискання клавіш.

Це досягається шляхом приховування часових інтервалів між подіями натискання та відпускання клавіш, які зазвичай використовуються для ідентифікації та деанонімізації.

Ви можете запустити kloak як окремий додаток або як службу GNU/Linux.

тиць
github.com/vmonaco/kloak

Ви можете перевірити, чи справді клоак працює, спробувавши онлайн-демонстрацію біометрії натискання клавіш. Наприклад, спробуйте ці три різні сценарії:

  • Тренування у звичайному режимі, тест у звичайному режимі
  • Тренування у звичайному режимі, тест маскування
  • Тренування з маскою, тестування з маскою
  • Тренуватися у звичайному режимі означає тренуватися зі звичайною поведінкою під час набору тексту, тобто без маскування.

На сторінці реєстрації в демо-версії KeyTrac введіть ім’я користувача і пароль без маскування, а потім на сторінці автентифікації спробуйте пройти автентифікацію.

Запустіть kloak, а потім спробуйте пройти автентифікацію ще раз. Ці результати було отримано з максимальною затримкою 200 мс (-d 200).

Тепер поверніться на сторінку реєстрації. Зареєструйтеся із запущеним плащем, а потім спробуйте пройти автентифікацію із запущеним плащем. Знову ж таки, це з максимальною затримкою 200 мс.

Ваші результати можуть відрізнятися, особливо за сценарієм поїзного маскування/тестового маскування. Сценарій “маскування поїзда/тестове маскування” складніше анонімізувати, ніж сценарій “звичайний поїзд/тестове маскування”.

Це пов’язано з тим, що маскування приховує вашу поведінку при введенні тексту, але не робить вашу поведінку схожою на поведінку інших користувачів. Ця дилема пов’язана з проблемою співпраці користувачів. Легко зробити так, щоб ваша поведінка при наборі виглядала як щось, чим вона не є, але що це має бути?

Якщо вона занадто унікальна, то зміна принесе більше шкоди, ніж користі, оскільки вас легко ідентифікувати. Без співпраці з іншими користувачами важко вибрати поведінку, яку важко відрізнити.

Передісторія

kloak переслідує дві мети:

  1. Ускладнити противнику ідентифікацію користувача.
  2. Ускладнити противнику відтворення поведінки користувача при введенні тексту.

Перша мета теоретично може бути досягнута лише в тому випадку, якщо всі користувачі співпрацюватимуть один з одним, щоб мати однакову поведінку при наборі тексту, наприклад, натискаючи клавіші з однаковою частотою. Оскільки різні користувачі друкують з різною швидкістю, це не практично.

Замість цього псевдоанонімність досягається шляхом заплутування ритму друку користувача, що ускладнює для зловмисника повторну ідентифікацію окремого користувача.

Друга мета – ускладнити для зловмисника підробку поведінки при наборі тексту і видачу себе за іншого користувача, можливо, в обхід двофакторної автентифікації, яка використовує біометричні дані натискання клавіш. Це досягається за рахунок непередбачуваності часу між натисканнями клавіш.

Для отримання додаткової інформації див. статтю “Заплутування часових інтервалів між натисканнями клавіш для уникнення ідентифікації та імперсоналізації”.

Як це працює

Час між натисканням і відпусканням клавіш зазвичай використовується для ідентифікації користувачів за їхньою поведінкою при наборі тексту. kloak приховує ці інтервали часу, вводячи випадкову затримку між фізичними подіями натискання клавіш і надходженням ключових подій у програму, наприклад, у веб-браузер.

kloak перехоплює пристрій вводу і записує відкладені події клавіш на пристрій виводу. Захоплення пристрою забороняє будь-якій іншій програмі читати події. Події планується випускати в окремому потоці, де вводиться випадкова затримка перед тим, як вони будуть записані на користувацький пристрій вводу через uinput. Це було натхненно kbd-mangler.

Коли це не спрацьовує

kloak не захищає від усіх видів біометрії натискання клавіш, які можуть бути використані для ідентифікації. А саме, якщо затримка занадто мала, він не буде ефективним. Налаштуйте затримку до комфортного для вас значення.

Повторні натискання клавіш не приховуються. Якщо ваша система налаштована на повторення утримуваних клавіш з унікальною частотою, це може призвести до витоку вашої ідентичності.

Стиль письма все ще очевидний, і для визначення авторства можуть бути використані методи стилометрії.
Когнітивна поведінка більш високого рівня, така як редагування та використання додатків, все ще очевидна. Ці низькочастотні дії є менш зрозумілими на даний момент, але потенційно можуть бути використані для розкриття ідентичності.

Додати коментар