Что такое перехват данных

Перехват данных по сети

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

Шпионские программы представляют собой специальное программное обеспечение, способное записывать всю передаваемую по сети информацию с конкретной рабочей станции или устройства.

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

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Если сведения передаются не в режиме реального времени, шпионские программы формируют отчеты, по которым удобно смотреть и анализировать информацию.

Перехват по сети может организовываться на законных основаниях или выполняться противозаконно. Главным документом, фиксирующим законность завладения информацией, является Конвенция о киберпреступности. Она создана в Венгрии в 2001 году. Правовые требования разных государств могут несколько различаться, но ключевой смысл одинаков для всех стран.

Классификация и способы перехвата данных по сети

В соответствии со сказанным выше перехват информации по сети можно разделить на два вида: санкционированный и несанкционированный.

Санкционированный захват данных осуществляется с разной целью, начиная от защиты корпоративной информации и заканчивая обеспечением безопасности государства. Основания для выполнения такой операции определяются законодательством, специальными службами, работниками правоохранительных органов, специалистами административных организаций и служб безопасности компаний.

Существуют международные стандарты выполнения перехвата данных. Европейский институт телекоммуникационных стандартов сумел привести к единой норме ряд технических процессов (ETSI ES 201 158 «Telecommunications security; Lawful Interception (LI); Requirements for network functions»), на которых базируется перехват информации. В результате была разработана системная архитектура, которая помогает специалистам секретных служб, сетевым администраторам законно завладеть данными из сети. Разработанная структура реализации перехвата данных по сети применяется для проводных и беспроводных систем вызова голосом, а также к переписке по почте, передаче голосовых сообщений по IP, обмену информацией по SMS.

Несанкционированный перехват данных по сети осуществляется злоумышленниками, желающими завладеть конфиденциальными данными, паролями, корпоративными тайнами, адресами компьютерных машин сети и т.д. Для реализации своих целей хакеры обычно используют сетевой анализатор трафика — сниффер. Данная программа или устройство аппаратно-программного типа дает мошеннику возможность перехватывать и анализировать информацию внутри сети, к которой подключен пользователь-жертва, включая зашифрованный SSL-трафик через подмену сертификатов. Данными из трафика можно завладеть разными способами:

Существуют и более сложные технологии перехвата важных сведений, позволяющие вторгаться в сетевое взаимодействие и изменять данные. Одна из таких технологий — это ложные запросы ARP. Суть способа состоит в подмене IP-адресов между компьютером жертвы и устройством злоумышленника. Еще один метод, с помощью которого можно выполнить перехват данных по сети, — ложная маршрутизация. Он заключается в подмене IP-адреса маршрутизатора сети своим адресом. Если киберпреступник знает, как организована локальная сеть, в которой находится жертва, то он сможет легко организовать получение информации с машины пользователя на свой IP-адрес. Захват TCP-соединения тоже служит действенным способом перехвата данных. Злоумышленник прерывает сеанс связи путем генерации и отправки на компьютер жертвы ТСР-пакетов. Далее сеанс связи восстанавливается, перехватывается и продолжается преступником вместо клиента.

Объект воздействия

Объектами перехвата данных по сети могут быть государственные учреждения, промышленные предприятия, коммерческие структуры, рядовые пользователи. Внутри организации или бизнес-компании может реализовываться захват информации с целью защиты инфраструктуры сети. Спецслужбы и органы правопорядка могут осуществлять массовый перехват информации, передаваемой от разных владельцев, в зависимости от поставленной задачи.

Если говорить о киберпреступниках, то объектом воздействия с целью получения передаваемых по сети данных может стать любой пользователь или организация. При санкционированном доступе важна информативная часть полученных сведений, в то время как злоумышленника больше интересуют данные, с помощью которых можно завладеть денежными средствами или ценной информацией для ее последующей продажи.

Чаще всего жертвами перехвата информации со стороны киберпреступников становятся пользователи, подключающиеся к общественной сети, например в кафе с точкой доступа Wi-Fi. Злоумышленник подключается к веб-сессии с помощью сниффера, подменяет данные и осуществляет кражу личной информации. Подробнее о том, как это происходит, рассказывается в статье об атаке посредника (Man in the Middle, MitM).

