Знай своего врага: создаём node.js-бэкдор

Ключ доступа в систему

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

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

Бэкдор — это встроенный способ обойти этот тип шифрования. По сути, это позволяет производителю получать доступ ко всем данным на любом устройстве, которое он создает. И в этом нет ничего нового — это восходит к заброшенной «микросхеме Clipper» в начале 90-х годов.

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

Гипотетические примеры бэкдоров в современных алгоритмах

Уязвимость генератора псевдослучайной последовательности DUAL_EC_DRBG

Данный генератор был разработан в АНБ и стандартизован в качестве криптографически стойкого генератора псевдослучайных чисел национальным институтом стандартов и технологий США NIST в 2006 году. Однако уже в 2007 году независимыми исследователями было высказано предположение, что в этот алгоритм мог быть встроен бэкдор.

Иллюстрация работы алгоритма согласно спецификации АНБ:

Данный алгоритм использует эллиптические кривые. P{\displaystyle P} — генератор группы точек на эллиптической кривой, Q{\displaystyle Q} — точка на эллиптической кривой — константа, определённая стандартом, как она была выбрана неизвестно. Параметры самой кривой также заданы стандартом.

Принцип работы:

Уравнение кривой y=x3+ax+b mod p{\displaystyle y=x^{3}+ax+b~mod~p} можно переписать в виде x=φ(x,y) mod p{\displaystyle x=\varphi (x,y)~mod~p} и записать следующие выражения для работы алгоритма:

ri=φ(si∗P){\displaystyle r_{i}=\varphi (s_{i}*P)} , ti=φ(ri∗Q){\displaystyle t_{i}=\varphi (r_{i}*Q)} , si+1=φ(ri∗P){\displaystyle s_{i+1}=\varphi (r_{i}*P)}
si{\displaystyle s_{i}} — внутреннее состояние генератора на текущем шаге
si+1{\displaystyle s_{i+1}} — внутреннее состояние генератора на следующем шаге
ti{\displaystyle t_{i}} — выход генератора на текущем шаге
Предполагаемый бэкдор:

Так как p{\displaystyle p} — простое число, то существуют такое число e{\displaystyle e}, что e∗Q=P{\displaystyle e*Q=P}. Нахождение e{\displaystyle e} — вычислительно сложная задача дискретного логарифмирования на эллиптической кривой, для решения которой на сегодняшний день не существует эффективных алгоритмов. Но если предположить, что злоумышленник знает e{\displaystyle e} , то получается следующая атака:
Если x=ti{\displaystyle x=t_{i}} — очередной выход генератора, и если существует такое y{\displaystyle y}, что y2≡x3+ax+b mod p{\displaystyle y^{2}\equiv x^{3}+ax+b~mod~p}, то точка A=(x,y){\displaystyle A=(x,y)}, лежит на кривой и для неё выполняется следующее равенство: A=ri∗Q{\displaystyle A=r_{i}*Q}. Зная число e{\displaystyle e} можно вычислить: si+1=φ(e∗A)=φ(e∗ri∗Q)=φ(ri∗P){\displaystyle s_{i+1}=\varphi (e*A)=\varphi (e*r_{i}*Q)=\varphi (r_{i}*P)}. Таким образом, злоумышленник, знающий число e{\displaystyle e}, может не только вычислить следующий выход генератора, но и быстро перебрать все возможные внутренние состояния генератора и восстановить его начальное внутреннее состояние. Согласно независимым исследованиям, при знании e{\displaystyle e} достаточно всего 30 байт выходной последовательности генератора, чтобы простым перебором 215{\displaystyle 2^{15}} значений восстановить его начальное внутреннее состояние. По мнению исследователей, такая уязвимость может быть расценена как бэкдор.

Ошибка в реализации протокола проверки сертификатов TLS от компании Apple

Исследователями компании Яндекс была обнаружена уязвимость в реализации протокола TLS в одном из программных продуктов Apple. По их мнению, данная ошибка вполне может оказаться бэкдором, намеренно встроенным в алгоритм кем-то из разработчиков.

