-Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в Ку-курузко

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 04.02.2008
Записей:
Комментариев:
Написано: 726

Выбрана рубрика Что-то интересненькое.


Другие рубрики в этом дневнике: Экран с картинками(2), Фотография(0), Стихи(0), Путешествия(0), Накипевшее(6), Мое творчество(0), Маленькие радости(5), Личное(6), Кулинария(2), Книги(0), Зоны цвета кирпича(2), Здоровье(3), Времяпровождение(7), Будни(5)
Комментарии (2)

Долг сказать правду или соврать? А может,рулит шаризм/пофигизм?

Дневник

Среда, 09 Февраля 2011 г. 19:32 + в цитатник
Настроение сейчас - задумчиво-сонное

Сегодня к нам на пару зашел преподаватель и раздал всем тесты с просьбой ответить на вопросы. Вопросы были анонимными,и связаны с коррупцией в ВУЗах. Во мне это вызвало негодование. НО не потому что я отношусь к этому негативно,а потому что знаю отношение к этой проблеме сокурсников.

Я честно отвечала на все вопросы. Взяточничество для меня неприемлимо, особенно сейчас. Когда я училась в государственном вузе на бюджетном месте (КГТУ им.Туполева),я несколько раз покупала оценку. Мне пришлось,потому что я не могла сдать эти предметы сама. Дело даже не в моем непонимании предметов этих,сколько в распущенности преподавателей,которые своим поведением явно показывали,что им придется "дать".Я сейчас там не учусь.Могу даже открыто написать кто эти преподаватели.

Сейчас я учусь в платном вузе. Я плачу за учебу 25 тысяч рублей.Для меня это бешеные деньги. Я плачу по полсуммы в год,и то набираю ее с трудом. Естественно,никакой речи о покупке экзаменов не стоит. Но этот вопрос не стоит для меня в данной ситуации скорее из принципа. Я перевелась в платный вуз не за тем чтобы платить еще и за экзамены. Я считаю,Что те,кто покупает-дураки и идиоты,неспособные сами сдать (порой легкий) предмет.Мои одногруппники не разделяют этого.

Как-то у нас был зачет, преподаватель дал задачки и сказал,что те кто решат,получат зачет. Вся группа,кроме меня,и может еще пары человек (а нас человек 50), скинулись деньгами. Помню как на меня косо смотрели те,кому я сказала,что считаю глупым платить за предмет,который можно сдать мозгами. И это для меня главное. Мои действия в этом вузе определяют мои мозги,а не мои деньги. Я испытываю постоянный дефицит денег,а если они есть,я трачу их на одежду или питание.Я лучше буду пересдавать экзамены,чем покупать их.

В том году случилась неприятная история.Арестовали преподавателя,который вел у нас социологию.Мне очень нравилось,как он вел у нас лекции.И когда меня вызвали в милицию и сообщили о том,что преподаватель взял взятку за экзамен,я не удивилась.Я об этом слышала от тех,кто непосредственно собирался покупать.Я сдавала сама.Предмет легкий,не сдать его способны лишь идиоты.Купить-еще большие идиоты.

В ОБЭПе меня спросили,знаю ли я,по какой причине нахожусь тут. Я собралась было защищать преподавателя своими рассказами о том,какой он замечательный педагог,как вдруг,совершенно неожиданно,мне заявляют,что преподаватель указал мою фамилию в списке давших взятку. Я даже дар речи потеряла. Пришлось мне торчать в отделе пару часов в качестве допрашиваемого.Только после того как я сообщила,кем работает моя мама,после их разговора с ней,меня отпустили.

А вообще,вызывали меня дважды.Сначала в главный ОБЭП республики,затем в районный.И везде пришлось повторять оно и то же. Мама говорит, брали на понт,ждали,что я скажу,что покупала, и будет одним свидетелем больше. Но сопоставив информцию,я задумалась-а кто знает? Не всех ведь вызывали из моих сокурсников,например,одну из купивших "подружек" не вызывали,хотя она точно покупала. Это и вызвало во мне негодование сегодня!Я вспомнила этот случай,и даже когда писала анонимный тест,хотела указать там свою фамилию и имя.Чтобы знали,кто с ними так честен.И еще написать несколько рекомендаций от себя.

Впрочем,ответы моих институтских "подружек" меня не удивили :"На шару!".."Да я где попало ставила крестики"...

Вот вам и анонимный тест.


 (450x287, 8Kb)
Рубрики:  Накипевшее
Будни
Что-то интересненькое

Метки:  
Комментарии (2)

Ой)

Дневник

Суббота, 25 Декабря 2010 г. 14:31 + в цитатник
В колонках играет - Високосный год
Настроение сейчас - усталость

Я кажется влюбилась? Но об этом пока рано говорить.))))

 


 


Рубрики:  Маленькие радости
Времяпровождение
Будни
Что-то интересненькое
Личное

Метки:  
Комментарии (4)

Как сделать маску.(В преддверии Хэллоуина)

Дневник

Воскресенье, 24 Октября 2010 г. 21:11 + в цитатник
В колонках играет - Mya - No Sleep Tonight

Большинство современных игрушек (в данном случае масок) сделано из некачественных и плохих материалов,вредныхдля кожи. Если вы беспокоитесь за свое здоровье и здоровье своих близких,то сделайте сами маску из папье-маше!
Слово это французское, и многие сейчас его не знают, как не знают и саму забытую технологию.
Для изготовления маски не нужно приобретать какие-то особые материалы: нужны только газеты, клей (обойный или ПВА) и пластилин.