Источник угрозы

Санкционированным перехватом сведений в компаниях и организациях занимаются операторы инфраструктуры сетей общего пользования. Их деятельность направлена на защиту персональных данных, коммерческих тайн и другой важной информации. На законных основаниях за передачей сообщений и файлов могут следить спецслужбы, правоохранительные органы и разные государственные структуры для обеспечения безопасности граждан и государства.

Незаконным перехватом данных занимаются злоумышленники. Чтобы не стать жертвой киберпреступника, нужно соблюдать некоторые рекомендации специалистов. Например, не стоит выполнять операции, требующие авторизации и передачи важных данных, в местах, где подключение происходит к общедоступным сетям. Безопаснее выбирать сети с шифрованием, а еще лучше — использовать личные 3G- и LTE-модемы. При передаче личные данные советуют зашифровать, используя протокол HTTPS или личный VPN-туннель.

Защитить компьютер от перехвата сетевого трафика можно с помощью криптографии, антиснифферов; снизит риски коммутируемый, а не беспроводной доступ к сети.

Источник

Исследование: Перехват трафика мобильного Интернета через GTP и GRX

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Большинство абонентов считают, что работа через сотовую сеть достаточно безопасна, ведь крупный оператор связи наверняка позаботился о защите. Увы, на практике в мобильном Интернете есть множество лазеек, дающих широкие возможности для злоумышленников.

Исследователи Positive Technologies обнаружили уязвимости в инфраструктуре сетей мобильной связи, которые позволяют перехватывать GPRS-трафик в открытом виде, подменять данные, блокировать доступ к Интернету, определять местоположение абонента. Под угрозой оказываются не только мобильные телефоны, но и специализированные устройства, подключенные к 2G/3G/4G-сетям с помощью модемов: банкоматы и терминалы оплаты, системы удаленного управления транспортом и промышленным оборудованием, средства телеметрии и мониторинга и т.д.

Операторы сотовой связи, как правило, шифруют трафик GPRS между мобильным терминалом (смартфоном, модемом) и узлом обслуживания абонентов (SGSN) алгоритмами GEA-1/2/3, что осложняет перехват и расшифровку информации. Чтобы обойти это ограничение, злоумышленник может проникнуть в опорную сеть оператора, где данные не защищены механизмами аутентификации. Ахиллесовой пятой являются узлы маршрутизации (или шлюзовые узлы), которые называются GGSN. Их легко обнаружить, в частности, с помощью поисковика Shodan. У проблемных узлов открыты GTP-порты, что позволяет атакующему установить соединение, а затем инкапсулировать в созданный туннель управляющие пакеты GTP. При правильном подборе параметров GGSN воспримет их как пакеты от легитимных устройств сети оператора.

Протокол GTP, описанный выше, никаким образом не должен быть «виден» со стороны Интернета. Но на практике это не так: в Интернете имеется более 207 тысяч устройств по всему земному шару с открытыми GTP-портами. Более полутысячи из них являются компонентами сотовой сети и отвечают на запрос об установлении соединения.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Еще одна возможность для атак связана с тем, что GTP — далеко не единственный протокол управления на найденных узлах. Также встречаются Telnet, FTP, SSH, Web и др. Используя уязвимости в этих интерфейсах (например, стандартные пароли), нарушитель может подключиться к узлу оператора мобильной связи.

Экспериментальный поиск по сайту Shodan выдает несколько уязвимых устройств, в том числе с открытым Telnet и отключенным паролем. Достаточно подключиться к данному устройству и произвести в нем необходимые настройки для того, чтобы оказаться внутри сети оператора в Центральноафриканской Республике.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных
При этом всякий, кто получил доступ к шлюзовому узлу любого оператора, автоматически получает доступ к сети GRX, которая объединяет всех сотовых операторов и используется для предоставления доступа к Интернету абонентам в роуминге. Воспользовавшись единичной ошибкой в конфигурации на одном устройстве, злоумышленник получает возможность проводить различные атаки на абонентов любого оператора в мире.

