Сертификаты подписи кода уже несколько лет используются злоумышленниками для вредоносных программ. Ещё в 2010 году исследователи обратили внимание на образцы зловредов с сертификатами, скопированными из «чистых» файлов. Естественно, такая подпись кода не проходила проверку Authenticode (см. презентацию F-Secure на конференции CARO 2010).



Очередной ласточкой стал в 2011 году «правительственный» зловред Stuxnet. Он использовал четыре 0day-уязвимости в Windows, чтобы распространиться и получить права администратора, и был подписан настоящими сертификатами, украденными у Realtek и JMicron. Зловред устанавливался в систему как драйвер Microsoft.



Потом появились другие примеры, а примерно с 2015 года заработал полноценный чёрный рынок валидных сертификатов от авторитетных удостоверяющих центров (УЦ). Такие сертификаты продаются на подпольных форумах вроде российского Antichat.

Есть распространённое мнение, что сертификаты безопасности на чёрном рынке украдены у реальных владельцев. Это не так. Их действительно выдают настоящие УЦ.

Специалисты по безопасности из группы Insikt Group компании Recorded Future изучили подпольный рынок сертификатов — и опубликовали отчёт (pdf) с результатами исследования. По их мнению, с высокой степенью уверенности можно утверждать, что сейчас сертификаты для чёрного рынка создаются специально для конкретного заказчика под заказ. Они регистрируются на настоящие компании. По всей вероятности, эти компании не подозревают, что от их имени происходят такие регистрации. Хотя в некоторых случаях можно предположить факт преступного сговора (например, подкуп сотрудников).

Это вполне валидные, законные сертификаты на настоящие компании, выданные серьёзными УЦ. Подобная тактика оказалась чрезвычайно эффективной для распространения вредоносных программ, пишут авторы отчёта.

Одной из первых «чёрные» сертификаты начала продавать хакерская группа C@T. В марте 2015 года на известном российском форуме Antichat она предлагала сертификаты Microsoft Authenticode для подписи 32- и 64-битных исполняемых файлов. Они также позволяют подписывать код для Microsoft Office, Microsoft VBA, Netscape Object Signing и Marimba Channel Signing, приложения на Silverlight 4.


Формат подписанного исполняемого файла PE

В рекламном объявлении хакерская группа указывала, что сертификаты выданы центрами Comodo, Thawte и Symantec на настоящие корпорации. Каждый сертификат уникален и его обещали продавать только одному покупателю. Кроме того, предлагались сертификаты для подписи кода от Apple.



«В мире Apple вы не можете запустить на выполнение программу с неподписанным кодом, хотя есть много способов обойти эту проверку, — говорит Амит Серпер (Amit Serper), ведущий специалист по безопасности в Cybereason, эксперт по зловредам для Mac. — Чтобы подписать программу, вам нужно настроить учётную запись разработчика, заплатить Apple $99 и объяснить, зачем необходим сертификат. Поскольку цель Apple — заработать деньги и привлечь больше участников на свою платформу для разработчиков, то получить сертификат невероятно просто. Многие вредоносные программы и adware для Mac подписаны законными сертификатами, предоставленными Apple».

По заявлениям C@T, подпись кода таким сертификатом повышает процент успешных установок малвари на 30?50%. Хакеры также сказали, что за последние полгода уже продали более 60-ти сертификатов. Это неплохой результат, учитывая высокую стоимость: три года назад «чёрные» сертификаты стоили более $1000.

В 2016 года на форумах появились ещё два продавца сертификатов, а в мае 2017 года к ним присоединился третий. Все три продолжают активность до сих пор. Первый из них работает для русскоязычных клиентов (рекламируется на местных форумах), второй специализируется на сертификатах PKI Class 3 по цене $600, а вот третий предлагает самый широкий ассортимент.



Самые дешёвые — стандартные сертификаты для подписи кода, выданные Comodo, без рейтинга репутации SmartScreen, продаются за $295. Самые дорогие — EV-сертификаты от Symantec с рейтингом SmartScreen за $1599.

