Все про атаку "Людина посередині" (Man in the Middle, MitM). Виявлення атаки людина посередині (Man in the middle, MitM-атак) Атаки повторного відтворення

18.10.2016 | Володимир Хазов

Плани ФСБ, Мінкомзв'язку та Мінпромторгу щодо реалізації положень закону Ярової в частині перехоплення та дешифрування листування росіян перестають бути лише планами, а вже починають наводитися в дію замовленням на підготовку експертного висновку про можливість перехоплення повідомлень WhatsApp, Viber, Facebook Messenger, Telegram, Skype за допомогою MITM-атак та демонстрацію прототипу такого засобу.

Про схему організації "законної" MITM-атаки ми писали в минулій статті. Сьогодні ж зупинимося докладніше на самому принципі такої атаки та способах її здійснення.

Що таке MITM-атака

Man In The Middle (MITM) перекладається як "людина посередині". Цей термін означає мережеву атаку, коли зловмисник знаходиться між інтернет-користувачем та додатком, до якого той звертається. Не у фізичному плані, звичайно, а за допомогою спеціального програмного забезпечення. Він представляється користувачеві додатком, що запитується (це може бути веб-сайт або інтернет-сервіс), імітує роботу з ним, робить це так, щоб склалося враження нормальної роботи та обміну інформацією.

Метою атаки є персональні дані користувача, такі як облікові дані входу до різних систем, банківські реквізити та номери карток, особисте листування та інша конфіденційна інформація. У більшості випадків атаці піддаються фінансові програми (банк-клієнти, онлайн-банки, послуги оплати та переказу грошей), SaaS-сервіси компанії, сайти електронної комерції (інтернет-магазини) та інші сайти, де для входу в систему потрібна авторизація.

Інформація, яку отримує зловмисник, може бути використана з різною метою, включаючи незаконні перекази грошей, зміну облікових записів, перехоплення особистого листування, покупки за чужий рахунок, компрометування та шантаж.

Крім того, після крадіжки облікових даних та злому системи злочинці можуть встановити в корпоративній мережі шкідливе програмне забезпечення для організації розкрадання інтелектуальної власності (патенти, проекти, бази даних) та заподіяння економічної шкоди шляхом видалення важливих даних.

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

Як здійснюється MITM-атака

Виконання MITM-атаки складається з двох фаз: перехоплення та дешифрування.

  • Перехоплення

Першим етапом атаки є перехоплення трафіку, що йде від користувача до призначеної мети, і направлення його до мережі атакуючого.

Найпоширеніший і найпростіший спосіб зробити перехоплення – пасивна атака, коли зловмисник створює Wi-Fi-точки з вільним доступом (без пароля та авторизації). У той момент, коли користувач підключається до такої точки, атакуючий отримує доступ до всього трафіку, що проходить через неї, і може виділити будь-які дані для перехоплення.

Другий спосіб – активний перехоплення, який може бути здійснений одним із наступних варіантів:

IP-spoofing- Підміна IP-адреси цілі в заголовку пакета на адресу атакуючого. В результаті користувачі замість того, щоб зайти на запитувану URL, потрапляють на сайт зловмисника.

ARP-spoofing- Підміна цієї MAC-адреси вузла на адресу атакуючого в ARP-таблиці жертви. В результаті дані, надіслані користувачем на IP-адресу необхідного вузла, потрапляють на адресу атакуючого.

DNS-spoofing –зараження кешу DNS, проникнення на сервер DNS та заміна запису відповідності адреси веб-сайту. В результаті користувач намагається отримати доступ до сайту, що запитується, але отримує від DNS-сервера адресу сайту зловмисника.

  • Дешифрування

Після перехоплення двосторонній SSL-трафік повинен бути дешифрований, причому зробити це необхідно так, щоб користувач і запитуваний ним ресурс не помітили втручання.

І тому існує кілька методів:

HTTPS-spoofing– браузеру жертви надсилається фальшивий сертифікат у момент встановлення з'єднання із сайтом за протоколом HTTPS. Цей сертифікат містить цифровий підпис компрометованої програми, за рахунок чого браузер приймає з'єднання зі зловмисником як надійне. Після встановлення такого з'єднання атакуючий отримує доступ до будь-яких даних, введених жертвою, перш ніж вони будуть передані додатком.

SSL BEAST(browser exploit against SSL/TLS) – атака використовує вразливість SSL у TLS версії 1.0 та 1.2. Комп'ютер жертви заражається шкідливим JavaScript, який перехоплює зашифровані cookies, що надсилаються до веб-додатку. Це компрометує режим шифрування «зчеплення блоків шифротексту» таким чином, що атакуючий отримує розшифровані cookies та ключі автентифікації.

SSL-hijacking– передача підроблених ключів аутентифікації користувачеві та програмі в момент початку TCP-сеансу. Це створює видимість безпечного з'єднання, коли насправді сеансом управляє "людина посередині".

SSL-stripping– знижує з'єднання із захищеного HTTPS до простого HTTP, перехоплюючи TLS-автентифікацію, надіслану програмою користувачеві. Зловмисник представляє користувачу незашифрований доступ до сайту, а сам підтримує захищений сеанс із додатком, отримуючи можливість бачити дані жертви, що передаються.\

Захист від MITM-атак

Надійний захист від MITM-атак можливий при виконанні користувачем кількох превентивних дій та застосуванні комбінації способів шифрування та автентифікації розробниками веб-додатків.

Дії користувачів:

  • Уникати підключення до Wi-Fi-точок, які не мають парольного захисту. Вимкніть функцію автоматичного підключення до відомих точок доступу – зловмисник може замаскувати свій Wi-Fi під легальний.
  • Звертати увагу на повідомлення браузера про перехід на незахищений веб-сайт. Таке повідомлення може вказувати на перехід на підроблений сайт зловмисника або на проблеми із захистом легального сайту.
  • Завершувати сеанс роботи з програмою (logout), якщо вона не використовується.
  • Не використовувати загальнодоступні мережі (кафе, парк, готель та інші) для проведення конфіденційних операцій (ділове листування, фінансові операції, покупки в онлайн-магазинах тощо).
  • Використовуйте на комп'ютері або ноутбуці антивірус із актуальними базами, він допоможе захиститися від атак за допомогою шкідливого програмного забезпечення.