Среди множества вариантов использования скомпрометированного пограничного узла следует отметить следующие: отключение абонентов от Интернета или блокировка их доступа к нему; подключение к Интернету под видом другого абонента и за чужой счёт; перехват трафика жертвы и фишинг. Злоумышленник также может определить идентификатор абонента (IMSI) и следить за местоположением абонента по всему миру, пока он не сменит SIM-карту.

Опишем некоторые угрозы более подробно.

Интернет за чужой счет

Цель: исчерпание счета абонента, использование подключения в противозаконных целях.

Вектор атаки: злоумышленник действует через сеть GRX или из сети оператора.

Атака заключается в отправке пакетов «Create PDP context request» с IMSI известного заранее абонента, таким образом происходит подключение к сети с его учетными данным. Ничего не подозревающий абонент получит огромные счета.

Возможно подключение с IMSI несуществующего абонента, так как авторизация абонента происходит на этапе подключения к SGSN, а к GGSN доходят уже «проверенные» соединения. Поскольку SGSN в данном случае скомпрометирован, никакой проверки не проводилось.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Результат: подключение к сети Интернет под видом легитимного абонента.

Перехват данных

Цель: подслушивание трафика жертвы, фишинг.

Вектор атаки: злоумышленник действует через сеть GRX или из сети оператора.

Злоумышленник может перехватить данные, передающиеся между абонентским устройством и сетью Интернет, путем отправки на обслуживающий SGSN и GGSN сообщения «Update PDP Context Request» с подмененными адресами GSN. Данная атака представляет собой аналог атаки ARP Spoofing на уровне протокола GTP.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Результат: подслушивание или подмена трафика жертвы, раскрытие конфиденциальной информации.

DNS-туннелирование

Цель: получить нетарифицируемый доступ к Интернету со стороны мобильной станции абонента.

Вектор атаки: злоумышленник — абонент сотовой сети, действует через мобильный телефон.

Давно известная атака, уходящая корнями во времена dial-up, потерявшая смысл при появлении дешевого и быстрого выделенного Интернета. Однако в мобильных сетях находит применение, например, в роуминге, когда цены за мобильный Интернет неоправданно высоки, а скорость передачи данных не так важна (например, для проверки почты).

Суть атаки в том, что некоторые операторы не тарифицируют DNS-трафик, обычно для того, чтобы переадресовать абонента на страницу оператора для пополнения счета. Этим можно воспользоваться — путем отправления специализированных запросов на DNS-сервер; также для этого необходим специализированный узел в интернете, через который будет осуществляться доступ.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Результат: получение нетарифицируемого доступа к сети Интернет за счет оператора сотовой связи.

Подмена DNS на GGSN

Цель: подслушивание трафика жертвы, фишинг.

Вектор атаки: злоумышленник действует через Интернет.

В случае получения доступа к GGSN (что, как мы уже заметили, вполне возможно) можно подменить адрес DNS на свой, перенаправить весь абонентский трафик через свой узел и таким образом осуществить «подслушивание» всего мобильного трафика.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Результат: подслушивание или подмена трафика всех абонентов, сбор конфиденциальных данных, фишинг

Как защититься

Некоторые подобные атаки были бы невозможны при правильной настройке оборудования. Но результаты исследования Positive Technologies говорят о том, что некорректная настройка — отнюдь не редкость в мире телекоммуникационных компаний. Зачастую и производители устройств оставляют включенными некоторые сервисы, которые должны быть отключены на данном оборудовании, что дает нарушителям дополнительные возможности. В связи с большим количество узлов подобный контроль рекомендуется автоматизировать с использованием специализированных средств, таких как MaxPatrol.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

В целом, необходимые для защиты от таких атак меры безопасности включают правильную настройку оборудования, использование межсетевых экранов на границах сети GRX и Интернета, использование рекомендаций 3GPP TS 33.210 для настройки безопасности внутри сети PS-Core, мониторинг защищенности периметра, а также выработку безопасных стандартов конфигурации оборудования и периодический контроль соответствия этим стандартам.

