Атака TCP Reset

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Атака TCP Reset, «фальшиві TCP Reset», «скидання TCP», «спуфінг пакетів TCP reset» — спосіб розірвати TCP з'єднання за допомогою надсилання підробленого пакета TCP Reset. Такий спосіб можуть використовувати фаєрволи або зловмисники.

The Great Firewall of China[en], та Іранські цензори[en] використовують цей підхід для впровадження цензури в інтернет.[1]

Технічні подробиці

[ред. | ред. код]

На відміну від інших протоколів (наприклад, UDP), TCP передбачає встановлення з'єднання між двома комп'ютерами. Мережеве ПЗ, таке як браузер і вебсервер, обмінюється даними в формі потоків пакетів. За рахунок цього вони можуть пересилати більший обсяг інформації, ніж може поміститися в один пакет, наприклад, відеокліпи, документи або записи. Хоча деякі вебсторінки бувають досить малі, щоб уміститися в один пакет, вони також передаються за допомогою з'єднання в цілях зручності.

Скидання TCP

[ред. | ред. код]

Кожен TCP-пакет в рамках з'єднання несе заголовок. У кожному з них є біт прапора скидання (RST). У більшості пакетів цей біт встановлений в 0 і нічого не означає, але якщо він встановлений в 1, це означає, що одержувач повинен негайно припинити використовувати дане з'єднання: не посилати пакетів з поточним ідентифікатором (на поточний порт), а також ігнорувати всі наступні пакети цього з'єднання (згідно інформації в їх заголовках). По суті, скидання TCP вмить розриває з'єднання.

При належному використанні такого скидання — корисний механізм. Такий спосіб застосовується, коли на одному комп'ютері (умовно А) відбувається збій під час передачі даних TCP. Другий комп'ютер (умовно Б) продовжить слати TCP-пакети, так як не знає про збої на А. Після перезавантаження А продовжить отримувати пакети від старого з'єднання, але, не володіючи даними про з'єднання, вже не буде знати, що з ними робити. У цьому випадку він відправить вимогу скидання TCP комп'ютеру Б, повідомляючи, що з'єднання перервано. Користувач комп'ютера може Б встановити нове з'єднання або вжити інші дії.

Фальшиве скидання TCP

[ред. | ред. код]

У вищеописаному випадку повідомлення про скидання відправляв один з учасників з'єднання. Третій комп'ютер міг відстежувати TCP-пакети цього з'єднання і потім підробити пакет з прапором скидання і відправити одному чи обом учасникам від імені іншого. Інформація в заголовках повинна вказувати, що пакет нібито отриманий від іншої сторони, а не від зловмисника. Така інформація включає в себе IP-адреси і номери портів і повинна містити достатньо правдоподібних даних, щоб змусити учасників перервати з'єднання. Правильно сформовані підроблені пакети можуть бути досить надійним способом порушити будь-яке TCP-з'єднання, доступне для відстеження зловмисником.

Області застосування

[ред. | ред. код]

Очевидним застосуванням методу скидання TCP є таємне порушення зловмисником з'єднання між сторонами. З іншого боку, відомі системи мережевої безпеки, що використовують такий спосіб. Прототип програми «Buster» був показаний в 1995 р. і міг відправляти фальшиві пакети скидання на будь-які з'єднання, які використовують порти із заданого списку. Розробники Linux запропонували аналогічні можливості для брандмауерів на базі Linux в 2000 р.[2], а вільна програма Snort використовувала скиди TCP для переривання підозрілих з'єднань вже в 2003 р.[3]

Інцидент в Comcast

[ред. | ред. код]

В кінці 2007 р. провайдер Comcast почав використовувати спуфінг TCP для виведення з ладу P2P-програм і ПЗ для спільної роботи (groupware) своїх клієнтів.[4]. Це викликало конфлікт, результатом якого стало створення Групи мережевого нейтралітету (NNSquad) у складі Lauren Weinstein[en], Вінтона Серфа, David Farber[en], Крейга Ньюмарка та інших борців за відкритість Інтернету.[5] У 2008 р. NNSquad випустили програму NNSquad Network Measurement Agent для Windows, яка виявляла фальшиві пакети від Comcast і відрізняла їх від справжніх скидів. Примітно, що алгоритм виявлення скидів був розроблений на основі існуючої відкритої програми «Buster», створеної для боротьби з шкідливими об'єктами і рекламою на вебсторінках.

У січні 2008 р. FCC оголосила про початок розслідування спуфінга з боку Comcast, а 21 серпня 2008 р. наказала їм припинити цю практику.

Слово «фальшиві»

[ред. | ред. код]

Деякі представники провайдерів вважають слово «фальшиві» недоречним щодо скидання TCP. Вони також заявляли, що це легітимний спосіб скорочення мережевого трафіку.[6]

Примітки

[ред. | ред. код]
  1. Clayton, Richard; Murdoch, Steven J.; Watson, Robert N. M. (2006). Danezis, George; Golle, Philippe (ред.). Ignoring the Great Firewall of China (PDF). Privacy Enhancing Technologies. Lecture Notes in Computer Science (англ.). Т. 4258. Cambridge, UK: Springer Berlin. с. 20—35. doi:10.1007/11957454_2. ISBN 978-3-540-68793-1 — через Department of Computer Science and Technology.
  2. May 2000 Linux discussion archives. Архів оригіналу за 3 березня 2016. Процитовано 10 квітня 2018.
  3. Архів обговорення SNORT re: TCP resets [Архівовано 11 серпня 2007 у Wayback Machine.]
  4. Associated Press, Comcast Blocks Some Internet Traffic. Архів оригіналу за 7 травня 2011. Процитовано 10 квітня 2018.
  5. Домашня сторінка NNSquad. Архів оригіналу за 18 травня 2020. Процитовано 10 квітня 2018.
  6. Про легітимність скидання для керування мережею [Архівовано 9 червня 2012 у Wayback Machine.] (англ.)

Посилання

[ред. | ред. код]