Как я нашел в публичном доступе исходники нескольких сервисов ФНС

    Предыстория

    Возьмём приложение «Проверка чека» и разберемся что оно делает и зачем ваще кому-то понадобилось проверять чеки с помощью приложения.

    Суть приложения «Проверка чеков»
    Суть приложения «Проверка чеков»

    Я не помню как это работало раньше, но с 2016-2017 годов, благодаря 54-ФЗ «О применении ККТ» появились некие ОФД с целью «...осуществления операций по приёму, обработке, хранению и передаче фискальных данных в ФНС», а всех кого только можно обязали использовать кассовое оборудование, генерирующее те самые фискальные данные и что немаловажно, обязали эти данные посредством ОФД передавать в ФНС.

    Если у вас тоже немного припекает от всех этих аббревиатур, то вот вам терминальная стадия аббревиатуринга в лице названия организации которая отвечает за приложение «Проверка чека» — ФГУП ГНИИВЦ ФНС РФ.

    К этому моменту — мы еще вернёмся, кстати.

    Страница приложения «Проверка чеков» в App Store
    Страница приложения «Проверка чеков» в App Store

    Прикладной смысл вышеописанного очень лёгко понять на примере сервиса заказа еды.

    После заказа вы получаете на почту электронный чек, это и есть те самые фискальные данные. Отправляет их в ваш адрес, однако, не сервис заказа еды, а именно ОФД, которое используется сервисом, в данном случае — Яндекс

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

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

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

    Всё изменилось две недели назад после обновления 2.15.0 в рамках которого был выкачен функционал «отображение чеков из сервиса Мои Чеки Онлайн».

    История версий приложения «Проверка чека»

    Обновление 2.15.0

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

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

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

    Для исследования я поставил в разрыв между интернетом и приложением «Проверка чека» простой прокси и записывая сетевую активность приложения потыкал в кнопки.

    Довольно быстро выяснилось, что эндпойнт с данными находится по адресу irkkt-mobile.nalog.ru:8888 на котором живёт простейшее приложение на NodeJS с применением фреймворка Express, а механизм аутентификации пользователя пускает тебя к данным, если ты верно указал заголовок «sessionId» значение которого представляет из себя какой-то самопальный токен генерирующийся на стороне сервера.

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

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

    Крайне безответственно, но не фатально.

    Sentry

    В процессе просмотра «улова» на промежуточном прокси я обратил внимание, что в случае крэша приложения оно отправляет диагностические данные в Sentry располагающийся по адресу не связанному, ни с ФНС, ни с ФГУП ГНИИВЦ ФНС РФ, а на домен зарегистрированный на физическое лицо — sentry.studiotg.ru.

    Страница входа в Sentry команды Studio TG
    Страница входа в Sentry команды Studio TG

    Рядом сразу же был обнаружен gitlab.studiotg.ru.

    Страница входа в GitLab команды Studio TG
    Страница входа в GitLab команды Studio TG

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

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

    Публично доступный репозиторий ansible_conf/install_geo
    Публично доступный репозиторий ansible_conf/install_geo
    Содержимое архивов из репозитория ansible_conf/install_geo
    Содержимое архивов из репозитория ansible_conf/install_geo

    Пояснение к скриншоту выше: папки содержащие подстроки «lkio», «lkip», «lkul» напрямую относятся к одноименным сервисам ФНС на домене nalog.ru.

    lkio.nalog.ru

    lkip.nalog.ru

    lkul.nalog.ru

    Содержимое папки lkip-web-login, это — исходный код сервиса lkip2.nalog.ru
    Содержимое папки lkip-web-login, это — исходный код сервиса lkip2.nalog.ru

    Для сверки, что обнаруженные исходники действительно относятся к сервисам ФНС, проведена простая проверка наличия на боевом веб-сервере файла uppod-styles.txt, который не мог там оказаться по случайному совпадению.

    uppod-styles.txt на сайте lkip2.nalog.ru
    uppod-styles.txt на сайте lkip2.nalog.ru
    Содержимое файла .env судя по всему прямиком с боевых серверов
    Содержимое файла .env судя по всему прямиком с боевых серверов

    В итоге

    1. Фактический разработчик мобильного приложения «Проверка чека» некая studiotg.ru.

    2. Вероятно есть нарушение соглашений об обработке персональных данных в силу передачи диагностических сведений со стороны ФГУП ГНИИВЦ ФНС РФ в адрес третьих лиц.

    3. Данные ребята так же причастны к разработке сервисов lkip.nalog.ru, lkul.nalog.ru и lkio.nalog.ru.

    4. По их вине исходный код данных сервисов находится в публичном доступе уже около года.

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

    Как-то так.
    Как-то так.

    Средняя зарплата в IT

    120 000 ₽/мес.
    Средняя зарплата по всем IT-специализациям на основании 4 935 анкет, за 1-ое пол. 2021 года Узнать свою зарплату
    Реклама
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее

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

      +45
      Никогда такого не было и вот опять
        +19
        Почему-то всегда при подобных известиях приходит ну ум сравнение отечественных чиновников с анти-Мидасами из мифологии. У оригинала всё, к чему он прикасался — превращалось в золото. У чинуш же — в дерьмо.
          +33
          «олег за всё берётся смело
          всё превращается в говно
          а если за говно берётся
          то просто тратит меньше сил»
          — Стишки-пирошки
            0

            До того момента пока ты не Олег :(

          +53

          И где Роскомнадзор? Почему же он еще не примчался защищать ПД российских граждан, которые его так волнуют?! Или защита данных россиян это все же просто предлог для блокировок всего на свете?

            +15
            И где Роскомнадзор?
            РКН сражается с аниме и ню-фоточками в Твиттере! Бьётся, так сказать, в истерике на за наши налоги моральные устои.

            Почему же он еще не примчался защищать ПД российских граждан
            Потекло «своё» среди «своих» же, а значит «это другое, вы не понимаете!!1». Хьюдж дифференсе!
              +1
              У меня(и вероятно у многих других) в проверке чеков, куча платежей от левых людей, которые мой телефон указали по какой то причине.
              Банковские, страховки, просто разные магазины. И с разных городов.
              Так что тут даже не понятно кого сажать.
                0
                Судя по накалу идиотии страстей, никто особо и не будет разбираться в этих мелочах. Я даже не удивлюсь, если потом ФНС перевозбудится от таких ошеломляющих данных, не утруждаясь выяснением деталей, и тоже начнёт «бряцать шпорами».
              +3

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

              +29
              Типичное качество работы подрядчика подрядчика подрядчика генподрядчика выигравшей тендер организации.

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

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

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

                    Так в таком случае генподрядчик по сути занимается отмыванием бабла! И он реально только паразитирует на контрактах. Прикиньте — насколько была бы здоровее экономика, если деньги шли напрямую конечным исполнителям без всех этих «комиссий»!!!
                    А управление рисками? Мы же видим, что генподрядчик абсолютно наплевательски относится к данным клиента


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

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

                      +3
                      Так в таком случае генподрядчик по сути занимается отмыванием бабла! И он реально только паразитирует на контрактах.

                      Это в общем-то не новость

                        +3
                        Прикиньте — насколько была бы здоровее экономика, если деньги шли напрямую конечным исполнителям без всех этих «комиссий»!!!

                        Поздравляю, вы изобрели СССР, где за спекуляцию сажали.
                          +2
                          Тогда бы ВВП не рос, по мнению людей в этой кормушке, если бы не было кучи прокладок посередине. И оффшорные счета бы не росли.
                            0
                            Тогда бы ВВП не рос, по мнению людей в этой кормушке, если бы не было кучи прокладок посередине. И оффшорные счета бы не росли.

                            тогда проще просто печатать деньги и раздавать их людям. Люди тратят деньги — покупают товары — ВВП растет )))

                              +2
                              Ключевое слово — «некоторым людям», имеющим власть или приближенным к ней. Иначе инфляция, и нет ощущения уникальности от своего богатства.

                              Надо просто понимать, что во власть всегда и во все времена идут только для этого. Не с целью сделать всех одинаковыми, а сделать себя выделяющимися на фоне других.
                              Даже коммунисты не стремились сделать всех одинаковыми, это было просто речи для плебса, сами же они стремились жить в лучших роскошных квартирах и получать плюшки, недоступные плебсу. Привет 200 отделу в ГУМе, только для избранных. Тот же иностранный агент Ленин, финансируемый немцами, в 17 году по приезду из Швейцарии остановился почему-то не в вшимом хостеле, а в лучшей гостинице Националь рядом с кремлём. Но в уши плебсу знатно заливал сказки.
                                0
                                А как же шалаш и бревно?
                            0
                            Это работает только если конечный исполнитель один. Ваша идея в абсолюте — это толпа программистов без всяких менеджеров. И это, очевидно, не будет работать. В нормальном мире генподрядчик это тот кто подберет кучу подрядчиков и проконтролирует их работу. Представьте что вам надо построить дом, и вам лично придется искать отдельно каменьщиков, кровельщиков, сантехников и прочая. При этом еще оценить качество этих товарищей, выстроить процессы так чтобы все происходило в правильном порядке (Реальный кейс: сначала залили пол, а потом высянили что под ним канализация должна была быть проложена). Вот чтобы все это организовать и существует генподрядчик.
                              0

                              Это Айти, а не стройка — тут можно все :-)
                              И, да, бывают кейсы, когда конечный исполнитель один.
                              Менеджеры, кстати, нужны.


                              Представьте что вам надо построить дом, и вам лично придется искать отдельно каменьщиков, кровельщиков, сантехников и прочая.

                              ага, только в том же ЕПАМе есть все — и датасайентисты, и программисты, и инженеры, и поддержка, и дизайнеры. В конце-концов никто не мешает нанять нужных людей (но вопрос их поиска — это да) в отдельную ООО и именно она будет вести проект.


                              Вот чтобы все это организовать и существует генподрядчик.

                              в данном случае цепочка оказалась длиннее ))))

                          0

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

                        +53
                        Так это же прекрасно. Государственный софт с открытым исходным кодом :)
                          +1
                          Было бы прекрасно, если бы было осознанно, а так будто накидали мусора в бутылку, налили клея, потрясли и получился красивый кораблик. Но в принципе п.4 из выводов не является минусом, если забыть про стандартные пункты контракта и лицензию приложения.
                            0
                            Идея правильная, только никто ее не будет реализовывать. А так под этим соусом можно было бы классные вещи создавать, если реально работать, а деньги пилить.
                            +3
                            для полноты картины было бы интересно взглянуть на тендерную документацию. сколько наших кровных налогоблажённых денег на это всё ушло
                              +36
                              career.habr.com/companies/studio-tg
                              Мы гордимся, что достойно смогли принять участие в таких проектах как Личный кабинет налогоплательщика; Геопортал «Мониторинг государственной программы»; ГИС «Мониторинг строительства Олимпийских объектов».


                              Организация ООО Студия Т_Г являлась поставщиком в 14 государственных контрактах на сумму 162 755 420 руб.
                              image
                                +9
                                Ну, что сказать — душевно!
                                  0
                                  Хм, полез перепроверять данные
                                  И кажется это только контракты до 2017го года включительно
                                    +5

                                    Это компания кого надо компания, судя по всему :)

                                      +3
                                      Ага, и там работают ITшники кого надо ITшники разумеется.
                                      В свободное время они заходят на хабр и <роскомнадзор>вертят государство и чиновников, а в рабочее время пилят <роскомнадзор>код для нужд опричников корпоративных заказчиков и строчек в резюме.
                                      +6

                                      5 человек по 100 000 в месяц на 5 лет. Нуу… Сверхдоходов как-бы нету, просто криворукие.

                                        +2
                                        162кк это минимум на 25 на этот срок с этой зарплатой, так что что-то не сходится. тут можно было и девопса нанять и безопасника. а у них судя по career.habr.ru только фронтендеры и пара бэков
                                    +2
                                    Стоило сначала написать им, а после закрытия дыр — сюда. Иначе есть риск, что тебя тащ майор за ж возьмёт.
                                      +10

                                      Именно так и было.

                                        +4
                                        А, фух, а то обычно статьи подобного рода начинались с «я с ними связался, дыры закрыли, всё ок, а теперь собсно суть» или «я связался с ними, меня послали, а теперь суть».

                                        Подумал, что ты просто вальнул статью, без предупреждения накосяпоривших.
                                          +1
                                          Так можно было бы поступить если не живёшь в РФ и не планируешь там когда либо оказаться.
                                          Хорошо хоть дыры таки закрыли. А то те же банки игнорируют до последнего, а как опубликуешь, сразу уголовным делом начинают грозить.
                                            0
                                            К сожалению, даже «не живя в РФ и не планируя приехать» — так поступать тоже нельзя, т.к. по запросам наших органов другие страны бывают частенько экстрадируют в Русь Матушку. Вон недавно Польша одного чела выдала нашим спецслужбам, до этого где-то в Малайзии подобный случай был. Ну нафиг, так рисковать.
                                      +15
                                      исходный код данных сервисов находится в публичном доступе


                                      Государственный сервис разработанный за деньги налогоплательщиков, нельзя показывать налогоплательщикам? Хмммм…

                                      Меня в этой ситуации больше волнует bugbounty, а точнее отсутствие оного?
                                        +9

                                        Какое-такое багбаунти?

                                          +1
                                          Сервис — можно и нужно, а вот обрабатываемые им данные о покупках отдельного налогоплательщика всем остальным налогоплательщикам — неа. Как и историю болезни, хотя ведется она в системе, созданной на все те же деньги налогоплательщиков.
                                            +37

                                            Государственные сервисы багбаунти выдают в годах лишения свободы.

                                              +2

                                              Именно для таких людей и придумали "шараги" sarcasm

                                              0

                                              "Лучшее поощрение — это ненаказание"

                                                0
                                                Наоборот! «Не наказание — уже поощрение».
                                              –2
                                              Не удивлюсь, если и апк без обфусикации. На самом деле, нечему удивляться, деградация идет во всем
                                                +15

                                                А в чём смысл и необходимость обфускации apk?

                                                  –2

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

                                                    0

                                                    еще можно было certificate pinning сделать, чтобы нельзя было сделать:


                                                    Для исследования я поставил в разрыв между интернетом и приложением «Проверка чека» простой прокси и записывая сетевую активность приложения потыкал в кнопки.
                                                      0

                                                      Да много чего можно сделать :)

                                                        +1
                                                        Который отключается не сложнее, чем включается. Это поможет от злоумышленника, находящегося между клиентов и сервером, и совершенно никак не помещает клиенту(исследователю).
                                                        0
                                                        security by obscurity
                                                      0

                                                      Не, apk у них обфусцирован. Не сильно страшно, т.к. котлин интринсиками палит имена переменных, но обфускация всё-таки в наличии

                                                      0
                                                      Абсолютная классика. Можно копнуть чуть глубже: взять Sublist3r и копнуть по перебору поддоменов «из google». Пока Google не забанит, найдётся куча dev- и/или заброшенных поддоменов, вбитых когда-то в Chrome. В своё время сделал так для прошлой конторы иии… По стендам типа проект.фамилия.домен можно было досье составлять, кто к чему руку приложил
                                                        +5
                                                        Раз все равно код утёк, то пусть теперь выкладывают в open source, а то баги в процессе заполнения 3-НДФЛ онлайн не правятся годами.
                                                          +1
                                                          То есть их чудесный gitlab.studiotg.ru торчал наружу без авторизации и был проиндексирован гуглом? Я все правильно понял?
                                                            +7

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

                                                              0
                                                              Божечки… Ну вам прямо повезло!
                                                            +19

                                                            Каждый год у нас проводят обязательные курсы по кибербезопасности, т.е. все кто связан с ИТ — программисты, сетевики, админы и т.п. обязаны пройти эти курсы и сдать экзамены.


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


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


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

                                                              +1
                                                              Это та самая проблема, на которую уместно выдать решение «Да, но нет».
                                                                +4
                                                                За двадцатку? Так я и думал, что продешевил.
                                                                  0

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


                                                                  Даже админы с супер доступом.

                                                                    0
                                                                    Точно продешевил!
                                                                    А если серьёзно, то часто код почти «бесплатно» утекает. Кто-то решил взять своё «творчество» с собой по увольнению, кто-то где-то на форуме запостил кусок кода со своим вопросом, а кто-то просто не понимает разницу между хранением на корп сервере от хранения дома на email'е или на флешке.
                                                                  0
                                                                  Логично!
                                                                  –2
                                                                  Немного офтоп, но всё же. У меня чеки с вайлбериса никогда не бьются через приложение проверки чеков. Всегда ошибка выдаётся. Что это может означать?
                                                                    0

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

                                                                      0
                                                                      Яркость печати настраивается в драйвере и она обратно пропорциональна скорости печати. Либо быстро и бледно, либо ярко но медленно. На скорости он просто не успеет бумагу прожечь.
                                                                        0
                                                                        Долго думал — причём здесь Ягода (нарком внутренних дел)?
                                                                        0

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

                                                                          0

                                                                          А по данным, которые буквами написаны на чеке — бьются? Если да — то это рукожопство создателей кассы, лепят небось один и тот же QR-код. А вот если и по фискальному номеру + фискальному признаку не бьются, то тогда уже скорее аптека химичит с чеками.

                                                                          +1

                                                                          Заодно спросите там про плеер ру плз

                                                                          +11
                                                                          Исходные коды государственных сервисов обязаны быть в открытом доступе
                                                                            +17
                                                                            >> данные находятся под угрозой утечки.

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

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

                                                                            Единственное, к чему можно было бы придраться — наличие файла конфигурации с внутренними серверами и доступами. Проверить актуальность и работоспособность которых не представляется возможным (либо автор умолчал про это).
                                                                              –6

                                                                              Когда софт целенаправленно пишется как Опенсорс — это одно.


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


                                                                              Доказательств, конечно, нет. Но выглядит страшновато.

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

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

                                                                                    0

                                                                                    О какой сегментации может идти речь если у них даже доступ в гитлаб не настроен был нормально?

                                                                                  +1
                                                                                  Мы не хотим думать, мы хотим сердиться.
                                                                                    0
                                                                                    Наличие исходных кодов серверной и клиентской частей никак не связано с компрометацией и утечками данных. В статье нет ни единого доказательства этого.

                                                                                    Наличие кода здорово упрощает поиск уязвимостей в системе. В отличии от того же вордпресса, код которого публично доступен и неоднократно подвергался аудитам, код данной системы скорее всего не предполагал публичный доступ.
                                                                                      0
                                                                                      Они скорее всего не актуальны. Так как благополучо переопределяються
                                                                                      0
                                                                                      Если раскрывать тему до конца, то надо в исходниках посмотреть, нет ли кнопки «пожаловаться на некорректную работу приложения». Вот если и она идет на 8888 неизвестного науке о безопасности сервера, или дает полную телеметрию как Win 10, вот тогда могут быть сделаны неутешительные выводы.
                                                                                        +1
                                                                                        в случае крэша приложения оно отправляет диагностические данные в Sentry
                                                                                        Насколько я помню, в краш-репортах передаётся только серийный номер устройства, номер сборки, версия ОС итд.
                                                                                        Вероятно есть нарушение соглашений об обработке персональных данных
                                                                                        В таком случае, если персональные данные не передаются, то и нарушения нет.
                                                                                          0
                                                                                          Насколько я помню, в краш-репортах передаётся только серийный номер устройства, номер сборки, версия ОС итд.

                                                                                          Сентри — это не краш репорты. Ты можешь туда точно так же отправлять сообщения с debug level info и произвольным пейлоад — хоть логины и пароли пользователя. И поэтому это надо контролировать хотя бы на уровне код ревью… а если разработчики раздолбаи...

                                                                                            0

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

                                                                                              0

                                                                                              Sentry сейчас по умолчанию довольно неплохо маскируют sensitive информацию, типа токенов/паролей, так что это надо быть не раздолбаем, а сознательным вредителем.

                                                                                            +6
                                                                                            В чем проблема сторонней разработки? Обычный тендер. Вон, МВД «антимошенник» хочет разработать — тоже тендер объявило (это то приложение, про которое врали, будто оно должно доступ к адресной книге иметь для сверки тщ майором).

                                                                                            Где утечка данных-то? Ну, security through obscurity нет — глядишь, кто-то найдет реальные дыры в коде.
                                                                                            А что утекло такого, что позволяет пд получить? Сертификат какой-то?
                                                                                            Для этой конторы неприятно, смех и грех. Но желтизна статьи вызывает только раздражение.
                                                                                              +2
                                                                                              В чем проблема сторонней разработки?

                                                                                              В целом — никакой. Если нет «левых» прокладок между исполнителем и заказчиком. Если подрядчик порядочный. Ну, не знаю — могли заказать разработку в том же ЕПАМе. И никаких гитлабов с открытыми репами на весь интернет не было. Повторюсь, проблема именно на уровне договорных отношений. Я вообще могу поспекулировать и предположить, что в договоре на разработку должен был быть пункт, что разработчик разрабатывает указанную программу, а потом отчуждает (передаёт) все права на неё заказчику. Это нормальная практика. И потом у себя сносит все репозитории, коды и прочее — потому что этап работ завершён и права уже переданы. Вот реально — зачем разработчику коды программы, которую он не будет дорабатывать? А затем, чтобы какой-нибудь другой проект забабахать на них! Либо втихую что-то мутить… такая вот логика.
                                                                                              А отсутствие такого пункта в контракте может означать просто (в очередной раз) низкую квалификацию или пофигизм сотрудников заказчика (или очередные коррупционные схемы)


                                                                                              А что утекло такого, что позволяет пд получить?

                                                                                              Вы статью хорошо читали, простите? Началось все с того, что приложение позволяет проверить единичный чек. Бинарно. Верный/неверный. Сам по себе чек и его qr это не секретная инфа. Проверили — молодцы. Далее происходит какая-то магия и все чеки от конкретного пользователя становятся доступны в виде единого списка (как я понял — ДАЖЕ ТЕ, которые НЕ сканировались). Здесь происходит какая-то магия, которую нужно разбирать, но, опять же, как я понял — хранение и привязка этих данных происходит на серверной стороне. И тогда очень важно, чтобы их нельзя было скурлить без авторизации. А тут по ходу проблема — т.к. токен «самопальный», но это тоже надо глубже копать.
                                                                                              Краткий вывод — проблема вероятнее всего есть, надо проводить аудит. А разрабы раздолбаи (и явно, что хакеры уже давно нашли этот репозиторий и полазили по продакшн серверам, оставили закладки)
                                                                                              Ожидайте новых интересных базулек на чёрном рынке

                                                                                                +1

                                                                                                Однако, с языка сняли, всё верно.

                                                                                                  0
                                                                                                  [компания] разработчик разрабатывает указанную программу… И потом у себя сносит все репозитории, коды и прочее 

                                                                                                  Вы забыли важный пункт! Сотрудники разработчика тоже должны стереть свою память! Для этого вызвать команду Men in Black. ;)


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

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

                                                                                                    тип используемых компонент в заказном софте тоже должен быть указан в договоре на разработку. Скажем, использование "свободных" компонент — ок. Но вот если разработчик использует какую-то коммерческую библиотеку и пиратит ее… Ну, дальше Вы знаете, что произойдет.

                                                                                                      0

                                                                                                      Кто сказал "пиратит"?
                                                                                                      Я говорю про разработки самой компании-разработчика. Даже во внутренней продуктовой разработке начинаются появляться компоненты не для бизнеса, а для других разработчиков. Знаю компанию, где есть такой "внутренний опен-сорс", который используют другие команды.
                                                                                                      Если вы делаете ПО на заказ, то вам точно так же хочется снизить издержки на каждый заказ, сделать его более универсальным, чтобы легче подключать новых разработчиков, проще тестировать и пр.
                                                                                                      И вот эту разработку компания точно не захочет потерять.

                                                                                                        0

                                                                                                        Еще раз — это должно быть оговорено в контракте. Не более того.


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

                                                                                                        так я ж не против, я за то, чтобы все условия проведения работ были оговорены "на берегу". Один из неплохих вариантов — опенсорсить такие общие компоненты ) а деньги брать условно за сведение компонентов в систему (=интеграция).

                                                                                                          0
                                                                                                          А как этот контракт проконтролировать? Вот я сделал удобную обертку по работе с S3 хранилищем и таскаю ее из одной конторы в другую из одного проект в другой. Просто имена пакетов меняю. Разраб не дурак, он полезные вещи собирает. А так можно какой угодно контракт заключить, однако некоторые условия будет очень сложно соблюдать, надо будет потратиться на корпоративный мессенджер, обеспечение всяких политик безопасности.
                                                                                                            0

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

                                                                                                    0
                                                                                                    Далее происходит какая-то магия и все чеки от конкретного пользователя становятся доступны в виде единого списка (как я понял — ДАЖЕ ТЕ, которые НЕ сканировались).

                                                                                                    Эта магия доступна вне Хогвартса тут.
                                                                                                    https://lkdr.nalog.ru/

                                                                                                      +1
                                                                                                      Открою секрет — Тинькоф тоже получает все чеки всех пользователей. Автоматически. Правда пока только от Первый ОФД.
                                                                                                      Данные о составе покупок банк получает благодаря подписанному клиентом соглашению о передаче чеков в банк, которое находится в приложении «Тинькофф» по пути «Ещё — Настройки — Список покупок — Включить «Отображение покупок». Вкратце функция описывается как «Включите, чтобы видеть электронные чеки в ленте событий».
                                                                                                        +1
                                                                                                        Адок ещё тот. Пришло время указывать случайный номер при всех покупках и отказаться от всяких скидочных карт и оплаты банковскими картами.
                                                                                                          0
                                                                                                          я давно ещё завёл отдельную симку которая валяется в старом телефоне для таких целей, потому что при упоминании где-нибудь своего номера, на него сразу же обрушиваются потоки звонков от банков, инвестиционных центров, ремонта окон и прочего лохотрона
                                                                                                          0

                                                                                                          Это если оферту принять. Я не принял.

                                                                                                            0
                                                                                                            Я тоже не принял, они сами подключили со временем =)
                                                                                                      +1

                                                                                                      Так а вышло в итоге чужие данные дернуть? Или хоть как-то заабузить апи?

                                                                                                        +1

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

                                                                                                          0

                                                                                                          неправильно вопрос сформулирован. вопрос: прямо или косвенно удалось соотнести полученные данные с физическим лицом?

                                                                                                            0
                                                                                                            У меня к примеру в моих чеках есть левые платежи(не от меня) и в некоторых из них есть фразы типа: «Оплата договора ХХХХХХХХХ». По этому номеру с помощью соц. инженерии можно как то получить ФИО и т.д.
                                                                                                            А если есть общий доступ к базе чеков, то номер телефона везде указан, и по нему уже проще персонализировать информацию.
                                                                                                              0
                                                                                                              Ну, это один из способов использовать инфу.
                                                                                                              Если есть вариант достать значимый % (ну там 5%, например) от общей базы чеков, пусть и без привязки к физлицам, то тоже можно прибыль извлечь, анализируя конкуретнов, их динамику, успешность маркетинговых кампаний
                                                                                                                0

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

                                                                                                            0
                                                                                                            Открытый код это даже хорошо =). Больше интересует вопрос — а будут ли гарантийный ремонт производить по списку выявленных недоработок? Думаю что за разработку этого приложения отвалили немалую денежку.
                                                                                                              0

                                                                                                              Автор, обрати внимание на ещё
                                                                                                              MARKIROVKA_HOST = http://...


                                                                                                              SRSLY!?!?!?!?!?

                                                                                                                0
                                                                                                                Ага, они занимались всем, в т.ч. личным кабинетом налогоплательщика (а там, следовательно, задело обработку кассовых чеков получаемых от ОФД). Плюс так же видал ТЗ на доработку системы маркировки (мб в свежих закупках они что-то еще делали недавно с ней...).

                                                                                                                ТЗ 2017го года
                                                                                                                ТЕХНИЧЕСКОЕ ЗАДАНИЕ

                                                                                                                на выполнение работ по развитию информационной системы маркировки товаров
                                                                                                                контрольными (идентификационными) знаками

                                                                                                                Полное наименование выполняемых работ
                                                                                                                Полное наименование работ: «Развитие информационной системы маркировки товаров контрольными (идентификационными) знаками.
                                                                                                                Развитие Компонента Меха и его интеграция с компонентами Системы общесистемного применения в части:
                                                                                                                — расширения функциональных возможностей модулей Личного кабинета Компонента Меха (ЛК)».
                                                                                                                Настоящее техническое задание определяет основные требования к проведению работ по развитию информационной системы маркировки товаров контрольными (идентификационными) знаками в части расширения функциональных возможностей модулей Личного кабинета Компонента Меха (ЛК).

                                                                                                                  +4

                                                                                                                  Я пробежался по-диагонали по исходникам и скажу вам, что там хватает кеков.


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


                                                                                                                  Дело в том, что HTTPS у сервисов которые их окружают, зачастую работает на базе ГОСТового шифрования, к которому, естественно, никакой обычный софт без танцев с бубном не цепляется.


                                                                                                                  Проброс туннеля через stunnel, который терминирует ГОСТовый TLS/SSL и отдаёт обычный, ребята не могут осилить и поэтому везде поголовно торчит HTTP.


                                                                                                                  Как-то так.

                                                                                                                    0
                                                                                                                    Проброс туннеля через stunnel, который терминирует ГОСТовый TLS/SSL и отдаёт обычный, ребята не могут осилить и поэтому везде поголовно торчит HTTP.

                                                                                                                    насколько мне известно, stunnel не является разрешенным к использованию сертифицированным криптографическим средством :-)

                                                                                                                      +2

                                                                                                                      Отнюдь!


                                                                                                                      stunnel входит в комплект поставки КриптоПРО CSP который весь вдоль и поперёк обмазан этими вашими сертификатами и лицензиями.


                                                                                                                      https://www.cryptopro.ru/products/other/stunnel
                                                                                                                      https://www.cryptopro.ru/products/csp
                                                                                                                      https://www.cryptopro.ru/certificates?pid=1417

                                                                                                                        0
                                                                                                                        Входит, но 5 лет назад «формулярщики» на местах не разрешали использовать как решение. Обычно вкорячивался как временное решение для тестов и забывался.
                                                                                                                          0

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

                                                                                                                        –1
                                                                                                                        Че там, на чем госуслуги зашифрованы?

                                                                                                                        Сравни цифры, прикинь насколько шифрование замедляет работу и что будет если весь бэк-энд переедет на него
                                                                                                                        www.nginx.com/blog/testing-the-performance-of-nginx-and-nginx-plus-web-servers

                                                                                                                        ГОСТы работают медленнее. Банально нет ускорения на вражеском железе (хотя если в равных условиях сравнивать, то тоже медленнее, но уже не так драматически)… А с ускорением и ГОСТ херачит на 100Гб/с. Есть разработки.
                                                                                                                          0
                                                                                                                          Кейс в целом валидный, а в частности — не очень. Оверхед на шифрование будет не особо большой же относительно суммарного количества ресурсов, требуемого для исполнения запроса. Да, может балансеры придется пожирнее поставить, но в целом то и все.
                                                                                                                          Проблема медленного шифрования актуальна для CDN и прочего, что требует отдачи больших объемов данных, но при этом операция на само _исполнение_ запроса очень быстрая (вычитать с диска с минимальной валидацией запроса по сути). В подобных же приложениях с современным устройством окружений, где обычно все живет за выделенными балансерами, «тяжелое» шифрование на внешнем канале просто приведет к тому, что надо будет пул балансеров собирать не из условных 16CPU/32Gb, а из 32CPU/64Gb. В масштабах большого проекта в целом мелочь.
                                                                                                                          0
                                                                                                                          Ну, дебажить проще же :) Подумаешь, что не везде оно ходит через туннели или внутри локальной сети…
                                                                                                                        +2
                                                                                                                        По-моему это прекрасно и любой код написанный за налоги (кроме явной оборонки) должен быть открыт, а методы обработки любой информации государтсвом публичны и проверяемы.
                                                                                                                          0
                                                                                                                          А почему кроме оборонки?
                                                                                                                            +3
                                                                                                                            да кому интересно в их бэйсике разбираться.
                                                                                                                            0
                                                                                                                            Да открыли бы исходники какой-нибудь системы ГАС Выборы — я думаю там можно поржать
                                                                                                                              0
                                                                                                                              Например с того, что их тупо нет
                                                                                                                            0
                                                                                                                            В конфиге «в связи с проведением технологических работ»…
                                                                                                                              0
                                                                                                                              После статьи надпись на первой картинке, приобретает совсем другой смысл
                                                                                                                                0
                                                                                                                                www.studio-tg.ru
                                                                                                                                Они и не скрывают, что это они делали личный кабинет налогоплательщика.
                                                                                                                                  +1
                                                                                                                                  ФГУП ГНИИВЦ ФНС РФ

                                                                                                                                  Если произнести это вслух, можно нечаянно вызвать Ктулху
                                                                                                                                    +1

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


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

                                                                                                                                      0
                                                                                                                                      На сколько я знаю лишь в нескольких странах ЕС это недавно начали делать.
                                                                                                                                      Очевидно не только у нас такие проблемы.
                                                                                                                                      0
                                                                                                                                      Коллеги!
                                                                                                                                      Очевидно, что государственные структуры в большинстве своём не справляются с IT. И справляться у них нет никаких стимулов — потому что они в любом случае останутся безнаказанными. У общества просто нет инструментов как-то влиять на гос управление, как ни странно.
                                                                                                                                      Могла бы помочь как-нибудь IT партия — но мы же все дофига «аполитичны» — да и мало кто в движуху вписался бы(
                                                                                                                                        0
                                                                                                                                        Есть у меня гипотеза: сильные разработчики, которые действительно шарят, понимают что и почему делается, и поэтому не идут работать в такие структуры (например, не хотят блокировать телеграм/твиттер). Поэтому там работают те, кто может себе позволить допускать такие факапы (и не способен противостоять первым)
                                                                                                                                          +1
                                                                                                                                          image
                                                                                                                                          Простите!
                                                                                                                                            0
                                                                                                                                            Минуточку!
                                                                                                                                            Хотели чтобы ПО, которое разрабатыввается на деньги налогоплательщиков было в открытом доуступе? Получайте!

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

                                                                                                                                            Самое читаемое