Итак. Из пластилина делаем форму для маски. Можно как основу для формы использовать старые солнцезащитные очки. Обклеиваем их пластилином и делаем объемную форму. Затем нужно порвать газету на клочки, смочить их и обклеить ими плотно пластилиновую заготовку. Надо нанести четыре слоя бумаги, промазывая клеем, и дать им просохнуть примерно час. Затем нанести еще четыре слоя, можно и больше, и опять хорошо просушить. Затем в конце проклеить аккуратно два слоя более плотной белой бумаги.

Когда все высохнет, маску нужно отделить от пластилиновой формы, обрезать по размеру, раскрасить гуашью и, если требуется, обклеить другими украшениями, типа дождика, битого стекла из игрушек и бахромы или бисера.

Если маску делать из большого количества слоев бумаги, ее потом, после окончательной просушки, можно обрезать, отшлифовать с помощью наждачной бумаги и довести до нужной кондиции. Затем можно эту маску покрыть лаком.

В заключение нужно по краям маски сделать две прорези для завязок из любых красивых ленточек.

По этой технологии можно сделать любую, даже вполне объемную маску, не компьютерно-виртуальную, как в голливудских фильмах, а вполне реальную. Просто и дешево. А украсить ее можете чем хотите. Хоть перьями, хоть шерстью, хоть бисером, хоть мишурой.

Старая это технология, но делать маску из современного винипласта будет намного сложнее. Нужна специальная горелка для нагрева. А если делать все над газовой плитой, то это будет и опасно, и трудно.

Рубрики:  Что-то интересненькое

Метки:  
Комментарии (0)

Хакерам и любителям на заметку

Дневник

Воскресенье, 24 Октября 2010 г. 10:39 + в цитатник
В колонках играет - Вельвет-Продавец кукол
Настроение сейчас - спать хочу

Skype - скрытая угроза

Автор: (c)Крис Касперски ака мыщъх

Skype представляет собой одну из самых популярных VoIP-программ, установленную на миллионах компьютерах по всему миру, владельцы которых даже и не подозревают, какая опасность им грозит, а опасность им грозит весьма серьезная - от утечки конфиденциальной информации до проникновения червей и "попадания" на трафик, не говоря уже о таких мелочах как нежелание Skype работать при активном Soft-Ice. Но мыщъх все это благополучно разгрыз и теперь предлагает продукты своей жизнедеятельности на всеобщее обозрение.

Введение

Созданный отцами-основателями скандально известной Kazaa, Skype работает по принципу самоорганизующийся распределенной пиринговой сети (distributed self-organized peer-to-peer network, P2P), унаследовавшей от своей "родительницы" самые худшие ее черты.

Skype - это черный ящик с многоуровневой системой шифрования исполняемого файла, напичканного анти-отладочными приемами, считывающий с компьютера конфиденциальную информацию и передающий ее в сеть по закрытому протоколу, обходящему брандмауэры и сурово маскирующему свой трафик, препятствуя его блокированию, что превращает Skype в идеального переносчика вирусов, червей и дронов, создающих свои собственные распределенные сети внутри Skype-сети.

К тому же, Skype довольно бесцеремонно обращается с ресурсами вашего узла, используя его для поддержания связи между остальными узлами Skype-сети, напрягая ЦП и генерируя мощный поток трафика, а трафик, как известно, редко бывает бесплатным (особенно в условиях России), так что кажущаяся бесплатность звонков весьма условна: за узлы с "тонкими" каналами расплачиваются владельцы "толстых" каналов.

Skype активно изучается в хакерских лабораториях и security-организациях по всему миру и большинство исследователей единодушно сходятся в том, что Skype - это дьявольски хитрая программа, написанная, бесспорно талантливыми людьми в стиле Black Magic Art, т.е. не брезгующая грязными трюками, создающими огромные проблемы, о которых мыщъх и собирается рассказать.

Где брать Skype

Последнюю версию Skype всегда можно скачать с официального сайта: http://www.skype.com. Она бесплатна, но исходных текстов нет и никогда не будет. Судя по всему, компания прячет в недрах кода что-то очень серьезное. Может быть, это back-door? Как знать...

Тем временем, на волне взрывной популярности Skype-сеть стремительно увеличивается в размерах и Skype-клиенты выпущены практически под все операционные системы какие только есть: Windows, Linux, Mac OS X и различные мобильные платформы.

Возможности, предоставляемые Skype

Skype предоставляет внушительный ассортимент возможностей, часть из которых бесплатна, а за часть приходится платить по прайсу, но цены все равно в разы ниже, чем при использовании обычной телефонии, впрочем, и качество (соответственно) тоже:

  • Бесплатные возможности:
    1. Видеочат и конференции;
    2. Прием и отправка файлов;
    3. Мгновенный обмен сообщениями;
    4. Голосовые звонки на Skype-клиенты;
    5. Перенаправление звонов другим Skype-клиентам;
  • Платные услуги:
    1. Отправка SMS;
    2. Голосовой e-mail;
    3. Прием входящих звонков с обычных телефонов;
    4. Совершение исходящих звонов на обычные телефоны;

Анализ исполняемого файла

Исполняемый файл Skype-клиента представляет собой настоящий шедевр хакерского искусства, вобравший в себя множество интересных и достаточно могучих защитных механизмов для противодействия которым требуются не только мощные инструментальные средства (отладчики, дизассемблеры, дамперы, etc), не только богатые знания/навыки, но еще и куча свободного времени.

