Исследователи из университета Уотерлу и Исследовательской лаборатории Военно-морского флота США представили результаты разработки симулятора сети Tor, сравнимого по числу узлов и пользователей с основной сетью Tor и позволяющего проводить эксперименты, приближенные к реальным условиям. Подготовленный в ходе эксперимента инструментарий и методология моделирования сети позволили на компьютере с 4 ТБ ОЗУ симулировать работу сети из 6489 узлов Tor, к которой одновременно подключено 792 тысячи виртуальных пользователей.
Отмечается, что это первая полномасштабная симуляция сети Tor, число узлов в которой соответствует реальной сети (рабочая сеть Tor насчитывает около 6 тысяч узлов и 2 млн подключённых пользователей). Полноценная симуляция сети Tor представляет интерес с точки зрения выявления узких мест, моделирования поведения в результате атак, обкатки новых методов оптимизации в реальных условиях и проверки концепций, связанных с обеспечением безопасности.
При наличии полноценного симулятора разработчики Tor смогут уйти от практики проведения экспериментов в основной сети или на отдельных рабочих узлах, которые создают дополнительные риски нарушения конфиденциальности пользователей и не исключают возникновение сбоев. Например, в ближайшие месяцы ожидается внедрение в Tor поддержки нового протокола управления перегрузкой и симуляция позволит полноценно изучить его работу до развёртывания в реальной сети.
Кроме исключения влияния экспериментов на конфиденциальность и надёжность работы основной сети Tor наличие отдельных тестовых сетей даст возможность оперативно тестировать и отлаживать новый код в процессе разработки, сразу внедрять изменения для всех узлов и пользователей без ожидания завершения длительных промежуточных внедрений, более оперативно создавать и обкатывать прототипы с реализацией новых идей.
Ведётся работа по усовершенствованию инструментария, которая, как заявлено разработчиками, сократит потребление ресурсов в 10 раз и позволит на том же оборудовании симулировать работу сетей, превосходящих реальную сеть, что может потребоваться для выявления возможных проблем с масштабированием Tor. В ходе работы также создано несколько новых методов моделирования сети, позволяющих прогнозировать изменение состояние сети во времени и использовать фоновые генераторы трафика для симуляции активности пользователей.
Исследователями также изучена закономерность между размером симулируемой сети и достоверностью проецирования результатов экспериментов на реальную сеть. В ходе разработки Tor предварительная проверка вносимых изменений и оптимизаций производится в небольших тестовых сетях, которые содержат значительно меньше узлов и пользователей, чем реальная сеть. Выявлено, что статистические погрешности прогнозов, полученных при проведении небольших симуляций, можно компенсировать за счёт многократного повторения независимых экспериментов с разными наборами исходных данных, при том, что чем больше симулируемая сеть, тем меньше повторных испытаний требуется для получения статистически значимых выводов.
Для моделирования и симуляции сети Tor исследователями развивается несколько открытых проектов, распространяемых под лицензией BSD:
Отмечается, что это первая полномасштабная симуляция сети Tor, число узлов в которой соответствует реальной сети (рабочая сеть Tor насчитывает около 6 тысяч узлов и 2 млн подключённых пользователей). Полноценная симуляция сети Tor представляет интерес с точки зрения выявления узких мест, моделирования поведения в результате атак, обкатки новых методов оптимизации в реальных условиях и проверки концепций, связанных с обеспечением безопасности.
При наличии полноценного симулятора разработчики Tor смогут уйти от практики проведения экспериментов в основной сети или на отдельных рабочих узлах, которые создают дополнительные риски нарушения конфиденциальности пользователей и не исключают возникновение сбоев. Например, в ближайшие месяцы ожидается внедрение в Tor поддержки нового протокола управления перегрузкой и симуляция позволит полноценно изучить его работу до развёртывания в реальной сети.
Кроме исключения влияния экспериментов на конфиденциальность и надёжность работы основной сети Tor наличие отдельных тестовых сетей даст возможность оперативно тестировать и отлаживать новый код в процессе разработки, сразу внедрять изменения для всех узлов и пользователей без ожидания завершения длительных промежуточных внедрений, более оперативно создавать и обкатывать прототипы с реализацией новых идей.
Ведётся работа по усовершенствованию инструментария, которая, как заявлено разработчиками, сократит потребление ресурсов в 10 раз и позволит на том же оборудовании симулировать работу сетей, превосходящих реальную сеть, что может потребоваться для выявления возможных проблем с масштабированием Tor. В ходе работы также создано несколько новых методов моделирования сети, позволяющих прогнозировать изменение состояние сети во времени и использовать фоновые генераторы трафика для симуляции активности пользователей.
Исследователями также изучена закономерность между размером симулируемой сети и достоверностью проецирования результатов экспериментов на реальную сеть. В ходе разработки Tor предварительная проверка вносимых изменений и оптимизаций производится в небольших тестовых сетях, которые содержат значительно меньше узлов и пользователей, чем реальная сеть. Выявлено, что статистические погрешности прогнозов, полученных при проведении небольших симуляций, можно компенсировать за счёт многократного повторения независимых экспериментов с разными наборами исходных данных, при том, что чем больше симулируемая сеть, тем меньше повторных испытаний требуется для получения статистически значимых выводов.
Для моделирования и симуляции сети Tor исследователями развивается несколько открытых проектов, распространяемых под лицензией BSD:
- Shadow - универсальный симулятор сети, позволяющий запускать код настоящих сетевых приложений для воссоздания работы распределённых систем с тысячами сетевых процессов. Для симуляции систем на базе реальных немодифицированных приложений в Shadow применяется техника эмуляции системных вызовов. Сетевое взаимодействие приложений в симулированном окружении осуществляется через развёртывание VPN и использование симуляторов типовых сетевых протоколов (TCP, UDP). Поддерживается настраиваемое моделирование характеристик виртуальной сети, таких как потеря пакетов и задержки при доставке. Кроме экспериментов с Tor была предпринята попытка разработки плагина к Shadow для симуляции сети Bitcoin, но данный проект не получил развития.
- Tornettools - инструментарий для генерации реалистичных моделей сети Tor, которые могут быть запущены в окружении Shadow, а также для запуска и настройки процесса симуляции, накопления и визуализации результатов. В качестве шаблонов для генерации сети могут использоваться метрики, отражающие работу реальной сети Tor.
- TGen - генератор потоков трафика на основе параметров, заданных пользователем (размер, задержки, число потоков и т.п.). Схемы формирования трафика могут задаваться как на основе специальных сценариев в формате GraphML, так и при помощи вероятностных Марковских моделей распределения TCP-потоков и пакетов.
- OnionTrace - инструментарий для отслеживания производительности и событий в симулируемой сети Tor, а также для записи и воспроизведения сведений о формировании цепочек узлов Tor и привязки к ним потоков трафика.
Эксперимент по симуляции полноразмерной сети Tor
www.opennet.ru