Безпека системи маршрутизації інтернету
Без сумніву, цей принцип забезпечив бурхливий розвиток і різноманіття Інтернету, перетворивши його з науково-дослідного проекту в телекомунікаційну інфраструктуру, в корені змінила уявлення про інформацію та доступ до неї.
Сьогодні мова піде про одну з цих систем - системі маршрутизації.
Архітектура і еволюція системи маршрутизації
Тут слід зазначити, що маршрутизація здійснюється не між окремими комп'ютерами або маршрутизаторами, а мережами, точніше доменами маршрутизації. Ці домени (звідси термін междоменной маршрутизація - Inter-Domain Routing, IDR), також звані Автономними Системами (Autonomous System, AS), являють собою сукупність вузлів, що знаходяться під єдиним адміністративним контролем і мають узгоджену політику маршрутизації. Цей аспект є одним з фундаментальних архітектурних принципів Інтернету, що дозволяє ефективно розділити глобальну систему маршрутизації на області з чітким внутрішнім контролем, відносно високим ступенем безпеки і т.д. і "міжобласне" простір, засноване на кооперації і взаимодоверии.
BGP був розроблений як для роботи в ієрархічних мережах, таких як NSFnet, таки і в мережах з ієрархічній топологією, коли мережі одного рівня ієрархії - бенкети - можуть бути безпосередньо пов'язані один з одним, хоча перші версії протоколу розрізняли лінки на їхню характеру - вгору, вниз або вбік. Завдяки цьому фундаментальної зміни BGP надалі дозволив розвиток Інтернету як колекцію незалежних, по-різному з'єднаних один з одним мереж.
Перша версія протоколу була стандартизована в 1989 році, хоча на той час він уже використовувався в деяких мережах. Згідно BGP кожен вузол обмінюється зі своїми сусідами інформацією про доступні шляхи до інших мереж (послідовності вузлів через які повинен бути переданий трафік, щоб досягти одержувача). Таким чином, кожен вузол має уявлення про різні шляхи, але не про топології Інтернету в цілому. Оскільки мережі вже не можуть розглядатися як ієрархічні, інформація про сумарну "вартості" шляху, як це застосовувалося в ранніх протоколах маршрутизації, недостатньо, так як це може призводити до виникнення циклів. Щоб вирішити цю проблему, кожен анонсований маршрут має спеціальний атрибут - AS_PATH, який містить послідовність всіх мереж, через які він був переданий. Якщо мережа виявить себе в списку AS_PATH отриманого маршруту, це свідчить про циклі і такий маршрут повинен бути відкинутий.
Також, припускаючи, що окремі мережі, що знаходяться під єдиним адміністративним контролем і мають узгоджену політику маршрутизації, забезпечують відсутність внутрішніх процедур, міжмережевий і внутрішньомережевих маршрутизацію можна розглядати незалежно. Відповідно, в контексті міжмережевий маршрутизації такі мережі, або автономні системи, можуть розглядатися як мета-вузли.
Вибір маршруту в BGP приймаються на основі шляху і політики маршрутизації, прийнятою даною автономною системою. Іншими словами, адміністратор мережі може явно визначити принципи вибору маршруту в певних умовах (наприклад, спочатку політика маршрутизації в NSFnet розділяла комерційний і некомерційний трафік), але вибір цей заснований на інформації, отриманої мережею від її сусідів, або бенкетів. При цьому не існує єдиної еталонної топології Інтернету - кожна автономна системи виробляє свою власну картину світу, яку вона, в свою чергу, транслює своїм бенкетів.
З одного боку даний підхід дозволяє значно спростити глобальну систему маршрутизації і забезпечити масштабованість Інтернету, з іншого - він заснований на транзитивному довірі між взаємодіючими мережами.
Довіра - цікава річ. Воно радикально спрощує взаємодію між, в даному випадку, мережевими операторами і, як наслідок, систему маршрутизації в цілому. Це, безумовно, є одним з факторів, що забезпечили бурхливий розвиток Інтернету. З іншого боку, воно відкриває суттєві можливості для гравців не за правилами. Дійсно, вразливість системи, на якій заснована колосальна індустрія, вражає. Але також є дивною і сила співпраці між операторами, так як до сих пір нам відомі тільки окремі випадки зловживання цими можливостями.
Як можна атакувати систему маршрутизації
Говорячи про систему маршрутизації можна виділити кілька загальних типів атаки. Незважаючи на відмінність цілей і кінцевого ефекту, механізм атаки принципово будується на можливості створення спотвореної картини топології Інтернету атакується мережею, яка потім транзитивно поширюється по всій Мережі.
Створення "Чорних дір". Метою цієї атаки є недоступність мережі або декількох мереж для всього або частини Інтернету. Весь трафік, який має відношення до цих мереж, перенаправляється і потім відкидається. В результаті всі сервіси, пропоновані даними мережами, стають недоступними для користувачів. Основним завданням цього типу атак є Відмова в Обслуговуванні (Denial of Service, DoS).
Перехоплення. Ця атака схожа на попередню, тільки після проходження по мережі-перехоплювачі трафік повертається в нормальне русло і потрапляє до одержувача. Через це таку атаку важче виявити. Метою зазвичай є "підслуховування" або модифікація переданих даних.
Нестабільність. Нестабільність в глобальній системі маршрутизації може бути викликана частими змінами в анонсі конкретної мережі (почергове анонсування та анулювання), з метою "демпфірування" маршрутів даної мережі провайдерами і, як наслідок, блокування зв'язності.
Давайте розглянемо декілька прикладів атак на систему маршрутизації.
Топологія зв'язності YouTube вже через 2 хвилини, виглядала наступним чином:
Малюнок 1 Топологія зв'язності YouTube (AS36561) після початку анонсування префікса Pakistan Telecom (AS17557)
Як видно, весь трафік, призначений YouTube був перенаправлений в мережу Pakistan Telecom. Трафік цей представляв обривки сеансів TCP, початих з реальним сайтом YouTube, і просто відкидався мережею Pakistan Telecom. Для користувачів YouTube це виглядало як недоступність ресурсу.
Причиною стало вимога уряд Пакистану заблокувати доступ до ворожого сайту всередині країни. Однак результатом стало створення типової "чорної діри", яке призвело до глобального перебою служб YouTube.
Атака Пілосова (Pilosov)
Атака на YouTube мала значні видимі наслідки і набула широкого розголосу і резонанс в мережевому співтоваристві. Однак ряд атак можуть проходити майже непоміченими, але навіть з більш серйозними наслідками.
Йдеться про перехоплення трафіку, непомітному як для відправника і одержувача трафіку, так і для більшості інших учасників. Метою може бути, наприклад, перлюстрація даних, якими обмінюються певні мережі, користувачі і т.д. Метою може також бути модифікація цих даних.
практично будь-який префікс може бути захоплений без порушення наскрізної зв'язності;
це можна зробити дуже непомітно, замаскувавши присутність атакуючого на шляху проходження трафіку (невидимий для утиліт типу traceroute, що дозволяють отримати список вузлів, через які передається трафік до одержувача).
Суть атаки зводиться до перехоплення трафіку стандартними методами (наприклад, шляхом анонсування атакуючим довшого префікса атакується мережі, що робить анонс даної підмережі більш привабливим з точки зору BGP, як це сталося у випадку з Pakistan Telecom). Далі трафік повертається в колишнє русло, шляхом конфігурації статичного маршруту атакуючим. В результаті трафік передається мережі, що була частиною початкового шляху передачі трафіку. Далі передача трафіку відбувається абсолютно законним шляхом.
Для маскування руху трафіку атакуюча мережу виробляє маніпуляцію з параметром TTL (Time To Live) пакетів перехопленого трафіку. Згідно з протоколом, при передачі пакета від одного маршрутизатора до іншого, кожен вузол мережі зменшує цей параметр на одиницю. Не зраджуючи цей параметр при проходженні по атакуючої мережі, зловмисники можуть «замаскувати» цю ділянку, виключивши, таким чином, атакуючого з видимого шляху передачі трафіку. Для утиліт типу traceroute ділянки шляху в мережі атакуючого просто не потрапляють в список.
Малюнок 2. Стан системи маршрутизації перед початком атаки Пілосова
Атака Pilosov проілюстрована на малюнках 2 і 3. Перший малюнок показує стан системи маршрутизації перед початком атаки, коли трафік від користувача мережі AS70 доставляється через AS60 одержувачу мережі AS200. На другому малюнку зображена зв'язність мереж в процесі атаки. Хоча трафік перехоплюється атакуючої мережею AS100, цей шлях не відбивається програмою traceroute.
Малюнок 3 Перехоплення трафіку атакуючої мережею (AS100)
Існуюча практика безпеки маршрутизації
Отже, просто довіри в багатьох випадках недостатньо. Навіть якщо ви довіряєте своїм безпосереднім бенкетів, де гарантія, що серед роздоріжжя зв'язності Інтернету не знайдеться слабка ланка? Мережа повинна мати можливість відрізнити правду від брехні, яка в більшості розглянутих випадків виражається у неправомірному присвоєння будь-якої мережею чужого префікса (prefix hijacking). У цьому випадку політика маршрутизації мережі може включати фільтрацію неправомірних анонсів, і, відповідно, перешкоджати подальшому проникненню помилкової інформації в Інтернеті.
Безпека і надійність системи маршрутизації багато в чому залежить від можливості правильної відповіді на питання:
чи є автономна система-відправник повідомлення BGP, правомочним джерелом (origin) префікса?
чи відповідає атрибут AS_PATH, отриманий в повідомленні BGP, дійсному шляху, який пройшов дане повідомлення в мережі Інтернет?
На жаль, дати правильні відповіді на поставлені питання дуже важко через відсутність надійного джерела інформації. Отже, що ж мається на арсеналі сервіс-провайдера?
Інтернет-Реєстратури Маршрутизації (IRR)
Часткову допомогу у вирішенні даної проблеми надають Інтернет-реєстратури Маршрутизації (Internet Routing Registry, IRR). Суть їх полягає в наступному: мережеві оператори реєструють в базі даних свою політику маршрутизації, а саме з ким і як мережа взаємодіє, і префікси, які мережа використовує і анансірует в Інтернет. В рамках IETF (