Как стать автором
Обновить

Комментарии 133

Хах, отличный подарочек к НГ! Чем, кстати, .git выкачивали?

anonfiles сейчас заубузят

фу ты блин, кулхацкеры в 2021м не умеют пользоваться торрентом и магнет-ссылками… 🤦‍♂️

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

суперсидирование спасёт первого раздающего :) а дальше толпа сама уже обменяется блоками… в этом-то и смысл торрентов…

Не столько вопрос трафика, сколько безопасности. Раздавать такой контент со связанной с собой точки небезопасно, сами понимаете... :)

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

Он много месяцев (лет) в блокировке РКН, никто на него не сможет зайти (ирония).

та найдут что в мыле прикрепить,

Мда, тебя ведь никто не просил сюда это пересылать

Этим же комментом жизнь этого аккаунта окончилась. Блицкриг

Увы, но сейчас ничего критичного в этом нет. Заведет товарищ аккаунт "7162" и выскажется еще раз.

Ну с таким подходом отправится в реадонли еще раз.

Не баг а фича: Госуслуги это народное достояние (теперь уж точно)

Тогда и Bug Bounty сейчас нужен.

А в качестве вознаграждения - бесплатная путевка в сибирь!

А если, допустим, я и так в Сибири? :))

Сибирь большая и там наверняка найдётся гораздо менее комфортное место и, что самое главное, другое занятие. если вы понимаете о чем я :)

Всё хорошо, но два вопроса:

  • Речь про федеральные Госуслуги или про московские региональные? Логотип на картинке относится к федеральному ЕПГУ, но отсылка к домену mos.ru говорит об обратном;

  • Сертификаты чего имеется в виду? SSL/TLS сертификаты сайта с ключами? За хранение такого в git с исходником по голове не гладят. Но, честно говоря, такое крайне редко практикуется, так как это ещё и не удобно. Или там просто сертификаты внешних эндпойнтов, так называемый trust anchor? Тогда ничего страшного. Или речь вообще об api-ключах и прочих секретах для внешних запросов? Такие вещи да, хорошая практика вынимать из git во внешний secret store, но положа руку на сердце, такая практика ещё недавно была распространена.

  • Ну и не вопрос: то, что ЕСИА под капотом OpenID тянет только что на секрет Полишинеля.

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

1. Пензы
2. Сертификаты с открытым и закрытым ключом

+ бонусом токены авторизации к финансовым сервисам

Практика хранения всего чего не надо в гите порочная, но распространенная...

Ссылка на исходники в источнике. Качаешь @ смотришь.

Классно. А статья тогда зачем?

Understandable, Have a Nice Day.

Да, весь текст какой-то адский кликбейт.

Да. именно openid, был еще saml, но его в этом году наконец решили окончательно похоронить.

В начале 2022 года его полностью отключат. В систем гос огромная куча как федеральных та и региональных порталов, делают их разные разрабы и применяют различную архитектуру. Довольно часто на торгах побеждают битриксоиды, поэтому я знаю немало порталов, сделанных именно на нем. Вангую, что есть уже целые команды, которые специализируются на гос-порталах с платформой битрикс... Имхо, это конечно печально ;-) я бы на месте заказчиков вообще писал бы в техусловиях "только не битрикс!".

Насколько я понял повестку, сейчас идёт тренд на земену разношёрстных порталов централизованным решением от Гостех или что-то типа того. Тоже вопрос что лучше, конечно.


Я не имел дел с Битриксом со времён, когда GIT ещё не был в тренде, поэтому не знаю как он сейчас устроен. Но на сколько я знаю устройство типичных современных CMF, встретить .git в паблике практически невозможно в силу того, что публичный document root/htdocs находится на вложенном уровне по отношению к корню проекта. Типа директория /public, в которой расположена структура статики и ассетов, тогда как в обработчик динамических запросов всё пробрасывается через тот же try_files в nginx или похожим методом в сокет или fcgi. Мне казалось, что битрикс работать должен схожим путём.

- У вас дыра в безопасности! - Ну хоть что-то у нас в безопасности.

Выложите торрент или magnet-ссылку, с anonfiles нереально скачать.

Там же был j2ee поверх постгреса раньше? Что, полностью перепахали?

