GoodNucken
RIP
- Сообщения
- 345
- Реакции
- 492
Подмена узлов
Данный метод атаки на сеть возможно реализовать достаточно малым использованием ресурсов (для успешной атаки необходимо захватить всего около 2% всех узлов сети). Однако этот способ ограничивает возможности атаки захватом 20% от всех floodfill’ов сети.
Для осуществления атаки злоумышленнику необходимо заменить исправные узлы сети (которые уже активны в ней) на скомпрометированные. Для этого необходимо вывести из строя исправные узлы, при этом заменяя их своими. Атакующему следует заменять узлы сети на основные узлы (сконфигурированные как manual). Стоит отметить, что выведение из строя рабочих узлов сети не является обязательным условием выполнения атаки – маршрутизаторы узлов в сети являются обычными компьютерами пользователей, поэтому не всегда участвуют в сети, при этом узлы отключаются и при перезагрузке маршрутизатора (например, при обновлении ПО). Сама сеть не подключает новые узлы, пока не требуется новых участников или нет недостатка в ресурсах. Следовательно, для более легкого замещения узлов достаточно дождаться отключения одного из узлов от сети, заняв его место своим узлом.
Для ускорения процесса, наряду с ожиданием самостоятельного отключения одного из узлов от сети замещения узлов, атакующий может вызывать переполнение стека задач у рабочих узлов (так называемый job lag). Заключается он в проведении DoS-атаки на узел. Атакующему необходимо создать много новых тоннелей через атакуемый узел, чтобы в дальнейшем заполнить очередь его задач непрерывными запросами через каждый тоннель. При этом происходит большая задержка выполнения задач, и узел исключает себя из списка floodfill'а.
Перехват всего тоннеля
В сети I2P применяются тоннели:
Тоннели представляют собой цепочки маршрутизаторов, через которые передаются сообщения. Тоннели бывают исходящие и входящие. Исходящие предназначены для сокрытия местоположения отправителя, а входящие — получателя.
При этом начальное и конечное положение тоннеля известно только получателю и отправителю. Остальные узлы тоннеля знают только следующий узел для передачи данных. Однако, такое суждение является ошибочным – на самом деле информация о получателе и отправителе передается вместе с самим сообщением в IP-пакете (т.к. данные передаются по обычному незащищенному каналу). Таким образом, при получении контроля над одним из промежуточных узлов, атакующий может получить информацию и об обеих концах тоннеля. Следующими действиями злоумышленника могут быть как перехват получателя и/или отправителя, так и захват промежуточных узлов.
Такая проблема частично разрешается увеличением длины тоннеля, однако сильно замедляет работу сети по передаче сообщений. На данный момент в сети используются трехшаговые тоннели, что делает данный тип атаки практически применимым, т.к. любой узел сети, захваченный злоумышленником, становится причиной потенциальной потери всех передаваемых пакетов, но и отправной точкой для начала атаки на получателей/отправителей сообщений через этот узел. Более того, если узлом сети является какой-либо сервер или ресурс, контролируемый злоумышленником, то все тоннели, проходящие через этот узел, попадают под риск взлома/перехвата информации.
Атака методом исключения
Данная атака использует уязвимости I2P, которые обусловлены наличием у данной сети свойств P2P-сетей, а именно: непостоянное время работы маршрутизаторов сети (которые являются обычными компьютерами участников сети), а также некоторые правила туннелирования:
квота в 10 минут на существование тоннеля;
невозможность участия узла дважды в одном и том же тоннеле;
правило построения уникальной последовательности узлов для каждого тоннеля;
Для проведения атаки злоумышленник составляет список маршрутизаторов сети, потенциально являющихся узлами для тоннеля с атакуемым конечным узлом (сам атакуемый узел в список не включается). Далее атакующий начинает посылать непрерывные запросы атакуемому узлу с целью выяснения промежутков времени, когда маршрутизатор находится онлайн. в случае активного узла (текущее состояние: "онлайн") злоумышленник проверяет подготовленный список узлов с целью поиска неактивных узлов среди них при помощи расссылки единовременных запросов каждому из них. Если при опросе конкретного узла ответ получен не был (текущее состояние: "офлайн"), то маршрутизатор исключается из списка узлов. Аналогичные действия проводятся и в обратном случае: если атакуемый узел неактивен, из списка исключаются активные в данный момент узлы. Таким образом, в конечном итоге список будет состоять из постоянно активных маршрутизаторов. Следующим этапом отсева узлов из списка будет эксплуатация правил построения тоннелей, описанных выше: исключаются маршрутизаторы тоннелей, входящие в LeaseSet атакуемого узла; также принимается во внимание квота на время работы тоннеля.
Оценка скорости работы данного метода: на перебор 5 тысяч узлов предварительного списка будет затрачено около 7 дней работы алгоритма.
Атака типа "Sybil attack"
Для проведения этой атаки вполне достаточно одного атакующего и требуется небольшое количество ресурсов. Данный метод обеспечивает возможность захвата контроля на несколькими floodfill-узлами в определенной области пространства ключей. Поскольку атакующий не может достаточно быстро запустить в сеть скомпрометированные узлы (например, используя атаки методом исключения), этот способ отличается от других отсутствием захвата контроля над конкретным узлом (не являясь его владельцем). В данном случае атакующий может сгенерировать большое количество идентификаторов узлов локально, и затем выбрать для использования наиболее подходящие (те, что находятся ближе любого исправного узла в базе данных).
Для того, чтобы данная атака принесла результаты, требуется некоторое время, поскольку при подключении нового узла к сети требуется около часа на обработку этим узлом информации о других узлах сети.
Данная атака может применяться, например, для закрытия доступа узлам сети к определенной информации (например, ключу, который указывает на узел с определенным сервисом). Скомпрометировав ближайших соседей определенного узла, можно добиться, чтобы при обращении к этому узлу за адресом сервиса сети досрочно возвращался запрос о неопределенности сервиса (ориг., not knowing the resource).
Данный метод атаки на сеть возможно реализовать достаточно малым использованием ресурсов (для успешной атаки необходимо захватить всего около 2% всех узлов сети). Однако этот способ ограничивает возможности атаки захватом 20% от всех floodfill’ов сети.
Для осуществления атаки злоумышленнику необходимо заменить исправные узлы сети (которые уже активны в ней) на скомпрометированные. Для этого необходимо вывести из строя исправные узлы, при этом заменяя их своими. Атакующему следует заменять узлы сети на основные узлы (сконфигурированные как manual). Стоит отметить, что выведение из строя рабочих узлов сети не является обязательным условием выполнения атаки – маршрутизаторы узлов в сети являются обычными компьютерами пользователей, поэтому не всегда участвуют в сети, при этом узлы отключаются и при перезагрузке маршрутизатора (например, при обновлении ПО). Сама сеть не подключает новые узлы, пока не требуется новых участников или нет недостатка в ресурсах. Следовательно, для более легкого замещения узлов достаточно дождаться отключения одного из узлов от сети, заняв его место своим узлом.
Для ускорения процесса, наряду с ожиданием самостоятельного отключения одного из узлов от сети замещения узлов, атакующий может вызывать переполнение стека задач у рабочих узлов (так называемый job lag). Заключается он в проведении DoS-атаки на узел. Атакующему необходимо создать много новых тоннелей через атакуемый узел, чтобы в дальнейшем заполнить очередь его задач непрерывными запросами через каждый тоннель. При этом происходит большая задержка выполнения задач, и узел исключает себя из списка floodfill'а.
Перехват всего тоннеля
В сети I2P применяются тоннели:
Тоннели представляют собой цепочки маршрутизаторов, через которые передаются сообщения. Тоннели бывают исходящие и входящие. Исходящие предназначены для сокрытия местоположения отправителя, а входящие — получателя.
При этом начальное и конечное положение тоннеля известно только получателю и отправителю. Остальные узлы тоннеля знают только следующий узел для передачи данных. Однако, такое суждение является ошибочным – на самом деле информация о получателе и отправителе передается вместе с самим сообщением в IP-пакете (т.к. данные передаются по обычному незащищенному каналу). Таким образом, при получении контроля над одним из промежуточных узлов, атакующий может получить информацию и об обеих концах тоннеля. Следующими действиями злоумышленника могут быть как перехват получателя и/или отправителя, так и захват промежуточных узлов.
Такая проблема частично разрешается увеличением длины тоннеля, однако сильно замедляет работу сети по передаче сообщений. На данный момент в сети используются трехшаговые тоннели, что делает данный тип атаки практически применимым, т.к. любой узел сети, захваченный злоумышленником, становится причиной потенциальной потери всех передаваемых пакетов, но и отправной точкой для начала атаки на получателей/отправителей сообщений через этот узел. Более того, если узлом сети является какой-либо сервер или ресурс, контролируемый злоумышленником, то все тоннели, проходящие через этот узел, попадают под риск взлома/перехвата информации.
Атака методом исключения
Данная атака использует уязвимости I2P, которые обусловлены наличием у данной сети свойств P2P-сетей, а именно: непостоянное время работы маршрутизаторов сети (которые являются обычными компьютерами участников сети), а также некоторые правила туннелирования:
квота в 10 минут на существование тоннеля;
невозможность участия узла дважды в одном и том же тоннеле;
правило построения уникальной последовательности узлов для каждого тоннеля;
Для проведения атаки злоумышленник составляет список маршрутизаторов сети, потенциально являющихся узлами для тоннеля с атакуемым конечным узлом (сам атакуемый узел в список не включается). Далее атакующий начинает посылать непрерывные запросы атакуемому узлу с целью выяснения промежутков времени, когда маршрутизатор находится онлайн. в случае активного узла (текущее состояние: "онлайн") злоумышленник проверяет подготовленный список узлов с целью поиска неактивных узлов среди них при помощи расссылки единовременных запросов каждому из них. Если при опросе конкретного узла ответ получен не был (текущее состояние: "офлайн"), то маршрутизатор исключается из списка узлов. Аналогичные действия проводятся и в обратном случае: если атакуемый узел неактивен, из списка исключаются активные в данный момент узлы. Таким образом, в конечном итоге список будет состоять из постоянно активных маршрутизаторов. Следующим этапом отсева узлов из списка будет эксплуатация правил построения тоннелей, описанных выше: исключаются маршрутизаторы тоннелей, входящие в LeaseSet атакуемого узла; также принимается во внимание квота на время работы тоннеля.
Оценка скорости работы данного метода: на перебор 5 тысяч узлов предварительного списка будет затрачено около 7 дней работы алгоритма.
Атака типа "Sybil attack"
Для проведения этой атаки вполне достаточно одного атакующего и требуется небольшое количество ресурсов. Данный метод обеспечивает возможность захвата контроля на несколькими floodfill-узлами в определенной области пространства ключей. Поскольку атакующий не может достаточно быстро запустить в сеть скомпрометированные узлы (например, используя атаки методом исключения), этот способ отличается от других отсутствием захвата контроля над конкретным узлом (не являясь его владельцем). В данном случае атакующий может сгенерировать большое количество идентификаторов узлов локально, и затем выбрать для использования наиболее подходящие (те, что находятся ближе любого исправного узла в базе данных).
Для того, чтобы данная атака принесла результаты, требуется некоторое время, поскольку при подключении нового узла к сети требуется около часа на обработку этим узлом информации о других узлах сети.
Данная атака может применяться, например, для закрытия доступа узлам сети к определенной информации (например, ключу, который указывает на узел с определенным сервисом). Скомпрометировав ближайших соседей определенного узла, можно добиться, чтобы при обращении к этому узлу за адресом сервиса сети досрочно возвращался запрос о неопределенности сервиса (ориг., not knowing the resource).
