Skype представляет собой одну из самых популярных VoIP-программ, установленную на около 700 миллионах компьютеров по всему миру, владельцы которых даже и не подозревают, какая опасность им грозит. А опасность им грозит весьма серьезная: от утечки конфиденциальной информации до проникновения червей и оплаты чужого трафика…
Skype работает по принципу самоорганизующейся распределенной пиринговой сети (distributed self-organized peer-to-peer network, P2P). Skype – это черный ящик с многоуровневой системой шифрования, напичканного антиотладочными приемами исполняемого файла, считывающий с компьютера конфиденциальную информацию и передающий ее в сеть по закрытому протоколу.
Этот закрытый протокол обходит брандмауэры и сурово маскирует свой трафик, препятствуя его блокированию. Все это превращает Skype в идеального переносчика вирусов, червей и дронов, создающих свои собственные распределенные сети внутри Skype-сети.
К тому же, Skype довольно безцеремонно обращается с ресурсами твоего узла (компа), используя его для поддержания связи между остальными узлами Skype-сети, напрягая его процессор и генерируя мощный поток трафика. А трафик, как известно, не всегда бывает безплатным, так что кажущаяся безплатность звонков весьма условна: за узлы с «тонкими» каналами расплачиваются «толстые» владельцы.
Skype активно изучается в хакерских лабораториях и security-организациях по всему миру, и большинство исследователей единодушно сходятся во мнении, что Skype - это дьявольски хитрая программа, написанная безспорно талантливыми людьми в стиле Black Magic Art.
Skype не брезгует грязными трюками, создающими огромные проблемы, о которых я и собираюсь рассказать.
Skype очень следит за своей целостью, взломать его - высшее искусство…
Исполняемый файл Skype-клиента представляет собой настоящий шедевр хакерского искусства, вобравший в себя множество интересных и достаточно могучих защитных механизмов. Для противодействия им требуются не только мощные инструментальные средства (отладчики, дизассемблеры, дамперы и т.д.) и знания/навыки, но еще и куча свободного времени.
Двоичный файл полностью зашифрован и динамически расшифровывается по мере загрузки в память. Причем сброс дампа невозможен, точнее, затруднен тем обстоятельством, что стартовый код после выполнения очищается, в результате чего мы получаем exe-файл, который не запускается. Оригинальная таблица импорта не содержит ничего интересного, и API-функции подключаются уже в процессе распаковки. Проверка целостности кода выполняется из разных мест в случайном порядке (преимущественно при входящих звонках), поэтому поиск защитных процедур представляет собой весьма нетривиальную задачу. Тем более что они основаны на криптографических RSA-сигнатурах и снабжены полиморфными генераторами, которые в случайном порядке переставляют инструкции ADD, XOR, SUB и др., перемешивая их с левыми машинными командами.
Статический вызов функций (по жестко прописанному адресу) практически не встречается, и все важные процедуры вызываются по динамически вычисляемому указателю, пропущенному через обфускатор. Следовательно, дизассемблер нам тут уже не поможет, и приходится браться за отладчик.
А вот про отладчик следует сказать отдельно. Skype распознает SoftICE даже при наличии установленного IceExt, наотрез отказываясь запускаться… При этом важно помнить, что Skype легко обнаруживает программные точки останова, представляющие собой однобайтовую машинную инструкцию с опкодом CCh, записывающуюся поверх отлаживаемого кода. А для предотвращения пошаговой трассировки Skype осуществляет замеры времени выполнения определенных участков кода, для прохождения через которые приходится использовать полноценные эмуляторы PC с интегрированным отладчиком, например, знаменитый BOCHS.
Наконец, когда исполняемый файл распакован и все проверки пройдены, защита вычисляет контрольную сумму и преобразует ее в указатель, по которому передается управление, пробуждающее Skype.
Архитектура распределенной сети. На атомарном уровне структура Skype-сети состоит из обычных узлов, обозначаемых аббревиатурой SC (Skype Client), и super-узлов SN.
Любой узел, который имеет публичный IP-адрес (тот, который маршрутизируется в интернет) и обладает достаточно широким каналом, автоматически становится super-узлом и гонит через себя трафик обычных узлов, помогая им преодолеть защиты типа брандмауэров или трансляторов сетевых адресов (NAT) и равномерно распределяя нагрузку между хостами. В этом и состоит суть самоорганизующейся распределенной децентрализованной пиринговой сети, единственным централизованным элементом которой является Skype-login-сервер, отвечающий за процедуру авторизации Skype-клиентов и гарантирующий уникальность позывных для всей распределенной сети.
Важно подчеркнуть, что связь между узлами осуществляется не напрямую, а через цепочку super-узлов. Серверов в общепринятом смысле этого слова в Skype-сети нет. Любой узел с установленным Skype-клиентом является потенциальным сервером, которым он автоматически становится при наличии достаточных системных ресурсов (объема оперативной памяти, быстродействия процессора и пропускной способности сетевого канала)…
Как Skype обходит брандмауэры. Протокол обмена между Skype-клиентами совершенно недокументирован, и поэтому вся информация о нем получена методами реинженеринга: дизассемблирования Skype-клиентов, анализа перехваченного сетевого трафика и т.д. Поскольку существует огромное количество значительно различающихся между собой версий Skype-клиентов, то описание протокола может содержать неточности, во всяком случае, open-source-клиента еще никто не написал.
Сразу же после своего запуска Skype-клиент открывает TCP- и UDP-порты. Их номера случайным образом задаются при инсталляции и могут быть в любой момент изменены через диалог конфигурации, что затрудняет блокирование Skype-трафика на брандмауэре. Помимо этого, Skype открывает порты 80 (HTTP) и 443, однако они не являются жизненно важными, и, даже если их заблокировать, Skype ничуть не огорчится…
Механизм шифрования, используемый Skype. Ситуация осложняется тем, что Skype шифрует трафик, активно используя продвинутые технологии обфускации, препятствующие выделению постоянных сигнатур в полях заголовков. Алгоритмы шифрования меняются от версии к версии, к тому же выпущено множество специальных версий для разных стран мира…
Skype-клиенты крайне деликатно обходятся с брандмауэрами и трансляторами сетевых адресов, просачиваясь сквозь них через хорошо известные протоколы STUN и TURN… С юридической точки зрения, действия Skype законны и не попадают под статью…
Структура Skype-сети, в которой присутствуют Skype-клиенты за NAT и брандмауэрами. Администраторы локальных сетей наглухо закрывают UDP-трафик (тем более что большинству нормальных программ он не нужен). Немного поворчав для приличия (замуровали, демоны!), Skype автоматически переключается на чистый TCP, отрубить который администратору никто не позволит. Правда, поколдовав над брандмауэром, тот может закрыть все неиспользуемые порты, но в том-то и подвох, что неиспользуемых портов в природе не встречается! При соединении с удаленным узлом операционная система назначает клиенту любой свободный TCP/UDP-порт, на который будут приходить пакеты. То есть, если мы подключаемся к web-серверу по 80-му порту, наш локальный порт может оказаться 1369-м, 6927-м или еще каким-нибудь другим. Закрыв все порты, мы лишимся возможности устанавливать TCP/UDP-соединения!
Единственный выход — обрубить всем пользователям локальной сети прямой доступ в интернет, заставив их ходить через proxy-сервер. Однако даже такие драконовские меры не решат проблемы, поскольку Skype просто прочитает конфигурацию браузера и воспользуется proxy-сервером как своим родным!..
Разработчики Skype предостерегают администраторов от попыток выявления и блокирования его трафика (типа: «Все равно у вас ничего не получится!»). И действительно, распознать Skype-трафик очень сложно, а заблокировать его можно только по содержимому, которое зашифровано и не содержит никаких предсказуемых последовательностей…
Для детектирования и блокирования Skype-трафика можно использовать и другие программно-аппаратные средства… Однако все они недостаточно эффективны, так как разработчики Skype не сидят сложа руки, и если кому-то удается найти надежный способ блокировки его поганого трафика, в следующих версиях поганец появляется вновь.
Армии дронов, или как зомбировать Skype. Хакеры уже давно догадались использовать Skype для распространения вирусов и организации распределенных атак, которым очень сложно воспрепятствовать - Skype-трафик надежно зашифрован и не может быть проанализирован антивирусами, заблокирован брандмауэрами или распознан системами обнаружения вторжения.
Естественно, чтобы захватить Skype-узел, хакер должен найти способ передать на него зловредный код, что при соблюдении всех мер безопасности он ни за что не сможет сделать. Но, как и всякое другое программное обеспечение, Skype подвержен ошибкам, в том числе и ошибкам переполнения, одна из которых была обнаружена 25 сентября 2005 года. Сейчас она уже давно исправлена и представляет лишь исторический интерес…
Возможность передачи управления на shell-код позволяла атакующему овладевать любым Skype-узлом, а также всеми известными ему super-узлами и т.д. Над распределенной сетью нависла глобальная угроза, и просто чудо, что она не закончилась катастрофой. Однако, как показывает практика, там, где есть одна ошибка, рано или поздно появляются и другие. Закрытость исходных текстов и множество антиотладочных приемов (затрудняющих тестирование программы) этому только способствуют!
Другая опасная «вкусность» Skype заключается в открытости его API. Пойдя навстречу сторонним разработчикам, создатели Skype предусмотрели возможность интеграции любой прикладной программы со Skype-клиентом. Правда, при этом на экран выводится грозное предупреждение, что такая-то программа хочет пользоваться Skype API: разрешить или послать ее на фиг? Естественно, большинство пользователей на подобные вопросы отвечают утвердительно. Уже привыкшие к надоедливым предупреждениям, они инстинктивно давят «Yes» и только потом начинают думать, а что же они, собственно, разрешили?
Понятное дело, что, чтобы использовать Skype API, зловредную программу нужно как-то доставить на компьютер. Раньше для этого применялась электронная почта, успешно фильтруемая антивирусами, но количество пользователей, запустивших исполняемый файл, все равно исчислялось миллионами. Теперь же для рассылки вирусов можно использовать сам Skype. Локальный антивирус — единственное средство обороны, потенциально способное отразить атаку. Но, если он и установлен, распознать неизвестный науке вирус он не в состоянии даже при наличии антивирусных баз первой свежести (эвристика пока все-таки работает больше на рекламу, чем на конечный результат).
Важно, что протокол Skype уже частично расшифрован и созданы хакерские инструменты, позволяющие взаимодействовать со Skype-узлами в обход стандартных Skype-клиентов, и даже без сервера регистрации! И хотя в настоящее время дело ограничивается простым сбором адресов super-узлов, существует принципиальная возможность создания своих собственных сетей на базе распределенной Skype-сети, главная ошибка разработчиков которой заключается в том, что Skype-узлы безоговорочно доверяют друг другу и вся «безопасность» зиждется лишь на закрытости протокола.
Заключение. Заканчивая статью, я хотел бы спросить: что же все-таки скрывают создатели Skype в недрах своего кода? Почему, распространяя программу безплатно, они зажимают исходные тексты и используют закрытый протокол, вызывая тем самым недоверие специалистов по безопасности? Для чего безплатной программе столь навороченная защита, снижающая производительность и потребляющая большое количество памяти, ведь ломать ее никто не собирается? Почему вообще Skype-клиент реализован как черный ящик?
Вопросы риторические. Но чует мой хвост, неспроста все это!
Skype: скрытая угроза - 08.06.2007 - Крис Касперски ака мыщъх - xakep.ru/post/38543
Комментарии
Задайте ВОПРОС или выскажите своё скромное мнение:
очень прикольно.. он так
очень прикольно.. он так говорит как-будто такого напортачил, что так и хочет чтобы его не достали органы... :-) какой прок от этой болтовни обычному законопослушному юзеру?! ну блин постоянно идет борьба против анонимности в инете. и сами юзеры в принципе тоже ЗА... а почему нет? кто хочет анонимности тот знает куда не лезть и чего не делать.. ну блин, мусолят одно и то же... прямо идея всемирного заговора... да лучше пусть делает Google который столько отличных сервисов для своих клиентов дал, что другим и не снилось.. ну естественно он будет снимать ту информацию которую ему юзеры дает.. ну не хочешь в Google Chekout светить свою карту, а значит и почтовый адрес, ну не свети.. иди нафиг.. какие проблемы? дело в том, что адрес человека никаких проблем не представляет даже без всяких цифровых технологий... ну а если человек твердо намерен скрываться, то уж гугл его вряд ли найдет.. :-) пол-России неоцифровано в картах, так что есть места куда залезть :-)
Если вы не делаете ничего плохого,то почему вы что-то скрываете?
В этом (pgpru.com/biblioteka/statji/nothingtohide) эссе, написанном для симпозиума San Diego Law Review, профессор Daniel Solove изучает аргумент "нечего скрывать"...
Когда людей спрашивают о правительственной слежке или сборе данных через интернет или мобильники, многие люди отвечают, основываясь на утверждении: "Мне нечего скрывать"...
Вы просто болван, Anonymous
Вы просто болван, Anonymous. Я не люблю оскорблять людей но я действительно считаю вас болваном. Болваном без грамма фантазии, болваном который не знает истории, болваном который даже не задумывается к чему приводит безграничная власть. И высказываю своё суждение вам в лицо. Вы сударь болванчик и имя таким болванчикам - легион, к сожалению.
Вы не понимаете что такое ТОТАЛЬНАЯ, БЕЗГРАНИЧНАЯ власть и контроль. Вы недооцениваете силу и мощь информационный технологий. Вы не читали "1984" Оруэлла и не знаете поговорки "Кто контролирует прошлое, тот управляет будущим. Кто контролирует настоящее - контролирует прошлое."
Вы не понимаете, что если событие не "гуглится" - его не происходило. Лишь немного коррелируя поисковые запросы уже можно управлять умами людей. Подкручивая рейтинги нужным блогам, можно устраивать пятиминутки ненависти. Можно скрывать любые болячки общества, которые никуда не пропадут. И никто не заметит что недополучит информацию. Что его взгляд сузят на нужных предметах.
Кручу, верчу, запутать хочу. Три стаканчика с ответами на поисковые запросы. Один эстетически красив для вас, и вы выбираете его получая нужный ответ, что партия власти непогрешима. Или вы вообще не видите другие два стаканчика. Или не находите ответ, нужный вам ни в одном из стаканчиков. Это один из сотни тысяч примеров что будут делать Скайнеты.
Вы не представляете что история просто остановится, что не будет уже возможности изменить Систему. О Господи, как бы я хотел верить, как и вы, что "Да, я простой человек. Простым людям нечего скрывать, им не грозит система тотальной слежки". Грозит и ещё как.
Сейчас мы в интернете только по пояс. Скоро мы там увязнем. Всю жизнь человека от рождения до смерти можно будет увидеть, услышать и ПРО-КОН-ТРО-ЛИ-РО-ВАТЬ.
И я ведь ещё не параноик. Как можно быть такими слепыми?? Вы что, бараны? Вы не понимаете, чем это станет через 3, через 5, через 10 лет?? Мало вас фантасты предупреждали? Пятьдесят лет назад были антиутопии написаны. Слепые болваны...
Про анонимный интернет. Введение для "чайников" (Serguei_Tarassov)
Фейсбук (Facebook) стоит на темной стороне силы Serguei_Tarassov
Фейсбуковое
Фейсбук, как шутливо выразился один мой старинный приятель, стоит на темной стороне силы.
Кто бы сомневался. Портал франкоязычных разработчиков developpez.com опубликовал резюме по итогам исследования и тяжбы одного пользователя.
Max Schrems, студент права, решил применить к конторе директиву 95/46/CE, которая гарантирует каждому европейцу доступ ко всей информации, касающейся его лично.
Формуляр запроса скрыт в гуще страниц фейсбука, контора не проявляет доброй воли к выдаче информации. Но наконец Макс получил CD со 1222-страничным PDF.
И вуаля, все на диске: друзья, отклоненные контакты, адреса, сообщения, приглашения, ответы, даты подписок и контактов, ссылки и т.п. включая журнал посещений сайта.
Впридачу:
• фейсбук разводит пользователей на кнопке "Удалить", в реальности он никогда не удаляет информацию, а только скрывает ее
• фейсбук ведет список всех компьютеров, с которых пользователь входил в сеть
• сеть также обладает списком пользователей, использующих один и тот же компьютер
• все соединения локализованы географически
• фейсбук содержит "теневые профили" пользователей, которые не зарегистрированы в сети (по приглашениям, по адресам почты, по входу с других сайтов, удаленные и т.д.)
Пламенный привет активным пользователям "вконтакта", который работает на том же движке, что и фейсбук. Да и всем остальным, по большому счету :)
Перечитывайте на досуге популярные (на уровне домохозяки) статьи по анонимности в интернет, вдруг поможет?
А со Стивеном Рамбамом - согласен, хороший текст.
Настолько все прозрачно, что мы с автором независимо пришли к одинаковым выводам :))
Ссылки (фр.яз.):
ecrans.fr/Facebook-la-memoire-cachee,13424.html
Блог Max Schrems на англ.яз.: europe-v-facebook.org/EN/Data_Pool/data_pool.html
Serguei_Tarassov - 26.10.2011 - arbinada.com/main/node/1261
Так что же делать-то?
Так что же делать-то?
борьба бесполезна.
борьба бесполезна.
Евгений
Кошмар. Все равно должны быть способы обезопасить себя от этого.
Кирилл
Пропущен большой кусок между началом рассказа о Swipely и "он сел на восемь лет за убийство".
В клонах переводов доклада
В клонах переводов доклада 2010 года - никаких пропусков в этом месте нет. А перевода доклада 2012 года - похоже, что нигде нет в сети.
В данном посте восполнены пробелы многочисленных клонов перевода доклада Стивена Рамбама 2010 года, расположенные ближе к концу (на основе английского источника).
Если кто нашел иные пробелы, то лучше бы и описал бы, о чем там говорилось. Скорее всего что-то маловажное, что не заслуживает внимания. Но серьезные правки будут вноситься в этот пост.
К сожалению, не видно радетелей, кто бы изложил на русском, что нового в докладе Стивена Рамбама 2012 года, - а жаль (сам бы это сделал, если бы был способен).
Google Chrom 50 раз в день тащит что-то у вас!
Недавно обратил внимание, что Google Chrom 50 раз в день тыкается в сеть - под маркой "Google Chrom Update". Понятно что никакие апдейты браузера так часто не бывают.
Что-то сливает... Но запросы самому Гуглу ему и так известны в штатном режиме. Видимо он рыщет по кэшам Яндекса и других поисковых систем, а м.б. и социалок, и восполняет полноту картины сетевой жизни наблюдаемых "объектов".
В отличие от всех других браузеров, Google Chrom Update спрятаны в глубинах Windows-реестра и эти апдейты легко не отключить. Попробовал изъять соответствующий раздел Реестра винды - и Хром перестал запускаться! Вот как дороги гуглоидам их т.н. "updates"...