Почитал что пишут вокруг этого инцидента - нигде никакой конкретики.
Никаких деталей, никаких пруфов...

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

А какую конкретику вы ожидаете?

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

Какие еще детали Вам нужны? Полного репозитория с историей комитов не достаточно?

Отлично, куда слать пулреквесты? 😃

У новости желтый заголовок:
"Взлом Госуслуг: утечка исходного кода", а в ссылке: "взлома то и не было. Это слив".

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

Зато зарплату получают 70ч, работающих над одним ботом, которого, видимо, тоже 'ломали'.

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

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

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

В сухом остатке: Госуслуги = Битрикс

Госуслуги взломаны.

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

Проектов с торчащим .git - полно. Среди них случаев, когда можно скачать объекты - полно. Среди них случаев, когда в объектах лежат логины, пароли, токены и секреты - полно. Это плохо, глупо, неправильно, но оно есть. Банки, продуктовые сети, турагенства, аптеки, крупная нефтехимия - у всех...

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

Да я нескольким провайдерам даже репортил, вместе с найденным через .git обходом авторизации Битрикса. А второму - вместе с токенами об систем ДБО. Тысячи их...

Архив не качали, тем не менее "Не читал, но осуждаю"

Чего читать-то?
Автор в первом же предложении ставит аббревиатуру 'P. S.', о которой слабо имеет представление.

Вы качали архив? Если да, то сразу вопрос: всё-таки какой домен указан в remote? git.mos.ru или mosreg.ru или pnzreg.ru или совсем другой? Это важно как минимум с точки зрения проверки самой статьи, которая и так полна неточностей.

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

Не говоря уже о том, что муниципальные ресурсы Пензы не имеют ни какого отношения к Департаменту Информационных Технологий Москвы. Однако в статье применили ссылку на доменную зону *.mos.ru (ещё и с ошибкой). Даже если бы данный портал разрабатывал и поддерживал ДИТ по какому либо контракту и исходники были действительно на git.mos.ru, стек технологий был бы явно другим. Уж ДИТ то давно использует и Node.js и Rust и Go и всё остальное, тот же фронт mos.ru на Next.js.

Одни манипуляции, чтобы придать значимости находки папки .git. Не то, чтобы проблемы нет, но она явно не того уровня, как если бы это был исходный код федеральных госуслуг или Московских (не региональных).

Ещё и удивление, что ЕСИА это OpenID, который как бы один из стандартов IdP, у Сбера тоже так то вход SberID это OpenID. Про донаты относительно OpenID вообще отдельная речь, донаты на открытую спецификацию...

Это всё притензии к статье, а к вам только как ответ на "не читал/качал, но осуждаю". По информации в статье всё и так понятно как обстоят дела.

Ладно Хабр, но статья в этом же виде форсится везде и люди далёкие от разработки совсем по другому воспринимают данный текст. И то, что Федеральные Госуслуги дырявые и что они как-то связаны с mos.ru, а значит и Московские тоже дырявые. В целом любые Госуслуги дырявые, это же "Госуслуги".

Что самое забавное, наверное фидбек о проблеме улетел не в Госуслуги Пензы, а в Федеральные Госуслуги (Ростелеком). Что как бы совсем разное.

Скорее всего всё-же утекло с *.mosreg.ru, всё-таки там даже Traefik Dashboard светится...

На всякий случай отвечу что не качал, но знакомые рассказывали...

по 1 абзацу - https://gosuslugi.pnzreg.ru/ это прям самые обычные госуслуги, только похоже на форк, со своей репой, со своими тасками в редмайн, своей базой и своими интеграциями с платежкой

По 2 абзацу не подскажу, откуда ноги растут именно про мос_ру 🤷🏼‍♂️ В архиве последний комит в октябре был

https://gosuslugi.pnzreg.ru/ это прям самые обычные госуслуги, только похоже на форк, со своей репой, со своими тасками в редмайн, своей базой и своими интеграциями с платежкой

Увы gosuslugi.pnzreg.ru не относятся к Федеральным Госуслугам gosuslugi.ru, которые разрабатываются и поддерживаются Ростелекомом. Это даже не форк т.к. gususlugi.ru не используют Битрикс и куда более сложнее как внутри, так и качественнее выполнены в интерфейсе.

