Как работает приложение Социальный мониторинг: ответы на вопросы

Скачать Социальный мониторинг для ПК

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

2. Чтобы у пользователя не было возможности оставить смартфон дома и выйти на улицу без него, приложение в случайное время присылает СМС-уведомления с запросом дополнительного подтверждения — для этого потребуется сделать селфи.

3. Все данные, которые пользователь передает приложению, хранятся в защищенном виде на серверах Департамента информационных технологий и используются в строгом соответствии с федеральным законом № 152-ФЗ «О персональных данных».

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

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

Как работает приложение?

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

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

Когда пятая волна COVID-19 в столице может пойти на спад

В Департаменте информационных технологий признали проблемы из-за большого количества обращений и сказали, что время проверки действительно увеличилось. Но если за этот период приложение зафиксирует какие-то нарушения, штраф выставлять за них не будут. В остальном — никаких послаблений, всем получившим положительный тест установить «Социальный мониторинг» нужно обязательно. Москвичка Наталия, впрочем, смогла этого избежать:

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

Какой телефон горячей линии «Социального мониторинга»?

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

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

Номер телефона «Социального мониторинга» — +7 (495) 870 72 96. Дозвониться в справочную службу можно круглосуточно.

Контакты приложения Социальный мониторинг

Тарификация зависит от условий вашего оператора.

Что делать, если нет смартфона

Люди, проходящие лечение от коронавируса на дому, получают смартфон на время в случае его отсутствия. Чтобы получить устройство — позвоните на горячую линию +7(495) 870 72 96 (работает круглосуточно). Назовите Ф. И. О. и телефонный номер, указанный в согласии на получение медпомощи на дому. Ваше обращение будет зарегистрировано сотрудниками.

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

Что делать, если приложение дает сбой

В случае, если приложение зависает, например, невозможно оперативно отправить фото, необходимо позвонить на горячую линию +7 (495) 870-72-96 или написать на электронную почту Socialmonitoring@mos.ru.

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

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

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

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

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

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

Декомпилируем приложение

Для декомпиляции я использовал программу JEB версии 3.17.1 производства PNF Software. На мой взгляд, это одно из лучших приложений для исследования APK, единственный его недостаток — высокая стоимость.

Приложение подписано сертификатом, сгенерированным 17 апреля 2020 года, и почему-то указан город Самара. Интересно, при чем тут Самара?

Первым делом смотрим, что в манифесте.

Версия программы — 1.4.1, имя пакета — ru.mos.socmon.

Приложение запрашивает следующие разрешения: доступ к координатам, в том числе и фоновый, доступ к камере, к интернету, состоянию сети, состоянию и изменению Wi-Fi, возможность запускать неубиваемые сервисы и добавление в список исключений оптимизации батареи (чтобы ОС не заставляла приложение экономить энергию), а также чтение и запись данных на карте памяти. Ну что же, уже неплохо — намеков на недекларированные функции пока не видно. Контакты, журнал звонков, SMS и прочее вроде не просят. Будем смотреть дальше.

Дальше видим, что приложение весьма обфусцировано. Конечно, это осложняет анализ, но попробуем.

Обычно при анализе всякой обфусцированной вирусни я поступаю так: сначала переименовываю все объявленные переменные в соответствии с их типом, то есть вместо a , b , c , d пишу intIn , intOut , int1 , str1 и так далее. Затем заново смотрю на код, уже становится видно, что некоторые переменные можно переименовать в counter , i , k , resString . Ну и третьим проходом после беглого анализа алгоритма переименовываю во всякие там name , password , hashMD5 и так далее.

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

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

  • libconscrypt_jni.so — гугловская библиотека Conscrypt, поставщик безопасности Java (JSP), который реализует расширения криптографии Java (JCE) и расширения безопасных сокетов Java (JSSE). Он использует BoringSSL для предоставления криптографических примитивов и безопасности транспортного уровня (TLS) для приложений Java на Android и OpenJDK;
  • libface_detector_v2_jni.so — опенсорсная библиотека libfacedetection для распознавания лиц на фото;
  • libtool_checker_jni.so — библиотека из состава опенсорсного пакета rootbeer, предназначенного для проверки наличия прав root на устройстве. Чуть подробнее расскажу о ней дальше.

Беглый анализ показал, что, помимо обфусцированного кода и почти стандартных OkHttp 3, Retrofit 2 и Crashlytics, приложение использует компоненты com.redmadrobot.inputmask.helper и com.scottyab.rootbeer.

Первый компонент особого интереса не представляет, он используется для проверки ввода телефонного номера при регистрации приложения. Rootbeer же как раз проверяет «рутованность» используемого устройства: ищет определенные приложения, бинарный файл su или компоненты BusyBox.

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

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

Также проверяется (с помощью акселерометра), держит ли пользователь устройство в руках.

В приложении есть три основных сервиса:

  • LocationService — периодически собирает координаты;
  • MessagingService — отслеживает сообщения с сервера, в сообщениях могут быть новые настройки или запрос на фото пользователя;
  • PeriodicJobService — собирает и отправляет телеметрию.

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

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

Посмотрим подробнее, какие именно данные приложение отправляет на сервер.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector