Что такое PoisonTap и так ли он опасен?
PoisonTap — специально разработанное программное обеспечение стоимостью всего в каких то $5, которое можно разместить на любом USB носителе, таком как флешка, карта microSD и т.п.
Достаточно всего лишь воткнуть подобное USB устройство в порт вашего компьютера, даже заблокированного паролем, и тут же PoisonTap:
- создаст эмулированное Ethernet устройство
- начнет красть весь сетевой трафик на вашей машине
- сделает внутренний роутер видимым для злоумышленника, при этом злоумышленник сможет управлять им удаленно
- создаст бэкдор на вашем компьютере для сотен тысяч доменов, обеспечивая доступ к пользовательским cookie
- предоставит возможность злоумышленнику управлять пользовательскими HTTP запросами и ответами
- останется на вашей машине даже после извлечения вредоносного USB устройства
Механизм кражи сетевого трафика
Сначала злоумышленник вставляет USB устройство с PoisonTap в USB порт вашего компьютера. Сразу же будет создано низко-приоритетное устройство Ethernet, которое начнет рассылать DHCP запросы.
Далее PoisonTap отвечает на этот DHCP запрос таким образом, что:
1) данному Ethernet порту выдается IP адрес
2) при этом DHCP ответ таков, что система начинает считать все пространство 0.0.0.0 — 255.255.255.255 вашей локальной сетью.
Ввиду того, что трафик локальной сети имеет куда больший приоритет, нежели Интернет-трафик, весь сетевой трафик будет идти через вновь образовавшееся LAN соединение.
Таким образом весь интернет-трафик начинает идти через PoisonTap вместо других сетей, к которым подключена ваша машина. И это несмотря на, казалось бы, низкий приоритет!
Бэкдор для удаленного доступа
PoisonTap создает тысячи фреймов с бекдорами на HTML+Javascript. Каждый такой фрейм связан со своим определенным доменом, и злоумышленник может использовать cookie данного домена и в любой момент инициировать HTTP запросы, которые он захочет.
Например, при создании фрейма http://abc.com/PoisonTap зловред принимает все ответы на HTTP запрос, словно он является web сервером. Ответы, разумеется, содержат инструкции для создания стойкого соединения WebSocket во вне на web сервер злоумышленника через Интернет-соединение. Данный WebSocket остается открытым, так что взломщик спокойно может использовать его в любой момент.
Как защититься от PoisonTap?
Возможны два варианта:
1) Вы находитесь и работаете на web сервере. Тогда вы обязаны использовать исключительно HTTPS вместо любого HTTP запроса, и все HTTP содержимое переадресовывать на HTTPS.
2) Вы обычный пользователь обычного компьютера. Тогда единственный выход в качестве защиты от взлома — залить бетоном все USB порты. Ну или хотя бы никогда не предоставлять доступ к вашей машине посторонним лицам, или неизвестным USB носителям!
Разумеется, можно также закрывать все страницы браузера и отключать USB порты каждый раз, как вы отходите от компьютера, но это весьма трудоемко.
В общем… опасайтесь USB устройств!