Это такой же самостоятельный и не зависимый в глобальном смысле проект, как госуслуги на Mos.ru, MosReg.ru, Госуслуги Санкт-Петербурга и все остальные. Единственная связь с Федеральными это применение входа через ЕСИА и взаимодействие с их API.

Более того, на gosuslugi.pnzreg.ru даже не указано, кем поддерживается портал. По идее это должно быть IT подразделение муниципалитета Пензы, если оно конечно существует...

ноги растут именно про мос_ру

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

Может кто ещё разберётся в этом всём.

Правлю свою ошибку про *.mosreg.ru, не могло от туда утечь т.к. отношения Пензы к Московской области ни какого.

В общем откуда в статье mos_ru и прочее не становится понятнее. Но то что форк федеральный - 100% и более того, из основной репы недавно подливали в свой мастер.

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

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

Также федеральные Госуслуги, Госуслуги Московской области и Госуслуги Москвы все на контейнерах основаны (всё в Docker/Kubernetes). У Госуслуг Пензы контейнеров нет.

Похоже 47 порталов сделано по той же технологии:

Типовое решение для создания регионального сегмента инфраструктуры «электронного правительства» (РИЭП)

Интересно было бы их все проверить на утечку.

47 порталов обращаются к различным API федерального портала Госуслуг (ЕСИА и другие). Т.е. сама реализация и поддержка электронного правительства на gosuslugi.ru и Ростелекоме, но вот сами порталы реализуются самостоятельно.

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

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

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

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

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

Существует:

Министерство цифрового развития, транспорта и связи Пензенской области

Но если посмотреть, какие зарплаты предлагают, то не удивительно:

Инженер по защите информации

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

Можно найти в вакансиях:

Программист-тестировщик

Заработная плата - до 40 тыс. рублей

разработка форм подачи заявлений Регионального портала Госуслуг;

:)

а в регионах типа не люди живут и ничего страшного если их портал госуслуг дырявый?

или может наше государство не едино и что там в регионах творится - всем похрен?

наше государство не едино и что там в регионах творится - всем похрен

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

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

Если данная проблема вызовет достаточной шумихи (информация дойдёт до нужного уровня) с ними будут разбираться иначе нет.

  • слив исходников - это лютая дыра для всех нормальных безопасников

  • требование bounty за простую, но огромную дырень в сервисе - совершенно нормальная практика современных whitehat-ов

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

зря, вполне нормальная практика требовать за серьезную дыру, человек работал, искал дыру, это не халява вообще - то что дыра халявная, повторяю, это не довод - бывают дыры которые требуют огромной работы, а bounty за них - смешное.
Для гос сервисов надо вообще держать огромные bounty, чтобы любой хакер хотел и мечтал взломать госуслуги, сообщить о дырке приватно и помочь убедиться что дыру залатали. Так делается по-правильному в крупных WWW сервисах, баунти программы есть у всех крупнейших компаний.

"...человек работал, искал дыру..."

Человека никто не просил работать и искать дыры.
Все-таки нашел? Ок, сообщи, но без каких-либо требований о вознаграждении, а то это можно и как шантаж расценить.

"Для гос сервисов надо вообще держать огромные bounty..."
Надо, мало кто с этим не согласится.
Но пока его нет, наивно расчитывать на вознаграждение, да и в целом нежелательно связываться с гос. порталами без разрешения.

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

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

Увидел дыру, поржал, прошел мимо - ну ок. Или вы хотите жить в мире разбитых окон, где ссут в солонки?

Не нормальная практика оставлять дыры в общедоступных сервисах.

Извините.

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

А с точки зрения защиты информации дыры будут всегда. И я практически уверен что мы еще не раз услышым про уязвимости типа log4shell или openssl heatbeat. Опять же, вы уверены что ваш сервис невозможно поломать через атаку на машину разработчиков или взломав (купив) автора библиотеки от который вы зависите? Мало кто по настоящему параноидален в этом мире, чтобы запускать все в докер-контейнерах или виртуалках. Вот набрали вы pip install что-то или npm i что-то, а что там при этом выполняется - пойди узнай. Может ваш приватный ключ уже улетел кому надо.

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

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

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

Ну а про посадки "асоциальных" личностей, ссущих в солонки - это совсем уже политота, на хабре ей не место...