Ряд специалистов возлагают надежды на новые стандарты связи, которые включают и новые технологии безопасности. Однако, несмотря на появление таких стандартов (3G, 4G), совсем отказаться от сетей старого поколения (2G) не удастся. Причиной этого являются особенности реализации мобильных сетей, в частности то, что у базовых станций 2G лучше покрытие, а также то, что на их инфраструктуре работают и сети 3G. В стандарте LTE все так же используется протокол GTP, а поэтому необходимые меры по защите будут актуальными в обозримом будущем.

Источник

О перехвате трафика: 4-10% зашифрованного HTTPS-трафика сегодня перехватывается

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Совсем недавно довелось наткнуться на весьма любопытную заморскую статью. Хотелось бы сопоставить изложенные там факты с российским опытом. Смело делитесь своими мыслями в коментариях. Спойлер: шеф, все пропало!

В этой статье мы рассмотрим, проблему перехвата зашифрованного веб-трафика и её влияние на онлайн-безопасность. Согласно исследованию, опубликованному в NDSS 2017, сегодня перехватывается от 4% до 10% HTTPS-трафика. Анализ перехватов показал, что хотя они не всегда приносят вред, но всё же средства перехвата зачастую ослабляют шифрование, используемое для обеспечения безопасности коммуникаций, что повышает риски для пользователей.

Как перехватывается шифрованный трафик?

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Как показано на иллюстрации, трафик перехватывается с помощью «атаки посредника». Специальное ПО перенаправляет на себя шифрованное соединение и притворяется запрошенным сайтом. Затем перехватчик открывает новое шифрованное соединение с целевым сайтом и проксирует данные сквозь себя, между двумя соединениями, что делает перехват по большей части «невидимым». Поскольку перехватчик получает доступ к не зашифрованным данным в рамках соединения, то он может считывать, изменять и блокировать любой контент, передающийся или получаемый клиентом.

Есть два основных способа перехвата соединений: локальный и удалённый.

Локальный перехват: когда программа-перехватчик выполняется прямо на пользовательском компьютере, сетевой стек операционной системы модифицируется таким образом, чтобы перехватывать и перенаправлять соединения в перехватчика. Этот подход обычно используется антивирусным ПО для мониторинга сетевых подключений, чтобы идентифицировать зловредные скачивания и попытки зловредов похитить данные или внедрить рекламу.

Удалённый перехват: выполняется посредством вставки в сетевой путь мониторинга, соединяющего пользовательский компьютер с сайтом, к которому обращается пользователь. Например, это можно сделать с помощью перенаправления сетевого трафика на перехватчика посредством политик файрвола. Сетевой перехват обычно выполняется «блоками защиты» (security box), которые пытаются выявить атаки или мониторят утечки корпоративных данных из всех компьютеров в сети. Эти аппараты также зачастую используются для перехвата и анализа электронной почты.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Важный аспект перехвата — как приложения выдают себя за сайты, а пользовательские браузеры не замечают подмены. Обычно при установке HTTPS-соединения браузер подтверждает подлинность сайта, проверяя представленный на нём сертификат. Если сертификат не проходит проверку, то браузер выдаёт предупреждение, как на картинке выше, что соединение потенциально небезопасно. Поэтому «невозможность подделки» TLS-сертификатов является краеугольным камнем онлайн-безопасности. Это техническое средство, дающее нам уверенность, что мы общаемся с правильной стороной, а не с самозванцем.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Возникает вопрос, а как HTTPS-перехватчики могут генерировать валидные сертификаты для всех сайтов, если они создавались как неподделываемые? Ответ кроется в процедуре определения браузером валидности сертификата. Если в общем, то при установке нового соединения браузер смотрит, подписан ли представленный на сайте сертификат одним из центров сертификации. Сертификаты центров хранятся локально на компьютере, в доверенном хранилище, поэтому любой добавляемый туда сертификат центра сертификации может быть использован для генерирования валидного сертификата для любого сайта.

