Протокол Skype — это фирменная сеть, используемая для интернет-телефонии. Его спецификации не являются общедоступными, и все официальные приложения, основанные на протоколе, имеют закрытый исходный код . Он несовместим с большинством сетей Voice over IP (VoIP), поэтому для любой интеграции требуется лицензирование от Skype .
Было предпринято много попыток реверс-инжиниринга протокола для изучения его функций безопасности или для включения неофициальных клиентов. 20 июня 2014 года Microsoft объявила, что старый протокол Skype будет устарел. Пользователи должны были обновиться до версии Skype 2014 года, чтобы продолжить доступ к сервисам, а старые клиенты больше не могли войти в систему . [1] [2] Начиная со второй недели августа 2014 года был реализован новый протокол Microsoft Notification Protocol 24 для улучшения автономного обмена сообщениями и синхронизации сообщений между устройствами. [3]
Архитектура «равный-равному»
Skype был пионером одноранговой (P2P) технологии для IP-телефонии. [4] Его архитектура включает суперузлы , обычные узлы и сервер входа. Каждый клиент поддерживает кэш достижимых суперузлов, в то время как данные каталога пользователя распределяются по этим суперузлам, организованным в слоты и блоки. [ необходима цитата ]
Первоначально любой клиент с достаточной пропускной способностью и вычислительной мощностью мог стать суперузлом. Такая настройка создавала проблемы для пользователей за брандмауэрами или трансляцией сетевых адресов (NAT), поскольку их соединения могли использоваться для облегчения вызовов между другими клиентами. В 2012 году Microsoft передала управление суперузлами своим центрам обработки данных для повышения производительности и масштабируемости, [5] [6] что вызвало опасения по поводу конфиденциальности [7] , которые позже были подчеркнуты разоблачениями слежки PRISM в 2013 году. [8] [9]
Skype не поддерживает IPv6 , [10] что могло бы упростить его инфраструктуру связи.
Проблемы коммуникации
Суперузлы ретранслируют сообщения для клиентов, которые находятся за брандмауэрами или NAT, позволяя совершать вызовы, которые в противном случае были бы невозможны. Однако могут возникнуть проблемы, такие как:
Невозможность получения внешних номеров портов или IP-адресов из-за NAT
Брандмауэры блокируют входящие сеансы
Проблемы UDP, такие как тайм-ауты
Ограничения порта
Подробности протокола
Сигнализация в Skype шифруется с помощью RC4 , но этот метод считается слабым, поскольку ключ шифрования можно восстановить из трафика. Голосовые данные защищены шифрованием AES . [11] API Skype позволяет разработчикам получать доступ к сети для получения информации о пользователях и управления вызовами.
Код остается закрытым, [12] а части клиента используют библиотеку сокетной связи с открытым исходным кодом, называемую Internet Direct (Indy) . [ необходима ссылка ]
В июле 2012 года исследователь раскрыл результаты, полученные в результате обратного проектирования клиента Skype. [13]
Протокол обнаружения
Различные сетевые и охранные фирмы утверждают, что имеют методы для обнаружения протокола Skype. Хотя их конкретные методы являются запатентованными, некоторые опубликованные методы включают тест хи-квадрат Пирсона и стохастическую характеристику с использованием наивных байесовских классификаторов . [14]
Слой запутывания
Skype использует RC4 для сокрытия полезной нагрузки пакетов данных. Вектор инициализации (IV) выводится из комбинации общедоступных исходного и конечного IP-адресов и идентификатора пакета, преобразованного в ключ RC4.
В частности, неправильное использование RC4 может происходить в потоках TCP, где первые 14 байтов потока подвергаются операции XOR с потоком RC4, что влияет на безопасность данных. [15]
Структура пакета и сжатие
Большая часть трафика Skype зашифрована, команды и их параметры организованы в список объектов, который можно сжать с помощью варианта арифметического сжатия .
Правовые соображения
Условия лицензионного соглашения Skype запрещают обратную разработку. Однако законодательство ЕС допускает обратную разработку в целях обеспечения совместимости, [16] а Закон США об авторском праве в цифровую эпоху предусматривает аналогичную защиту. [17] [18] [19] [20] [21] Некоторые страны также разрешают копирование для обратной разработки. [22]
Примечания
^ «Прокладываем путь для следующего поколения Skype на рабочем столе». 20 июня 2014 г.
^ Кайзер, Грегг (21 июня 2014 г.). «Обновление: Skype прекращает поддержку последних версий для Windows и Mac; обновления обязательны».
↑ Крис Мерримен (15 августа 2014 г.). «Skype прекращает работу на старых телефонах Android, оставляя пользователей Linux в неведении». CNET . Архивировано из оригинала 16 августа 2014 г. Получено 2 октября 2014 г.
^ Бранскомб, Мэри (27 июля 2012 г.). «Забудьте теории заговора: суперузлы Skype должны находиться в облаке». 500 слов в будущее (ZDNet) . Получено 17 июня 2013 г.
^ "Skype заменяет P2P-суперузлы на Linux-боксы, размещенные Microsoft (обновлено)". Ars Technica . 2 мая 2012 г. Получено 17 июня 2013 г.
^ Коснер, Энтони (18 июля 2012 г.). «Упростят ли изменения архитектуры Skype от Microsoft шпионить?». Блог Forbes . Получено 17 июня 2013 г.
^ Галлахер, Райан (6 июня 2013 г.). «Недавно раскрытая слежка PRISM заставляет слежку Verizon выглядеть как детская игрушка». Блог Slate . Получено 17 июня 2013 г.
^ Гринвальд, Гленн (7 июня 2013 г.). «Программа NSA Prism получает доступ к данным пользователей Apple, Google и других». The Guardian . Получено 17 июня 2013 г.
^ "Skype не поддерживает IPv6". Официальный аккаунт Skype в Twitter. 1 ноября 2012 г. Получено 4 ноября 2012 г.
^ Введение Анализ Skype Реализация анти-Skype политик, Skype раскрыл Исследование безопасности Skype, Декло Фабрис, 11.07.2005, EADS CCR/STI/C
^ "Какие протоколы использует Skype?". Помощь . Skype. Архивировано из оригинала 3 марта 2009 г.
^ "Сообщения в категории Skype Reverse". oKLabs . «Обратная разработка Skype: (долгое) путешествие ;)». oKLabs .
^ Дарио Бонфильо и др. «Раскрытие трафика Skype: когда случайность играет с вами». Обзор компьютерной связи ACM SIGCOMM . 37 (SIGCOMM 2007): 37–48 . Архивировано из оригинала 30.04.2011.
^ Памела Самуэльсон и Сюзанна Скотчмер (май 2002 г.). «Право и экономика обратного проектирования» (PDF) . Yale Law Journal . 111 (7): 1575– 1663. doi :10.2307/797533. JSTOR 797533. Архивировано из оригинала (PDF) 2011-07-16 . Получено 2015-03-17 .
^ В своде законов Франции об «интеллектуальной собственности» есть исключение, которое позволяет любому пользователю программного обеспечения проводить его обратную разработку. См. code de la propriété intellectuelle (на французском языке) . Этот закон является национальной реализацией части законодательства ЕС: Директивы Совета 91/250/EEC, с тех пор отмененной Директивой 2009/24/EC Европейского парламента и Совета от 23 апреля 2009 года о правовой защите компьютерных программ, которая также имеет очень похожее положение, разрешающее обратную разработку/декомпиляцию в целях разработки и тестирования независимых, но взаимодействующих программ.
Ссылки
Салман А. Басет и Хеннинг Шульцринне (2004). «Анализ протокола одноранговой интернет-телефонии Skype». arXiv : cs/0412017v1 .
П. Бионди и Ф. Дескло (3 марта 2006 г.). «Серебряная игла в скайпе» (PDF) .
Ф. Дескло и К. Корчинский (6 июня 2006 г.). "Vanilla Skype - часть 1" (PDF) .
Ф. Дескло и К. Корчинский (17 июня 2006 г.). "Vanilla Skype - часть 2" (PDF) .
Л. Де Чикко; С. Масколо; В. Палмисано (май 2007 г.). «Экспериментальное исследование контроля перегрузки, используемого Skype VoIP» (PDF) . WWIC 07. Springer.
L. De Cicco; S. Mascolo; V. Palmisano (9–11 декабря 2008 г.). «Математическая модель алгоритма управления перегрузкой Skype VoIP» (PDF) . Труды конференции IEEE по принятию решений и управлению 2008 г. .
Дарио Бонфиглио; Марко Мелиа; Микела Мео; Дарио Росси; Паоло Тофанелли (27–31 августа 2007 г.). «Выявление трафика Skype: когда случайность играет с вами». Обзор компьютерных коммуникаций ACM SIGCOMM.
Внешние ссылки
Сайт, содержащий статьи и инструменты, связанные с протоколом Skype и анализом поведения.