Розробники веб-додатків і сайтів повинні використовувати захищені протоколи TLS і HTTPS, які значною мірою ускладнюють spoofing-атаки, шифруючи дані, що передаються. Також їх використання запобігає перехопленню трафіку з метою отримання параметрів авторизації та ключів доступу.

Хорошою практикою вважається захист TLS і HTTPS не тільки сторінок авторизації, а й решти розділів сайту. Це зменшує шанс зловмисника на розкрадання cookies користувача в той момент, коли він переміщається незахищеними сторінками після проходження авторизації.

Захист від MITM-атак – це відповідальність користувача та оператора зв'язку. Для користувача найважливіше – не втрачати пильність, використовувати лише перевірені способи доступу до Інтернету, а для передачі персональних даних вибирати сайти з HTTPS-шифруванням. Операторам зв'язку можна рекомендувати використовувати Deep Packet Inspection (DPI) системи для виявлення аномалій у мережах передачі даних та запобігання spoofing-атакам.

Державні органи планують використовувати MITM-атаку для захисту громадян, а не завдання шкоди, на відміну від зловмисників. Перехоплення особистих повідомлень та іншого користувача трафіку здійснюється в рамках чинного законодавства, виконується за рішенням судових органів для боротьби з тероризмом, незаконним обігом наркотиків та іншими забороненими видами діяльності. Звичайним користувачам «законні» MITM-атаки не становлять небезпеки.

При якому зломщик, підключившись до каналу між контрагентами, здійснює втручання у протокол передачі, видаляючи чи спотворюючи інформацію.

Принцип атаки

Атака зазвичай починається з прослуховування каналу зв'язку і закінчується тим, що криптоаналітик намагається підмінити перехоплене повідомлення, витягти з нього корисну інформацію, перенаправити його на зовнішній ресурс.

Припустимо, об'єкт A планує передати об'єкту B певну інформацію. Об'єкт C володіє знаннями про структуру та властивості використовуваного методу передачі даних, а також про факт планованої передачі власне інформації, яку планує перехопити. Для здійснення атаки З «представляється» об'єкту А як В, а об'єкту В - як А. Об'єкт А, помилково вважаючи, що він спрямовує інформацію, посилає її об'єкту С. Об'єкт С, отримавши інформацію, і здійснивши з нею деякі дії (наприклад , Скопіювавши або модифікувавши у своїх цілях) пересилає дані власне одержувачу - В; об'єкт, своєю чергою, вважає, що інформацію було отримано ним безпосередньо від А.

Приклад атаки

Використання шкідливого коду

Атака «людина посередині» дозволяє криптоаналітику вставляти свій код в електронні листи, SQL вирази та веб-сторінки (тобто дозволяє здійснювати SQL-ін'єкції, HTML/script-ін'єкції або XSS-атаки), і навіть модифікувати бінарні файли, що завантажуються користувачем. щоб отримати доступ до облікового запису користувача або змінити поведінку програми, завантаженої користувачем з Інтернету.

Downgrade Attack

Терміном «Downgrade Attack» називають таку атаку, коли криптоаналітик змушує користувача використовувати менш безпечні функції, протоколи, які досі підтримуються з міркувань сумісності. Такий вид атаки може бути проведений на протоколи SSH, IPsec та PPTP.

Для захисту від Downgrade Attack небезпечні протоколи повинні бути вимкнені щонайменше на одній стороні; просто підтримки та використання за умовчанням безпечних протоколів недостатньо!

SSH V1 замість SSH V2

Атакуючий може спробувати змінити параметри з'єднання між сервером та клієнтом під час встановлення між ними з'єднання. Згідно з доповіддю, зробленою на конференції Blackhat Conference Europe 2003, криптоаналітик може «змусити» клієнта розпочати сесію SSH1 замість SSH2, змінивши номер версії «1.99» для SSH-сесії на «1.51», що означає використання SSH V1. Протокол SSH-1 має вразливість, якими може скористатися криптоаналітик.

IPsec

При такому сценарії атаки криптоаналітик вводить свою жертву в оману, змушуючи її думати, що IPsec сесія не може розпочатися на іншому кінці (сервері). Це призводить до того, що повідомлення будуть пересилатися в явному вигляді, якщо хост-машина працює в режимі rollback.

PPTP

На етапі узгодження параметрів сесії PPTP атакуючий може змусити жертву використовувати менш безпечну автентифікацію PAP, MSCHAP V1 (тобто «відкотитися» з MSCHAP V2 до версії 1), або не використовувати шифрування взагалі.

Атакуючий може змусити свою жертву повторити етап узгодження параметрів PPTP-сесії (надіслати Terminate-Ack-пакет), викрасти пароль з існуючого тунелю і повторити атаку.

Громадські засоби комунікацій без захисту достовірності, конфіденційності, доступності та цілісності інформації

Найбільш поширені засоби комунікацій цієї групи - це соціальна мережа, публічний сервіс електронної пошти та система миттєвого обміну повідомленнями. Власник ресурсу, що забезпечує сервіс комунікацій, має повний контроль над інформацією, якою обмінюються кореспонденти і, на свій розсуд, у будь-який момент часу безперешкодно може здійснити атаку.

На відміну від попередніх сценаріїв, заснованих на технічних та технологічних аспектах засобів комунікацій, у цьому випадку атака заснована на ментальних аспектах, а саме на вкоріненні у свідомості користувачів концепції ігнорування вимог інформаційної безпеки.

Чи врятує шифрування?

Розглянемо випадок стандартної HTTP-транзакції. У цьому випадку зловмисник досить легко може розбити оригінальне TCP-з'єднання на два нових: одне між собою та клієнтом, інше між собою та сервером. Це досить просто зробити, оскільки дуже рідко з'єднання між клієнтом і сервером пряме, і в більшості випадків вони пов'язані через кілька проміжних серверів. MITM-атаку можна проводити будь-якому з цих серверів.

Однак у випадку, якщо клієнт і сервер спілкуються по HTTPS - протоколу, що підтримує шифрування - також може бути проведена атака "людина посередині". При такому вигляді з'єднання використовується TLS або SSL для шифрування запитів, що, здавалося б, робить канал захищеним від сніфінгу та MITM-атак. Атакуючий може для кожного з'єднання TCP створити дві незалежні SSL-сесії. Клієнт встановлює SSL з'єднання з атакуючим, той у свою чергу створює з'єднання з сервером. Браузер у таких випадках зазвичай попереджає про те, що сертифікат не підписаний довіреним центром сертифікації, але рядові користувачі застарілих браузерів легко оминають це попередження. До того ж, зловмисник може мати сертифікат, підписаний кореневим центром сертифікації (наприклад, такі сертифікати іноді використовуються для DLP ) і не створює попереджень. Крім того, існує низка атак на HTTPS. Таким чином, протокол HTTPS не можна вважати захищеним від MITM-атак у рядових користувачів. [ ] Існує ряд заходів, що запобігають частині атак MITM на https сайти, зокрема, HSTS , який забороняє використовувати http з'єднання з сайтів, Certificate pinning та HTTP Public Key Pinning , які забороняють заміну сертифіката.

Виявлення MITM-атаки

Для виявлення атаки "людина посередині" необхідно проаналізувати мережевий трафік. Наприклад, для детектування атаки по SSL слід звернути увагу на такі параметри:

  • IP-адреса сервера
  • DNS-сервер
  • X.509 -сертифікат сервера
    • Чи підписано сертифікат самостійно?
    • Чи підписано сертифікат центром сертифікації?
    • Чи був сертифікат анульований?
    • Чи змінювався сертифікат нещодавно?
    • Чи отримували інші клієнти в інтернеті такий самий сертифікат?

Реалізації MITM-атаки

Перелічені програми можуть бути використані для здійснення атак "людина посередині", а також для їх виявлення та тестування системи на вразливості.

Див. також

  • Aspidistra (англ.) – британський радіопередавач, який використовувався під час Другої світової війни «вторгнення», варіант MITM-атаки.
  • Змова Бабінгтона (англ.) - змова проти Єлизавети I, під час якого Уолсінгем перехоплював кореспонденцію.

Інші атаки

  • "Людина-в-браузері" (Man in the Browser) - вид атаки, при якій зловмисник отримує можливість миттєво змінювати параметри транзакції, змінювати сторінки абсолютно прозоро для жертви.
  • "Зустріч посередині" (Meet-in-the-middle attack) - криптографічна атака, яка також, як і атака "днів народження", використовує компроміс між часом і пам'яттю.
  • "Втрата посередині" (Miss in the middle attack) - ефективний метод так званого impossible differential cryptanalysis.
  • Relay attack - варіант MITM-атаки, заснований на пересиланні перехопленого повідомлення припустимому одержувачу, але з тому, якому це повідомлення призначалося.
  • Руткіт – програма, призначена для приховання слідів присутності зловмисника.

Напишіть відгук про статтю "Атака посередника"

Література

Посилання

  • www.all.net/CID/Attack/Attack74.html
  • www.nag.ru/2003/0405/0405.shtml
  • www.schneier.com/blog/archives/2006/04/rfid_cards_and.html

Уривок, що характеризує Атака посередника