Участок кода с ошибкой:
static DSStatus SSLVerifySignedServerKeyExchnge(....)
{
     DSStatus err;
     ....
     if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != )
          goto fail;
          goto fail;
     if ((SSHashSHA1.final(&hashCtx, &hashOut)) != )
          goto fail;
     ....
     fail
          ....
          return err;
}

Как можно видеть, после первого оператора if стоят две строчки goto fail, и вторая строчка выполняется всегда, независимо от результата if. Таким образом процедура проверки сертификата проходит не полностью. Злоумышленник, знающий об этой уязвимости, может подделать сертификат и пройти проверку подлинности. Это позволит ему организовать атаку типа «Человек посередине», тем самым вмешаться в защищённое соединение между клиентом и сервером. Исследователи, обнаружившие данную ошибку в реализации, не могут точно сказать, намеренно она была сделана или случайно. Вполне возможно, что это бэкдор, встроенный в алгоритм кем-то из разработчиков.

Как распространяются бэкдоры?

Бэкдоры не способны распространяться и заражать систему без ведома пользователя. Большинство таких паразитов нужно устанавливать вручную в связке с другим программным обеспечением. Существуют четыре основных способа, как эти угрозы попадают в систему.

  • Неосознанные пользователи ПК могут случайно установить типичные бэкдоры на свои компьютеры. Они могут прийти прикрепленными к сообщениям электронной почты или программам обмена файлами. Авторы дают им неподозревающие имена и обманывают пользователя открыть или запустить такой файл.
  • Бэкдоры часто устанавливаются другими паразитами такими, как вирусы, трояны или даже шпионские программы. Они попадают в систему без ведома и разрешения пользователя, который использует зараженный компьютер. Некоторые угрозы могут быть установлены вручную хакерами, которые имеют достаточно привилегий для установки программного обеспечения. Небольшая часть бэкдоров может распространяться за счет использования удаленных систем с некоторыми уязвимостями в системе безопасности.
  • Несколько бэкдоров уже интегрированы в конкретные приложения. Даже законные программы могут быть подделаны удаленными функциями доступа. Атакующий файл должен связаться с компьютером через установку такой программы, чтобы мгновенно получить доступ к системе или взять на себя контроль над определенным программным обеспечением.
  • Некоторые бэкдоры заражают компьютеры за счет использования определенных уязвимостей программного обеспечения. Они работают так же, как черви и автоматически распространяются без ведома пользователя. Пользователь не может заметить ничего подозрительного, так как угрозы не отображают никаких мастеров установок, диалоговых окон или предупреждений.

Широкое распространение бэкдоров в основном заражает компьютеры на операционной системе Microsoft Windows. Тем не менее, множество менее распространенных паразитов предназначены для работы в разных сферах, например для операционной системы Mac и других.

What is a backdoor?

Imagine you’re a burglar casing a house for a potential robbery. You see a «Protected by…» security sign staked in the front lawn and Ring doorbell camera. Being the crafty cat burglar that you are, you hop the fence leading to the back of the house. You see there’s a backdoor, cross your fingers, and try the knob—it’s unlocked. To the casual observer, there are no external signs of a burglary. In fact, there’s no reason you couldn’t rob this house through the same backdoor again, assuming you don’t ransack the place.

Computer backdoors work in much the same way.

In the world of cybersecurity, a backdoor refers to any method by which authorized and unauthorized users are able to get around normal security measures and gain high level user access (aka root access) on a computer system, network, or software application. Once they’re in, cybercriminals can use a backdoor to steal personal and financial data, install additional malware, and hijack devices.

But backdoors aren’t just for bad guys. Backdoors can also be installed by software or hardware makers as a deliberate means of gaining access to their technology after the fact. Backdoors of the non-criminal variety are useful for helping customers who are hopelessly locked out of their devices or for troubleshooting and resolving software issues.

Unlike other cyberthreats that make themselves known to the user (looking at you ransomware), backdoors are known for being discreet. Backdoors exist for a select group of people in the know to gain easy access to a system or application.