Копаться в чужих сервисах нормальная практика, если сервисы пишут - "копайтесь, пожалуйста в наших сервисах".
Соответсвенно, ненормальная, если не пишут.

Я думаю именно это имел в виду автор комментария.

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

Ну посмотрите канал lock picking lawyer, много вы там найдете видео длительностью больше трех минут? А он при это объясняет историю замка и показывает все на камеру.

Ну а про посадки "асоциальных" личностей, ссущих в солонки - это совсем уже политота, на хабре ей не место...

Почему политота то? Это реальный мир, США действуют именно так. Посмотрите на тот же взлом Твиттера в 2020 году. Более того, у них глобальная юрисдикция, очень часто находят и выдают другие страны.

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

Опять аналог - lock picking lawyer не ходит по домам и не ломает чужие замки если не оговорено контрактом. Точно так же как те же positive technologyes/onsec/dsec не ломают сайт без спроса. Ломают чужие замки и сайты ради интереса подростки, что в принципе простительно, т.к. они им это в интерес. Но желают это обычно без ущерба. Но вот если взломали и вынесли что-то, или стали шантажировать, то это уже явно престпление, разве нет?

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

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

Ну а про посадки "асоциальных" личностей, ссущих в солонки - это совсем уже политота, на хабре ей не место...

Опять же, чтобы сажать надо знать об атаке. И желательно её предовратить. Т.е. ошибки в конфигурации сервисов будут всегда, но где IDS чтобы знать что атакуют? Т.е. если вести заход со стороны наказания - там же всплывет система логирования и реагирования на инциденты. Если бы она была обызательна, то, как минимум и скачать было бы тяжелее. Я же не оправдываю этот конкретный случай, скорее про то, как уменьшить количество взломов.

С другой стороны, bounty у госсервиса - это замечательная коррупционная дыра. Делаем закладку, её первым находит свой человек, получает вознаграждение. GOTO 10.

вообще репорт про bounty публикуется после того, как дыра была найдена и сотрудникам баунти не дают (точнее в норм. компаниях дают внутри и в открытую). google, amazon, yandex и mail.ru и еще тысячи компаний используют bounty - вряд ли, наверное, использовали бы, если бы результатов не было
А вообще, уже несколько лет как есть куча ребят, которые просто честно этим зарабатывают, лично знаю многих. И ни одну дыру для себя не использовали. В случае кидка инфа просто распространяется в группах whitehats о том, что данная компания - тупое мудачьё, и ее нефига шатать, страдает от этого только сама компания.

и ее нефига шатать, страдает от этого только сама компания.

Вообще, это очень сильно зависит от того, чем занимается "компания", потому что пострадавшими, в реальности, могут оказаться пользователи.

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

Нормальная практика для желающих отдохнуть от всей этой мирской суеты по 272, 274 и 274.1 списка экстремальных развлечений рф лет 5-10

>>слив исходников - это лютая дыра 

Скажите пожалуйста - а чем плохо наличие исходников ?
На мой взгляд исходники госуслуг должны изначально быть выложены в публичный доступ - ведь госулуги разработаны за наши деньги

C этим даже близко не спорю. Открытый софт, разрабатываемый по правильным принципам гораздо более безопасен чем закрытый. И гос. софт точно должен быть открытым. И открываться должен не через дыры, а выложен на публичный государственный github, с pull request-ами, обсуждениями фич. Но у нас до этого дозреют наверное только к 2030, а пока будет самописное закрытое

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

ну вообще бекенды-то вообще в паблик не выкладывают, даже если и не стыдно - как то не прижилось, очень уж стремно это считается. Хотя это не очень хорошая с теоретической точки зрения практика. Исходники все равно можно достать подкупом, так что для реального врага их не скроешь, так что лучше играть в открытую с большими bounty и многчисленными pentester-ами, если действительно нужна безопасность.
Увы, до этого уровня ИТ сообществу с его корпоративными "лицензиями" и "годовыми тарифными планами" еще придется подрасти.

Это следует читать так:

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

Я с вами полностью согласен, что такой софт нужно делать open source, но код госуслуг изначально делали как закрытый, уверен там много security by obscurity.

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

