Пользователь «Хабра» нашёл в публичном доступе исходный код нескольких сервисов налоговой — он открыт около года Статьи редакции
Разработчик нашёл данные после проверки приложения «Проверка чеков» — с марта в нём можно отследить все свои покупки, сделанные в интернет-сервисах.
Исходный код некоторых сервисов Федеральной налоговой службы (ФНС) уже около года находится в открытом доступе, а данные пользователей о покупках — под возможной угрозой утечки. К таким выводам пришёл пользователь «Хабра» Антон Пискунов.
Разработчик обратил внимание на приложение «Проверка чеков». Оно позволяет получать и хранить кассовые чеки в электронном виде, проверять добросовестность продавца, отправлять на него жалобы и так далее, сообщали в ФНС.
С помощью приложения пользователь может отсканировать QR-код на электронном чеке, который присылает оператор фискальных данных (ОФД) после завершения заказа в каком-либо сервисе или магазине. Например, после заказа в «Яндекс.Еде» Пискунову пришёл чек от «Яндекс ОФД».
После сканирования в приложении появляется электронная копия чека с полными данными о заказе. 4 марта 2021 года разработчики обновили «Проверку чеков», добавив функцию «отображение чеков из сервиса «“Мои Чеки Онлайн”».
Если пройти аутентификацию в приложении «Проверка чека», указав номер телефона, привязанный к сервисам вроде «Яндекс.Еды», «Такси», «Самоката» и другим, в разделе «Мои чеки» автоматически будут отображены все чеки по всем операциям в этих сервисах.
Пискунов решил проверить, как хорошо защищены все эти данные. Для этого он поставил в разрыв между интернетом и приложением простой прокси и, записывая сетевую активность приложения, «потыкал в кнопки».
«Выяснилось, что эндпоинт с данными находится по адресу irkkt-mobile.nalog.ru:8888, на котором живёт простейшее приложение на NodeJS с применением фреймворка Express. Механизм аутентификации пользователя пускает тебя к данным, если ты верно указал заголовок “sessionId”, значение которого представляет из себя какой-то самопальный токен, генерирующийся на стороне сервера», — добавляет Пискунов.
Если нажать кнопку «Выйти» в приложении «Проверка чеков», инвалидации токена не происходит, продолжает он. Также пользователь не может посмотреть все свои сессии или завершить их на всех устройствах. «Таким образом, даже если вы каким-то образом поняли что токен доступа был скомпрометирован, то нет никакой возможности его сбросить и тем самым гарантировать с этого момента отсутствие у предполагаемого злоумышленника доступа к вашим данным», — пишет разработчик.
Он также обратил внимание, что в случае крэша приложения оно отправляет диагностические данные в Sentry, располагающийся по адресу, не связанному, ни с ФНС, ни с ФГУП ГНИИВЦ ФНС России (разработчик «Проверка чеков» — vc.ru), а на домен sentry.studiotg.ru.
После этого он нашёл ссылки на публичные репозитории StudioTG на GitLab, которые находятся в индексе Google, по словам разработчика, более года. В репозиториях он нашёл папки, содержащие подстройки «lkio», «lkip», «lkul». Они относятся к одноимённым сервисам ФНС на домене nalog.ru — lkio.nalog.ru, lkip.nalog.ru и lkul.nalog.ru.
«Для сверки, что обнаруженные исходники действительно относятся к сервисам ФНС, проведена простая проверка наличия на боевом веб-сервере файла uppod-styles.txt, который не мог там оказаться по случайному совпадению», — пишет Пискунов.
Он сделал вывод, что фактический разработчик приложения «Проверка чеков» — StudioTG. На сайте «Студия ТГ», которая занимается ИТ-консалтингом и разработкой ПО, среди проектов указан «Личный кабинет налогоплательщика» от ФНС.
Также Пискунов считает, что по вине компании, исходный код сервисов налоговой около года находится в публичном доступе. Редакция vc.ru направила запрос и ожидает комментарии от ФНС и «Студии ТГ».
Давайте отделять мух от котлет - открытые исходники не имеют отношения к данным. Данные ФНС не открыты. Антону Пискунову надо бы выпить таблеток и успокоиться.
Ага, только вот в оригинальной статье на хабре ещё было сказано, что вместе с исходниками лежал .env для прода(!), в котором были прописаны доступы к базам данных, и т.д.
Редакторы VC этот факт опустили, видимо по технической безграмотности и непониманию, что именно он - критически важный в этой новости.
Не говоря уже о несбрасываемых токенах доступа к приватной информации и об отправке sentry на не принадлежащий налоговой домен.
Я думаю Антон страхуется. Ну сказать что там он увидел возможность доступа к внутренним сервисам, то это сразу большие юридические риски для него.
Вообще ситуация с отправками пускай даже крашлитикса коммерческой компании не корректно.
Комментарий недоступен
по исходникам можно найти проблемы в безопасности
Имея исходные коды проще найти уязвимости и вытащить эти самые данные
)))))
Ну, какая-то логика в том, чтобы госразработки в опен-сорс передавать, есть.
Ну, если бы это было официально и с bug bounty, можно было бы только порадоваться, согласен.
Но если исходники торчат в интернет по какой-то случайности, так что разработчики могут этого не осознавать (и, например, в комментариях писать любую внутреннюю информацию) — ну такое.
Да, что же вы все палите.
Нормальные же были репозитарии, использовали бы и использовали недокументированные возможности, сейчас опять ждать годами пока Налоговая напишет документацию по своему АПИ.
Вообще ничего удивительного, хабра что-то нашел. Вы на этом форуме были? там же большая часть пользователей говорят на непонятном языке))))ахаа)
С регистрацией! Отличный второй комментарий!
Ну, как бы это хорошая практика, когда ПО, создаваемое на деньги налогоплательщиков — открытое. Собственно, лицензия BSD именно так и появилась.
Комментарий недоступен
А коммерческие компании не теряют данные?
Судя по тому, что они даже свой сайт сверстать нормально не могут, смею предположить, что багов в исходниках хоть отбавляй. И анализ их может привести к печальным последствиям.
Сайт есть? Есть.
Цели добились. Результатом, прости господи, гордятся...
Не удивлюсь если все данные налоговой снифуются и отсылаются сразу в США.
Комментарий недоступен
У нас на работе бухгалтерá говорят:
«вот я сидела до 4 утра, чтобы отправить отчёт в налоговую, а то у них сайт нагружен днём»
и для них это нормально:)
Меня терзают смутные сомненья..
Я только не понял, а в чем опасность этой информации? Ну, кроме того, что, возможно, в коде есть какие-то баги, способные обеспечить доступ к серверам. Но автор не говорит ни о чем таком, т.е. заявление в общем-то из разряда "могут, а могут и не быть". Причём он же пишет, что сервер представляет собой "простейшее приложение на NodeJS с применением фреймворка Express", т.е. база кола не так уж велика и шанс обнаружения критических багов минимален.
Дальше, лично мне интересен момент с "простым перехватом" обмена между приложением и серверами. Серьёзно? Я, конечно, невысокого мнения о работниках госорганов, но уж HTTPS организовать по пошаговым руководствам они смогут. Наверное. А это значит, что для перехвата пользователь должен установить "левые" корневые сертификаты, что делается не в один клик.
Да, бесспорно, тут налицо халатность подрядчика и недоработки в самом приложении, вроде собственного механизма сессий и отсутствия certificate pinning (хотя и он обходится, что уж), но я не вижу, как компрометируются пользовательские данные.
Человек имел в виду то, что сделал man in the middle для реверс-инжиниринга, это к перехвату данных других пользователей относится только косвенно
Базюки с вашими чеками (по сервисам) продаются. А так ничего страшного.
Могу сказать, что это показатель серьёзности компания-разработчика, которая держит свой код на сторонних сервисах и ещё в открытом виде. У нас был период, когда в Gitlab некоторым ведущим программистам дали админский доступ. Хапнуть не хапнули, но вот лещей пришлось раздавать. Они создавали Public репозитории, куда сливали свой код.
Иногда стоит прочитать статью оригинал, а не пересказ редакции ЦП. У них self-hosted версия гитлаба. На своем же домене. И Sentry тоже свой. О каких "ведущих программистах" и "сторонних сервисах" ведём разговор?
https://gitlab.studiotg.ru/
На днях после оплаты одной из услуг ЖКХ решила вернуться назад (внести показания счетчика). Но в этот раз вместо возврата на предыдущую страницу мне показали программный код.
Обычно так бывает, когда разработчики отлаживают сайт - ошибки выполнения сразу выдаются на странице, что может быть удобно. Но считается хорошим тоном в финальной версии сайта такое отключать, чтобы лишний раз не светить внутрянкой. Звучит тоже как халатность/некомпетентность/пофигизм.
Ужас. Кто-то забыл отладочный режим выключить на эксепшене. Ждём статью на Хабре)
Это такая вариация эксгибиционизма )
Если говорить о коде, который пишется за Государственное финансирование - я бы ОБЯЗАЛ передавать его в open source и публиковал бы его в обязательном порядке на GitHub (или «отечественном аналоге», если такое сделают).
Это очень правильно и разумно. Позволяет добиваться много общественно значимых вещей: можно проще дорабатывать, легче сделать общественную оценку, энтузиасты могут баги находить и так далее.
Безопасности через закрытость не бывает.
Найти дырку у налоговой, все равно что в Африке без контрацептива экспериментировать ....
За это у нас в стране убивают?/из-за этого у нас в стране умирают люди?
Ну, справедливости ради, у ФНС более-менее неплохо все в плане доступности и работоспособности сервисов (сужу как физлицо). Есть с чем сравнивать, увы.
-
The дырявое IT России. ничего нового
Антону, видимо, пора быть повнимательнее. Судя по описанию он провёл полноценный пин-тест, и обнаружение проблемы было не случайным, что по сути можно законодательно прировнять к хакерской атаке.
Недооцененный коммент. Такое вполне может иметь место быть, к сожалению.
😂
Вот именно, что под возможной угрозой утечки, а не под угрозой возможной утечки)
Возможно, что крайне вероятно, более негативное и нежелаемое, чем ожидаемое, в случае отсутствия позитивных изменений, при определенных условиях и в текущей, крайне непрогнозируемой, обстановке, может произойти с большей долей вероятности.
Теперь, норм?
Никогда такого не было и вот опять
Такие статьи с разоблачениями публикуются только после того, как их уберут из общего доступа и пофиксят критические баги. Иначе может такая ответочка прилететь, сто мало не покажется.
Да, ответственная за инцидент организация была заранее уведомлена о компрометации их информационных систем, а статья была опубликована лишь после получения подтверждения об устранении проблем.
Похоже, что у Студии ТГ будут проблемы
На этом можно было закончить, по сути. Трафик должен шифроваться прибитыми к приложению сертификатами, чтобы MTM не получилось использовать.
Добавляешь в доверенные корневые центры сертификации свой центр сертификации и получаешь возможность переподписывать данные, весь зашифрованный трафик будет виден.
Статью не читай — комментарий пиши 👌
Как-то поленились разрабы
Интересно узнать какая сумма контракта была у этих ребят. Судя по rusprofile у них с ФНС около 50 мультов контракты.
Решетоооо....
настоящий классик
Это п**дец