Поэтому перехватчику проще всего подделывать сертификаты не через какую-то мудрёную криптографическую атаку, а посредством добавления собственного «корневого» сертификата в хранилище на компьютере. Тогда браузер будет доверять любому сертификату, подписанному перехватчиком. Это не является уязвимостью, потому что добавление сертификата, конечно, возможно только тогда, если у перехватчика есть доступ к файловой системе компьютера, или если сертификат установил сисадмин.

Насколько распространён перехват HTTPS?

Измерение количества перехватов — задача непростая, потому что перехватчики себя не рекламируют. Так что для регистрации фактов перехвата мы использовали усовершенствованную версию технологии сетевого «отпечатка пальца», известную как TLS fingerprinting. Это позволило нам определять, какое ПО осуществляет соединение (перехватчик или браузер). Технология оценивает конструкцию клиентского приветственного TLS-пакета (например, наборы шифров и TLS-опции) и сравнивает её с базой данных известных «отпечатков». Их надёжность очень высока, особенно по сравнению с user-agent’ом, рекламируемым в HTTP-запросе.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Исследователи оценивали работу большого интернет-магазина, сайта Cloudflare и серверы обновления Firefox. Оценивалось количество перехваченного их сервисами браузерного трафика. Важно иметь много «точек обзора», потому что результат меняется в зависимости от того, откуда смотреть. Например, в целом доля перехватываемых HTTPS-соединений варьируется от 4% до 10%. Это много, но важно помнить, что не все перехваты выполняются злоумышленниками.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Разбив по операционным системам трафик на Cloudflare и интернет-магазин выяснилось, что с Windows перехватывается гораздо чаще, чем с MacOS. Трафик с Android и iOS перехватывается значительно реже, чем с настольных ОС. Полное разбиение можно посмотреть на странице 13 нашего отчёта (ссылка в начале статьи).

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Разбиение перехвата трафика обновления Firefox демонстрирует совсем другую картину. Чаще всего перехватом занимаются мобильные провайдеры. Отчасти это можно объяснить тем, что настольная версия Firefox использует отдельное хранилище для корневых SSL-сертификатов, что делает его менее вероятным кандидатом на перехват по сравнению с другими браузерами.

Кто и почему занимается перехватом на коммуникациях?

Вопреки распространённому мнению, перехват трафика не обязательно несёт вред. Согласно проведенному исследованию, обычно трафик перехватывается по двум противоположным причинам:

Улучшение безопасности: антивирусы и некоторые корпоративные файрволы/IPS перехватывают трафик ради защиты своих пользователей. Они хотят проверять шифрованный трафик, стараясь предотвратить проникновение зловредов или мониторить утечку данных. Некоторое ПО для родителей и блокировщики рекламы используют аналогичный подход для блокирования трафика на определённые сайты.

Активность злоумышленников: на другом конце спектра находится зловредное ПО, которое выполняет перехват ради внедрения рекламы или похищения конфиденциальных данных.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Выявив «отпечатки» известных продуктов, исследователи смогли отнести на их счёт немалую долю перехватов. При этом несколько приложений все же определить не удалось, что вполне может быть зловредным ПО.

Как перехват HTTPS-трафика влияет на безопасность?

Если перехват выполняется не с корыстными целями, то почему вообще это может ослабить онлайн-безопасность?

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Основная причина в том, что большинство продуктов для перехвата используют не самую лучшую криптографию. И когда выполняется перехват, соединение от перехватчика к сайту использует небезопасное шифрование пользовательских данных вместо более надёжных алгоритмов, применяемых в современных браузерах.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