Так что случилось то? Взлом? Слив? Какого качества исходники? Прошло ли 45 дней с момента обнаружения?

А разве тут про "белых" речь идет? Которые ждут 45 дней.
Нет, тут человек нашел, уведомил и выложил. Даже если бы дождался 45 дней и выложил. Все равно закроют, за то что выложил (чего я ему не желаю). Но мы живем в демократичной России :)

НЛО прилетело и опубликовало эту надпись здесь

как минимум прошло 2 дня - это точно:) новость не свежая.

В открытый доступ попали исходные коды одного из региональных порталов, а именно — Регионального портала госуслуг Пензенской области.

Никакого взлома не было. Исходные коды находились в открытом (неправильно сконфигурированном) Git-репозитории, где их и нашел исследователь безопасности.

Самое неприятное в этой истории то, что в исходных кодах находились закрытые ключи от сертификатов, используемых для доступа к Единой Системе Идентификации и Аутентификации (ЕСИА).

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

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

Учитывая, что «исходники» вместо нормального магнета загружены на anonfiles с его 100 Кбит/c и постоянными прерываниями закачки, слива могло и не быть, а в архиве на 7 гигабайт дельфинье порно.
Там реально исходники. Спокойно качается за день в несколько потоков с докачкой. Собственно, ссылка гуляет по телеграм-каналам уже третий день, многие скачали. 25 числа даже сам репозиторий ещё был публично доступен.
Ага, уже скачал. Чуть позже создам нормальный магнет.

Что-то автора в теме не видно, не ужении уже того... 😜

Меняется число в номере года, но не отношение админов к системам контроля версий
https://habr.com/ru/post/70330/

Не мудрено, что это случилось: в ДИТ Москвы безопасностью занимаются дилетанты. Они начали с замены системы аутентификации. В результате в нынешней системе аутентификации отменили парольную защиту, т.к. пароль может сбросить любой, а логином сделали публично известные данные (номер телефона, адрес электропочты и СНИЛС). Раньше была защищённость аккаунта засчёт секретного логина, а значит неизвестной связи с электропочтой (тоже секретной). Теперь её нет вообще: пароль ничего не защищает, т.к. беспрепятственно сбрасывается любым (нет никакой проблемы получить фамилию владельца электропочты, телефона и СНИЛС). Остаётся лишь перехватить одноразовый код в процедуре восстановления пароля. Не буду рассуждать на тему, как это сделать: профессионалам известна масса способов, включая и получение СИМ-карты для операций по номеру телефона атакуемого аккаунта.

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

Раньше, даже если злоумышленник завладевал электропочтой, СИМ-картой или мобильным устройством, это не представляло никакой угрозы для аккаунта в ЕМИАС: ему требовалось ещё узнать секретный логин и его связь с неизвестными электропочтой и телефоном, как минимум. Но благодаря первой дыре, сделанной ДИТ Москвы, теперь этой защиты нет. Фактически, аккаунты в ЕМИАС (т.е. на mos.ru и в ГосУслугах), теперь ничего не защищает, а вся ответственность за несанкционированный доступ переложена на пользователя, который лишён возможности как-либо защитить свой аккаунт и данные в нём. В ДИТ Москвы прекрасно об этом знают, и нагло отвечают на жалобы: "секретные логины никак не увеличат безопасность аккаунтов". При этом весной-летом в СМИ (как мимнимум, на телеканалах ВГТРК) проходили новости о массовом взломе аккаунтов в ЕМИАС и взятии злоумышленниками кредитов от имени владельцев аккаунтов. Но не было никаких новостей в СМИ, чтобы ДИТ Москвы за это хоть как-то ответил: сегодня для этого даже закона нет.

Гнать в шею этот ДИТ Москвы и особенно его руководство! В том числе и за то, как оно поотрубало обратную связь от пользователей к разработчикам засчёт роботов в службе поддержки! Эти роботы не применяют понимание (потому и роботы), делают что угодно, лишь бы не признавать ошибки, нагло заставляют пользователя доказывать ошибки (вместо того, чтоб самостоятельно воспроизводить их согласно исчерпывающим предоставленным сведениям), а потом отказываются их исправлять, вообще не отвечают на обращения или отвечают какую-то ахинею совершенно не по существу. В ДИТ и службе поддержки реально творится вакханалия. Такое абсолютно недопустимо ввиду роли и места mos.ru и ГосУслуг.

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

