Введение
Метод определения источника пакета в Интернете. IP-отслеживание – это любой метод для надежного определения источника пакета в Интернете. Протокол IP не предусматривает аутентификацию исходного IP-адреса IP-пакета, что позволяет подделать исходный адрес с помощью стратегии, известной как спуфинг IP-адресов, и создает потенциальные проблемы безопасности и стабильности Интернета. Использование поддельных IP-адресов позволяет проводить DoS-атаки (отказ в обслуживании) или односторонние атаки (когда ответ от скомпрометированного хоста настолько предсказуем, что для продолжения атаки не требуется получение ответных пакетов). IP-отслеживание критически важно для выявления источников атак и внедрения защитных мер для Интернета. Большинство существующих подходов к решению этой проблемы ориентированы на обнаружение DoS-атак. Таким решениям требуется большое количество пакетов для схождения на пути атаки.
IP traceback is any method for reliably determining the origin of a packet on the Internet. The IP protocol does not provide for the authentication of the source IP address of an IP packet, enabling the source address to be falsified in a strategy called IP address spoofing, and creating potential internet security and stability problems. Use of false source IP addresses allows denial of service attacks (DoS) or one way attacks (where the response from the victim host is so well known that return packets need not be received to continue the attack). IP traceback is critical for identifying sources of attacks and instituting protection measures for the Internet. Most existing approaches to this problem have been tailored toward DoS attack detection. Such solutions require high numbers of packets to converge on the attack path(s).
Вероятностная маркировка пакета
Савидж и другие предложили вероятностную маркировку пакетов по мере их прохождения через маршрутизаторы в Интернете. Они предлагают, чтобы маршрутизатор помечал пакет либо IP-адресом маршрутизатора, либо ребрами пути, по которому пакет достиг маршрутизатора. Для первой альтернативы, маркировки пакетов IP-адресом маршрутизатора, анализ показывает, что для получения корректного пути атаки с точностью 95% требуется до 294 000 пакетов. Второй подход, маркировка ребер, требует, чтобы два узла, составляющие ребро, помечали путь своими IP-адресами вместе с расстоянием между ними. Этот подход потребует больше информации о состоянии в каждом пакете, чем простое маркирование узлов, но будет сходиться значительно быстрее. Они предлагают три способа уменьшить объем информации о состоянии в этих подходах до более управляемого. Соответственно, Сонг и Перриг предлагают следующую схему трассировки: вместо кодирования IP-адреса, перемежающегося с хешем, они предлагают кодировать IP-адрес в 11-битный хеш и поддерживать 5-битный счетчик переходов (hop count), оба хранящиеся в 16-битном поле идентификатора фрагмента. Это основано на наблюдении, что 5-битного счетчика переходов (максимум 32 перехода) достаточно для почти всех маршрутов в Интернете. Кроме того, они предлагают использовать две различные хеш-функции, чтобы можно было определить порядок маршрутизаторов в маркировках. Далее, если какой-либо переход решает пометить пакет, он сначала проверяет поле счетчика переходов на наличие нуля, что указывает на то, что предыдущий маршрутизатор уже его пометил. Если это так, он генерирует 11-битный хеш своего собственного IP-адреса и затем выполняет операцию XOR с хешем предыдущего перехода. Если он обнаруживает ненулевой счетчик переходов, он вставляет свой IP-хеш, устанавливает счетчик переходов в ноль и пересылает пакет. Если маршрутизатор решает не помечать пакет, он просто увеличивает счетчик переходов в перегруженном поле идентификатора фрагмента. Райанчу и Баруа предлагают другой вариант этого подхода (называемый DERM). Их подход аналогичен в том, что они хотят использовать закодированный IP-адрес входного интерфейса в поле идентификатора фрагмента пакета. В отличие от Belenky и Ansari, они хотят кодировать IP-адрес в виде 16-битного хеша этого IP-адреса. Сначала они выбирают известную хеш-функцию. Они утверждают, что возникнут коллизии, если количество краевых маршрутизаторов, выполняющих маркировку, превысит 2^16. Они пытаются смягчить проблему коллизий, вводя случайный распределенный выбор хеш-функции из универсального множества, а затем применяя ее к IP-адресу. В любом сценарии хеширования адрес источника и хеш сопоставляются вместе в таблице для последующего поиска вместе с битом, указывающим, какую часть адреса они получили. С помощью сложной процедуры и случайного выбора хеша они способны уменьшить коллизии адресов. Используя детерминированный подход, они сокращают время для процедуры реконструкции своей метки (16-битного хеша). Однако, кодируя эту метку с помощью хеширования, они вводят вероятность коллизий и, следовательно, ложных срабатываний. S. Majumdar, D. Kulkarni и C. Ravishankar предлагают новый метод трассировки источника пакетов DHCP на ICDCN 2011. Их метод добавляет новую опцию DHCP, содержащую MAC-адрес и входной порт граничного коммутатора, который получил пакет DHCP. Эта новая опция будет добавлена в пакет DHCP граничным коммутатором. Это решение соответствует RFC для DHCP. Предыдущие механизмы трассировки IP перегружали поля заголовков IP информацией для трассировки и, таким образом, нарушают RFC для IP. Как и другие механизмы, в этой работе также предполагается, что сеть является доверенной. В работе представлены различные вопросы производительности в маршрутизаторах/коммутаторах, которые были учтены при разработке этого практического подхода. Однако этот подход неприменим к любому общему IP-пакету.
Маршрутизаторный подход
При подходах на основе маршрутизаторов, маршрутизатор отвечает за поддержание информации о пакетах, проходящих через него. Например, Сагер предлагает регистрировать пакеты и затем анализировать их данные. Это имеет преимущество, заключающееся в том, что процесс происходит вне основного потока и, следовательно, не замедляет обработку пакетов. Снорен и др. предлагают маркировку пакетов внутри маршрутизатора. Идея, представленная в их работе, заключается в создании «отпечатка» пакета на основе неизменяемых полей пакета (источник, назначение и т.д.) и первых 8 байт полезной нагрузки (которые достаточно уникальны, чтобы вероятность коллизии была низкой). В частности, m независимых простых хеш-функций каждая генерирует выходное значение в диапазоне от 2n до 1. Затем бит устанавливается по индексу, сгенерированному хеш-функцией, формируя «отпечаток» при объединении с результатами всех остальных хеш-функций. Все «отпечатки» хранятся в таблице размером 2n бит для последующего поиска. В статье представлено простое семейство хеш-функций, подходящих для этой цели, а также аппаратная реализация. Объем памяти, необходимый каждому маршрутизатору, ограничен и контролируем (2n бит). Небольшое значение n увеличивает вероятность коллизий хешей пакетов (и ложной идентификации). Когда пакет необходимо отследить, он пересылается на исходные маршрутизаторы, где производится проверка соответствия «отпечатков». Со временем информация об «отпечатках» перезаписывается хешами, генерируемыми другими пакетами. Таким образом, точность этого подхода снижается с течением времени между прохождением пакета и запросом на отслеживание. Для смягчения проблемы ограниченности памяти они используют хеш-подход и реализацию Снорена (SPIE), модифицируя их для приема собственной информации для хеширования. Они признают, что их алгоритм медленный (O(N2)) и что при хранении всего 3,3 миллиона хешей пакетов, приблизительное время до устаревания таблиц составляет 1 минуту. Это означает, что любой ответ на атаку должен быть осуществлен в реальном времени – что возможно только в пределах отдельных административных доменов LAN. Задача отслеживания осложняется наличием спуфинговых пакетов. Поэтому, связанная работа направлена на предотвращение спуфинга; известная как входящая фильтрация. Входящая фильтрация ограничивает спуфинговые пакеты в точках входа в сеть, отслеживая набор легитимных исходных сетей, которым разрешено использовать данный маршрутизатор. Парк и Ли представляют расширение входящей фильтрации на уровне 3. Они предлагают способ обнаружения ложных пакетов, по крайней мере, до уровня подсети, по сути, используя существующее состояние маршрутизации OSPF для принятия маршрутизаторами обоснованных решений о необходимости маршрутизации пакета.