La société Google outil , permettant de suivre et de bloquer , réalisées à l'aide de dispositifs USB malveillants, simulant un clavier USB pour masquer des frappes de touches fictives (par exemple, lors d'une attaque, il peut être une séquence de frappes aboutissant à l'ouverture d'un terminal et à l'exécution de commandes arbitraires). Le code est écrit en Python et sous licence Apache 2.0.
L'outil s'exécute sous la forme d'un service systemd et peut fonctionner en modes de surveillance et de prévention des attaques. En mode de surveillance, il détecte d'éventuelles attaques et enregistre dans un journal les activités liées aux tentatives d'utilisation non autorisée des dispositifs USB pour masquer des entrées. En mode protection, lors de la détection d'un dispositif potentiellement malveillant, il est déconnecté du système au niveau du pilote.
L'activité malveillante est déterminée sur la base d'une analyse heuristique de la nature des entrées et des délais entre les frappes — l'attaque est généralement réalisée en présence de l'utilisateur et pour rester inaperçue, les frappes simulées sont envoyées avec des délais inhabituels pour une saisie normale. Pour modifier la logique de détection des attaques, deux paramètres sont proposés : KEYSTROKE_WINDOW et ABNORMAL_TYPING (le premier définit le nombre de frappes pour l'analyse, et le second l'intervalle seuil entre les frappes).
L'attaque peut être effectuée à l'aide d'un dispositif apparemment inoffensif avec un firmware modifié, par exemple, un clavier peut être simulé dans , , ou (dans une utilitaire spécial est proposé pour masquer des entrées à partir d'un smartphone connecté au port USB fonctionnant sous Android). Pour compliquer les attaques via USB, en plus de ukip, le paquet , qui permet de connecter uniquement des dispositifs de la liste blanche ou bloque la possibilité de connecter des dispositifs USB non autorisés pendant le verrouillage de l'écran et empêche l'utilisation de tels dispositifs après le retour de l'utilisateur.
Source : opennet.ru
