Ресурсы: техническое описание TLS, LaTeX - в картинки (img), криптографическая библиотека Arduino, шифр "Кузнечик" на ассемблере AMD64/AVX и ARM64
Вот, на днях обсуждали нашумевшую в конце прошлого года историю с практической демонстрацией весомой уязвимости действующей инфраструктуры SSL-сертификации.
Вкратце, история там такая: группа исследователей на практике (с помощью кластера из игровых приставок Sony PS 3 – это к слову о вычислениях на графических ускорителях) продемонстрировала умение выпускать поддельные SSL-сертификаты, “подписанные” настоящим удостоверяющим центром. То есть такие сертификаты будут полностью проходить валидацию в браузере (по крайней мере, до внесения изменений в процедуры браузеров). Понятно, что подобный поддельный сертификат можно использовать в, например, фишерских атаках.
Почему подделка оказалась возможной? Потому что удостоверяющие центры продолжают использовать MD5 (хеш-функция, нужная при генерации электронных подписей), хотя алгоритмы быстрого нахождения коллизий в MD5 известны уже несколько лет (коллизии, грубо говоря, позволяют переносить, сохраняя валидность, подпись с одних данных на другие; скажем, с легитимных на поддельные, зловредные).
Выводы: как ни крути, а выходит, что отдельные, делающие бизнес на сертификатах, компании, мягко говоря, игнорируют реальную ситуацию с безопасностью этих сертификатов. При этом для рядовых пользователей вроде бы надёжная и безопасная SSL-система ситуацию с безопасностью сильно ухудшает. Дело в том, что этих пользователей приучили сильнее доверять безопасным сайтам, работающим по https, имеющим хорошие цифровые сертификаты. Так что такому сайту даже осторожный пользователь передаст свои данные (номера банковских карт, как обычно). То есть создаётся ложное чувство безопасности – что не есть хорошо.
Интересно, что вот введут DNSSEC для доменов, появится возможность удостоверять ответы DNS. И на каком-то этапе нерадивая компания из сферы “безопасности” напутает с ключами – а уже даже самые “параноидальные админы” DNSу верят на слово. Вот будет неприятность, почище, чем с BGP.
Впрочем, с другой стороны, от такого сценария развития деваться некуда – новые системы всё равно лучше полностью незащищённых старых: по крайней мере, известно, с кого спрашивать, можно найти, кто нарушал протоколы. Ну, если, конечно, уязвимость достаточно рано обнаружат.
Комментарии (1) »
В блоге от Symantec пишут, что новый червь Downadup для обновления своего кода помимо известного канала с DNS (через доменные имена) использует механизм типа P2P.
То есть, как пишут, червь на уже заражённой машине мониторит новые попытки заражения, и если обнаруживает, что другая копия Downadup пытается заразить машину, спрашивает у этой копии про обновления, загружает таковые к себе. При этом, понятно, полученные обновления передаются дальше, на доступные компьютеры. Так что сеть может децентрализованно обновляться. При этом, опять же, если верить сообщению, используется шифрование (и/или электронная подпись) – что, впрочем, ни разу не удивительно.
Что там авторы нового мощного ботнета подготовили, какую “деструктивную нагрузку” – пока не ясно.
Comments Off on W32.Downadup – технологии P2P в действии
Между прочим, ещё каких-то лет 16-17 назад, компьютерные вирусы, распространявшиеся в среде ОС MS-DOS на IBM PC-совместимых персональных компьютерах, имели размеры программного кода около сотни байтов. Очень не много, если учесть, что такой вирус должен был суметь получить управление при запуске заражённого файла, установиться в память “резидентом” (то есть, остаться там после завершения программы-носителя) и перехватить хотя бы парочку системных функций – что необходимо для эффективного заражения других файлов. Понятно, конечно, что суперкороткие вирусы и тогда были лишь исключением – типичный размер измерялся несколькими сотнями байтов и килобайтами.
Сейчас подобные короткие вирусы, – в гражданских системах, по крайней мере, – можно ожидать разве что для мобильных телефонов. Впрочем, это тоже важный сектор “развития рынка”.
Комментарии (17) »
Часто приводят разную статистику по российским коммерческим CMS – сколько у кого установок. Измеряют, обычно, тысячами. При этом отчего-то регулярно забывают такой “масштабирующий” фактор, как отношение к реально лидирующим CMS – “опенсорсным”, тем самым искажая “ситуацию на рынке”. Между тем оценить масштабы не сложно.
Скажем, сейчас “Яндекс.блоги” “знают” около 186 000 автономных блогов (так пишет сам сервис). Беглая оценка списка плюс учёт тенденций в блогосфере позволяют ввести разумную “оценку снизу”: что-нибудь около 70% от этого числа – блоги на WordPress. То есть, уже по “Яндекс.блогам” выходит, что только WordPress – опенсорсная CMS – может записать на свой счёт около 130 000 установок в Рунете. Понятно, что реально WordPress гораздо больше, но даже и 130 тысяч – это уже другая весовая категория.
А ведь ещё есть Drupal, Joomla и т.д.
Комментарии (2) »
Между прочим, нашумевший недавно случай с сетью “В контакте”, легко и намеренно положившей “DDoS-атакой” неграмотно настроенный сервер “Премии Рунета”, свидетельствует о том, что популярные “социальные сети” могут быть использованы в качестве “легальных” ботнетов, очень мощных.
Как было дело с “Премией Рунета”? Администрация “В контакте” разместила на веб-страницах своего сервиса небольшой фрагмент кода, который загружал изображения с сервера “Премии”. Таким образом, пользователи социальной сети, путешествуя по каким-то там своим делам внутри “В Контакте”, попутно нагружали своими браузерами сервер “Премии”.
Как можно развивать направление? Понятно как. Браузерные технологии, позволяющие использовать вычислительные ресурсы машины пользователя, развиваются. Одно дело – Javascript, который, впрочем, тоже позволяет, например, перебирать хеши паролей на стороне клиента. Совсем другое дело – такие средства, как Flash, позволяющий использовать C/С++ для создания “сценариев”, и новинка от Microsoft – Silverlight, где разработчиков, понятно, тоже не обидят возможностями. И Flash, и Silverlight стремятся работать у клиента быстрее, по понятным причинам. Можно многое посчитать, многое сделать. Вот вам и фундамент для “ботов” на базе компьютеров пользователей социальных сетей типа “Одноклассников”. Особых проблем с процессорным временем и локальными брандмауэрами – не будет, так как массовый пользователь охотно “зависает” внутри сервиса соц. сети надолго.
Комментарии (8) »
Часто спрашивают про современные DDoS-атаки (как они внутри устроены) и борьбу с ними, про организацию этой борьбы. Вообще тема популярная, каждый раз всплески интереса но фоне заявлений прессы об атаке того или иного сайта, приуроченной к обострению офлайновых конфликтов. А тут, между прочим, помимо кучи технических моментов, помимо журналистского “вскрытия причин-источников”, есть весьма важный стратегический аспект, о котором постоянно забывают.
Скажем, в Штатах строят специальные военные структуры как бы для противодействия “атакам из киберпространства”, для повышения безопасности “военных сетей”. Но вот читая разные заявления на тему “противодействия”, повышения безопасности, применительно к Интернету, вирусам, ботнетам, тем же DDoS-атакам, разумно взглянуть на ситуацию в разрезе традиций и особенностей развития военных технологий. Можно понять ситуацию глубже.
О чём речь? Ну, вот такой банальный пример: при гражданском подходе злонамеренное “замусоривание” радиочастот – это противоправное действие (совершенно правильный и понятный подход). Есть даже службы, которые подобные действия пресекают, борются за безопасность и, собственно говоря, “устойчивость к атакам”. (Аналогичная ситуация, например, с перерезанием кабелей связи.)
В случае же военного конфликта каждой из сторон используются специальные средства РЭБ для целенаправленного “замусоривания” частот противника – постановки помех. (Ну и кабели противнику тоже режут и портят.) В принципе, методы тут схожие, а средства “замусоривания”, проведения “атак в эфире” становятся оружием. В современной ситуации оружием необходимым и, иногда, сверхэффективным. При это развитие “нападательной” стороны – систем постановки помех – становится даже более важным, чем отработка способов защиты.
Нужно ли говорить, что ситуация с РЭБ максимально близка к “кибервойнам”, завязывающимся в сетях связи, в Интернете? Поэтому все эти штатовские военные инициативы по “защите в киберпространстве” очевидно имеют и атакующую составляющую, в том числе и в плане DDoS-атак, вирусов и тому подобных “зловредных действий”, потому что инструментарий тут общий, как и в случае с другими системами вооружений. Вот об этом почему-то часто забывают, рассуждая о сетевых атаках и компьютерной безопасности. Хотя сами “создатели инициатив”, в общем-то, истинное распределение приоритетов не очень скрывают (но маскируют, это да).
Комментарии (1) »
Фишеры незаметно перенаправляют пользователей на свои вредоносные сайты разными способами. Часто спрашивают о простых примерах реализации этих перенаправлений. Вот как раз в этом году очень популярно обсуждать открытые “шлюзы” с редиректами на разных сайтах. Публиковалось даже одно или два подробных исследования. О чём идёт речь? Вот о чём.
Возьмём для примера новостную обменную сеть “Новотеки” – http://nnn.novoteka.ru. Здесь есть услужливый интерфейс в click.cgi, полностью открытый. При передаче скрипту на сервере “Новотеки” специально подготовленного URI, этот скрипт отправит браузер клиента по заданному произвольному адресу. При этом пользователь будет видеть в адресе ссылки URL “Новотеки”. Выглядит это, скажем, так:
http://nnn.novoteka.ru/click.cgi?url=%68%74%74%70%3A%2F%2F%77%77%77%2E%67%6F%6F%67%6C%65%2E%63%6F%6D
По такой ссылке “Новотека” отправляет пользователя на www.google.ru. Понятно, что можно сделать так: http://nnn.novoteka.ru/click.cgi?url=http%3A%2F%2Fwww.google.ru. В первом случае скрипт просто услужливо разбирает закодированную строку. (Для запутывания пользователя можно приписать ещё какие-нибудь параметры к строке.)
Сеть “Новотека” – это не самый узнаваемый ресурс, поэтому подобным образом хитрые хакеры могли бы заманивать только пользователей этой банерообменной сети (тоже, кстати, востребованный вариант). Хуже всего, что подобные “шлюзы” позволяют себе открывать узнаваемые массовой аудиторией лидеры Рунета, например “Яндекс”. Ну и “шлюзов” этих в Сети великое множество.
Comments Off on Фишерское перенаправление пользователей
Ботнеты активно используют DNS. В том числе для такой жизненно важной своей функции, как обеспечение связи с центрами управления. Вот в статье по ссылке разобран механизм генерации доменных имён червями ботнета Srizbi. (Текст по ссылке техничный, будет интересен только специалистам.)
Речь о том, что ботнет Srizbi, насчитывающий чуть ли не сотни тысяч машин в своём составе, сперва отключили от центров управления, так как черви ходили за командами на серверы с конкретными IP-адресами (по крайней мере, так пишут те, кто изучал этот ботнет). После того как серверы отключили (поскандалив с провайдерами), внутри ботнета активировался второй механизм установления связи с “центром” – черви принялись генерировать “псевдослучайные” имена доменов по заданному алгоритму и стали пытаться обращаться к сайтам под этими доменами. По логике, такое поведение – это способ восстановить контакт с хозяином: под доменами из последовательности могут быть размещены новые инструкции для ботнета. (Не совсем ясно, впрочем, почему механизм “доменной связи” не был обнаружен исследователями ботнета изначально.)
Вообще, тут интересно отметить несколько моментов, которые, несомненно, определят развитие ботнетов уже в ближайшем, 2009, году.
Скажем, код червя, формирующего ботнет, обязательно доступен аналитикам для изучения, так что создателям ботнетов (квалифицированным, по крайней мере) нужно это понимать и учитывать фактор открытости кода в своих алгоритмах. Так, в описанном только что случае Srizbi, последовательность “связных доменов” была определена при помощи анализа исходного кода червя, после чего оставалось лишь зарегистрировать нужные домены раньше хозяев ботнета и перехватить часть зомби-машин – те из них, которые в данный период времени обратились за новыми инструкциями: понятно, что ботнет обновляется постепенно. Естественно этот эффект учтут разработчики следующего поколения червя.
Использование зашитого в код списка IP-адресов управляющих узлов – это, видимо, уже очень отсталая практика. Отсталость следует из только что описанной “открытости кода”. А современное решение – это как раз использование DNS (странным образом реализованное и в Srizbi). Дело в том, что DNS – это такое универсальное средство для придания хорошей анонимности жизненным сигналам центральной нервной системы ботнета. Заражённые машины находят IP-адреса центров управления не в собственном локальном списке хостов, доступном аналитикам, а в глобальной DNS, анализ которой куда как сложнее.
Как это происходит? Регистрируется некоторый набор доменов второго уровня, возможно, с приватной или, скорее, с вымышленой персональной информацией об администраторе (доступно в самых разных зонах, в том числе в .com, и даже в .ru). Далее в этих доменах создаются зоны на несколько уровней ниже (третий, четвёртый, пятый и т.д.). Имена, понятно, регистрируются в соответствии с алгоритмами, заложенными в ботнет. Получается набор абракадабр, что-то типа f148.hsjo71gh.w2-8xnb.qf297dhna.com. При этом серверы имён, связанные тут с доменами уровнем ниже второго, постоянно изменяют информацию об адресах. То есть запросы по именам доменов ведут на самые разные машины в разные моменты времени (понятно, с учётом особенностей DNS).
А эти машины – вовсе и не центры управления, а такие же зомби, только из другого ботнета, попроще. Машины работают proxy-серверами, перенаправляя запросы на некий, возможно вполне себе официальный, хостинг. На этом хостинге уже работает настоящий центр управления ботнетом. Впрочем, наилучший вариант – какой-либо заражённый сайт, с которого незаметно забирают команды черви ботнета.
Особенность схемы в том, что сложно найти концы: сделав запрос в DNS, можно узнать адрес proxy, за которой скрывается “нервный центр”. Но proxy оказывается лишь чьим-то заражённым компьютером – пользы от такой информации не так уж и много. При этом задействованные компьютеры, как и имена доменов, постоянно меняются, а серверами имён, обслуживающими домены, также могут служить компьютеры-зомби. Таким образом, собранные исследователем сведения о структуре управления ботнетом быстро устаревают. Владелец же хостинга, где расположен центр, оказываясь, так сказать, с другой стороны стены из proxy, лишь видит некий трафик с изменяющегося набора IP-адресов на свои серверы, то есть вообще ничего подозрительного.
Концы хорошо спрятаны.
Можно искать тех, кто настраивает DNS для зловредных доменов, но это весьма непросто уже и для доменов второго уровня: нужно связываться с регистратором, запрашивать данные (а регистратор их так просто не может выдать), проверять полученные данные, убеждаться, что они липовые, и так далее. А для доменов ниже третьего уровня – ситуация ещё сложнее, регистратор их напрямую вообще не контролирует: кто там правит файлы зон – неизвестно.
В принципе, все эти технологии уже освоены. Проблема Srizbi, видимо, в том, что механизмы выживаемости реализованы в нём неполно, по каким-то там внутренним инженерным причинам создателей. Возможно, использовали недостаточно современный комплект библиотек и средств разработки. А вот уже в следующем году, так как в DNS ситуация равным счётом не поменялась (несмотря на все усилия), появятся уже куда более отлаженные библиотеки и модули и, как результат, более живучие ботнеты. А живучий ботнет – это большой ботнет, потому что численность машин-зомби находится в прямой зависимости от времени активной жизни (в контакте с “нервным центром”) одного червя.
Вот.
Комментарии (3) »
Популярная сейчас тема: электронное голосование, да не простое, а через Интернет. Речь не об интернет-опросах, а о настоящем, государственном голосовании на выборах. То есть вместо посещения избирательного участка голосуют с домашнего (или офисного?) компьютера. Понятно, что наиболее привлекательный “транспорт связи” в таком случае – Интернет.
Вообще у подобных схем электронного голосования есть одна очень важная, определяющая, особенность, о которой забывают. Как ни странно, особенность эта довольно хорошо изучена на примере систем контекстной интернет-рекламы. (Правда, не слишком радостные результаты изучения, в случае с интернет-рекламой, как-то не очень популяризируют.) Так вот, особенность в том, что люди не могут голосовать через Интернет – через Интернет голосуют только компьютеры.
Как так? Очень просто: именно компьютер подключен к Сети, поэтому центр сбора и обработки результатов получает “сигнал” именно от компьютера. Что там за человеческий гражданин находился в момент голосования за компьютером, и находился ли он там вообще – об этом ничего не известно.
Да, можно раздать гражданам специальное программное обеспечение (ПО) на избирательных участках. Но если на участке наблюдатели видят, как гражданин размещается в кабине для принятия решения, то в случае интернет-голосования определить, кто там использовал голосовательное ПО – нет возможности.
Понятно, что выбор конкретного голосовальщика можно зашифровать во время передачи по публичным сетям (а Интернет, конечно, делает такую передачу обязательной). Можно практически исключить повторную подачу голоса и изменение результатов злоумышленниками “на лету”. С тайной голосования, правда, возникают трудности: простое решение не даёт никакой анонимности, так как сессии процесса голосования могут сохраняться на многих промежуточных узлах.
В принципе, криптологами предлагались и предлагаются схемы голосования, где выбор остаётся секретным даже при условии хранения и доступности логов. Беда с подобными схемами одна, зато фундаментальная – они вообще не понятны людям без специального образования, соответственно вопрос достоверности результатов для большинства представителей заинтересованных сторон сводится к вопросу о доверии “занудам, разговаривающим непонятными словами о каких-то алгебрах”. Бумажные же бюллетени каждый может пересчитать, даже не математик.
Фиксирование легитимности конкретного голосования, в случае с интернет-подходом, вообще просто провальный момент. И даже не обязательно гражданин осознанно “торгует голосом” и передал кому-то свои реквизиты. Предположим, что домашний компьютер, которым этот гражданин собирается воспользоваться для голосования, заражён вирусом и является частью ботнета. Это специальный вирус, специальный ботнет, настроенные именно для голосований. Когда пользователь вводит какие-то там свои персональные ключи, а программное обеспечение для голосования подключается к центру избирательного комитета, то троянский код просто изменяет ввод пользователя в нужную владельцу ботнета сторону.
Тут важно понимать, что в случае достаточно продвинутого хакерского кода практически нет способов противодействия “перехвату волеизъявления” на стороне голосующего компьютера. Из-за того что между человеком и центром приёма результатов всегда есть неизвестный компьютер, весьма затруднительно проверить, что выбор сделал гражданин, а не хакерская программа, обманувшая гражданина. Особенно если такая проверка должна сохранять тайну голосования. При этом программа злоумышленников может “всплывать” на уровень выше всяких программных систем контроля и защиты, оказываясь строго между человеком и интерфейсом специального ПО голосования. (Собственно, так работают различные сниферы паролей.)
Если в схеме задействован достаточно большой ботнет, то его силами можно довольно быстро набрать нужный материал для анализа используемых в данных конкретных “электронных выборах” протоколов и ключей, что поможет эффективному вредительству. (Понятно, кстати, что протоколы должны бы быть заранее открыты для публики.)
А вот заразить троянцем деревянную кабинку для голосования или бумажный бюллетень, вроде бы, пока хакеры не умеют. Такие дела.
Комментарии (35) »
Между прочим, IPv6 затруднит деятельность владельцев ботнетов. И дело тут не в безопасности протокола. Просто, весомая часть деяттельности хакера-ботнетчика – “организационная” работа с IP-адресами. А IPv6 – делает адреса трудночитаемыми, если сравнивать с IPv4. Выходит, что инфраструктура усложняется, понимание её потребует больше времени, больше интеллектуальных усилий, а это всё затруднения.
С другой стороны, учитывая современный уровень ботнетостроения, с его визуальным средами и “тулзами”, с его саморастущими “фермами зомби”, вряд ли стоит расчитывать на то, что злые хакеры не преодолеют трудности восприятия IPv6. Преодолели же они в своё время появление сложных многорежимных процессоров от Intel (i386 имеются в виду).
Комментарии (5) »
Традиционно считают, что Интернет вырос из военных информационных исследований. В общем, так оно и есть. По крайней мере компьютеры вообще выросли из военных информационных исследований (если быть точным, то компьютеры нам дал криптоанализ). Так вот, хорошо обкатанные в Интернете старые идеи только через десяток лет окажутся реализованы в военных сетях радиосвязи.
Речь о децентрализованных системах, где есть множество автономных узлов, работающих не только привычными приёмниками и передатчиками, но и ретрансляторами. При этом все узлы (устройства связи) сети унифицированы, используют общий протокол, создавая некое единое поле обмена информацией. То есть, получается такая сеть без привычной инфраструктуры, без “центральных вышек”, которые нужно поднимать, без жёсткого распределения частот.
Понятно, что все устройства-участники такой сети – цифровые и обмениваются цифровыми сигналами. В таком случае разделить потоки можно кодированием. А для маршрутизации можно использовать наработанные оптимальные решения (вспоминаем, в том числе, и Интернет). Большинство узлов, будь то портативная рация пехотинца или более мощная радиостанция танка, смогут выступать ретрансляторами, повторяя (при наличии свободных ресурсов, понятно) пакеты от других устройств связи в общий эфир – тем самым, дальность связи, доступная карманной рации, увеличивается, в общем, до любой потребной величины. И, что главное, в совершенно прозрачном для пользователя режиме. (Да, а приоритеты выставляются с помощью персональных кодов – это также известно.)
Главные преимущества: надёжность, так как нет центров связи (остаются, впрочем, центры обработки); быстрота развертывания – сеть растёт сама собой, вместе с продвижением войск; устойчивость к простым помехам – цифровой сигнал, множество передатчиков с известными кодами сигналов, общее “информационное поле”, всё это помогает автоматически отстраиваться от помех.
Но, правда, таких сетей ещё придётся подождать.
Комментарии (4) »
Новый