Двоичный файл полностью зашифрован и динамически расшифровывается по мере загрузки в память (см. рис. 1), причем сброс дампа невозможен, точнее - затруднен тем обстоятельством, что стартовый код после выполнения очищается, в результате чего мы получаем неработоспособный exe, который не запускается (однако все же остается пригодным для анализа в IDA Pro с ручной загрузкой FLIRT-сигнатур).

Оригинальная таблица импорта не содержит ничего интересного и API-функции подключаются уже в процессе распаковки. Проверка целостности кода выполняется из разных мест в случайном порядке (преимущественно при входящих звонках), поэтому поиск защитных процедур представляет собой весьма нетривиальную задачу, тем более, что они основаны на криптографических RSA-сигнатурах и снабжены полиморфными генераторами, в случайном порядке переставляющие инструкции ADD, XOR, SUB и др., перемешивая их с незначащими (dummy) машинными командами.

Статический вызов функций (по жестко прописанному адресу) практически не встречается и все важные процедуры вызываются по динамически вычисляемому указателю, пропущенному через "обфускатор". То есть, дизассемблер нам тут уже не поможет и приходится браться за отладчик.

А вот про отладчик следует сказать особо. Skype распознает Soft-Ice (даже при наличии установленного IceExt), наотрез отказываясь запускаться, что раздражает не только хакеров, но и честных программистов, многие из которых постоянно держат Soft-Ice загруженным для решения совсем далеких от взлома задач. К счастью, уже появились патчи, отламывающие у Skype проверку на Soft-Ice (см. "Как заставить Skype работать под Soft-Ice").

Забавно, но для взлома самого Skype отладчик Soft-Ice не очень-то и нужен, поскольку существуют и другие инструменты подобного рода, среди которых в первую очередь хотелось бы отметить "The Rasta Ring 0 Debugger" или, сокращенно, [RR0D], не обнаруживаемый Skype-клиентом и, как и следует из его названия, работающий на уровне ядра. В принципе, можно воспользоваться и отладчиком прикладного уровня (например, стремительно набирающим популярность OllyDbg), только при этом главное помнить, что Skype легко обнаруживает программные точки останова, представляющие собой однобайтовую машинную инструкцию с опкодом CCh, записываю поверх отлаживаемого кода. А для предотвращения пошаговой трассировки, Skype осуществляет замеры времени выполнения определенных участков кода, для прохождения через которые приходится использовать полноценные эмуляторы PC с интегрированным отладчиком, например, знаменитый BOCHS (отладчик не входит в дистрибутив бинарной сборки и чтобы его установить, программу приходится собирать вручную из исходных текстов).

Попадаются и другие антиотладочные трюки, но они не так интересны: Skype очень активно использует прием передачи управления через структурные исключения. Защита устанавливает SEH-обработчик, делает что-то непозволительное (деление на ноль или обращение по несуществующему адресу), вынуждая систему передать управление SEH-обработчику, который модифицирует регистры/память и продолжает выполнение с прерванной точки или передает его куда-то еще. Такая техника чудовищно осложняет статический анализ (т.е. дизассемблирование), но для современных отладчиков практически "безвредна".

Наконец, когда исполняемый файл распакован и все проверки пройдены, защита вычисляет контрольную сумму и преобразует ее в указатель, по которому передается управление, пробуждающее Skype.

Последовательность распаковки исполняемого файла

Рисунок 1. Последовательность распаковки исполняемого файла.

Как заставить Skype работать под Soft-Ice

Смириться с тем, что Skype-клиент не работает под Soft-Ice, программисты, естественно, не могли и потому начали его ломать, хотя... исправление заведомых дефектов трудно назвать взломом. Как бы там ни было, проверка на присутствие Soft-Ice, выполненная в классическом миссионерском стиле - по наличию устройств \\.\Siwvid, ntice.sys, iceext.sys (см. рис. 2) - обнаруживается элементарной трассировкой в любом другом отладчике, например, в OllyDbg (см. рис. 3).

Анти-отладочные приемы

Рисунок 2. Анти-отладочные приемы, с помощью которых Skype обнаруживает загруженный Soft-Ice.

Проблема в том, что Skype следит за своей целостью как непорочная дева Мария, забеременевшая от Святого Духа, явившегося в форме Голубя, и попытка исправления jnz на jmp short работает только до первого входящего звонка, после которого Skype падает и обратно уже не поднимается. Специально для таких хитроумных защит еще во времена MS-DOS была разработана техника on-line patch'а, при которой "исправление" программы осуществляется непосредственно в оперативной памяти, а после "успешного" прохождения проверки на наличие Soft-Ice, совершается "откат", чтобы не волновать процедуру проверки целостности.

Один из таких патчей, созданных французским хакером по имени Gery Casiez, выложен в открытый доступ на его собственном сервере: http://gcasiez.perso.orange.fr/skypeloader.c (исходные тексты) и http://gcasiez.perso.orange.fr/skypeloader.zip (откомпилированный файл).

Беглая трассировка Skype

Рисунок 3. Беглая трассировка Skype с помощью OllyDbg быстро выявляет защитный код, выполняющий проверку на присутствие Soft-Ice.

Архитектура распределенной сети

