Сравнительный тест программ, предотвращающих атаку на ARP-таблицу

    Не так давно большой интерес (1, 2) вызвала программа DroidSheep, перехватывающая аккаунты пользователей он-лайн сервисов, которые пользуются ими через общедоступный Wi-Fi. На исконно русский вопрос: «что делать?» кто-то предложит воспользоваться программами для защиты от подобного рода атак, написанными под Андроид. Вот их я и решил протестировать.

    А тестировал я её давно (ещё в 2008 году) написанной мною программкой ARPBuilder, которая создавалась для проверки уязвимости различных МСЭ к ARP-спуфинг атакам (подробнее):

    image

    Собственно, мне удалось разыскать всего 2-х кандидатов на тесты: DroidSheepGuard и shARPWatcher (обе программы для полноценной работы требуют наличие root-доступа).

    Об удачности атаки я судил по показаниям ARP-таблицы моего подопытного Android-устройства. Показания снимал через программку Net Status:
    image



    В тестах проводилось 2 типа атак:
    1. ARP-ответы (наиболее распространённый тип атак).
    2. ARP-запросы (более редкий тип атак, но чаще всего успешно проходящий в случае использования различных МСЭ с функцией защиты от ARP-spoofing)

    Первым прошёл испытание DroidSheepGuard.

    image

    Поначалу я всё никак не мог понять: работает ли программа хоть как-то? Потому что ARP-таблицу я успешно отравлял, а программка там мне ничего и не сказала об этом.Однако, обратив внимание на верхний ползунок, я уменьшил интервал (как оказалось, это интервал проверки изменений ARP-таблицы) до 1 мин и меня ждало долгожданное окошко с дисконнектом от Wi-Fi.

    image

    Т.к. программа мониторит любое изменение уже имеющихся записей в ARP-таблице, то совершенно неважно каким из 2-х типов атак подвергается ваше Android-устройство.

    shARPWatcher


    image

    Я так и не понял по какому принципу работает это ПО. Все мои атаки удачно проходили и никакой реакции за долгое время от ПО так и не поступило. Хотя запускал её как и сообщалось на сайте программки, сначала её, потом уже коннект к Wi-Fi сети.

    В общем, вердикт прост: используйте DroidSheepGuard с минимальным интервалом проверки. А лучше вообще не заходите в свои аккаунты из публичных сетей.
    Поделиться публикацией

    Комментарии 46

      +2
      спасибо, до этого использовал VPN соединение. Теперь на андроиде перейду на приложение DroidSheepGuard.
        +4
        Лучше используйте VPN. DroidSheepGuard не может восстанавливать ARP-таблицу. Зато может постоянно отключать от Wi-Fi сети при назойливых атаках злоумышленника, что только негатива прибавит при работе с сетью.
          0
          заметил еще один минус. DroidSheepGuard подъедает немного батарею. Наверное лучше vpn, даже с этой точки зрения.
            0
            Думается мне, что VPN с его шифрованием подъедает батарею не меньше ;) Криптография — ресурсозатратная операция как минимум для процессора.
              0
              тут есть маленькая парадигма. DroidSheepGuard я вообще хотел не выключать, но vpn все равно придется включать только когда необходимо. Поэтому, согласен про батарею и vpn :)
          +1
          А как же Wifi Protector? Очень хотелось бы и его увидеть рядом в тесте.
            +1
            И правда. Упущение.
            Но он денежек стоит. Может, и его протестирую как найду вариант купить его анонимно (не люблю я своей кредиткой расплачиваться). Либо можете сами провести его тест. Всё что нужно для тестов у меня описано. Включайте в одну сеть Ваше андроид-устройство и комп с виндой, на которой запустите ARPBuilder и далее по статье
              0
              На 4pda.ru он есть. Пожалуйста, добавьте к тесту для полноты картины.
                0
                При попытке скачать по ссылке из шапки выдаёт ошибку 404. Версию 1.4.0 в одном из постов также не могу скачать по той же причине
                  0
                  Там, да, надо зарегенным быть. Сервер куку смотрит, и не находит.

                  Регистрация простая и прямолинейная, зато в результате получается удобный (если поставить доп. оболочку) альтернативный Маркет.
                    0
                    А ещё можно платить за софт, простите за занудство.
                      +2
                      Для тестов можно и скачать. Главное потом не зажраться и оплатить если понравится. :)
                        +1
                        Ну или удалить если не понравится))
                      0
                      Насчет дополнительной оболочки можно поподробнее?
                        0
                        Ставите «4pda» и «App&Game 4PDA» c Маркета, забиваете в настройках логин.

                        При входе показываются версии установленного софта в сравнении с имеющимся на 4pda, легко скачать/обновить в несколько кликов или почитать мнения на форуме. Есть хороший рабочий поиск.
                          0
                          Спасибо!
                0
                Пользуюсь им, несколько раз он ловил «умников», доволен.
                  0
                  Кстати, в WiFi Protector понравилась возможность защищать рутованные аппараты от атак без отключения wi-fi.
                +2
                Проверка — раз в минуту может быть не достаточной. Минуты вполне достаточно что бы умудрится разбазарить свою сессию.
                Ай да snort на android :D
                  0
                  в общем-то да. Хотя многое зависит и от скорости передачи данных в сети. Если устройств много и сигнал плоховатый, то 1 мин может быть и недостаточно. Но я согласен, что проверку стоило бы делать чаще
                    0
                    Я могу ошибаться. Но у вас на первой картинке с DroidSheepGuard Checks per minute = 60. Значит ли это проверка идет раз в секунду? Или это просто опечатка в интерфейсе?
                  0
                  А при чём здесь ARP таблицы, если сигнал wifi всё равно броадкастится и его можно перехватывать с правильным драйвером/прошивкой wifi адаптера?
                    0
                    А у Вас был опыт сделать это на андроиде? Установка aircrack-ng под Android нетривиальна. Посему такой способ в массы не пошёл и самый лёгкий способ перехвата для андроид-устройств на текущий момент — использовать Droidseep.
                      +1
                      Вы путаете тёплое с мягким… Товарищ snizovtsev имел ввиду, что нет смысла проводить ARP атаку с целью подслушивания так как в WiFi все пакеты идут броадкастом. Aircrack на андоиде тут вообще не в тему, так как рассматривается ситуация, когда атакуют андроид, а не андроид атакует.
                      +3
                      В открытых сетях и сетях с WEP шифрованием броадкаст дейстивтельно можно слушать, но WPA/WPA2 устанавливает для каждого пользователя разные ключи шифрования, поэтому в сеанс связи вмешаться проблематично. Есть атаки на WPA, позволяющие слушать ответы от точки, если мне не изменяет память, но ARP в любом случае работает безотказно.
                        0
                        Да, Вы совершенно правы
                        0
                        Просто перехват трафика ничего не даст, так как авторизация идет как правило внутри HTTPS. Необходимо направить трафик через свое устройство, чтобы получить возможность на лету, прозрачно для клиента расшифровывать трафик и зашифровывать его обратно. Для этого и нужен arp spoofing. Подробнее про MITM-атаки
                          0
                          авторизация идет как правило внутри HTTPS

                          Это с чего Вы взяли? У меня на Droidsheep много перехваченных сессий фейсбука, контакта и yahoo mail где использовался обычный http. Все кукисы целые
                            0
                            Разницу между авторизацией и сессией знаете? На всякий случай — если иметь доступ к моменту авторизации, то можно узнать логин/пароль, а сессия даёт только «единоразовый вход».
                            VK при логинации точно куда-то по https ломится, глубже я не ковырялся, но шанс, что там есть защита авторизации, есть. FB и yahoo mail меня не интересовали.
                              0
                              Согласен. Если используется обычный http, это возможно. Наверное, мое сообщение следует понимать в том ключе, что направив трафик через себя можно перехватывать данные защищенных сессий. Которые используются в том же Facebook, Google, Yahoo.
                              +1
                              «прозрачно для клиента расшифровывать трафик и зашифровывать его обратно»
                              Ого, хорошо задвинули… Научите расшифровывать и зашифровывать без ключа.
                              Лучшее, что можно сделать MITM в HTTPS — это перевести сайт на http: Войны в песочнице — Часть 2. Обход HTTPS
                                0
                                Я так понимаю, речь шла о подмене сертификата HTTPS таким образом, что атакующий имеет 2 ключа шифрования:
                                1. Ключ между им и жертвой
                                2. Ключ между им и истинным сервером с https
                                  0
                                  Статью напишите про возможность подмены сертификата — я обязательно прочту.
                                  Вы знаете, что все сертификаты проверяются через корневые сертификаты? Вы сможете получить доверенный сертификат на facebook.com? Если нет, то пользователь получит красное окно с предупреждением и тут уже вопрос глупости пользователей, а не техничекой реализации — если он нажмёт «продолжить», то он сам себе злой буратино. Куда проще перекинуть клиента на http дабы не пугать всякими предупреждениями.
                                    0
                                    пользователь буратино уже потому, что юзает общественный Wi-Fi для захода на свой аккаунт.

                                    в браузере под десктоп предупреждение о использовании не доверенного сертификата будет. что будет в браузерах под андроид — надо глядеть. и ещё большой вопрос что будет если пользователь использует специальное приложение для работы с соц сетью. будет ли выдаваться предупреждение о наличии «левого» сертификата или нет.

                                    Куда проще перекинуть клиента на http дабы не пугать всякими предупреждениями.
                                    Можете ссылкой поделиться на реализацию данного метода
                                      0
                                      «Можете ссылкой поделиться на реализацию данного метода»
                                      Два комментария назад я именно туда и дал ссылку…

                                      «пользователь буратино уже потому, что юзает общественный Wi-Fi для захода на свой аккаунт.»
                                      Да ну? Без своих аккаунтов (почта, соц. сети, сервисы) в интернете можно только искать и читать баш. :)

                                      «что будет в браузерах под андроид — надо глядеть.»
                                      Глядел — выплывает сообщение (popup) со стандартными действиями «Я — ССЗБ» / «Не-не-не».

                                      С приложениями не знаю что будет.
                                        0
                                        Я свободно пользуюсь скайпом в открытой сети.

                                        Насчёт подмены http на https — это будет работать в самый первый заход пользователя. Если https-соединение уже установлено, то метод нам не поможет. Разве что разрывать сессию.
                                          0
                                          «Если https-соединение уже установлено, то метод нам не поможет.»
                                          Во-первых, звучит так, будто пользователь увидит сообщение «Вас отключили от сервера», HTTP — stateless протокол, так что ничего страшного в обрыве связи нет. Во-вторых, у вас есть решение, которое сможет не нарушая HTTPS получить содержимое?
                                            0
                                            смотря как собираетесь прерывать связь по HTTPS. Скорее всего, пользователь увидит что-то вроде: «сервер не отвечает». Попытка обновить страницу в браузере даст тот же эффект (тут перехода на HTTP не произойдёт). Если пользователь перезапустит браузер, то да, эффект будет.

                                            К слову, у меня в браузере при наборе адреса до корпоративной почты браузер автодополняет всю строку вместе с https.
                                              0
                                              Хмм, действительно, оборвать связь не так легко, я не учёл это. Остаются варианты с дописыванием JS кода (redirect) в файлы, которые грузятся через обычный HTTP, хотя это уже на «дыру» конкретного сайта похоже, тот же Хром возмущается по этому поводу.
                                            0
                                            Скайп шифрует соединения, нет?
                                              0
                                              Да, шифрует. Иначе бы не пользовался им в открытой сети )
                                0
                                Даже если забыть про это, кроме ARP есть ещё более точечный ICMP Redirect.
                                0
                                Как на счёт подмены DHCP? Можно ведь клиентов подключать сразу на свой шлюз и не напрягаться с ARP. :)
                                VPN/ssh-tunnel рулит…
                                  0
                                  Подмена DHCP сработает против вновь появляющихся пользователей. А если интересуют те, которые уже в сети — не покатит. Разве что спровоцировать выбрасывание их из сети и ждать переподключения
                                    0
                                    В протоколе 802.11 WLAN как раз есть специальный тип пакета, который легально позволяет отконнектить всех клиентов, так что с этим проблем не вижу.
                                      0
                                      Не всех, а конкретного. В случае отсутствия шифрования в сети или применения WEP -подойдёт. В случае использования WPA — не получится.

                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                Самое читаемое