Даже сегодня большинство банков используют смс со всеми вытекающим последствиями.

Если делать на основе открытого/закрытого ключа - то где обычный пользователь будет хранить закрытый ключ и что делать если он потеряется?

Гхм, речь об авторизации (у вас) или аутентификации (у вашего оппонента)?

Если речь таки об аутентификации, то можно начать с того, чтобы перестать игнорировать основы, и при использовании комбинации из двух однофакторных методов не принуждать пользователя использовать вместо секрета (произвольной строки или строк) заведомо публичные данные (email, телефон, СНИЛС, полный номер паспорта и т.п.) которые по этим самым фундаментальным принципам аутентификации можно использовать только как, например, временный секрет при создании нового акаунта.

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

По теме можете самостоятельно начать читать, например, https://doi.org/10.6028/NIST.SP.800-63b

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

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

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

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

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

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

Всё-таки схема: Идентификация -> Аутентификация -> Авторизация. Я есть, вот мои доказательства, хочу сделать...

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

Если безопасность ПО зависит от сокрытия кода, то грош цены этого ПО.


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

В этом случае возникли бы вопросы у сообщества об адекватности оплаты за разработку

А почему «возникли бы» – вот, исходников слили. Вопросы можно ставить.

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

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

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Ну в общем ваш комментарий это наверно для них еще та издевка.

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

Вы видимо про разные государства )

Я вообще-то про безопасность ПО. ;)

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

  • идентификация угроз

  • идентификация рисков по этим угрозам

  • построение матрицы оценки рисков с отбором обрабатываемых

  • идентификация целевых ситуаций и обрабатываемых рисков в них

  • идентификация требований к обработке таких ситуаций

  • корректная обработка всех идентифицированных требований на уровне метода и процесса

  • корректная реализация метода и процесса

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

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

Единственный эффект, достигаемый открытостью кода, – это случайные спонтанные проверки без возможности оценки полноты покрытия угроз, рисков и ситуаций с учётом порога по цене компенсации в случае наступления риска. Эффект от этого ровно тот, что наблюдается у вас: возникновение иллюзорного ощущения, что некто код проверил, и поэтому он безопасен. А это уже довольно опасная иллюзия, т.к. скрывает реальность, т.е. единственную исходную информацию, по которой вообще можно действовать целесообразно и предотвращать угрозы. Следующий, ещё более опасный эффект – стремление защитить эту иллюзию. А оно заставляет игнорировать сообщения о проблемах, т.е. нацелено на разрыв обратной связи. Именно это и наблюдается в поведении ДИТ Москвы, особенно службы поддержки, протоколов и результатов её работы.

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

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


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

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

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

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


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


Но надо признаться звучит круто: «Для обхода связей применяется поиск в глубину или ширину с отсечением.»

НЛО прилетело и опубликовало эту надпись здесь

с умным видом

Т.е. вы признаёте, что решать должен тот, кто умнее и действует разумом? Уже хорошо: в вашем случае не всё потеряно.

Возможно товарищ выше "ИБ-аналитик" или нечто рядом.

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

чтобы убедить его ещё купить их услуги

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

Вы небось преподаватель в университете?

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

методом полного перебора проанализировать ...

И на каком же основании вы проигнорировали "... с отсечением."

Все это звучит очень умно.

Без разницы, как это звучит: не ради эмоций и впечатлений написано, и единственный корректный метод, который к этому можно применить, – это понимание и профессионализм. Однако, "не в коня корм".

Иначе ПО не взламывали бы.

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

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

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

... проанализировать нормального проекта, да в реальной жизни, невозможно в принципе

На сколько реальными являются все проекты разработки протоколов, на которых сегодня функционирует Web? А проекты веб-серверов? На сколько реальны для вас языки программирования, на которых сегодня пишется код "нормального проекта"? Или, например, архитектура ОС и железа и защищённый режим? Это нормальные проекты?

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

Кто может, тот делает.

И на каком же основании вы проигнорировали "… с отсечением."

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

Если о иллюзиях, то именно секретный код создает иллюзию безопасности.

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