На атомарном уровне структура skype-сети состоит из обычных узлов (normal/ordinal node/host/nest), обычно обозначаемых аббревиатурой SC, расшифровываемой как Skype Client, и super-узлов (super node/host/nest), которым соответствует аббревиатура SN. Любой узел, имеющий публичный IP-адрес (т.е. тот, который маршрутизируется в Интернет) и обладающий достаточно широким каналом, автоматически становится super-узлом и гонит через себя трафик обычных узлов, помогая им преодолеть защиты типа брандмауэров или трансляторов сетевых адресов (NAT) и равномерно распределяя нагрузку между хостами. В этом и состоит сущность самоорганизующейся распределенной децентрализованной пиринговой сети, единственным централизованным элементом которой является Skype-login сервер, отвечающий за процедуру авторизации Skype-клиентов и гарантирующий уникальность "позывных" для всей распределенной сети (см. рис. 4).

Важно подчеркнуть, что связь между узлами осуществляется не напрямую, а через цепочку super-узлов. "Серверов" в общепринятом смысле этого слова (таких, например, как в сети eDonkey) в Skype-сети нет и любой узел с установленным Skype-клиентом является потенциальным сервером, которым он автоматически становится при наличии достаточных системных ресурсов (объема оперативной памяти, быстродействия процессора и пропускной способности сетевого канала, не защищенного никакими средствами защиты).

Каждый узел Skype-сети хранит перечень IP-адресов и портов известным ему super-узлов в динамически обновляемых кэш-таблицах (Host Cache Tables, HC-tables). Начиная с версии Skype 1.0, кэш-таблицы представляют собой простой XML-файл, в незашифрованном виде записанный на диске в домашней директории пользователя.

Структура децентрализованной самоорганизующийся пиринговой Skype-сети

Рисунок 4. Структура децентрализованной самоорганизующийся пиринговой Skype-сети.

Помимо вышеперечисленных элементов, в Skype-сети присутствуют и другие централизованные узлы, в частности PC2PSTN и PSTN2PC-сервера, воздвигающие мосты между Skype-сетью и обычной телефонией. Аббревиатура PSTN расшифровывается как Public Switched Telephone Network (Телефонная Сеть Общего Пользования) и в общем случае представляет собой набор АТС и прочего коммуникационного оборудования.