Отдельно продаются сертификаты EV SSL: от $349 на один домен. Если покупать вместе сертификат для подписи кода и EV SSL, это будет стоить $1799.

Насколько эффективны такие сертификаты?


Специалисты Insikt Group убедили одного из продавцов «чёрных» сертификатов на форуме провести испытание. Они получили исходник с новым трояном RAT, которого нет в антивирусных базах. Файлы предварительно зашифровали, а потом подписали свежим сертификатом от Comodo.

Так вот, среди всех антивирусных движков сканера VirusTotal восемь распознали зашифрованный зловред без подписи, и только два — с подписью Comodo.





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





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

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

Комментарии (51)


  1. UrsusMaritimus
    05.03.2018 12:54

    Что-то я не совсем понял. Поправьте, если не прав.
    Сертификат это подтверждение удостоверяющего центра, что ОТКРЫТЫЙ ключ принадлежит какому-то конкретному лицу (сайту, организации). Сертификат можно (и нужно) невозбранно распространять среди всех желающих.
    И от сертификата нет никакой пользы без СЕКРЕТНОГО ключа.
    В чем смысл продавать сертификаты? Или продавали сертификаты с секретными ключами?


    1. Finesse
      05.03.2018 13:04
      +3

      Имеется ввиду выпуск сертификата (открытый и секретный ключ) для чужого приложения или домена.


  1. navion
    05.03.2018 13:09

    Самые дешёвые — стандартные сертификаты для подписи кода, выданные Comodo, без рейтинга репутации SmartScreen, продаются за $295. Самые дорогие — EV-сертификаты от Symantec с рейтингом SmartScreen за $1599.

    Symantec уже лишились бизнеса из-за раздолбайства при валидации клиентов, теперь очередь за Comodo?


    1. Kobalt_x
      06.03.2018 09:23

      Права выпускать EV сертификаты Symantec никто не лишал и лишать не собирался. Чтобы там Гугл не придумал но оси мелкомягких доверяют и будут доверять подписанным Symantec EV ибо уже есть 10500 им подписанным


      1. navion
        06.03.2018 09:55

        Вот только делать это будет уже DigiCert, а что MS закрывает глаза на косяки "партнёров" давно известно.


  1. vortex7
    05.03.2018 13:42

    а в чем дороговизна?
    очередной вымогатель шифруешь+подписываешь вот и окупилось 2к$
    или там ценообразование иное?


  1. Semenych
    05.03.2018 13:47

    А я правильно понимаю, что выдавать «левые» сертификаты могут двумя путями
    1. кто-то из работников центра подрабатывает сверхурочно
    2. утек корневой сертификат
    (3). В алгоритме есть дырка или это все делают пришельцы на квантовом компьютере, но такие версии мы не рассматриваем.


    1. postgree
      05.03.2018 13:55

      Какой нибудь сотрудник аутсорсера имея доступ к документам умудрился наклепать запросов. Т.е. есть запрос, есть оплата какая нибудь, контора реальная. А центр просто клепает сертификаты как пирожки.


  1. Semenych
    05.03.2018 14:01
    +1

    т.е. скорее №1 — дырка в процессах.


  1. Naves
    05.03.2018 14:19
    +3

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


    1. ildarz
      05.03.2018 14:59
      +2

      Если кто-то пишет новый троян, а потом его еще и зашифровывает, то скорее надо задаваться вопросом, почему антивирус вообще на получившийся результат реагирует (вероятнее всего, он реагирует на всё, что шевелится, с кучей false positive).


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


      1. sumanai
        05.03.2018 15:14
        +1

        почему антивирус вообще на получившийся результат реагирует

        Ответ содержится в вопросе
        зашифровывает

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

        Современные антивирусы как бы имеют свои песочницы, в которых запускают проверяемый код.


        1. dartraiden
          05.03.2018 21:23

          После запуска трояна поведенческий анализатор антивируса молчит, поскольку, с его точки зрения, не выполняется никаких потенциально опасных действий. Какая-то программа ищет файлы по маске? Да пожалуйста! Создаёт копии файлов? Без проблем! Шифрует копии? Тоже не повод для паники. Функции шифрования поддерживаются большинством современных программ, а троян использует те же стандартные криптографические библиотеки. Он удаляет пользовательские файлы? Это тоже не запрещено — они ведь не системные. Затирает свободное место? Безопасное удаление также востребованная и легальная функция. Он добавляется в автозапуск? И это тоже разрешённое поведение. В отличие от классических вирусов, троян-шифровальщик не пытается модифицировать файлы, не внедряется в активные процессы и вообще ведёт себя скучно.


        1. ildarz
          05.03.2018 23:02

          Вы это серьезно? :/


          1. sumanai
            06.03.2018 00:54

            Я где-то ошибся?


        1. teecat
          06.03.2018 17:18
          +1

          А современные вредоносные программы эти песочницы распознают.

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


    1. slava7777
      05.03.2018 18:55

      А почему никто не интересуется, почему не отрабатывает стандартная процедура отзыва сертификата? По нашим данным из топа VirusTotal более 18тыс файлов имеют валидную подпись от Symantec, а сертификат до сих пор не отозван. Речь идёт о месяцах не отзыва таких сертификатов.
      PS: «Маргинальные антивирусы»(AV NG) работают на основе статистических движков(ML,DL) и только они могут принципиально детектировать и блокировать новые сэмплы без добавления сигнатуры сэмпла малвари в базу.


      1. ildarz
        05.03.2018 23:04

        А почему никто не интересуется, почему не отрабатывает стандартная процедура отзыва сертификата? По нашим данным из топа VirusTotal более 18тыс файлов имеют валидную подпись от Symantec, а сертификат до сих пор не отозван.

        А кто его должен отозвать и по какой причине?


  1. geher
    05.03.2018 21:00

    После такого кто-то считает невозможной подделку https трафика?


    1. vsb
      05.03.2018 23:27

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


      1. TaHKucT
        06.03.2018 00:46

        Есть. EV SSL за 349 это как раз сертификат для домена.


        1. vsb
          06.03.2018 01:08

          Для домена, которым владеешь ты, а не кто-то.


          1. TaHKucT
            06.03.2018 01:49

            В чем смысл им продавать, а кому то покупать сертификат на домен, которым человек и так владеет?


            1. makkarpov
              06.03.2018 15:43

              В том, что это не Domain-Validated сертификат, а значит — его выпуск требует не только владения доменом, а еще, например, юрлица.


          1. arvitaly
            06.03.2018 12:30

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


  1. websurfer
    05.03.2018 22:51

    Во первых, не кто-то, когда-то зарегистрировал что-то. Там четко написано 3-5 рабочих дней на исполнение. То есть, это делается под конкретного заказчика. Во вторых, если без сертификатов никак нельзя, то возможно, создав по 1 центру в каждой стране, например, и один мировой и выдавать.


  1. fukkit
    06.03.2018 00:29

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


    1. Kobalt_x
      06.03.2018 09:31

      Потому что есть такие категории как golden image. К тому, что имеет подписанный бинарь доверия априори больше. Плюс, упомянутые вами ML методы, для которых наличие подписи тоже может учитываться как одна из feature. Плюс во многих enterprise av есть автокатегоризация, которая, в зависимости от настроек, может поместить приложение с подписью в группу с меньшими ограничениями по проверке. Никто не будет скорить симантек в минус, это самоубийство в ав тестах, вы представляете сколько коммерческого софта им подписано?


      1. Kobalt_x
        06.03.2018 12:01

        Перичитал комментарий, уточню иммел в виду не то что много софта подписано сертификатами Symantec, а то, что много сертификатов других софтверных компаний, которыми, в свою очередь, они подписывают свой софт.


  1. vadimr
    06.03.2018 09:14
    +1

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


  1. Sergei_Erjemin
    06.03.2018 09:53

    Но ведь «найти концы» не сложно, и распутать кто (какое конкретно лицо) запросил сертификат не инопланетные технологии. Но раз никто концов не ищет (а истрия длится, судя по публикации, с 2011 года), а бизнес только расширяется — значит это такой специальный план.


  1. Mur81
    06.03.2018 10:15

    Объясните мне убогому почему вообще антивирусы считают подписанный код заведомо не зловредным (ну или же уровень доверия безмерно повышается)? Что вообще мешает Васе Пупкину пойти и законно получить себе сертификат, а потом клепать зловреды и подписывать их этой законной подписью? Боязнь, что его быстро вычислят по этой подписи? Да полноте. Помнится на заре появления блокираторов и шифровальщиков бабло просили кидать прямо на мобилу. Вычислить по ней получателя дело техники. Однако органам было пофиг (по крайней мере в РФ). Это во-первых. Во-вторых антивирус должен прежде всего защитить машину в любом случае. И не важно оставил ли автор зловреда следы или нет. Даже если в зловреде будет открытым текстом написаны ФИО автора и его домашний адрес, что теперь от такого зловреда не надо машину защищать? Бред какой-то.
    Лично сталкивался со зловредом подписанным сертификатом от Comodo. И это был не эксклюзивный промышленный шпион, а таки обычный массовый зловред. Ноль срабатываний на virustotal. Отправил его на исследование Касперскому, так на протяжении месяца так и не начал определяться (потом стёр его и забил).
    Такое чувство, что в антивирусных движках прям код такой «Если есть валидная ЦП, то пропускать проверку».
    А меж тем, как уже заметили в комментариях, ЦС выдают левые сертификаты направо и налево и система отзыва по факту не работает. Просто супер!


    1. Kobalt_x
      06.03.2018 12:11

      «Объясните мне убогому почему вообще антивирусы считают подписанный код заведомо не зловредным»
      Потому что раньше подпись косвенно означала, что у выпустившего есть бабло на выпуск сертификата и он подвердил свою личность, как правило малварописатели таким не заморачивались, поэтому можно производить меньше проверок в рантайме в настройках по-умолчанию, бонусом это ускоряет запуск стороннего софта. С эпохой LetsEncrypt когда у каждого второго свой сертификат подобное работать перестало. Отмечу что все популярные АВ позволяют это поведение отключить и проверять вне зависимости от того есть подпись или нет. Как правило наиболее сильно антивирусы доверяют ПО с сертификатами вендора ос


      1. sumanai
        06.03.2018 12:36

        С эпохой LetsEncrypt

        LE не может выпускать сертификаты для подписи софта.


        1. Kobalt_x
          06.03.2018 13:48

          #comment_10698818


      1. fukkit
        06.03.2018 12:40

        LetsEncrypt уже доверяют код подписывать?? o_O


        1. Kobalt_x
          06.03.2018 13:47

          Да, согласен криво получилось(хотя, до сего днябыл уверен что LetsEncrypt делает code sigining сертификаты), но сейчас цены другие нежели раньше, тот же Comodo позволяет купить за 73$/1y Code sigining certificate. Что несколько несопоставимо с 500$ на CodeSigning от Symantec года 4 назад ну и EV тоже подешевели. И вроде бы подешевение, как-то совпало с появлением LetsEncrypt но в любом случае это только мои домыслы.


          1. fukkit
            06.03.2018 13:54

            Идея ваша правильная. Идёт распродажа доверия.


            1. Mur81
              06.03.2018 14:30

              Не-не-не, Вы не путайте удешевление сертификатов с распродажей доверия. Снижение цен на сертификаты это хорошо. Просто надо понимать для чего вообще нужны сертификаты и ЭЦП — для подтверждения личности и гарантии неизменности подписанных данных. А по факту мы имеем какую-то дикую подмену понятий — раз код подписан, то это автоматически не код, а манна небесная. Раз сайт работает по HTTPS, то автоматически его владелец святой. И тд.
              А теперь еще ЦС выдают сертификаты направо и налево без должных проверок. Вот это подрывает на корню всю эту систему PKI.


              1. fukkit
                06.03.2018 14:52

                За высокой ценой, теоретически, должна стоять большая работа по отбору и проверке клиентов.
                Есть смысл и в цветовой дифференциации штанов. Сертификаты «Вася — это Вася, кем бы он ни был» и «Вася — это лицо, соответствующее нашему широчайшему комплаенсу» обязаны быть различными, как по набору действий для их получения, так, разумеется, и по цене.
                Я, как раз, против хромых формулировок «Безопасно», «Защищено», навязываемых в адресной строке браузера, например.


      1. Mur81
        06.03.2018 15:18

        «Косвенно означала», «как правило» и тд. Не находите, что это очень сомнительные определения когда дело касается безопасности?
        И в этом проблема. Т.е. по факту мы имеем ситуацию когда имея сертификат для подписывания кода (не важно даже как полученный) мы можем практически гарантированно пропихнуть мимо антивирусных решений всё что угодно.


  1. achekalin
    06.03.2018 10:55

    А ваш ЦС как-то от подобного защищен? Понятно, что я не сотру все корневые серты, кроме вашего, даже узнав, что ответ — «да», но все же интересено: вы же так же, наверное, привлекаете партнеров, и так же вряд ли можете проверить/проследить, что подписываете не вирусню.
    А что некий блоб, подписанный неким ЦС, оказался вредоносным, можно и вообще узнать очень не скоро, если вообще узнать: механизма уведомления, я так понимаю, ведь не существует? Или, скажем, антивирусные компании имеют протокол уведомления ЦС о том, что подписанный такой-то бинарь — злобный гад, и подпись нужно отзывать?


    1. navion
      06.03.2018 11:05

      ЦС подписывают открытый ключ пользователя после валидации и записывают его в CT-лог, остальное их не касается.
      При этом в CPS прописан запрет на malware и отзыв при нарушении условий.


      1. achekalin
        06.03.2018 11:11

        Т.е. руки вы умыли, а пользы от подписи как бы и нет — что от вашей, что чужой. За что деньги-то, что формально поверили на слово, что заказчик не хацкер?


        1. navion
          06.03.2018 11:18

          Задача ЦС удостовериться, что вы — это вы. Как электронный нотариус, не более того.


        1. ildarz
          06.03.2018 11:22

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


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


          1. achekalin
            06.03.2018 11:28

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


        1. Mur81
          06.03.2018 11:32

          Вы видимо не до конца понимаете что такое ЭЦП. И понимание это не только у Вас, а еще у многих (вплоть до производителей антивирусов?).
          ЭЦП позволяет убедиться, что подписанные данные (код, документ — не важно) не были модифицированы после подписания. А так же позволяет убедиться, что подписал данные какой-то конкретный субъект. Сертификат, выданный ЦС, как раз удостоверяет, что подписавший именно тот за кого себя выдаёт. Т.е. роль ЦС гарантировать, что эта ЭЦП (открытый ключ) принадлежит именно «тому парню». Всё, не больше и не меньше.
          Т.е. еще раз:
          1. Подпись гарантирует, что данные не менялись с момента подписания
          2. СЦ гарантирует, что данные подписал такой-то субъект
          Владелец ЭЦП волен подписывать _всё что ему угодно_. Наверно где-то в соглашениях между СЦ и покупателем сертификата написано, что «низя подписывать вирусню, ай-ай». Но это в любом случае на совести покупателя.

          Тут больше вопрос к антивирусам. Почему подписанный код изначально считается более доверенным?


          1. achekalin
            06.03.2018 11:35

            Точно как я и сказал выше: надо разъяснять, что такое сертификаты (а только инструмент проверки неизменности). А про антивирусы полностью согласен, и удивлен, что антивирусы вообще на что-то смотрят, кроме самого проверяемого файла.


            1. Mur81
              06.03.2018 11:42

              Да, вижу. Писали комментарий одновременно.
              К антивирусам у меня вопросы давно уже появились. После того как я лично столкнулся со зловредом подписанным валидной подписью (выше в комментарии писал вкратце). В общем запасаемся попкорноми смотрим на развитие ситуации. После истории с Symantec становится всё интереснее.


  1. ElvenSailor
    06.03.2018 11:41

    Вообще, вопрос доверия сертификатам, выдаваемым таким конторам, очень спорный))