- Quartire, quartire, logement, - сказав офіцер, зверху вниз, з поблажливою і добродушною усмішкою дивлячись на маленьку людину. – Les Francais sont de bons enfants. Que diable! Voyons! Ne nous fachons pas, mon vieux, [Квартири, квартири… Французи добрі guys. Чорт забирай, не сваритимемося, дідусю.] – додав він, тремтячи по плечу зляканого і мовчазного Герасима.
- A ca! Dites donc, on ne parle donc pas francais dans cette boutique? [Що ж, невже й тут ніхто не говорить французькою?] - додав він, оглядаючись навколо і зустрічаючись очима з П'єром. П'єр відсторонився від дверей.
Офіцер знову звернувся до Герасима. Він вимагав, щоб Герасим показав йому кімнати у хаті.
– Пан немає – не розумій… моя ваш… – говорив Герасим, намагаючись робити свої слова зрозуміліше тим, що він їх говорив наввиворот.
Французький офіцер, посміхаючись, розвів руками перед носом Герасима, даючи відчувати, що і він не розуміє його, і, накульгуючи, пішов до дверей, біля яких стояв П'єр. П'єр хотів відійти, щоб сховатися від нього, але в цей самий час він побачив з кухні, що відчинилися, висунувся Макара Олексійовича з пістолетом в руках. З хитрістю шаленого Макар Олексійович оглянув француза і, піднявши пістолет, прицілився.
- На абордаж!!! - Закричав п'яний, натискаючи спуск пістолета. Французький офіцер обернувся на крик, і в ту ж мить П'єр кинувся на п'яного. Коли П'єр схопив і підняв пістолет, Макар Олексійович потрапив, нарешті, пальцем на спуск, і пролунав постріл, що оглушив і обдав усіх пороховим димом. Француз зблід і кинувся назад до дверей.
Забувши свій намір не відкривати знання французької мови, П'єр, вирвавши пістолет і кинувши його, підбіг до офіцера і французькою заговорив з ним.
- Ви не поранені? - сказав він.
- Je crois que non, - відповів офіцер, обмацуючи себе, - mais je l'ai manque belle cette fois ci. раз близько було... Хто ця людина?] - суворо глянувши на П'єра, сказав офіцер.
— Ах, я маю на увазі, що я, правда, у відчаї від того, що трапилося, — швидко говорив П'єр, зовсім забувши свою роль. — C'est un fou, un [Це нещасний божевільний, який не знав, що робив.]
Офіцер підійшов до Макара Олексійовича і схопив його за комір.
Макар Олексійович, розпустивши губи, ніби засинаючи, гойдався, притулившись до стіни.
- Brigand, tu me la payeras, - сказав француз, забираючи руку.
- Розбійнику, ти мені поплатишся за це. Наш брат милосердний після перемоги, але ми не прощаємо зрадникам,] – додав він з похмурою урочистістю в особі і з гарним енергійним жестом.
П'єр продовжував французькою вмовляти офіцера не стягувати з цього п'яного, божевільного людини. Француз мовчки слухав, не змінюючи похмурого вигляду, і раптом з усмішкою звернувся до П'єра. Він кілька секунд мовчки глянув на нього. Красиве обличчя його набуло трагічно ніжного виразу, і він простяг руку.
- Vous m'avez sauve la vie! Vous etes Francais, [Ви врятували мені життя. Ви француз,] - сказав він. Для француза висновок цей був безсумнівний. Здійснити велику справу міг тільки француз, а порятунок життя його, m r Ramball'я capitaine du 13 me leger [мосьє Рамбаля, капітана 13-го легкого полку] - було, без сумніву, найбільшою справою.
Але як не сумнівався цей висновок і засноване на ньому переконання офіцера, П'єр вважав за потрібне розчарувати його.
- Je suis Russe, [Я російська,] - швидко сказав П'єр.
- Ти ти, a d'autres, - сказав француз, махаючи пальцем собі перед носом і посміхаючись. - Charme de rencontrer un compatriote. Eh, bien! [Зараз ви мені все це розповісте. Дуже приємно зустріти співвітчизника. Ну! Що ж нам робити з цією людиною?] - додав він, звертаючись до П'єра, вже як до свого брата. П'єр не був француз, отримавши раз це найвище у світі найменування, не міг же він зректися його, говорив вираз обличчя і тон французького офіцера. п'яна, божевільна людина потягла заряджений пістолет, який не встигли відібрати в нього, і просив залишити його вчинок без покарання.
Француз виставив груди і зробив царський жест рукою.
– Vous m'avez sauve la vie. Vous etes Francais. Vous me demandez sa grace? Je vous l'acorde. Qu"on emmene cet homme, [Ви врятували мені життя. Ви француз. Ви хочете, щоб я пробачив його? у французи П'єра, і пішов із ним до дому.
Солдати, що були на дворі, почувши постріл, увійшли в сіни, питаючи, що трапилося, і виявляючи готовність покарати винних; але офіцер суворо зупинив їх.
– On vous demandera quand on aura besoin de vous, [Коли буде потрібно, вас покличуть,] – сказав він. Солдати вийшли. Денщик, що встиг побувати в кухні, підійшов до офіцера.
— Capitaine, ils on de la soupe et du gigot de mouton dans la cuisine, — сказав він. - Faut il vous l'apporter? [Капітан у них у кухні є суп і смажена баранина. Накажете принести?]
- Oui, et le vin, [Так, і вино,] - сказав капітан.

Французький офіцер разом із П'єром увійшли до будинку. П'єр вважав за свій обов'язок знову запевнити капітана, що він був не француз, і хотів піти, але французький офіцер і чути не хотів про це. Він був настільки ввічливий, люб'язний, добродушний і істинно вдячний за порятунок свого життя, що П'єр не мав духу відмовити йому і присів разом з ним у залі, в першій кімнаті, в яку вони увійшли. На твердження П'єра, що він не француз, капітан, очевидно не розуміючи, як можна було відмовлятися від такого приємного звання, знизав плечима і сказав, що якщо він неодмінно хоче славитися за російського, то нехай це так буде, але що він, незважаючи на те, так само навіки пов'язані з ним почуттям подяки за спасіння життя.
Якби ця людина була обдарована хоч трохи здатністю розуміти почуття інших і здогадувався б про відчуття П'єра, П'єр, мабуть, пішов би від нього; але жвава непроникність цієї людини до всього, що був сам, перемогла П'єра.
- Francais ou prince russe incognito, [Француз або російський князь інкогніто,] - сказав француз, оглянувши хоч і брудна, але тонка білизна П'єра і перстень на руці. – Je vous dois la vie je vous offre mon amitie. [Я завдячую вам життям, і я пропоную вам дружбу. Француз ніколи не забуває ні образи, ні послуги. Я пропоную вам мою дружбу. Більше я нічого не говорю.]
У звуках голосу, у виразі обличчя, у жестах цього офіцера було стільки добродушності та шляхетності (у французькому сенсі), що П'єр, відповідаючи несвідомою усмішкою на посмішку француза, потиснув простягнуту руку.
- Capitaine Ramball du treizieme leger, decore pour l'affaire du Sept, [- Капітан Рамбаль, тринадцятого легкого полку, кавалер Почесного легіону за справу сьомого вересня,] - відрекомендувався він із самовдоволеною, нестримною усмішкою, яка морщила його губи під вусами. "Будіте ви так ласкаві сказати мені тепер, з ким я". маю честь розмовляти так приємно замість того, щоб бути на перев'язувальному пункті з кулею цього божевільного в тілі?]
П'єр відповідав, що не може сказати свого імені, і, почервонівши, почав, намагаючись вигадати ім'я, говорити про причини, з яких він не може сказати цього, але француз поспішно перебив його.
– De grace, – сказав він. – Je comprends vos raisons, vous etes officier… officier superieur, peut etre. Vous avez porte les armas contre nous. Я не розумію вас, ви офіцер... штаб офіцер, може бути. Ви служили проти нас. Це не моя справа. Я завдячую вам життям. Мені цього досить, і я весь ваш. Ви дворянин?] - додав він з відтінком питання. П'єр нахилив голову. Je ne demande pas delantege. Monsieur Pierre, dites vous… Parfait. ["Ваше ім'я? я більше нічого не питаю. Пане П'єр, ви сказали? Прекрасно. Це все, що мені потрібно.]
Коли принесли смажену баранину, яєчню, самовар, горілку і вино з російського льоху, яке з собою привезли французи, Рамбаль попросив П'єра взяти участь у цьому обіді і відразу сам, жадібно і швидко, як здорова і голодна людина, взявся їсти, швидко пережовуючи своїми сильними зубами, безперестанку прицмокуючи та примовляючи excellent, exquis! [Чудово, чудово!] Обличчя його почервоніло і покрилося потім. П'єр був голодний і із задоволенням взяв участь у обіді. Морель, денщик, приніс каструлю з теплою водою і поставив у неї пляшку червоного вина. Крім того, він приніс пляшку із квасом, яку він для проби взяв у кухні. Цей напій був уже відомий французам і отримав назву. Вони називали квас limonade de cochon (свинячий лимонад), і Морель хвалив цей limonade de cochon, який він знайшов у кухні. Але так як у капітана було вино, здобуте під час переходу через Москву, він надав квас Морелю і взявся за пляшку бордо. Він загорнув пляшку по шийку в серветку і налив собі і П'єру вина. Вгамований голод і вино ще більше оживили капітана, і він не перестаючи розмовляв під час обіду.
– Oui, мій cher monsieur Pierre, хлопчики, хлопці, хлопці, хлопці, хлопці, хлопчики, хлопці, хлопчики, хлопці. En voila une (on показав на бік) a Wagram et de deux a Smolensk, – він показав шрам, що був на щоці. - Et cette jambe, comme vous voyez, qui ne veut pas marcher. C'est a la grande bataille du 7 a la Moskowa que j'ai recu ca. Sacre dieu, c etait beau. Il fallait voir ca, c etait un deluge de feu. Vous nous avez taille une rude besogne; Vous pouvez vous en vanter, nom d'un peit bonhomme. [Так, мій любий пане П'єре, я зобов'язаний поставити за вас добру свічку за те, що ви врятували мене від цього скаженого. З мене, бачите, досить тих куль, які у мене в тілі. Ось одна під Ваграмом, друга під Смоленськом. А ця нога ви бачите, яка не хоче рухатися. Це при великій битві 7-го під Москвою. О! це було чудово! Треба було бачити, що це був потоп вогню. Задали ви нам важку роботу, можете похвалитися. І їй богу, незважаючи на цей козир (він вказав на хрест), я був би готовий почати знову. Шкода тих, які цього не бачили.]
- J"y ai ete, [Я був там,] - сказав П'єр.
– Bah, vraiment! Eh bien, tant mieux, – сказав француз. - Vous etes de fiers ennemis, tout de meme. La grande redoute a ete tenace, nom d'une pipe. Et vous nous l'avez fait cranement payer. J'y suis alle trois fois, tel. que vous me voyez. Vos grenadiers on ete superbes, tonnerre de Dieu. Je les ai vu six fois de suite serrer les rangs, et marcher comme a une revue. Les beaux hommes! — сказав він, посміхаючись, поїло хвилинної мовчанки. – він підморгнув з посмішкою, – avec les belles, voila les Francais, monsieur Pierre, n'est ce pas? [Ба, справді? Тим краще. Ви лихі вороги, треба зізнатися. Добре тримався великий редут, чорт забирай. І дорого ж змусили нас поплатитися. Я там тричі був, як ви бачите мене. Три рази ми були на гарматах, три рази перекидали нас, як карткових солдатиків. Ваші гренадери були чудові, їй богу. Я бачив, як їхні ряди шість разів стулялися і як вони виступали на парад. Чудовий народ! Наш Неаполітанський король, котрий у цих справах собаку з'їв, кричав їм: браво! – Га, га, то ви наш брат солдат! - Тим краще, тим краще, пане П'єре. Страшні в битвах, люб'язні з красунями, ось французи, пане П'єр. Чи не правда?]
До такого ступеня капітан був наївно і добродушно веселий, і цілісний, і задоволений собою, що П'єр мало не підморгнув, весело дивлячись на нього. Ймовірно, слово galant навело капітана на думку про становище Москви.

MTProto використовує оригінальний метод для того, щоб досягти надійності у нині вразливого мобільного зв'язку та швидкості в доставці великих файлів (наприклад, фотографій, відеороликів та документів розміром до 1 ГБ). Цей документ призначений для роз'яснення деталей нашої системи та розгляду елементів, які, на перший погляд, важко зрозуміти.

Детальна документація протоколу доступна на цій сторінці. Якщо у вас є питання - пишіть у Твіттер.

Примітка:Кожне повідомлення, зашифроване через MTProto, завжди містить такі дані, які будуть перевірені під час дешифрування, щоб зробити систему надійною від відомих проблем:

  • ідентифікатор сесії – session id;
  • довжина повідомлення – message length;

Note 2:Дивіться додаткові коментарі щодо використання , та модифікованоюсхеми.

Чому ви не використовуєте X [ваш варіант]

У той час як інші способи досягнення тих же криптографічних цілей, безперечно, існує, ми вважаємо, що нинішнє рішення є як надійним, так і успішним у нашому другорядному завданні — перевагу над незахищеними месенджерами щодо швидкості доставки і стабільності.

Чому ви спираєтеся на класичні криптоалгоритми?

Ми вважаємо за краще використовувати добре відомі алгоритми, створені в ті дні, коли пропускна здатність і обчислювальна потужність у парі зустрічалися досить рідко. Саме ці алгоритми значно впливають на сьогоднішню розробку додатків для мобільних пристроїв, змушуючи їх авторів позбавлятися відомих недоліків. Слабкі сторони таких алгоритмів також добре відомі та використовувалися зловмисниками десятиліттями. Ми ж використовуємо ці алгоритми в такій реалізації тому, що вони, як ми вважаємо, наводять будь-яку відому атаку до провалу. Тим не менш, ми були б раді ознайомитися з будь-якими доказами зворотного (досі таких випадків не випадало), щоб удосконалити нашу систему.

Я — експерт у галузі безпеки, і я вважаю, що ваш протокол є небезпечним.

Ви можете взяти участь у нашому конкурсі: Павло Дуров пропонує $200 000 у биткойнах тому, хто перший зламає MTProto. Можете ознайомитися з оголошенням та Конкурсним FAQ. Якщо у вас є інші зауваження, будемо раді почути їх на [email protected].

Захист від відомих атак

Атаки на основі відкритих текстів (Known-Plaintext Attacks)

Згідно з визначенням, атака на основі відкритого тексту – вид криптоаналітичної атаки, при якій у атакуючого є обидві версії тексту: зашифрована та вихідна. Використовуваний у MTProto AES IGE стійкий до таких атак. До того ж, незашифрований текст у MTProto завжди містить сіль сервера та ідентифікатор сесії.

Атака на основі адаптивно підібраного відкритого тексту

Згідно з визначенням, атака на основі адаптивно підібраного відкритого тексту - вид атаки у криптоаналізі, що передбачає, що криптоаналітик може вибирати відкритий текст і отримувати відповідний йому шифротекст. MTProto використовує AES у режимі IGE, який безпечний проти таких атак. Відомо, що IGE нестійкий до blockwise-adaptive атак, але MTProto виправляє це нижчеописаним способом. Кожне повідомлення з відкритим текстом, яке потрібно зашифрувати, містить такі дані, які перевіряються під час розшифрування:

  • сіль сервера (64-бітна) – server salt (64-Bit);
  • порядковий номер повідомлення – message sequence number;
  • час відправлення повідомлення – time.

До того ж, щоб замінити відкритий текст, також доведеться використовувати вірні AES-ключ та вектор ініціалізації, що залежать від auth_key . Це робить MTProto стійким проти атак на основі адаптивно підібраного відкритого тексту.

Атаки на основі підібраного шифротексту

Згідно з визначенням, атака на основі підібраного шифротексту - це криптографічна атака, при якій криптоаналітик збирає інформацію про шифр шляхом підбору зашифрованого тексту і отримання його розшифровки при невідомому ключі. При такій атаці зловмисник може ввести в систему один або кілька відомих шифротекстів та отримати відкриті тексти. За допомогою цих даних атакуючий може спробувати відновити ключ для розшифровки. У MTProto при кожному дешифруванні повідомлення проводиться перевірка на відповідність msg_key до SHA-1 розшифрованих даних. Відкритий текст (дешифровані дані) також містить інформацію про довжину повідомлення, його порядкового номера і солі сервера. Це зводить нанівець атаки з урахуванням підібраного шифротекста.

Атаки повторного відтворення

Атаки повторного відтворення неможливі, оскільки кожне повідомлення з відкритим текстом містить сіль сервера, унікальний ідентифікатор повідомлення та порядковий номер.

Атака «Людина посередині» (MitM)

Telegram має два режими спілкування: звичайні чати, які використовують шифрування клієнт-сервер, та секретні чати, що використовують кінцеве шифрування та захищені від атак посередника. Передача даних між клієнтом та сервером захищена від подібних атак під час генерації ключів за протоколом Діффі-Хеллмана завдяки алгоритму з відкритим ключем RSA, який вбудований у клієнти Telegram. Після цього, якщо клієнти співрозмовників довіряють програмному забезпеченню сервера, секретні чати між ними захищаються сервером від атак посередника. Спеціально для тих, хто недовіряє серверу, у додатку є порівняння секретних кодів. Ключі візуалізуються як зображень. Порівнюючи візуалізовані ключі, користувачі можуть переконатися, що атака "людина посередині" не була здійснена.

Шифрування

Ви використовуєте IGE? Він же зламаний!

Так, ми використовуємо IGE, але в нашій реалізації з ним все гаразд. Той факт, що ми не використовуємо IGE разом з іншими елементами нашої системи, так само, як і MAC, робить спроби злому IGE безглуздими. IGE, як і поширений режим зчеплення блоків шифротексту (CBC), піддається blockwise-adaptive атакам . Але адаптивні атаки є загрозою лише тоді, коли той самий ключ використовується в кількох повідомленнях (у це не так).

Адаптивні атаки навіть теоретично неможливі в MTProto, тому що для розшифровки повідомлень останні мають бути спершу повністю набрані, оскільки ключ повідомлення залежить від його змісту. Що ж до неадаптивних CPA-атак, IGE захищений від них, як і CBC.

Атака «людина посередині» (англ. Man in the middle, MitM-атака) - термін у криптографії, що означає ситуацію, коли атакуючий здатний читати і видозмінювати за своєю волею повідомлення, якими обмінюються кореспонденти, причому жоден з останніх не може здогадатися про його присутності у каналі.

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

Принцип атаки:

Припустимо, об'єкт "A" планує передати об'єкту "B" певну інформацію. Об'єкт "C" має знання про структуру та властивості використовуваного методу передачі даних, а також про факт планованої передачі власне інформації, яку "С" планує перехопити.

Для здійснення атаки "С" "представляється" об'єкту "А" як "В", а об'єкту "В" - як "А". Об'єкт " А " , помилково вважаючи, що він спрямовує інформацію " У " , посилає її об'єкту " З " .

Об'єкт "С", отримавши інформацію, та здійснивши з нею деякі дії (наприклад, скопіювавши або модифікувавши у своїх цілях) пересилає дані власне одержувачу - "В"; об'єкт "В", у свою чергу, вважає, що інформацію було отримано ним безпосередньо від "А".

Приклад MitM-атаці:

Припустимо, у Аліси фінансові проблеми та використовуючи програму для обміну миттєвими повідомленнями, вирішила попросити у Джона суму грошей, надсилаючи повідомлення:
Аліса: Джон, привіт!
Аліса: Відправте, будь ласка, ключ шифрування, є маленьке прохання!
Джон: Вітання! Стривай секундочку!

Але, в цей час, Містер-Х, який, аналізуючи трафік за допомогою сніффера, помітив це повідомлення, а слова "ключ шифрування" викликала цікавість. Ось чому вирішив перехопити такі повідомлення та підмінити їх на потрібні йому дані, і коли отримав таке повідомлення:
Джон: Ось мій ключ: 1111_Д

Він змінював ключ Джона на свій, і відправив повідомлення Алісі:
Джон: Ось, мій ключ: 6666_М

Аліса, нічого не підозрюючи і думаючи, що це ключ Джона, використовуючи секретний ключ 6666_М, відправляє Джону зашифровані повідомлення:
Аліса: Джоне, у мене проблеми і мені терміново потрібні гроші, переведи, будь ласка, $300 на мій рахунок: Z12345. Дякую. p.s. Мій ключ: 2222_А

Отримавши повідомлення, Містер-Х, розшифровує її за допомогою його ключа, читає, і радіючи, змінює номер рахунку та ключ шифрування Аліси на свій, зашифровує повідомлення ключем 1111_Д, і відправляє Джону повідомлення:
Аліса: Джоне, у мене проблемми і мені терміново потрібні гроші, переведи будь ласка $300 на мій рахунок: Z67890. Дякую. p.s. Мій ключ: 6666_А

Після того, як отримав повідомлення, Джон розшифровує її за допомогою ключа 1111_Д, і навіть не сумніваючись, переведе гроші на рахунок Z67890...

І таким чином, Містер-Х використовуючи атаку «людина посередині», заробив $300, але Алісі тепер доведеться пояснити, що вона не отримала грошей... А Джон? Джон повинен довести Алісі, що він їх відправив...

Реалізація:

Подібний тип атак використовується в деяких програмних продуктах для прослуховування мережі, наприклад:
NetStumbler- програма, за допомогою якої можна зібрати безліч корисних даних про бездротову мережу та вирішити деякі проблеми, пов'язані з її експлуатацією. NetStumbler дозволяє визначити радіус дії мережі та допоможе точно спрямувати антену для зв'язку на далекі відстані. Для кожної знайденої точки доступу можна дізнатись MAC-адресу, співвідношення сигнал/шум, назву сервісу та ступінь його захищеності. Якщо трафік не шифрується, корисною виявиться здатність програми виявляти неавторизоване підключення.

dsniff- являє собою набір програм для мережного аудиту та перевірок на можливість проникнення, забезпечують пасивний моніторинг мережі для пошуку даних, що цікавлять (паролі, адреси електронної пошти, файли тощо), перехоплення мережного трафіку, у звичайних умовах недоступного для аналізу (наприклад, у комутованій мережі), також можливість організації MITM-атак для перехоплення сесій SSH та HTTPS за рахунок використання недоліків PKI.

Cain & Abel- Безкоштовна програма, що дозволяє відновлювати втрачені паролі для операційних систем сімейства Windows. Підтримується кілька режимів відновлення: грубий злам методом перебору, підбір за словником, перегляд прихованих зірочками паролів тощо. Також є опції для виявлення пароля шляхом перехоплення інформаційних пакетів та їх подальшого аналізу, запису переговорів по мережі, аналізу кешу та інші.

Ettercap- являє собою сніффер, перехоплювач пакетів та реєстратор для локальних Ethernet-мереж, який підтримує активний та пасивний аналіз множини протоколів, а також можливі «підкидання» власних даних у наявну сполуку та фільтрацію «на льоту» без порушення синхронізації з'єднання. Програма дозволяє перехоплювати SSH1, HTTPS та інші захищені протоколи та надає можливість розшифровувати паролі для наступних протоколів: TELNET, FTP, POP, RLOGIN, SSH1, ICQ, SMB, MySQL, HTTP, NNTP, X11, NAPSTER, IRC, RIP, BGP, SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, HALF LIFE, QUAKE 3, MSN, YMSG.

KARMA– набір утиліт для оцінки безпеки бездротових клієнтів, є бездротовим сніффером, який, пасивно прослуховуючи 802.11 Probe Request фрейми, дозволяє виявляти клієнтів та їх кращі/довірені мережі. Потім може бути створена підроблена точка доступу для однієї із запитуваної мережі, до яких він може бути автоматично підключений. Високорівневі підроблені служби можуть використовуватися для крадіжки персональних даних або експлуатації клієнтських вразливостей на хості.

AirJack- Комплект програм, який, на думку експертів з галузі WiFi-хакінгу, це найкращий інструмент для генерування різних кадрів 802.11. AirJack включає ряд утиліт, призначені для виявлення прихованого ESSID, посилки фреймів припинення сеансу з підробленим MAC, проведення MitM-атак і її модифікацію.

Протидія:

Для запобігання атакам подібного типу абонентам "A" і "B" достатньо за допомогою достовірного каналу передати один одному цифрові підписи публічних ключів шифрування. Тоді при порівнянні підписів ключів у сеансах шифрування можна буде встановити, яким ключем шифрувалися дані, і чи не відбулася заміна ключів.

При якому зломщик, підключившись до каналу між контрагентами, здійснює втручання у протокол передачі, видаляючи чи спотворюючи інформацію.

Енциклопедичний YouTube

    1 / 3

    ✪ №4 ЯК СТАТИ ХАКЕРОМ? "Атака Посередника"! |ХАКІНГ від А до Я|

    ✪ MiTM-напад на iOS. Техніка та наслідки

    ✪ Біткоїн Хронологія Хакерських Атак і Зломів Бірж на Криптовалютному ринку (2012 - 2018)

    Субтитри

Принцип атаки

Атака зазвичай починається з прослуховування каналу зв'язку і закінчується тим, що криптоаналітик намагається підмінити перехоплене повідомлення, витягти з нього корисну інформацію, перенаправити його на зовнішній ресурс.

Припустимо, об'єкт A планує передати об'єкту B певну інформацію. Об'єкт C володіє знаннями про структуру та властивості використовуваного методу передачі даних, а також про факт планованої передачі власне інформації, яку планує перехопити. Для здійснення атаки З «представляється» об'єкту А як В, а об'єкту В - як А. Об'єкт А, помилково вважаючи, що він спрямовує інформацію, посилає її об'єкту С. Об'єкт С, отримавши інформацію, і здійснивши з нею деякі дії (наприклад , Скопіювавши або модифікувавши у своїх цілях) пересилає дані власне одержувачу - В; об'єкт, своєю чергою, вважає, що інформацію було отримано ним безпосередньо від А.

Приклад атаки

Використання шкідливого коду

Атака «людина посередині» дозволяє криптоаналітику вставляти свій код в електронні листи, SQL-вирази та веб-сторінки (тобто дозволяє здійснювати SQL-ін'єкції, HTML/script-ін'єкції або XSS-атаки), і навіть модифікувати бінарні файли, що завантажуються користувачем. , щоб отримати доступ до облікового запису користувача або змінити поведінку програми, завантаженої користувачем з Інтернету.