А из-за слабого/уязвимого шифрования трафик становится уязвимее для атак. Хакеры также могут перехватывать шифрованные соединения и похищать данные вроде документов, электронных писем и сообщений мессенджеров. В некоторых случаях, например, у Komodia, реализация криптографии настолько плоха, что атакующий может с минимальными усилиями перехватывать любые зашифрованные коммуникации.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Чтобы посчитать влияние HTTPS-перехватов на безопасность соединений исследователи проанализировали безопасность криптографических стеков, используемых перехватчиками. В целом у 65% перехваченных соединений на серверы обновления Firefox безопасность снижена, а 37% оказались легкоуязвимы к «атакам посредника» из-за вульгарных криптографических ошибок (например, сертификаты не валидированы) [65,7%+36,8%=102,5%, но так в оригинале — прим. переводчика]. Не сильно лучше оказалась ситуация с трафиком на Cloudflare.

Чтобы закончить на «позитивной» ноте, нужно упомянуть, что в редких случаях (4,1% у интернет-магазина и 14% у Cloudflare) перехват повышает безопасность соединений. Но это по большей части следствие ранжирования более слабых шифров (RC4 и 3DES).

В целом перехваты HTTPS распространены больше, чем ожидалось (4%—10%), и они влекут за собой серьёзные риски, поскольку ухудшают качество шифрования. Более того, используемые для перехвата реализации HTTPS не имеют тех же механизмов автоматического обновления, как в браузерах, что делает применение фиксов менее вероятным. Пассивные и перехватывающие промежуточные устройства тоже повлияли на задержанный релиз TLS 1.3 в браузерах.

Надеемся, что привлечение внимания к этой проблеме поможет программным вендорам, полагающимся на перехват, осознать рискованность этой практики. Ну а у нас есть очередная тема для дискуссии.

Источник

Начинающему QA: полезные функции снифферов на примере Charles Proxy

В этой статье я расскажу об основных функциях снифферов, которые могут быть полезны QA. Попробую не вдаваться в теорию, а сфокусироваться на практике. Наиболее популярными представителями анализаторов трафика сейчас являются WhireShark, Fiddler и Charles Proxy. Об удобстве интерфейсов и функционале каждого из них можно рассуждать долго, учитывая все плюсы и минусы. Но здесь я отдал предпочтение Charles, поскольку сам им активно пользуюсь. Буду рассказывать на его примере.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Что собой представляет Charles Proxy

Первичная настройка

При тестировании мобильного приложения

Charles Proxy необходимо запустить на компьютере, который находится в той же локальной подсети, что и мобильное устройство с тестируемым приложением.

Как правило, соединение настраивается по Wi-Fi. В настройках Wi-Fi мобильного устройства в качестве proxy-сервера надо указать IP-адрес компьютера и стандартный порт инструмента 8888 (пароль остается пустым).

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Главное отличие в настройках для этой ОС в том, что с Android 6.0 и выше в Androidmanifest надо добавить специальную конфигурацию, позволяющую просматривать защищенный трафик. На продакшене эта конфигурация убирается из соображений безопасности.

При тестировании приложения на ПК

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Сертификат устанавливается в доверенные корневые центры.

Два слова об интерфейсе

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

С помощью контекстного меню запроса можно настраивать блокировки, повторять и изменять запросы. На этом мы еще остановимся.

На вкладке Sequence запросы выведены по времени в виде настраиваемой таблицы. Видно, когда начался запрос, сколько он длился, его размер, статус и т.п. Наведя на конкретную строку, мы получим ту же информацию о теле, заголовках и т.п.

Если запросов на экране слишком много, с помощью панели инструментов их можно очистить или вообще остановить перехват. Там же есть возможность включить и выключить троттлинг (подробнее об этих функциях расскажу позже). Базовая настройка каждой из функций осуществляется через меню, а кнопки панели управления выступают своего рода тумблерами On / Off.

Фильтрация

В Charles Proxy очень много вариантов фильтрации запросов.

На вкладке Sequence есть аналогичный фильтр.

Charles Proxy умеет работать с регулярными выражениями. Для этого на вкладке Sequence выбираем Settings и отмечаем пункт Filter uses regex. И вписываем в поле поиска элементарную регулярку.

можно выбрать все запросы, в которых в начале имени хоста находится четыре буквы, а потом идет точка.

Там же можно включить Autoscroll списка запросов или указать максимальное количество строк.