As a threat, backdoors aren’t going away anytime soon. According to the Malwarebytes Labs State of Malware report, backdoors were the fourth most common threat detection in 2018 for both consumers and businesses—respective increases of 34 and 173 percent over the previous year.

If you’re concerned about backdoors, you heard about backdoors in the news and want to know what the deal is, or you have a backdoor on your computer and need to get rid of it right now, you’re in the right place. Read on and get ready to learn everything you’ve ever wanted to know about backdoors.

“A backdoor refers to any method by which authorized and unauthorized users are able to get around normal security measures and gain high level user access (aka root access) on a computer system, network, or software application.”

Черный ход

Версии: #1#2#3#4#5#6

Эй, хочешь войти?
 

Отложи сейчас все в сторону

В прошлый раз у меня была просто разминка м-м

Пришло время закатить вечеринку

Если не можешь справиться с этим, вали отсюда

Боже, должно быть ты чувствуешь себя напряженно

Расслабься и наслаждайся на всю катушку

Выключай свет и пусть твои глаза горят всю ночь

Возбуждение, которое было подавлено, вырывается наружу

Хочу повернуть дверную ручку и увидеть все, что жду

Звуки музыки доносятся через дверь

Кричу во все легкие

У меня нет времени, чтобы затормозить

Привет!

Входи же скорей

Привет!

Вход запрещен всем, кроме персонала. Это черный ход.

Вход запрещен всем, кроме персонала. Это черный ход.

Вход запрещен всем, кроме персонала. Это черный ход.

Если вы хотите участвовать (в вечеринке) …

Эй, я думаю, это конец

Пора использовать голову, ты готов идти?

Мне пришлось нелегко, моему телу достался не тот хозяин

Но я сделаю тебя сильным, следуй за мной через черный ход

Все нормально, потому что это не охрана **

Звук, который я слышу сейчас — это фанфары

Давайте веселиться всю ночь, все, что вам нужно, это больше кофеина

Чтобы тебе открыли дверь, скажи пароль:Сезам, откройся

Ты выглядишь по-другому в тот момент, когда все становится идеально

Фантазия разворачивается перед глазами

Кричу так, что мой голос срывается

У меня нет времени на колебания

Привет!

Входи же скорей

Привет!

Вход запрещен всем, кроме персонала. Это черный ход.

Вход запрещен всем, кроме персонала. Это черный ход.

Вход запрещен всем, кроме персонала. Это черный ход.

Если вы хотите участвовать (в вечеринке) стучите

Тук-тук

Отбой, свет выключается

Да, со временем

Этот момент становится более очаровательным

Да, мы сделаем это прямо сейчас,

сделай это прямо сейчас, детка

С этого момента приди в себя

Посмотри на этот мир и сохрани его в свои глазах

Твое сердце стучит рум-пум-пум-пум

Пусть они кричат: вау, вау, вау, да!

Все, приходите, заваливайтесь к нам

Пойте песню ла-ла-лэй

3- 2- 1

Вход запрещен всем, кроме персонала. Это черный ход.

Вход запрещен всем, кроме персонала. Это черный ход.

Вход запрещен всем, кроме персонала. Это черный ход.

Если вы хотите участвовать (в вечеринке) стучите

Тук-тук

Зажигай и сходи с ума

Сегодня мы снова занимаемся своим делом

Зажигай и сходи с ума

Я буду нести все, что хочу сегодня вечером

Зажигай и сходи с ума

Сегодня мы снова занимаемся своим делом

Зажигай и сходи с ума

 
Эй, хочешь войти?
 

You’ll make me happy if you press Thanks button))
I’ll appreciate it very much! ♡
Мне будет очень приятно, если вы нажмете на кнопку Thanks.
Заранее признательна! ♡

Добавлено chatterbox в пн, 14/09/2020 — 09:56
В последний раз исправлено chatterbox в чт, 17/09/2020 — 05:17

Комментарий:

* SECOM — крупнейшая охранная компания Японии, отсюда название охранника

Как распространяли PhantomLance

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

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

Одно из приложений в Google Play, в котором скрывался бэкдор PhantomLance