А вот вам и подтверждение эффектов и причин, о которых написал: Бомба Log4j и кризис опенсорса от 2022-01-09. Как оказалось, никто за 8 лет не смотрел и не проверял открытый код серьёзного проекта с миллионами установок с целью систематического выявления уязвимостей. Поэтому не важно, кто с чем согласен: действуют не чьё-то согласие или убеждение, а совсем иные факторы.

Плохому танцору мешает всё. Да люди, но людей нужно выбирать, а не знакомых своих брать, которые потом нанимают за дёшево индус... Студентов первых курсов, чтобы "излишек" денег добавить себе в зарплату.

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

Другой пример, так называемое "оптимизация производства". Не буду говорить где я работаю, просто скажу, что у нас должен быть отдельный персонал, который собирает определённую документацию, а повесили это на безопасника, он банально не успевает, рабочие говорят "нахрен мне это надо, я работать должен", а работать не допустят вот и стоит производство. У нас на объектах должны быть свои бригады рабочих, но их нет, и мы влипаем, хотя по документам всё чисто. Побывал в машинном отделении на одном из объектов, гул такой, что должна быть" вредность" у персонала, который там есть, а её нет.

Так что...

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

Вы упомянули людей, я про людей и написал, выражаясь вашими словами, я написал, что это менеджерский саботаж, открытость кода позволяет любому желающему определить, что это менеджерский саботаж. При открытости кода уже не получиться так просто втюхать модели самолётов/дронов, купленных на aliexpress за свои разработки...

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

Мне всегда было интересно, как папка .git попадает в root директорию веб-сервера, если гит позволяет легко хранить её где угодно, вне самих файлов проекта. Я могу понять, если это случится на shared-хостинге (аля, вот вам папочка "наружу", кладите туда все ваши файлы), но во всех остальных случаях это странно смотрится.

Даже древние шареды (лет 15-20 назад, так на минуточку) обычно webroot из которого сервится статика и какие-нибудь php-файлики делали субдиректорией. Вариант с webroot в домашней директории - это хороший признак дилетантского самопала (на vps в том числе).

В том числе на хабре было приличное количество заплюсованных статей про "деплой" через git push с запуском, например, ноды прямо из дефолтного git worktree. Каких результатов кроме слива репозитория тут можно ожидать?

да выкатка просто так сделана - раньше так часто выкатывали, когда докеров, облачных тачек не было. git pull на всех серверах и погнали

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

И лишь потом сервер сможет с этим работать

НЛО прилетело и опубликовало эту надпись здесь

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

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

Минцифры очевидно отвечали относительно Федерального портала Госуслуг (gosuslugi.ru), а не gosuslugi.pnzreg.ru, чьи исходники утекли. За Федеральный портал они отвечают, хотя подрядчик Ростелеком. А вот за портал Госуслуг Пензы Минцифры не отвечают и вполне могут даже не знать о его существовании. Минцифры не капались по тексту статьи и не разбирались с фактами - написано Госуслуги, они и произвели проверку по gosuslugi.ru, результат опубликовали.

Блин, ТС, ты выкачал код госуслуг, делишься им, да ещё и репортнул разработчикам!

Я хочу сказать, что нам будет тебя не хватать. В наших сердцах ты останешься героем! Уверен, что лет через 10-15 тебе предложат лучшую работу. Главное - береги в тюрьме зубы и лёгкие.

береги в тюрьме зубы и лёгкие.

Прости Господи, во имя Отца, Сына и святаго духа. Аминь

ТС, можешь еще добавить в статью инфу:
https://www.rbc.ru/rbcfreenews/61c9fe889a7947469397f0fd

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

Обьясните КАК можно было догадаться делать крупнейший национальный проект на БИТРИКСЕ? это же один из самых ужасных продуктов на планете, сборник анти-паттернов программирования.

у них в папочке api приложение на Symfony :) подозреваю разработчики этой поделки с вами полностью согласны… :)

Ну как-как... что вы как маленький? ;-)

Тот, кто начинал делать проект - ничего кроме битрикса не знал. Какой-нибудь старый дед олдовый программист за полтинник. Потом пришли новые люди. Со своими идеями "а давайте на симфони?", "А давайте с композером?", "А давайте..."

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

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

Думаю, вот это коммент с cybersec вполне правдив.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Другие новости

Истории