Саморегистрируемся для самовыгула самособаки в условиях самоизоляции


    Решил протестировать информационную систему Нижнего Новгорода для тех, кто "хочет выйти на улицу" — цитата с сайта правительства Нижегородской области. Я не знаю, на основании каких федеральных и региональных законов требуется получение qr-кода для прогулки с псом, какой правовой статус имеет qr-код, поэтому эти вопросы предлагаю оставить за кадром. Если тут есть законники — напишите свой пост, мне, как и многим, было бы интересно прочитать разъяснение. Я же сосредоточусь на технической составляющей.


    Если одним предложением — система сделана вполне удобно (по крайней мере на настольном компе, на мобильном устройстве не смотрел), но, на момент написания поста, похоже, не работает.


    Интерфейс довольно прост. Пользователю предлагается идентифицироваться по номеру телефона, и пройти аутентификацию с помощью одноразового пароля из СМС. У меня войти в систему получилось два раза из пяти. Ещё один раз не пришла СМС, и два раза отобразилась надпись "сервер недоступен".



    Дальше нужно заполнить персональные данные



    и форму заявки:



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



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


    Само разрешение выглядит так:



    Если декодировать qr-код, то видно, что там содержится ссылка вида
    https://nn-card.ru/policeman-page?covid_token={guid}


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



    Ой.


    Вместо моей заявки отобразилась заявка какого-то шутника. Протестировал несколько раз, поведение повторяется. По выданному мне идентификатору возвращается не моя заявка. Уважаемые разработчики, у вас, наверное, код из рабочей ветки случайно задеплоился на боевой сервер. Иначе ничем объяснить такое поведение не могу — оно видно даже на smoke-тестах.


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


    Моё скромное мнение насчёт решения, когда в qr коде возвращается ссылка, а не идентификатор.


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


    В текущем же варианте реализации любой сообразительный гражданин регистрирует фишинговый домен https://nn_card.ru и динамически генерирует там любой контент. Сильно сомневаюсь, что рядовой проверяющий заметит подвох.


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


    Ещё одно крайне важное замечание относится к соблюдению 152-ФЗ «О персональных данных». Во первых пользователь при заполнении формы нигде не подтверждает своё согласие на обработку ПД. Во вторых получается, что по идентификатору можно получить ПД других пользователей (понятно, что GUID подобрать практически невозможно, но сам факт огорчает).


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


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

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

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

      –1
      Я понимаю конечно, что к подобным «сервисам» у всех большой негатив, но их делают в авральном режиме за день-два.
        +11
        Да, мы слепили говно, НО ГОСПОДА, как быстро мы его слепили!
          0

          А лучше было бы, если бы слепили конфетку, но сдали проект через неделю, когда он нужен уже сегодня?

            +5
            Лучше их не делать вовсе.
              0
              Да, лучше же вообще ничего не делать…
                +6
                конкретно QR-аусвайсы лучше вообще не делать.
                это во-первых незаконно.
              0
              Тут походу нужна защитная плашка от НЛО :-)
            0
            1. Здесь больше будет совсем не технический негатив.
            2. Это модуль «отпроситься», возможно, день-два. А система изначально не для этого, видно по разделу возможности, да и документ официальный есть: docs.cntd.ru/document/465595033
            +1
            В Москве все интереснее. На приложение по регистрации с QR-кодом уже потратили 180 миллионов.
            Оно сливает MAC, IMEI телефона, вай фая, блютуса и местоположение. Вы указываете фио и адрес, и ваша фотка идет в зарубежную систему распознавания лиц.

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

            Наверное сейчас переделывает приложение и вбухивает в него еще 180 миллионов.
              0
              К сожалению история про 180 млн — это фейк. Компания, которая разрабатывала это приложение действительно выиграла закупку на 180 млн. Вот она. Но никакого отношения ни к пропускам, ни к мобильным приложениям она не имеет. Судя по всему, разработку системы с qr-кодами на них возложили в качестве добровольной нагрузки и они сделали то, что сделали за несколько дней и на коленке. Вряд ли при этом с них кто-то снял сроки по тендеру на 180 млн.
              0
              Я бы рад где-нибудь зарегистрироваться — да где? Вместо внятного разъяснения — первоапрельская шутка? — требование заполнить самописную бумажку типа «аташол щасвирнус»
                0
                Даже на КДПВ есть ошибка, сразу понятно, какое качество разработки.
                  0
                  … текущая система разрабатывалась в спешке и без денег

                  Это вы думаете что ее бесплатно сделали, или есть пруфы?

                    0
                    Это была бритвенно тонкая ирония; )
                    0
                    Тащемта валидация полей не нужна — валидировать их будет полицейский, и если вы шутник, это уже ваши проблемы. А вот всё остальное грустно.
                    ЗЫ
                    На тест в первый раз сам неправильно ответил
                    ЗЗЫ
                    Сомневаюсь, что приложение делают «без денег», его вполне конкретная компания делает
                      +2
                      Валидация нужна была бы для пользователей, чтобы потом не объяснять тащмилцинеру что ты буковкой опечатался и 5к штраф «на месте» платить не хочешь.

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

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