Блокируемый запрос можно прервать двумя способами (подходящий надо выбрать в настройках):

вернуть ошибку 403.

От выбранного способа блокировки зависит, какой ответ мы получим.

Можно провести эксперимент. Включим наш тестовый стенд в Block list, выбрав простой сброс соединения. С помощью контекстного меню запроса повторим его (команда Repeat) и получим такой ответ:

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Просмотр SSL-трафика

Если ранее мы успешно установили SSL-сертификат, для просмотра зашифрованного трафика остается только включить SSL proxying для нужного хоста в самом Charles Proxy. Это можно сделать через контекстное меню конкретного хоста.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Аналогично настройке фильтров на вкладках Include и Exclude можно добавить или исключить конкретные хосты. Если списки на этих вкладках не заполнять, по умолчанию мы будем читать трафик со всех хостов.

Брейкпоинты

Установить Breakpoint можно из контекстного меню запроса. После этого все аналогичные запросы будут перехвачены. Их можно будет просматривать и редактировать.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Чтобы проверить, как это работает можно использовать повтор запроса (Repeat из того же контекстного меню). Запрос перехватывается, его можно редактировать.

Map remote

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Эта функция может быть полезна, если мы поймали ошибку на продакшене, например при загрузке таблицы, а информации в dev-контуре для полноценного тестирования не хватает. Вместо того, чтобы перезаполнять информацию в каждом контуре, мы можем скопировать ответ сервера в нужный контур и посмотреть, как он ведет себя после исправления ошибки.

Map Local

Главное отличие Map Local от предыдущей функции в том, что замена осуществляется не на ответ другого сервера, а на содержимое локального файла. Настройки выглядят точно также, но вместо второго сервера мы указываем локальный путь к файлу с ответом.

Rewrite

Функция Rewrite может быть полезна, если вам нужно переписать данные, которые отправляются в Charles Proxy. В отличие от простого редактирования Rewrite позволяет задать правила изменения и работать в автоматическом режиме. Можно изменять и добавлять заголовки, искать и заменять текст в теле запроса или ответа. Можно даже менять статус ответа.

Настроить это можно через Rewrite settings, доступные в контекстном меню. Единственный недостаток инструмента в том, что каждое правило замены прописывается отдельно.

Помимо изменения запросов и ответов мы можем запретить кэширование или cookie (функции No caching и Block cookies). Эти опции повторяют аналогичные инструменты панели разработчика в браузере. В обоих случаях настраивается список хостов, для которых действует настройка. Если же список пуст, то кэширование и cookie отключаются на всех перехваченных хостах.

Throttling

Charles Proxy помогает тестировать сервис на плохой связи, искусственно ограничив через настройки пропускную способность канала. Эта функция полезнее всего для тестирования десктопных приложений, поскольку на мобильных устройствах качеством связи можно управлять через панель разработчика.

Что такое перехват данных. Смотреть фото Что такое перехват данных. Смотреть картинку Что такое перехват данных. Картинка про Что такое перехват данных. Фото Что такое перехват данных

Ограничения можно включить либо для хостов из списка, либо для всех перехваченных запросов. Из коробки есть несколько пресетов, но все параметры связи можно корректировать вручную. Мне по большей части хватает базовых настроек.

Repeat Advanced

Хотя полноценное нагрузочное тестирование лучше проводить в специальных инструментах, Charles Proxy имеет одну базовую настройку, которая помогает закрыть минимальные потребности. Функция Repeat Advanced (доступная через контекстное меню перехваченного запроса) позволяет нужное количество раз повторить тот же запрос. После настройки откроется отдельная сессия, где будут видны детали каждого из запросов.

Отмечу, что Charles Proxy платный. Можно использовать триальную версию. Но раз в 5-7 минут поверх него будет отображаться всплывающее окно с версией, а раз в 30 минут он будет выключаться, при этом сессии не сохраняются. Решайте сами, помешает ли это вашей работе.

Автор статьи: Артем Холевко, Максилект.

Текст подготовлен по материалам внутреннего семинара Максилект.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *