Прослушка VoIP. Як PRISM і BULLRUN витягують інформацію з голосового потоку

  1. Зміст статті VoIP-телефонія поступово відвойовує позиції у традиційних мідно-дротових телефонних...
  2. Атака на VoIP по обхідним каналам
  3. Кілька слів про DTW-алгоритмі
  4. Продовження доступно тільки учасникам
  5. Варіант 2. Відкрий один матеріал

Зміст статті

VoIP-телефонія поступово відвойовує позиції у традиційних мідно-дротових телефонних систем, оскільки забезпечує більш високу пропускну здатність при меншій вартості розгортання. У 2013 році число VoIP-абонентів становила більше 150 мільйонів , Що вже саме по собі чимало; а в 2017 році - майже мільярд . Але як щодо конфіденційності VoIP-переговорів? Чи здатне наскрізне шифрування, що застосовується в VoIP-софт, забезпечити цю саму конфіденційність?

Такі питання стали особливо злободенними після одкровень Сноудена , Який розповів світові про тотальне прослуховування, яку урядові спецслужби на кшталт АНБ (Агентство національної безпеки) і ЦПС (Центр урядового зв'язку) ведуть за допомогою шпигунського софта PRISM і BULLRUN - цього софту, як виявляється, під силу навіть шифровані переговори .

Яким же чином PRISM, BULLRUN і інший, їм подібний софт витягує інформацію з голосового потоку, переданого по зашифрованих каналах?

Для того щоб знайти відповідь на це питання, потрібно спочатку розібратися, як в VoIP передається голосовий трафік. Канал передачі даних в VoIP-системах, як правило, реалізується поверх UDP-протоколу і найбільш часто працює по протоколу SRTP (Secure Real-time Transport Protocol - протокол захищеної передачі даних в режимі реального часу), який підтримує упаковку (за допомогою аудіокодеків) і шифрування аудиопотока. При цьому шифрований потік, який виходить на виході, має той же самий розмір, що і вхідний аудиопоток. Як буде показано нижче, подібні, здавалося б, незначні витоки інформації можна використовувати для прослуховування «шифрованих» VoIP-переговорів .

Що зловмисник може отримати від зашифрованого аудиопотока

Більшість з тих аудіокодеків, які застосовуються в VoIP-системах, засновані на CELP-алгоритмі (Code-Excited Linear Prediction - кодове лінійне передбачення), функціональні блоки якого представлені на малюнку нижче. Щоб домогтися більш високої якості звуку без збільшення навантаження на канал передачі даних, VoIP-софт зазвичай використовує аудіокодеки в VBR-режимі (Variable bit-rate - аудиопоток зі змінним бітрейтом). За таким принципом працює, наприклад, аудіокодек Speex.

За таким принципом працює, наприклад, аудіокодек Speex

Функціональні блоки алгоритму CELP

До чого це призводить в плані конфіденційності? Простий приклад. Speex, працюючи в VBR-режимі, упаковує шиплячі приголосні меншим бітрейтом, ніж голосні, і більш того - навіть певні приголосні і голосні звуки упаковує специфічним для них бітрейтом. Графік на малюнку нижче показує розподіл довжин пакетів для фрази, в якій є шиплячі приголосні: Speed ​​skaters sprint to the finish. Глибокі западини графіка припадають саме на шиплячі фрагменти цієї фрази. На малюнку представлена ​​( джерело ) Динаміка вхідного аудиопотока, бітрейта і розміру вихідних (зашифрованих) пакетів, накладена на загальну шкалу часу; разючу подібність другого і третього графіків можна бачити неозброєним поглядом.

Як шиплячі звуки впливають на розмір пакетів

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

Атака на VoIP по обхідним каналам

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

Крім того, PHMM-автомат виявляється корисним і для прослуховування зашифрованого аудиопотока. Але не прямо, а по обхідним каналам. Інакше кажучи, PHMM-автомат не може прямо відповісти на питання: «Яка фраза міститься в цьому ланцюжку шифрованих аудіопакетов?», Але може з великою точністю відповісти на питання: «Чи міститься така-то фраза в такому-то місці такого-то зашифрованого аудиопотока? »

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

Кілька слів про DTW-алгоритмі

DTW-алгоритм (Dynamic Time Warping - динамічна трансформація тимчасової шкали) до недавнього часу широко використовувався при вирішенні задач ідентифікації мовця і розпізнавання мови. Він здатний знаходити подібності між двома числовими ланцюжками, згенерували за одним і тим же законом, - навіть коли ці ланцюжки генеруються з різною швидкістю і розташовуються в різних місцях шкали часу. Це саме те, що відбувається при оцифрування аудиопотока. Наприклад, говорить може вимовити одну і ту ж фразу з одним і тим же акцентом, але при цьому швидше або повільніше, з різним фоновим шумом. Це не завадить DTW-алгоритму знайти подібності між першим і другим варіантом. Щоб проілюструвати на прикладі, розглянемо дві цілочисельні ланцюжка:

0 0 0 4 7 14 26 23 8 3 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 6 13 25 24 9 4 2 0 0 0 0 0

Якщо порівнювати ці два ланцюжки «в лоб», то вони, очевидно, сильно відрізняються один від одного. Однак якщо ми порівняємо їх характеристики, то побачимо, що ланцюжки безумовно мають деяку схожість: обидва вони складаються з восьми цілих чисел, обидві мають схоже пікове значення (25-26). «Лобове» порівняння, що починається від їх точок входу, ігнорує ці важливі характеристики. Але DTW-алгоритм, порівнюючи два ланцюжки, враховує їх і інші показники. Однак ми не будемо сильно акцентуватися на DTW-алгоритмі, оскільки на сьогоднішній день є більш ефективна альтернатива - PHMM-автомати.

експериментально було встановлено , Що PHMM-автомати «пізнають» фрази з зашифрованого аудиопотока з 90% -ою точністю, тоді як DTW-алгоритм дає тільки 80% -ву гарантію. Тому DTW-алгоритм (який в роки свого розквіту був популярним інструментом у вирішенні завдань розпізнавання мови) згадуємо лише для того, щоб показати, наскільки краще в порівнянні з ним PHMM-автомати (зокрема, при розпізнаванні шифрованого аудиопотока). Звичайно, DTW-алгоритм навчається значно швидше, ніж PHMM-автомати. Це його перевага незаперечно. Однак при сучасних обчислювальних потужностях воно не буде принциповим.

Продовження доступно тільки учасникам

Варіант 1. Приєднайся до товариства «Xakep.ru», щоб читати всі матеріали на сайті

Членство в співтоваристві протягом зазначеного терміну відкриє тобі доступ до ВСІХ матеріалами «Хакера», збільшить особисту накопичувальну знижку і дозволить накопичувати професійний рейтинг Xakep Score! Детальніше

Варіант 2. Відкрий один матеріал

Зацікавила стаття, але немає можливості стати членом клубу «Xakep.ru»? Тоді цей варіант для тебе! Зверни увагу: цей спосіб підходить тільки для статей, опублікованих більше двох місяців тому.


Але як щодо конфіденційності VoIP-переговорів?
Чи здатне наскрізне шифрування, що застосовується в VoIP-софт, забезпечити цю саму конфіденційність?
Яким же чином PRISM, BULLRUN і інший, їм подібний софт витягує інформацію з голосового потоку, переданого по зашифрованих каналах?
Інакше кажучи, PHMM-автомат не може прямо відповісти на питання: «Яка фраза міститься в цьому ланцюжку шифрованих аудіопакетов?
», Але може з великою точністю відповісти на питання: «Чи міститься така-то фраза в такому-то місці такого-то зашифрованого аудиопотока?
Ru»?