Разумеется, все они уже удалены из Google Play, но до сих пор их можно обнаружить на «зеркалах». Иронично, что некоторые из таких «зеркальных каталогов» сообщают, что установочный файл был скачан напрямую из официального магазина Google и потому, дескать, точно не содержит вирусов.

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

Во-вторых, изначально загружавшиеся в магазин приложения не были вредоносными. Первые версии программ не содержали никаких подозрительных функций и потому легко преодолевали проверки Google Play. И только через некоторое время, с очередным обновлением, приложения обзаводилось «нужными» его создателям вредоносными функциями.

Примеры методов создания бэкдоров

Специально подобранные константы

Очень многие современные криптографические алгоритмы используют при своей работе определённый набор внутренних констант. Как правило, эти константы задаются стандартом и выбираются из соображений криптографической стойкости к известным на данный момент видам криптоанализа. Но выбор констант при стандартизации алгоритма теоретически может быть использован разработчиками и со злым умыслом: например, для создания определённых уязвимостей и бэкдоров в алгоритме.

В качестве такого примера использования констант можно привести недавние исследовательские работы на тему так называемого «вредоносного хэширования», где авторам удалось построить коллизии для криптографической хэш-функции SHA1 путём модификации её раундовых констант. Отметим, что предложенная авторами исследования атака не является атакой на саму хэш-функцию SHA1, она позволяет лишь находить коллизии при условии возможности изменения раундовых констант и только для определённых типов файлов.

Краткое описание SHA1:

SHA1 — современная раундовая хэш-функция. Алгоритм хэширования следующий:

  • Инициализируются 32-битные значения a=h,b=h1,c=h2,d=h3,e=h4{\displaystyle a=h_{0},b=h_{1},c=h_{2},d=h_{3},e=h_{4}}
  • Входное сообщение разбивается на блоки длиной 512 бит
  • Каждый блок сообщения обрабатывается и дополняется специальным образом, по алгоритму, определённому в стандарте
  • Полученный блок сообщения хэшируется в 4 этапа по 20 раундов в каждом, причём для каждого этапа используется своя константа K1,K2,K3{\displaystyle K_{1},K_{2},K_{3}} или K4{\displaystyle K_{4}}
  • Выходом функции для каждого блока будут новые значения a,b,c,d,e{\displaystyle a,b,c,d,e}, которые добавляются к результату: h=h+a,h1=h1+b,h2=h2+c,h3=h3+d,h4=h4+e{\displaystyle h_{0}=h_{0}+a,h_{1}=h_{1}+b,h_{2}=h_{2}+c,h_{3}=h_{3}+d,h_{4}=h_{4}+e}
  • Итоговым результатом хэширования будет 160-битное значение полученное конкатенацией пяти 32-битных значений h,h1,h2,h3,h4{\displaystyle h_{0},h_{1},h_{2},h_{3},h_{4}} после обработки последнего блока сообщения.
Построение коллизий:

Целью рассматриваемой атаки является нахождение таких констант K1,K2,K3,K4{\displaystyle K_{1},K_{2},K_{3},K_{4}} и таких сообщений M1{\displaystyle M_{1}} и M2{\displaystyle M_{2}} , что Hash(M1)=Hash(M2){\displaystyle Hash(M_{1})=Hash(M_{2})}. Данная атака модифицирует только первые 512 бит (1-ый блок) сообщений для которых требуется построить коллизию.
Алгоритм базируется на уже известной разностной атаке на SHA1, предложенной в 2005 году и имеющей сложность порядка 269{\displaystyle 2^{69}} операций, что делает её трудноосуществимой на практике. Поэтому до настоящего времени ни одной реальной коллизии для SHA1 найдено не было.

Но в случае создания вредоносного варианта SHA1 злоумышленник может варьировать не только блоки сообщений M1{\displaystyle M_{1}} и M2{\displaystyle M_{2}}, но и раундовые константы K1,K2,K3,K4{\displaystyle K_{1},K_{2},K_{3},K_{4}}. Согласно исследованиям, это сильно снижает сложность атаки до порядка 248{\displaystyle 2^{48}} операций и делает построение таких коллизий реальной задачей которую можно выполнить на нескольких компьютерах. Таким образом, авторам исследования удалось построить одноблоковые коллизии для многих известных типов файлов.