Skype-клиенты за отдельную плату (см. рис. 5) могут принимать входящие звонки с обычных телефонов (технология SkypeIn, описанная на http://www.skype.com/products/skypein/) и совершать звонки самостоятельно (технология SkypeIn, описанная на http://www.skype.com/products/skypein), однако в PC2PC-обмене эти сервера никак не участвуют, поэтому мы не будем на них останавливаться.

Помимо звонков внутри Skype-сети пользователи могут принимать/совершать звонки и на обычные телефоны

Рисунок 5. Помимо звонков внутри Skype-сети пользователи могут принимать/совершать звонки и на обычные телефоны.

Как skype обходит брандмауэры

Протокол обмена между Skype-клиентами совершенно недокументирован и поэтому вся информация о нем получена методами реинженеринга: дизассемблирования Skype-клиентов, анализа перехваченного сетевого трафика и т.д. Поскольку существует огромное множество версий Skype-клиентов, существенно отличающихся между собой, то описание протокола может содержать неточности, во всяком случае, Open Source-клиента еще никто не написал (как это произошло, например, с сетью eDonkey под которую появился открытый клиент eMule).

Сразу же после своего запуска Skype-клиент открывает TCP и UDP порты, номера которых случайным образом задаются при инсталляции и могут быть в любой момент изменены через диалог конфигурации, что затрудняет блокирование Skype-трафика на брандмауэре. Помимо этого, Skype открывает 80 (HTTP) и 443 (HTTP-over-TLS) порты, однако они не являются жизненно важными и, даже если их заблокировать, Skype ничуть не огорчится.

Структура IP-пакета

Рисунок 6. Структура IP-пакета при работе skype по протоколу UDP.

Ситуация осложняется тем, что Skype шифрует трафик, активно используя продвинутые технологии "обфускации" (от англ. obfuscation - буквально: запутывание), препятствующие выделению постоянных сигнатур в полях заголовков. Алгоритмы шифрования меняются от версии к версии, плюс к тому же выпущено множество специальных версий для разных стран мира, чьи законы налагают определенные ограничения на длину ключа или выбранные криптографические алгоритмы, но в целом, механизм шифрования выглядит так (см. рис. 7):

Механизм шифрования, используемый Skype

Рисунок 7. Механизм шифрования, используемый Skype.

Skype-клиенты крайне деликатно обходятся с брандмауэрами и трансляторами сетевых адресов (т.е. NAT'ами), "просачиваясь" сквозь них через хорошо известные протоколы STUN и TURN (см. рис. 8). Протокол STUN уже вошел в Библию Интернета и подробно описан в RFC-3489 (http://www.rfc-archive.org/getrfc.php?rfc=3489). Что же касается TURN'а, то он все еще находится в разработке и в настоящее время доступна лишь черновая версия стандарта: http://www.jdrosen.net/midcom_turn.html.

Так что, с юридической точки зрения действия Skype весьма "политкорректны" и не попадают под статью. STUN расшифровывается как: Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs) - Простое Проникновение Дейтограмм Протокола UDP через Транслятор Сетевых Адресов (NAT) и представляет собой отличное средство, однако страдающее рядом досадных (для Skype!) ограничений и не работающее в следующих случаях:

  • Путь во внешнюю сеть прегражден злобным брандмауэром, режущим весь UDP;
     
  • На пути во внешнюю сеть стоит симметричный транслятор сетевых адресов;

Ну, с брандмауэром все понятно. Если UDP закрыт, то никаким хвостом его не откроешь. А вот симметричный транслятор сетевых адресов (symmetric NAT) - это что за штука? Не углубляясь в технические детали, симметричный NAT представляет собой разновидность обыкновенного транслятора, требующего, чтобы целевой IP-адрес и порт транслируемого пакета совпадали с внешним (external) IP-адресом и портом. Если один и тот же узел посылает пакеты с одинаковыми исходными IP-адресами и портами по разным направлениям, NAT будет вынужден транслировать их на другие порты. Таким образом, чтобы отправить внутреннему узлу UDP-пакет, внешний узел должен первым делом получить "запрос" от внутреннего узла. Самостоятельно инициировать соединение внешний узел не в состоянии, поскольку NAT просто не знает, на какой внутренний IP и порт следует транслировать неожиданно сваливавшийся UDP-пакет.

Эта проблема решается протоколом TURN (Traversal Using Relay NAT - Проникновение Использующее Транспортный NAT), технические подробности работы которого описаны в вышеупомянутой ссылке и большинству читателей совершенно неинтересны. Гораздо важнее другое - протокол TURN значительно увеличивает латентность (промежуток времени между посылкой запроса и получением ответа) и теряет большое количество UDP пакетов (packet loss), что далеко не лучшим образом сказывается на качестве и устойчивости связи, но полное отсутствие связи еще хуже! Так что пользователям Skype стоит радоваться, а не жаловаться!

Структура Skype-сети

Рисунок 8. Структура Skype-сети, в которой присутствуют Skype-клиенты за NAT'ми и брандмауэрами.

Вот только администраторы этой радости почему-то не разделяют, наглухо закрывая UDP-трафик (тем более, что большинству нормальных программ он не нужен). Немного поворчав для приличия (замуровали, демоны!!!), Skype автоматически переключается на чистый TCP, отрубить который администратору никто не позволит, правда, немного поколдовав над брандмауэром, он может закрыть все неиспользуемые порты, но... в том-то и подвох, что "неиспользуемых" портов в живой природе просто не встречается! При соединении с удаленным узлом, операционная система назначает клиенту любой свободный TCP/UDP-порт, на который будут приходить пакеты. То есть, если мы подключаемся к Web-серверу по 80 порту, наш локальный порт может оказаться равным 1369 или 6927 или еще каким-нибудь другим. Закрыв все порты, мы лишимся возможности устанавливать TCP/UDP-соединения!

Единственный выход - обрубить всем пользователям локальной сети прямой доступ в Интернет, заставив их ходить через proxy-сервер. Однако, даже такие драконовские меры не решат проблемы, поскольку Skype просто прочитает конфигурацию браузера и воспользуется proxy-сервером как своим родным (см. рис. 9)!

Skype

Рисунок 9. Skype, работающий через Proxy-сервер, конфигурация которого прочитана из настроек браузера.

Как заблокировать skype-трафик

Разработчики Skype предостерегают администраторов от попыток выявления и блокирования его трафика (типа, "все равно у вас ничего не получится") и - действительно, распознать Skype-трафик очень сложно, а заблокировать его можно только по содержимому, которое зашифровано (в большинстве случаев 256-битным алгоритмом AES) и не содержит (по замыслу разработчиков!) никаких предсказуемых последовательностей. К счастью для администраторов, создатели Skype, при всей своей гениальности, допустили ряд оплошностей, оставив часть трафика незашифрованной!

UDP-соединение использует открытый протокол для получения публичных IP-адресов super-узлов, что вполне может быть выявлено анализатором трафика. Это - раз. TCP-соединение использует один и тот же RC4 поток дважды, что позволяет нам восстановить 10 первых байт ключа, расшифровав часть постоянных полей заголовков Skype-протокола (см. рис. 10). Это - два! Кстати, весьма полезная вещь для шпионажа за чужими разговорами! Тем не менее, мыщъху не известен ни один готовый "блокиратор" Skype-трафика, а писать свой собственный - лениво, да и времени нет.

Повторное использование RC4-потока

Рисунок 10. Повторное использование RC4-потока позволяет восстановить 10 байт ключа из 12, расшифровывая часть Skype-трафика.

Распознать и заблокировать UDP-трафик намного проще: каждый фрейм начинается с двухбайтового идентификационного номера (ID) и типа пакета (payload). В UDP пакет вложен 39-байтный NAck-пакет, пропущенный через "обфускатор" и содержащий следующие данные (см. рис. 11):

  • Идентификатор пакета (непостоянен и варьируется от одного пакета к другому);
  • Номер функции (func), пропущенный через обфускатор, но func & 8Fh всегда равно 7h;
  • IP-отправителя;
  • IP-получателя;

Таким образом, чтобы заблокировать UDP-трафик, генерируемый Skype, достаточно добавить в брандмауэр следующее правило:

iptables -I FORWARD -p udp -m length --length 39 -m u32
--u32 '27&0 x8f=7' --u32 '31=0 x527c4833 ' -j DROP

Листинг 1. Правило для iptables, блокирующее UDP-трафик Skype-клиентов.

Структура NAck-пакета

Рисунок 11. Структура NAck-пакета.

К сожалению, блокировка UDP трафика ничего не решает, поскольку Skype автоматом переходит на TCP, но(!) тут есть одна небольшая зацепка. Заголовки входящих IP-пакетов, относящиеся к протоколу обмена SSL-ключами (SSL key-exchange packets) содержат нехарактерный для "нормальных" приложений идентификатор 170301h (см. рис. 12), возвращаемый в ответ на запрос с идентификатором 160301h (стандартный SSL версии 3.1).

Таким образом, блокирование всех входящих пакетов, содержащих в заголовке 170301h серьезно озадачит Skype и текущие версии потеряют работоспособность. Вот только надолго ли...

Распознание Skype-трафика

Рисунок 12. Распознание Skype-трафика по необычному идентификатору во время обращения к Login Server'у при обмене SSL-ключами.

Для детектирования и блокирования Skype-трафика можно использовать и другие программно-аппаратные средства, как, например, PRX от Ipoque или Cisco Network-Based Application Recognition (NBAR), однако все они недостаточно эффективны, особенно в свете того, что разработчики Skype не сидят сложа руки и если кому-то удастся найти надежный способ блокировки его поганого трафика, в следующих версиях поганец появится вновь.

Армии дронов или как зомбировать Skype

Дешевизна голосовых звонков (между PC2PC-клиентами, определяемая только стоимостью трафика) вызвала взрывной рост популярности Skype, сеть которого на 27 апреля 2006 года по официальным данным составила свыше 100 миллионов зарегистрированных пользователей, а сегодня свыше 700 тысяч людей совершают, по меньшей мере, одни Skype-звонок в день! Несложно спрогнозировать, что в скором будущем в Skype войдет львиная доля узлов Интернета, что несет в себе не только преимущества, но и проблемы.

Хакеры уже давно догадались использовать Skype для распространения вирусов и организации распределенных атак, которым очень сложно воспрепятствовать: Skype-трафик надежно зашифрован и не может быть проанализирован антивирусами, заблокирован брандмауэрами или распознан системами обнаружения вторжения (напомним, что Skype очень деликатно определяет тип брандмауэра или NAT, за которым он находится).

Естественно, чтобы захватить Skype-узел, хакер должен найти способ передать на него зловредный код, что при соблюдении всех мер безопасности он ни за что не сможет сделать, но... как и всякое другое программное обеспечение, Skype подвержен ошибкам, в том числе и ошибкам переполнения, одна из которых была обнаружена 25 сентября 2005 года. Сейчас она уже давно исправлена и представляет лишь исторический интерес, но, тем не менее, с ней все-таки стоит познакомиться поподробнее (а подробности можно найти здесь: skype.com/security/skype-sb-2005-03.html или здесь: seclists.org/fulldisclosure/2005/Oct/0533.html).

Возможность передачи управления на shell-код позволяла атакующему "овладевать" любым Skype-узлом, а также всеми известными ему super-узлами и т.д... Над распределенной сетью нависла глобальная угроза, и просто чудо, что она не закончилась катастрофой, однако, как показывает практика, там, где есть одна ошибка, рано или поздно появляются и другие. Закрытость исходных текстов и множество антиотладочных приемов (затрудняющих тестирование программы) этому только способствуют!

// read a VLD from input stream
// return 0 on error
int get_vld(unsigned int *);

unsigned int object_counter;
unsigned int i;
unsigned int *tab_objects;

// read object count (M)
if (get_vld(&object_counter) == 0)
        fault();

// allocate memory to store sub-objects
tab_objects = HeapAlloc(sizeof(unsigned int) *object_counter);
if (tab_objects == NULL)
        fault();

// read and store M sub-objects
for (i = 0; i < object_counter; i++)
{
        if (get_vld(&tab_objects[i]) == 0)
                fault();
}

Листинг 2. Реконструированный фрагмент Skype (переведенный из ассемблера на Си), содержащий ошибку переполнения.

Другая опасная "вкусность" Skype заключается в открытости его API. Пойдя на встречу сторонним разработчикам, создатели Skype предусмотрели возможность интеграции любой прикладной программы со Skype-клиентом. Правда, при этом на экран выводится грозное предупреждение, что такая-то программа хочет пользоваться Skype API: разрешить или послать ее нафиг? Естественно, большинство пользователей на подобные вопросы отвечают утвердительно. Уже привычные к надоедливым предупреждениям, они инстинктивно давят "yes" и только потом начинают думать, а что же они, собственно, разрешили?

Понятное дело, чтобы использовать Skype-API, зловредную программу нужно как-то доставить на компьютер. Раньше для этого использовалась электронная почта, успешно фильтруемая антивирусами, но количество пользователей, запустивших исполняемый файл, все равно исчислялось миллионами. Теперь же, для рассылки вирусов можно использовать сам Skype. Локальный антивирус - единственное средство обороны, потенциально способное отразить атаку, но... даже если он и установлен, распознать неизвестный науке вирус он не в состоянии даже при наличии антивирусных баз первой свежести (эвристика пока все-таки работает больше на рекламу, чем на конечный результат).

Самое главное - протокол Skype уже частично расшифрован и созданы хакерские инструменты, позволяющие взаимодействовать со Skype-узлами в обход стандартных Skype-клиентов и даже без сервера регистрации! И, хотя в настоящее время дело ограничивается простым сбором адресов super-узлов, существует принципиальная возможность создания своих собственных сетей на базе распределенной Skype-сети, главная ошибка разработчиков которой заключалась в том, что Skype-узлы безоговорочно доверяют друг другу и вся "безопасность" зиждется лишь на закрытости протокола.

Географическое распределение super-skype-узлов

Рисунок 13. Географическое распределение super-skype-узлов по планете.

Заключение

Перед тем как закончить эту статью, мыщъх хотел бы спросить: что же все-таки скрывают (или пытаются скрыть) создатели Skype в недрах своего кода? Почему, распространяя программу бесплатно, они зажимают исходные тексты и используют закрытый протокол, вызывая тем самым недоверие специалистов по безопасности? Для чего бесплатной программе столь навороченная защита, снижающая производительность и потребляющая большое количество памяти, ведь ломать ее никто не собирается? Почему вообще Skype-клиент реализован как Черный Ящик?!

Вопрос остается риторическим, то есть безответным. Но чует мой хвост, ох и неспроста все это!

Ссылки по теме

  • General Skype Analysis:
    Мини-портал с кучей ссылок на статьи и прочие ресурсы, посвященные анализу Skype и методам борьбы с ним (на английском языке): http://www1.cs.columbia.edu/~salman/skype/;
     
  • Silver Needle in the Skype:
    Подробный отчет об исследовании Skype, выполненный двумя французскими хакерами Philippe Biondi и Fabrice Desclaux из корпорации EADS Corporate Research Center - DCR/STI/C IT sec Lab Suresnes, FRANCE и зачитанный ими на европейской конференции BlackHat в марте 2006 года (на английском языке): http://www.secdev.org/conf/skype_BHEU06.pdf;
     
  • Skype Trojan:
    Тезисная презентация Walter Sprenger, показывающая как можно использовать Skype-сеть для распространения червей и прочей заразы (на английском языке): http://www.csnc.ch/static/download/misc/2006_skype_trojaner_v1.1.pdf;
     
  • How to use Skype with Softice?
    Любопытная статья, рассказывающая почему Skype-клиент не работает при установленном Soft-Ice и как это побороть (на английском языке): http://gcasiez.perso.orange.fr/skypeandsoftice.html;
     
  • Skype Reads Your BIOS and Motherboard Serial Number:
    Заметка на блоге, разоблачающая махинации, скрытно проделываемые Skype, читающего BIOS и серийный номер материнской платы (на английском языке): http://www.pagetable.com/?p=27;
     
  • Why Does Skype Read the BIOS?
    Развернутая дискуссия на тему, зачем Skype-клиент читает BIOS и какую информацию ему удается извлечь (на английском языке): http://it.slashdot.org/it/07/02/07/0146245.shtml;

Рубрики:  Что-то интересненькое

Метки:  
Комментарии (3)

Бабушкины советы.

Дневник

Среда, 20 Октября 2010 г. 20:47 + в цитатник

Бабушка, как мне понять, что я влюбилась?
- Очень просто, внученька. Ты помнишь, как вы познакомились?
- Конечно, бабушка. Я помню не только наше знакомство, но и каждую встречу: как мы первый раз улыбнулись друг другу, как первый раз взялись за руки, как поцеловались. Знаешь, бабушка, я даже помню, все-все-все, о чем ему рассказывала; над какими его шутками смеялась; как готовилась к каждому свиданию; в чем была одета, чтобы ему понравится. Это любовь, бабушка?
- Нет, внученька. Любовь – это когда помнишь в чем он был одет на свиданиях. А если помнишь себя – это влюбленность. Сложи куклы в ящик, внученька.
______

Бабушка, скажи мне, когда наступает время расставаться? Может, лучше уходить после первой же ночи, пока еще нет неоправдавшихся надежд, не дожидаясь выяснения отношений, оставив на память только смущенное приятное воспоминание? Или после многих и многих ночей, когда все само потихонечку исчезнет, неизвестно куда и почему; спокойное «экологическое» расставание, без боли чего-то рвущегося, без надрывов и криков?
- Тут все очень просто, внученька. Уходить надо не после какого-то определенного количества ночей, а после первого же утра, когда тебе не захочется встать пораньше и приготовить ему завтрак. Напои его тогда чаем, поцелуй на прощанье и закрой дверь.
_______

Бабушка, он мне до сих пор снится…
- Внученька, вспомни прошлогодний снег.
- При чем тут прошлогодний снег? Я же совета у тебя хотела попросить, а не о погоде поговорить.
- А я тебе, внученька, его уже и дала. Если еще болит, если еще не до конца забылось, если вздрагивает еще внутри, то ты скажи про себя мысленно: «Прошлогодний снег». И относись к тому, что у вас было, точно также. Невозможно сохранить снежинку летом, внученька, - приходит и ей время растаять. И хоть тебе сейчас в это тяжело поверить, но обязательно выпадет новый снег. Просто доверься времени и дождись его, нового, свежего, чистого, первого снегопада. Но если ты еще тоскуешь по тому, что прошло, повторяй про себя: «прошлогодний снег, прошлогодний снег, прошлогодний снег».
______

- Бабушка, я буду бороться за свою любовь. Я не отдам его просто так. Не опущу руки, не сдамся без боя!
- Внученька, знаешь ли ты такую любимую игру школьных массовиков-затейников, когда надо бегать вокруг стульев, которых заведомо на один меньше, чем играющих; а когда закончится музыка, успеть занять стул первым? Внученька, ты ведь играешь именно в эту игру, когда пытаешься "бороться". Зачем же бегать вдвоем, а то и в троем вокруг одного стула, пытаясь перехитрить соперниц и занять его первым, смеша окружающих, злясь и нервничая? Оглянись вокруг - возле стенки стоят много других незанятых стульев. Ты же уже взрослая, внученька, пора перестать играть в детские игры.
_____

- Бабушка, почему мне так больно? Я ревную буквально к любому произнесенному им женскому имени. Когда он не поднимает трубку, я тут же представляю себе, что он с другой. Когда он рассказывает о какой-то женщине, я сразу начинаю думать «было ли?». Ревную к «бывшим», к друзьям, коллегам на работе, к случайным встречным. Как перестать себя мучить, бабушка?
- Внученька, ревность – это обманчивое чувство. Ты не ревнуешь, ты боишься потерять. Но ты не бойся, внученька, это бессмысленно. Потому что если повода для ревности нет, то ревновать глупо, а когда повод уже есть, то поздно.
_____

- Все мужчины одинаковые! Бабушка, ему стоит только сказать мне первый раз "привет", а я уже знаю, как он будет вести себя дальше,какие анекдоты рассказывать, как улыбаться, как прикасаться, как сорится и уходить.
- Ты не права, внученька. Все мужчины разные. Просто нам нравятся похожие мужчины. Тебе нравятся скромные, "домашние"? Тогда почему ты сетуешь, что опять попался зануда, который никуда не хочет выходить из дома? Если ты выбираешь мужчину "душа компании", то не удивляйся, что прийдется делить его с друзьями, а, зачастую, и параллельными подругами. Если любишь романтиков, то будь готова не только к свечам, стихам и шампанстому, но и к периодическим депрессиям и исчезновениям, которые он будет объяснять "творческими кризисами". Выбираешь мужчину, за которым сможешь быть "как за каменной стеной" - не удивляйся, что не смоежшь найти в этих стенах двери на волю. Женщины выбирают похожих мужчин, а потом удивляются, что они все одинаковые.
_____

- Бабушка, я не знаю, как сказать ему, чтобы не сделать больно. Он не заслужил банального «давай останемся друзьями». Он хороший, а мне придется поступить с ним жестоко. Что мне делать, бабушка, как сказать ему, что между нами все кончено?
- Внученька, запомни: в последней фразе, которую ты скажешь мужчине при расставании, он должен услышать не только неизбежную жестокость, но и благодарность за все то хорошее, что у вас было. Ведь когда он будет вспоминать тебя, он, неизбежно, будет вспоминать и ваше расставание. И если ты хочешь, чтобы при воспоминании о тебе его глаза улыбались, не выясняй отношений при прощании. Скажи ему только одно: "мне больше не нужно твое присутствие, чтобы любить тебя". И все, уходи.
_____

Бабушка, я не знаю, стоит ли ему все рассказать. Вроде бы и ничего такого не было, но вдруг он узнает? И признаваться вроде не в чем, но и рассказать не могу. И как я могу требовать от него быть честным со мной, если сама начинаю что-то скрывать и недоговаривать?
- Внученька, запомни три простых правила. Первое: никогда и ни при каких условиях не обманывай его. Второе: Никогда и ни при каких условиях не изменяй ему. И третье: если уж обманула и изменила, то никогда, ни при каких условиях не рассказывай ему об этом. Только помни, внученька, как бы тебе ни хотелось, но последнее правило следует только за первыми двумя.
_____

- Бабушка, я не понимаю что происходит: он вдруг куда-то просто исчез. Все было хорошо, а потом так внезапно, без объяснений просто исчез. Я его уже не вижу, молчит телефон, и даже случайно мы больше видимся. Может, что-то случилось? Или я обидела его случайно? Может, стоит позвонить и поговорить, выяснить, что же все таки происходит?
- Внученька, не стоит, поверь мне. Ведь ты и сама знаешь ответ, только не хочешь себе в этом сознаться. Он не звонит, потому что не хочет – это очень просто. Запомни, внученька, до тех пор, пока мужчина заинтересован в женщине, он не исчезнет. Он будет обрывать телефон, караулить у подъезда, организовывать случайные встречи. И никакие причины, даже самые веские, не станут причиной того, что его не будет рядом, если он этого хочет. И если ты не хочешь заставлять его врать в ответ на твой вопрос о том «почему он пропал из твоей жизни» про то, что был занят или много работы, то лучше не спрашивай. И если не ищешь лишнего повода сделать себе еще больнее услышав правду, то тоже не спрашивай. ТЫ ВЕДЬ И ТАК ЗНАЕШЬ ОТВЕТ.

 (440x294, 28Kb)
Рубрики:  Что-то интересненькое

Метки:  
Комментарии (0)

Клод Бак.

Суббота, 16 Октября 2010 г. 01:06 + в цитатник
Это цитата сообщения Парашутов [Прочитать целиком + В свой цитатник или сообщество!]

ЖЗЛ (КЛОД БАК. ТРАДИЦИИ АМЕРИКАНСКОГО СИМВОЛИЗМА)

Клод Бак
Claude Buck


3 июля 1890, Бронкс, Нью-Йорк - 4 августа 1974, Санта-Барбара, штат Калифорния



Клод Бак Автопортрет 1919 г.

Американский художник и педагог, член Национальной Академии, вошедший в список «Ста лучших художников Америки».


СМОТРЕТЬ ДАЛЬШЕ. В ГАЛЕРЕЕ 33 КАРТИНЫ
Рубрики:  Что-то интересненькое


 Страницы: [1]