[Информационная безопасность, Ненормальное программирование, Исследования и прогнозы в IT] Как я нашел в публичном доступе исходники нескольких сервисов ФНС
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
ПредысторияВозьмём приложение «Проверка чека» и разберемся что оно делает и зачем ваще кому-то понадобилось проверять чеки с помощью приложения.
Суть приложения «Проверка чеков»Я не помню как это работало раньше, но с 2016-2017 годов, благодаря 54-ФЗ «О применении ККТ» появились некие ОФД с целью «...осуществления операций по приёму, обработке, хранению и передаче фискальных данных в ФНС», а всех кого только можно обязали использовать кассовое оборудование, генерирующее те самые фискальные данные и что немаловажно, обязали эти данные посредством ОФД передавать в ФНС.Если у вас тоже немного припекает от всех этих аббревиатур, то вот вам терминальная стадия аббревиатуринга в лице названия организации которая отвечает за приложение «Проверка чека» — ФГУП ГНИИВЦ ФНС РФ.К этому моменту — мы еще вернёмся, кстати.
Страница приложения «Проверка чеков» в 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 Рядом сразу же был обнаружен gitlab.studiotg.ru.
Страница входа в GitLab команды Studio TG Дальнейшее исследование эндпойнта привело к ссылками на публичные репозитории в этом Гитлабе находящиеся в индексе Гугла уже более года.
Содержимое публичных репозиториев заставило меня биться в истерике.
Публично доступный репозиторий 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 Для сверки, что обнаруженные исходники действительно относятся к сервисам ФНС, проведена простая проверка наличия на боевом веб-сервере файла uppod-styles.txt, который не мог там оказаться по случайному совпадению.
uppod-styles.txt на сайте lkip2.nalog.ru
Содержимое файла .env судя по всему прямиком с боевых серверов В итоге
- Фактический разработчик мобильного приложения «Проверка чека» некая studiotg.ru.
- Вероятно есть нарушение соглашений об обработке персональных данных в силу передачи диагностических сведений со стороны ФГУП ГНИИВЦ ФНС РФ в адрес третьих лиц.
- Данные ребята так же причастны к разработке сервисов lkip.nalog.ru, lkul.nalog.ru и lkio.nalog.ru.
- По их вине исходный код данных сервисов находится в публичном доступе уже около года.
- Исходя из общей картины, предположу, что данные о ваших покупках попадающие в ОФД путём информационного обмена фискальными данными с ФНС, на текущий момент, находятся под угрозой утечки.
Как-то так.
===========
Источник:
habr.com
===========
Похожие новости:
- [Информационная безопасность, Big Data] ДИТ Москвы обновит платформу анализа поведения интернет-пользователей
- [Информационная безопасность, Законодательство в IT, Социальные сети и сообщества] Роскомнадзор хочет запрашивать у новых пользователей соцсетей и мессенджеров номер паспорта, адрес, телефон и почту
- [Информационная безопасность, Разработка веб-сайтов, Криптография, Браузеры] IETF официально прекратил поддержку протоколов TLS 1.0 и 1.1
- [Информационная безопасность, Системное администрирование, Сетевые технологии] Honeypot на RouterOS
- [Информационная безопасность, Конференции] Приглашаем на ZeroNights 2021
- [Java, API] Сбор метрик Spring Boot приложения c помощью Prometheus и Grafana
- [Информационная безопасность, Системы управления версиями, Управление продуктом] Как мы устранили редкую ошибку, из-за которой пришлось разлогинить всех пользователей Github (перевод)
- [Информационная безопасность, Криптография, GTD] Шифруем в голове, пишем на бумагу
- [Прототипирование, Визуальное программирование] No-code в действии — мастерим временный email-адрес
- [Ненормальное программирование, Разработка веб-сайтов, Программирование, Haskell] Зачем мы транспилируем Haskell в JavaScript
Теги для поиска: #_informatsionnaja_bezopasnost (Информационная безопасность), #_nenormalnoe_programmirovanie (Ненормальное программирование), #_issledovanija_i_prognozy_v_it (Исследования и прогнозы в IT), #_php, #_api, #_utechki (утечки), #_problemy_bezopasnosti (проблемы безопасности), #_fns (фнс), #_ofd (офд), #_gitlab, #_informatsionnaja_bezopasnost (
Информационная безопасность
), #_nenormalnoe_programmirovanie (
Ненормальное программирование
), #_issledovanija_i_prognozy_v_it (
Исследования и прогнозы в IT
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:49
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
ПредысторияВозьмём приложение «Проверка чека» и разберемся что оно делает и зачем ваще кому-то понадобилось проверять чеки с помощью приложения. Суть приложения «Проверка чеков»Я не помню как это работало раньше, но с 2016-2017 годов, благодаря 54-ФЗ «О применении ККТ» появились некие ОФД с целью «...осуществления операций по приёму, обработке, хранению и передаче фискальных данных в ФНС», а всех кого только можно обязали использовать кассовое оборудование, генерирующее те самые фискальные данные и что немаловажно, обязали эти данные посредством ОФД передавать в ФНС.Если у вас тоже немного припекает от всех этих аббревиатур, то вот вам терминальная стадия аббревиатуринга в лице названия организации которая отвечает за приложение «Проверка чека» — ФГУП ГНИИВЦ ФНС РФ.К этому моменту — мы еще вернёмся, кстати. Страница приложения «Проверка чеков» в 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 Рядом сразу же был обнаружен gitlab.studiotg.ru. Страница входа в GitLab команды Studio TG Дальнейшее исследование эндпойнта привело к ссылками на публичные репозитории в этом Гитлабе находящиеся в индексе Гугла уже более года. Содержимое публичных репозиториев заставило меня биться в истерике. Публично доступный репозиторий 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 Для сверки, что обнаруженные исходники действительно относятся к сервисам ФНС, проведена простая проверка наличия на боевом веб-сервере файла uppod-styles.txt, который не мог там оказаться по случайному совпадению. uppod-styles.txt на сайте lkip2.nalog.ru Содержимое файла .env судя по всему прямиком с боевых серверов В итоге
Как-то так. =========== Источник: habr.com =========== Похожие новости:
Информационная безопасность ), #_nenormalnoe_programmirovanie ( Ненормальное программирование ), #_issledovanija_i_prognozy_v_it ( Исследования и прогнозы в IT ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:49
Часовой пояс: UTC + 5