Одноблоковая коллизия:

M1{\displaystyle M_{1}} и M2{\displaystyle M_{2}} — первые блоки сообщений (512 бит), которые отличаются между собой, но дают одинаковую хэш-сумму
Content{\displaystyle Content} — остальное содержимое, которое одинаково для обоих файлов

Пример использования вредоносного хэширования для создания бэкдоров

С помощью описанной атаки были созданы два sh-скрипта, которые при выборе K1=5a827999 , K2=88e8ea68 , K3=578059de , K4=54324a39{\displaystyle K_{1}=5a827999~,~K_{2}=88e8ea68~,~K_{3}=578059de~,~K_{4}=54324a39} дают одинаковую хэш-сумму SHA1, но работают по-разному.

Как можно видеть, различие между этими двумя скриптами заключается только в первых блоках по 512 бит, которые представляют из себя закоментированный мусор. Но содержимое этих блоков затем используется в условии if , следовательно скрипты при запуске работают по-разному. Подобные файлы могут быть использованы создателем со злым умыслом.

Какой вред могут нанести Backdoor?

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

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

Бэкдорные атаки приносят прибыли от записей перемещений пользователей в интернете, заражения файлов, повреждения системы и порчи приложений.

Примеры атак Backdoor

Одним из таких примеров являются Sticky Attacks. В этом случае, злоумышленники используют «атаку грубой силы» на сервер с включенным протоколом удаленного рабочего стола (RDP) и могут получить учетные данные для доступа к компьютеру. Затем киберпреступники используют скрипты и инструменты операционной системы, чтобы остаться незамеченными и установить простой бэкдор.

Даже если жертвы понимают, что были скомпрометированы и меняют пароли, злоумышленники тогда применяют Sticky Keys для доступа к компьютеру без необходимости повторно вводить учетные данные.

Еще одним примером является DoublePulsar, инструмент для внедрения бэкдоров, который часто используется хакерскими группами. Он может заразить сразу несколько тысяч компьютеров под управлением Microsoft Windows всего за несколько дней и активно используется для атак с 2017 года.

Примеры Бэкдор в покере

Понять, что такое Бэкдор в покере проще всего, если изучить конкретные наглядные примеры. Начнем с самого простого! У игрока на руках разномастные Туз и Дама, а на столе лежат две карты одной масти с Тузом и одна отличающаяся по масти:

При данном раскладе на Бэкдор в покере обычно не обращают внимания. Мы не будем рассматривать розыгрыш этой руки, так как он не будет связан с описываемым понятием. Рассчитаем вероятность построения комбинации Флеш в этой раздаче. Как видно, нам не хватает двух карт пиковой масти. В колоде осталось таких карт — 10 штук. Шансы, что они откроются на Терне и Ривере равны всего 4,5% ((10/45)х(9/44)=0,2х0,18=0,045 или 4,5%) — в четырех-пяти раздачах из ста подобных.

Рассмотрим еще один конкретный пример, но уже с более сложной ситуацией. Допустим, игрок имеет на руках карманные карты – пиковую 8 и червовую 9, а на флопе открылись – Туз и пиковые 2,7. Здесь можно заметить, что игрок имеет на руках два Бэкдор. В покере такие ситуации встречаются нередко! Для комбинации Флеш у него также 10 нужных карт, при этом может также достроиться и Стрит. Получается, что в данной ситуации можно сложить шансы получения обеих комбинаций до Ривера и вероятность получится примерно 5,25%.

Помните: карты, которые остаются к колоде и могут достроить Бэкдор в покере, нельзя приравнивать к аутам! Под аутами подразумеваются аналогичные карты, но для построения комбинации достаточно, чтобы выпал всего один из них. Здесь же, требуется выпадения двух карт, поэтому расчет вероятности производится совсем по другому и более сложному принципу.

Каковы наиболее известные примеры бэкдоров?

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

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

