Временами дела идут из рук вон плохо. В 2012 г. в Linux был реализован новый сетевой TCP/IP-стандарт RFC 5961 с целью повысить надежность протокола TCP и усилить его безопасность, блокировав сетевые атаки в рамках допустимого окна соединения. Но в результате в системе безопасности образовалась доселе не известная брешь. По иронии судьбы, другие операционные системы, замешкавшиеся с внедрением этого нового механизма «безопасности» (FreeBSD, macOS и Windows), не восприимчивы к этому новому направлению атаки.
Потенциально такая атака может представлять серьезную угрозу, так как с ее помощью можно разорвать или даже перехватить интернет-соединение между системами Linux и Android. Так, к примеру, если со смартфона под Android подключиться к сайту USA Today, соединение может быть прервано. Однако применить тот же самый вид атаки к соединению между компьютером под Windows и USA Today не получится.
Проблема касается любой операционной системы на базе ядра Linux версии 3.6 или выше. Релиз Linux 3.6 вышел в 2012 г. Уязвимость позволяет хакеру производить поиск клиент-серверных соединений, находясь в любой точке Интернета. Как только атакующий найдет подходящее сетевое соединение, он может вторгнуться в него, вызвать разрыв соединения и выполнить атаку с внедрением данных.
Насколько все плохо? Обнаружившие эту уязвимость утверждают, что атаку можно производить быстро и надежно: занимает она меньше минуты и срабатывает в 90% случаев.
По словам исследователей Калифорнийского университета в Риверсайде (UCR), злоумышленники могут воспользоваться дырой в безопасности работы протокола TCP/IP под Linux самыми разными способами: хакеры могут удаленно перехватывать разговоры пользователей по Интернету, запускать направленные атаки и отслеживать онлайн-деятельность пользователей, принудительно прерывать сеанс связи, перехватывать обмен сообщениями между узлами или даже скомпрометировать конфиденциальность анонимных сетей вроде Tor.
«Уникальное отличие продемонстрированной нами атаки состоит в том, что для ее совершения не нужно прикладывать особых усилий, — сообщил Чжиюнь Цянь, доцент кафедры компьютерных дисциплин UCR. — В сущности, сделать это может кто угодно в мире при условии, что атакующая машина будет находиться в сетевом окружении, допускающем IP-спуфинг. Все, что нужно будет знать злоумышленнику, — это пара IP-адресов клиента и сервера, выступающих в качестве мишени, а эту информацию получить довольно просто».
Сгущая краски, Цянь добавил, что «в отличие от традиционных кибератак в данном случае пользователи могут попасть под удар, даже не совершая никаких заведомо ошибочных действий, таких как скачивание вредоносного ПО или нажатие на ссылку в фишинговом e-mail-сообщении».
Дело осложняется тем, что этот вид атаки можно использовать даже против безопасных соединений. И хотя в этом случае у атакующего не будет возможности прочитать зашифрованные данные, он может применить этот прием, чтобы разорвать соединение или идентифицировать его участников. Применительно к сети Tor и другим анонимайзерам, атакующий может сбросить сетевое соединение с целью вынудить узел проложить связь через ранее взломанный сервер.
Хорошая новость (а такая есть) состоит в том, что проблему легко исправить. Во-первых, код самой Linux в данный момент исправляют, чтобы прервать в зародыше этот вид атаки. Во-вторых, нужно просто поднять до предела максимальное количество «подтверждающих ACK-пакетов» (отсылаемых узлу-отправителю TCP-пакетов с требованием вернуть тот же самый Sequence Number, что и при установлении соединения), чтобы свести к минимуму вероятность злоупотребления проблемой «побочного канала», которая и обусловила возможность этой атаки.
К примеру, в семействе Linux-систем Ubuntu можно исправить этот недочет, выполнив следующие действия:
- Откройте файл /etc/sysctl.conf с помощью текстового редактора, например vim.
- Введите следующую строку: net.ipv4.tcp_challenge_ack_limit = 999999999
- Сохраните файл.
- С помощью shell-команды «sysctl -p» обновите конфигурацию.
И все — после этого ни вашу систему, ни какие бы то ни было соединения с ней больше никто не сможет атаковать.
Дополнительное облегчение приносит тот факт, что, судя по всему, атака проходит успешно только против систем, использующих сетевой протокол IPv4. Устройства, работающие по протоколу IPv6, предположительно не восприимчивы к этому виду угрозы.