Downgrade Attack

Терміном «Downgrade Attack» називають таку атаку, коли криптоаналітик змушує користувача використовувати менш безпечні функції, протоколи, які досі підтримуються з міркувань сумісності. Такий вид атаки може бути проведений на протоколи SSH, IPsec та PPTP.

Для захисту від Downgrade Attack небезпечні протоколи повинні бути вимкнені щонайменше на одній стороні; просто підтримки та використання за умовчанням безпечних протоколів недостатньо!

SSH V1 замість SSH V2

Атакуючий може спробувати змінити параметри з'єднання між сервером та клієнтом під час встановлення між ними з'єднання. Згідно з доповіддю, зробленою на конференції Blackhat Conference Europe 2003, криптоаналітик може «змусити» клієнта розпочати сесію SSH1 замість SSH2 змінивши номер версії «1.99» для SSH-сесії на «1.51», що означає використання SSH V1. Протокол SSH-1 має вразливість, якими може скористатися криптоаналітик.

IPsec

При такому сценарії атаки криптоаналітик вводить свою жертву в оману, змушуючи її думати, що IPsec-сесія не може початися на іншому кінці (сервері). Це призводить до того, що повідомлення будуть пересилатися в явному вигляді, якщо хост-машина працює в rollback-режимі.

PPTP

На етапі узгодження параметрів сесії PPTP атакуючий може змусити жертву використовувати менш безпечну PAP-автентифікацію, MSCHAP V1 (тобто «відкотитися» з MSCHAP V2 до версії 1) або не використовувати шифрування взагалі.

Атакуючий може змусити свою жертву повторити етап узгодження параметрів PPTP-сесії (надіслати Terminate-Ack-пакет), викрасти пароль з існуючого тунелю і повторити атаку.

Громадські засоби комунікацій без захисту достовірності, конфіденційності, доступності та цілісності інформації

Найбільш поширені засоби комунікацій цієї групи - це соціальна мережа, публічний сервіс електронної пошти та система миттєвого обміну повідомленнями. Власник ресурсу, що забезпечує сервіс комунікацій, має повний контроль над інформацією, якою обмінюються кореспонденти і, на свій розсуд, у будь-який момент часу безперешкодно може здійснити атаку.

На відміну від попередніх сценаріїв, заснованих на технічних та технологічних аспектах засобів комунікацій, у цьому випадку атака заснована на ментальних аспектах, а саме на вкоріненні у свідомості користувачів концепції ігнорування вимог інформаційної безпеки.

Чи врятує шифрування?

Розглянемо випадок стандартної HTTP-транзакції. У цьому випадку зловмисник досить легко може розбити оригінальне TCP-з'єднання на два нових: одне між собою та клієнтом, інше між собою та сервером. Це досить просто зробити, оскільки дуже рідко з'єднання між клієнтом і сервером пряме, і в більшості випадків вони пов'язані через кілька проміжних серверів. MITM-атаку можна проводити будь-якому з цих серверів.

Однак у випадку, якщо клієнт і сервер спілкуються по HTTPS - протоколу, що підтримує шифрування - також може бути проведена атака "людина посередині". При такому вигляді з'єднання використовується TLS або SSL для шифрування запитів, що, здавалося б, робить канал захищеним від сніфінгу та MITM-атак. Атакуючий може для кожного з'єднання TCP створити дві незалежні SSL-сесії. Клієнт встановлює SSL-з'єднання з атакуючим, той, своєю чергою, створює з'єднання з сервером. Браузер у таких випадках зазвичай попереджає про те, що сертифікат не підписаний довіреним центром сертифікації, але рядові користувачі застарілих браузерів легко оминають це попередження. До того ж у зловмисника може виявитися сертифікат, підписаний кореневим центром сертифікації (наприклад, такі сертифікати іноді використовуються для DLP) і не створює попереджень. Крім того, існує низка атак на HTTPS. Таким чином, протокол HTTPS не можна вважати захищеним від MITM-атак у рядових користувачів. [ ] Існує ряд заходів, що запобігають частині атак MITM на https сайти, зокрема, HSTS , який забороняє використовувати http-з'єднання з сайтів, Certificate pinning та HTTP Public Key Pinning , що забороняють заміну сертифіката.

Виявлення MITM-атаки

Для виявлення атаки "людина посередині" необхідно проаналізувати мережевий трафік. Наприклад, для детектування атаки по SSL слід звернути увагу на такі параметри:

  • IP-адреса сервера
  • DNS-сервер
  • X.509 -сертифікат сервера
    • Чи підписано сертифікат самостійно?
    • Чи підписано сертифікат центром сертифікації?
    • Чи був сертифікат анульований?
    • Чи змінювався сертифікат нещодавно?
    • Чи отримували інші клієнти в інтернеті такий самий сертифікат?

Реалізації MITM-атаки

Перелічені програми можуть бути використані для здійснення атак "людина посередині", а також для їх виявлення та тестування системи на вразливості.

Див. також

  • Aspidistra (англ.) - британський радіопередавач, який використовувався під час Другої світової війни «вторгнення», варіант MITM-атаки.
  • Змова Бабінгтона (англ.) - змова проти Єлизавети I, в ході якого Уолсінгем перехоплював кореспонденцію.

Інші атаки

  • «Людина в браузері» (Man in the Browser) - вид атаки, при якій зловмисник отримує можливість миттєво змінювати параметри транзакції, змінювати сторінки абсолютно прозоро для жертви.
  • «Зустріч посередині» (Meet-in-the-middle Attack) - криптографічна атака, яка так само, як і атака «днів народження», використовує компроміс між «часом» і пам'яттю.
  • «Втрата посередині» (Miss in the middle attack) - ефективний метод так званого impossible differential cryptanalysis.
  • Relay attack - варіант MITM-атаки, заснований на пересиланні перехопленого повідомлення припустимому одержувачу, але не тому, якому це повідомлення призначалося.