Tixanbot это чрезвычайно опасный бэкдор, который дает хакеру полный доступ к зараженному компьютеру. Злоумышленник может управлять всей системой и файлами, загружать и устанавливать произвольные приложения, обновлять бэкдора, изменять настройки домашней страницы Internet Explorer, атаковать удаленные хосты и получать системную информацию. Tixanbot завершает работу и процессы основных служб системы и программ безопасности, закрывает активные смывки шпионских программ и удаляет записи реестра, связанные с firewalls, антивирусным и антишпионским программным обеспечение для того, чтобы предотвратить их запуск при старте Windows. Паразит также блокирует доступ к авторитетным, связанным с безопасностью веб-ресурсам. Tixanbot может распространяться, он отправляет сообщения с определенными ссылками на все контакты MSN. Нажав на такую загрузочную ссылку – бэкдор устанавливается. 

Briba это бэкдор, который дает хакеру удаленный и несанкционированный доступ к зараженной компьютерной системе. Этот паразит запускает скрытый FTP сервер, который может быть использован для загрузки, обновления или запуска вредного программного обеспечения. Действия Briba могут привести к заметной нестабильности, сбоя работы компьютера и нарушения конфиденциальности.

Примеры методов создания бэкдоров

Специально подобранные константы

Очень многие современные криптографические алгоритмы используют при своей работе определённый набор внутренних констант. Как правило, эти константы задаются стандартом и выбираются из соображений криптографической стойкости к известным на данный момент видам криптоанализа. Но выбор констант при стандартизации алгоритма теоретически может быть использован разработчиками и со злым умыслом: например, для создания определённых уязвимостей и бэкдоров в алгоритме.

В качестве такого примера использования констант можно привести недавние исследовательские работы на тему так называемого «вредоносного хэширования», где авторам удалось построить коллизии для криптографической хэш-функции SHA1 путём модификации её раундовых констант. Отметим, что предложенная авторами исследования атака не является атакой на саму хэш-функцию SHA1, она позволяет лишь находить коллизии при условии возможности изменения раундовых констант и только для определённых типов файлов.

Краткое описание SHA1:

SHA1 — современная раундовая хэш-функция. Алгоритм хэширования следующий:

  • Инициализируются 32-битные значения a=h,b=h1,c=h2,d=h3,e=h4{\displaystyle a=h_{0},b=h_{1},c=h_{2},d=h_{3},e=h_{4}}
  • Входное сообщение разбивается на блоки длиной 512 бит
  • Каждый блок сообщения обрабатывается и дополняется специальным образом, по алгоритму, определённому в стандарте
  • Полученный блок сообщения хэшируется в 4 этапа по 20 раундов в каждом, причём для каждого этапа используется своя константа K1,K2,K3{\displaystyle K_{1},K_{2},K_{3}} или K4{\displaystyle K_{4}}
  • Выходом функции для каждого блока будут новые значения a,b,c,d,e{\displaystyle a,b,c,d,e}, которые добавляются к результату: h=h+a,h1=h1+b,h2=h2+c,h3=h3+d,h4=h4+e{\displaystyle h_{0}=h_{0}+a,h_{1}=h_{1}+b,h_{2}=h_{2}+c,h_{3}=h_{3}+d,h_{4}=h_{4}+e}
  • Итоговым результатом хэширования будет 160-битное значение полученное конкатенацией пяти 32-битных значений h,h1,h2,h3,h4{\displaystyle h_{0},h_{1},h_{2},h_{3},h_{4}} после обработки последнего блока сообщения.
Построение коллизий:

Целью рассматриваемой атаки является нахождение таких констант K1,K2,K3,K4{\displaystyle K_{1},K_{2},K_{3},K_{4}} и таких сообщений M1{\displaystyle M_{1}} и M2{\displaystyle M_{2}} , что Hash(M1)=Hash(M2){\displaystyle Hash(M_{1})=Hash(M_{2})}. Данная атака модифицирует только первые 512 бит (1-ый блок) сообщений для которых требуется построить коллизию.
Алгоритм базируется на уже известной разностной атаке на SHA1, предложенной в 2005 году и имеющей сложность порядка 269{\displaystyle 2^{69}} операций, что делает её трудноосуществимой на практике. Поэтому до настоящего времени ни одной реальной коллизии для SHA1 найдено не было.

