Уязвимости Skype


Skype[link1] – это набирающая популярность децентрализованная пиринговая сеть интернет-телефонии, поддерживающая сервисы VoIP и IM. Иными словами, это нечто среднее между KaZaa и ICQ, только вместо текстовых сообщений или музыкальных файлов сеть осуществляет передачу телефонных звонков между компьютерами её пользователей. Учитывая объёмы рекламных кампаний Skype по всему миру, мне видится необходимым осветить некоторые тёмные углы в протоколе системы, о которых намеренно умалчивают разработчики.

В начале января Симсон Гарфинкель опубликовал подробное исследование[link2] системы безопасности Skype. Поскольку протокол и клиентские приложения Skype являются проприетарными и закрытыми, анализ в основной части основан на эмпирических наблюдениях. Не все из сделанных выводов точны и обоснованы, но к сегодняшнему дню это лучшая работа по данной теме. Впоследствии к ней был высказан ряд замечаний и уточнений.

Разработчики Skype заявляют[link3] об абсолютной защищённости всех передаваемых сообщений, благодаря их шифрованию алгоритмом AES. Хотя информация об использовании AES, по-видимому, справедлива (передаваемые данные проявляют свойство псевдослучайности), Skype обладает рядом недостатков, ставящих под угрозу компрометации всю его сеть. Чтобы понять, что является причиной, попробуем в общих чертах рассмотреть, как функционирует Skype.

В отличие от "классических" VoIP-систем, потоки данных между абонентами передаются не через центральные коммутаторы телефонной службы, а проходят напрямую через интернет от одного компьютера к другому (peer-to-peer) либо производятся через специальные узлы. Эти узлы, осуществляющие координацию, адресацию и маршрутизацию потоков, а также трансляцию запросов пользователей к серверу аутентификации, называются "супер-узлами" (super-nodes), при этом каждый пользователь может по своему желанию выполнять функции супер-узла, отметив в своём клиенте соответствующую опцию.

Надёжность любой распределённой сети строится на доверии участников (узлов) друг другу. Для обеспечения доверия обычно применяются протоколы криптографической аутентификации и авторизации, и именно здесь в Skype находится зияющая дыра. Поскольку клиенты не могут определить, функционирует ли супер-узел на оригинальном немодифицированном ПО, оппонент, который способен произвести реверс-инженеринг клиентского приложения, может создать такой супер-узел, который будет "чуть более функционален", чем должен быть. Подумаем, к каким это может привести последствиям.


В то же время, распределённая структура Skype в некоторой мере сглаживает отмеченные недостатки. Поскольку клиент самостоятельно выбирает топологически разнесённые друг от друга супер-узлы (чтобы покрывать меньшим числом запросов большую часть сети), нет гарантии, что тот или иной запрос попадёт на узел оппонента. Чтобы иметь возможно эффективно прослушивать любого целевого (а не случайного) абонента, оппонент должен организовать сивиллову атаку и наводнить сеть множеством подконтрольных узлов. Высказывалось мнение, что при нынешнем размере сети будет гарантированно достаточно нескольких сотен скомпрометированных супер-узлов. Если бюджет оппонента может позволить аренду сотни коллокейшн-серверов в разных частях света, что обойдётся приблизительно в 100-150 тыс. долларов в год, что более, чем реально, для любой крупной компании или государственной разведслужбы, оппонент фактически получает полный контроль над сетью. Это особенно вероятно и опасно в свете того, что многие западные компании переходят на Skype в качестве основного VoIP-провайдера, делая его привлекательной мишенью. Если же оппонент способен провести реверс-инженеринг клиентского приложения и протокола Skype, он с вероятностью может определить алгоритм выбора супер-узлов, что позволит проводить атаку на конкретного пользователя существенно меньшими усилиями.

Из сказанного можно сделать два основных вывода. Хотя распределённая структура Skype повышает планку затрат на "вхождение" оппонента (трудно, не обладая крупным бюджетом, перехватить или не доставить звонок целевого абонента), его децентрализованность делает сеть слишком подверженной сивилловым атакам и тотальному мониторингу заинтересованными организациями.

© 2005 SATtva[link4]


Ссылки
[link1] http://skype.com/

[link2] http://www.tacticaltech.org/files/Skype_Security.pdf

[link3] http://skype.com/help/faq/privacy.html

[link4] http://www.vladmiller.info