Но в случае создания вредоносного варианта SHA1 злоумышленник может варьировать не только блоки сообщений M1{\displaystyle M_{1}} и M2{\displaystyle M_{2}}, но и раундовые константы K1,K2,K3,K4{\displaystyle K_{1},K_{2},K_{3},K_{4}}. Согласно исследованиям, это сильно снижает сложность атаки до порядка 248{\displaystyle 2^{48}} операций и делает построение таких коллизий реальной задачей которую можно выполнить на нескольких компьютерах. Таким образом, авторам исследования удалось построить одноблоковые коллизии для многих известных типов файлов.

Одноблоковая коллизия:

M1{\displaystyle M_{1}} и M2{\displaystyle M_{2}} — первые блоки сообщений (512 бит), которые отличаются между собой, но дают одинаковую хэш-сумму
Content{\displaystyle Content} — остальное содержимое, которое одинаково для обоих файлов

Пример использования вредоносного хэширования для создания бэкдоров

С помощью описанной атаки были созданы два sh-скрипта, которые при выборе K1=5a827999 , K2=88e8ea68 , K3=578059de , K4=54324a39{\displaystyle K_{1}=5a827999~,~K_{2}=88e8ea68~,~K_{3}=578059de~,~K_{4}=54324a39} дают одинаковую хэш-сумму SHA1, но работают по-разному.

Как можно видеть, различие между этими двумя скриптами заключается только в первых блоках по 512 бит, которые представляют из себя закоментированный мусор. Но содержимое этих блоков затем используется в условии if , следовательно скрипты при запуске работают по-разному. Подобные файлы могут быть использованы создателем со злым умыслом.

Чем опасен Backdoor.MAC.Eleanor

Принцип работы вируса Backdoor.MAC.Eleanor заключается в том, что он создает скрытый Tor-сервис, обеспечивая хакерам доступ к инфицированному компьютеру.

После внедрения Backdoor.MAC.Eleanor в операционную систему OS X, хакеры имеют возможность модифицировать любые файлы, захватывать фото и видео через iSight-камеру компьютера. Полный список возможных действий со стороны злоумышленников выглядит следующим образом:

  • Неограниченная работа с файлами
  • Использование команд
  • Запуск скриптов (PHP, PERL, Python, Ruby, Java, C)
  • Создание исключений для сетевой доступности
  • Получение доступа к базам данным от имени администратора
  • Доступ к утилите Мониторинг системы с возможностью отключения любых процессов
  • Отправка писем с возможностью прикрепления файлов

Что такое троян?

Каждый человек слышал про «троянские программы» и примерно понимает суть их воздействия благодаря описанному Гомером эпизоду Троянской войны — получаем программу за бесплатно, а внутри вредоносное ПО. При этом для обывателя все особо опасные вирусы обычно относятся к семейству троянских, тогда как на самом деле в большинстве случаев троян вовсе не является вирусом по своей сути.

Главное свойство вируса — самостоятельное распространение и заражение новых устройств, тогда как трояны обычно загружаются на общедоступные ресурсы авторами и самостоятельно устанавливаются пользователями. При этом троян может выполнять самые разнообразные задачи: отправлять злоумышленнику пользовательские данные, нарушать работу системы, использовать ее ресурсы, загружать дополнительное вредоносное ПО, уничтожать файлы и т.д.

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

Firefox

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

Откройте главное меню Хрома, кликнув по кнопке в виде трёх горизонтальных полосок (). В появившемся меню кликните по иконке в виде знака вопроса (). Это вызовет меню Справка, как показано на рисунке ниже.

Здесь вам нужно найти пункт Информация для решения проблем. Кликните по нему. В открывшейся странице, в разделе Наладка Firefox нажмите кнопку Очистить Firefox. Программа попросит вас подтвердить свои действия.

Нажмите кнопку Очистить Firefox. В результате этих действий, настройки браузера будут сброшены к первоначальным. Этим вы сможете восстановить вашу домашнюю страницу и поисковую машину.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий