L'application Social Monitoring a été créée à partir d'un suivi de camion à ordures

Nous continuons notre série de documents sur les travaux de DIT Moscou pour numériser davantage la capitale pendant une alerte élevée.

L'une des innovations les plus controversées du DIT est l'application Social Monitoring , qui est conçue pour contrôler la localisation des personnes qui ont été mises en quarantaine (c'est-à-dire infectées ou suspectées d'être infectées par un coronavirus). Il s'agit d'une application mobile qui détermine la position par GPS, et pour qu'une personne ne se promène pas sans smartphone, lui demande périodiquement de prendre un selfie. En cas de non-installation de l'application, s'il y a une prescription ou ne pas envoyer de selfie, le département de contrôle principal de Moscou émettra une amende d'un montant de 4000 roubles.


(On ne sait pas très bien quel type de "contacts" est mentionné dans la publicité de l'application, et pourquoi est-il nécessaire de faire la publicité de l'application, pour laquelle ils sont condamnés à une amende de 4 000 roubles par jour)

L'idée elle-même aurait pu avoir l'air bonne sans la qualité de la mise en œuvre. La première version est apparue sur Google Play dans les derniers jours de mars - et en a été supprimée le 1er avril , après avoir reçu la note la plus basse possible d'une étoile. Lors de l'installation, l'application a demandé une autorisation pour presque tout ce qui est possible de collecter depuis le smartphone, après quoi elle a tout envoyé via le protocole HTTP (non, nous n'avons pas oublié la lettre "S", elle n'est pas là) aux serveurs de la mairie, et plus précisément, le selfie de l'utilisateur via Service de reconnaissance faciale estonien sur le serveur Hetzner en Allemagne.

Ensuite, l'application a été redémarrée, mais cela ne s'est pas beaucoup amélioré: des problèmes techniques se sont estompés en arrière-plan, mais des problèmes d' organisation sont apparus : l'application s'est trompée dans la détermination de l'emplacement, elle a nécessité un selfie à 4 heures du matin, elle a nécessité un selfie à chaque minute, cela n'a tout simplement pas fonctionné ... Et pour tout cela - amendes, amendes, amendes.

Au cas où, nous sélectionnons le lien séparément: il vaut la peine d'être lu .

Il y a quelques jours, le gouvernement de Moscou a même qualifié le numérique de «métrique»: 54 000 amendes totalisant 216 millions de roubles ont été infligées à 60 000 utilisateurs d'applications.

En général, vous pouvez imaginer l'ampleur du mécontentement chez les Moscovites. Cependant, nous reviendrons sur les aspects juridiques à la fin, mais pour l'instant, nous allons essayer de commencer à dérouler une boule de circonstances, en terminant par la construction d'un tel «service que les résidents et les invités de la capitale adorent».

La note de l'application sur Google Play pour le moment est de 1,1 points sur la base des résultats de 3809 avis.

Jusqu'à samedi dernier, la seule indication de l'origine de l'application était un lien vers l'application Wokka Lokka dans sa licence. Wokka Lokka est une application de suivi des enfants, ce qui est assez logique.

Cependant, samedi, lors de notre table ronde consacrée à une simple discussion sur le travail de l'Institut des technologies de l'information de Moscou, Vitaly Ardelyan, qui a travaillé à Anik Lab en 2017-2018, a pris la parole".

Ensuite, une transcription de la pièce correspondante de la table ronde, un peu lissée et raccourcie. L'original peut être consulté sur Youtube (lien directement vers le début du discours d'Ardelyan)

TL; DR: dans l'application «Social Monitoring», des traces des codes sources du prototype d'application pour le suivi de la collecte des ordures ménagères, réalisé il y a 3 ans en dix jours, ont été retrouvées.

***


Oleg Artamonov:
- Notre invité aujourd'hui est Vitaly Ardelyan, directeur technique d'AmberLabs, qui s'occupe des systèmes très chargés. En outre, les systèmes de contrôle du personnel dans diverses installations industrielles et, si je comprends bien, Vitaly peuvent dire quelque chose sur l'histoire interne et externe du développement de l'Institut des technologies de l'information de Moscou sur le thème de la surveillance sociale.

Vitaly Ardelyan:
- Oleg, collègues, bonjour. Bien sûr, je dirai exactement ce que j'ai rencontré en travaillant avec DIT Moscou. En général, l'histoire des relations est assez longue, mais la phase la plus active que nous ayons eue était il y a environ trois ou quatre ans [env. Ed.: Les activités d'Anik Lab travaillant sur ce projet ont commencé fin 2017]. Nous avons été mandatés par DIT Moscou pour développer une plate-forme très chargée pour la gestion de projet dans le domaine de la rénovation. En bref: le système devait surveiller l'état des objets par le biais de flux vidéo, devait surveiller la présence du personnel sur les objets à l'aide de trackers individuels et devait gérer la documentation du projet avec toutes les tâches qui en découlaient: suivi des calendriers, des échéanciers, des diagrammes de Gantt et d'autres choses.

Nous, ayant une expérience dans les systèmes à forte charge depuis huit à neuf ans, avons fabriqué de grands systèmes plus souvent en Occident qu'en Russie, avons développé le cœur du système, leur avons offert une option de déploiement, et nous sommes même allés avec un pilote. Mais ensuite, il s'est brusquement réduit. Il se trouve que les budgets étaient probablement très importants, et une autre société s'est levée entre nous et DIT, qui a reçu le droit exclusif d'utiliser le cœur de la plate-forme, le temps d'exploitation - et nous avons été tranquillement fusionnés de ce marché.

Que puis-je dire ... lorsque nous travaillons avec un client sous la forme d'un DIT, nous avons compris que tous les projets sont réalisés par des responsables informatiques. Le responsable informatique représente très vaguement l'ensemble du processus de l'usine de développement; qu'il y a tellement de liens, petits mais très importants; ce que vous devez comprendre, qu'est-ce qu'une usine de développement, qu'est-ce qu'un environnement de test, qu'est-ce qu'un environnement de test chargé. Nous ne l'avons pas vu, nous avons créé cet environnement, cet environnement de développement, écrit des cas et des scripts. Ils nous ont regardés et ont dit: «Êtes-vous fou, êtes-vous fou? Tout fonctionne différemment pour nous. » Et ils l'ont donné à un autre entrepreneur qui l'a compris à sa manière.

Et quand toute cette histoire avec les passes de Moscou a commencé, nous avons été surpris de trouver dans les codes source des morceaux de codes de notre plate-forme, qui n'auraient pas dû apparaître de côté dans les applications de ce type. Premièrement, ce que nous avons fait a été fait pour un autre domaine d'utilisation professionnelle de la plate-forme, et deuxièmement, il s'agissait en fait d'un copier-coller de l'application frontale ... Je vais maintenant ouvrir un tel secret ... il a été tiré du suivi du suivi de la collecte des déchets.

Autrement dit, sur notre plate-forme était un projet pilote pour surveiller l'exportation des déchets ménagers vers les décharges. Et là, l'application a été faite uniquement avec des codes QR, avec le géo-positionnement et d'autres choses. Et puis nous l'avons fait en dix jours.

Et quand le choc a commencé, lié aux problèmes de l'application Social Monitoring, nos gars ont ri en disant: "Écoutez, mais vous ne saurez rien?" Je dis: "Eh bien, oui." C'est, bien sûr, je n'avais plus de questions. J'ai compris qu'une candidature rédigée en dix jours et que le budget de Moscou coûtait plus de cent millions était une affaire cool [ env. Ed.: La société d'intégration Gaskar a reçu de la mairie de Moscou un contrat de 180 millions de roubles avant même le début du développement de la surveillance sociale; dans quelles conditions la surveillance y a été ajoutée n'est pas connue avec certitude ].

Concernant "cela pourrait-il être mieux?" Je le pense. Je crois que si, en principe, le respecté DIT de Moscou a utilisé au moins des concepts élémentaires sur l'usine de développement et l'usine de développement, comme c'est la coutume dans les entreprises engagées dans le développement professionnel, de nombreux problèmes auraient pu être évités. Autrement dit, l'application a été assemblée à partir de projets précédemment assemblés qui étaient proches du sujet et compilés dans certains packages et services. Bien sûr, ces services n'étaient en aucun cas orchestrés entre eux, c'est-à-dire qu'ils avaient généralement des API différentes et que tout était à genoux et rapidement.

Cela a commencé les problèmes, en fait, avec la rigidité de l'application. Ici, des collègues ont dit qu'il était nécessaire de s'assurer que les fonctions ne s'affectaient pas les unes les autres, afin que le support, assommé à un endroit, n'effondre pas tout le bâtiment. En fait, il n'a été question d'aucune architecture de service. C'était un monolithe stupide, assemblé à partir de tout ce qui était là et, naturellement, le premier pivert, volant dans le nichoir, a fait tomber l'arbre entier. Je pense donc que cela pourrait être mieux fait.

Il me semble que le développement a été fait par une société judiciaire qui travaillait auparavant avec notre plateforme - et elle a très rapidement, à genoux, au premier coup de sifflet en un mois, collecté tout ce qu'elle pouvait collecter de ce qu'elle était.

Oleg Artamonov:
- Vitaly, merci. Ici, il semble que les autres participants réfléchissaient au commentaire à faire, car une telle autopsie soudaine, ce que DIT a réellement fait et comment il l'a fait, après un mois et demi, tout le monde s'est demandé d'où tout cela venait ...

Vitaly Ardelyan:
- Eh bien, chers collègues, je répète encore une fois que je ne fais que des conclusions basées sur les codes sources que nous avons vus. Ce qui était déjà là à la fin ... très probablement - oui, les collègues de DIT ont compris que de gros problèmes ont commencé et que le refactoring de code a commencé, mais les racines initiales et la façon dont cela a été fait sont évidentes pour moi. Quant au reste - je ne peux pas commenter.

Oleg Artamonov:
- Je noterai également que cela s'est produit de sorte que, il y a environ un mois et demi, j'ai participé au développement d'exigences fonctionnelles pour les applications qui émettent et contrôlent les laissez-passer numériques électroniques pour l'une des régions. Il n'a pas été mis en œuvre, et ce développement a été fait dans l'espoir qu'il ne devrait pas être mis en œuvre, que la situation n'irait pas aussi loin, mais au cas où cela irait dans ce sens, la région, en particulier compte tenu de l'expérience de Moscou, voulait avoir une sorte de puis une base peu développée sur laquelle il sera possible de démarrer sans problèmes technologiques, de réputation et autres.

Et ici, je remarquerai que, début avril, tout ce qui est pressé, paniqué, est mis en œuvre et refait tous les trois jours dans le suivi social et dans nedoma.mos.ru, nous avions des exigences fonctionnelles - clairement par les points avec des organigrammes et tout le reste. Toutes sortes de comptes personnels d'organisations, listes d'employés, mode de notification, mode d'autorisation ... tout cela a été expliqué, et si la situation dans cette région avait atteint le stade où elle devrait être mise en œuvre, il y aurait au moins une certaine certitude que ce n'est pas le cas. il est nécessaire de l'assembler sur un fil en direct, que tout cela soit en quelque sorte pensé et discuté avec des experts à l'avance.

Vitaly Ardelyan:
- En effet, vous avez raison, du point de vue de l'exemple dont vous parlez, les exigences ont vraiment été collectées, les exigences étant le minimum nécessaire, et il y avait un lien très court entre l'équipe de développement et les personnes qui ont géré le projet. Parlant d'une courte connexion, je répète encore une fois que c'est le problème, car en fait, du client de l'application à l'implémenteur, dans un DIT respecté, il y a une chaîne très compliquée, où de nombreuses personnes intéressées différentes participent. Autrement dit, le rapport de transmission est si important que, en fait, le système a fonctionné avec l'efficacité du moteur. En parlant de votre version - autant que je me souvienne, la demande a été faite en moins de deux semaines et demie.

Oleg Artamonov:
- Oui, il s'agissait d'exigences fonctionnelles et d'une application prototype. C'était une telle étude de la pire option possible. Nous serons heureux qu'il n'ait pas été requis.

***


Remarque: les travaux d'Anik Lab ont commencé en décembre 2017. La société a confirmé des contrats directs avec DIT de Moscou, le comité de rédaction dispose également d'informations fiables sur le travail de Vitaly Ardelyan à Anik Lab au cours de cette période et sur le développement de solutions logicielles et matérielles pour le suivi de la construction et les travaux connexes dans les installations de rénovation et d'autres projets de construction.

Pourquoi donnons-nous cette conversation ici, même si, de toute évidence, elle ne révèle pas les détails de la façon dont l'application est structurée maintenant et comment le travail est fait sur elle?

Parce que, malheureusement, seul le DIT de Moscou peut divulguer les informations actuelles - qui, bien qu'il ait promis de revenir à Habr , mais jusqu'à présent dans la sphère publique, il ne fait que déclarer que tout va bien avec l'application, certaines lacunes sont rapidement éliminées.

Ni par la réaction des Moscovites, ni par la note de la candidature, on ne constate que les lacunes étaient «distinctes» ou qu'elles «ont été rapidement éliminées».

Il s'agit d'une application qui détruit littéralement la vie de dizaines de milliers de personnes, y compris des patients atteints d'une maladie grave.

Par conséquent, il nous semble qu'il est très important de savoir et de ne pas oublier avec quelle «minutie» il a été développé, quel fardeau de responsabilité les développeurs et leurs dirigeants ont ressenti sur eux-mêmes et l'origine de la demande faite à partir d'un projet pilote de trois ans peut en dire beaucoup à ce sujet. Parce que l'informatique ne consiste pas seulement à écrire un "code beau et compréhensible", c'est aussi une responsabilité envers ceux dont la vie, le travail et la santé dépendront de ce code.

Nous espérons sincèrement que la direction de l'Institut d'information et de communication de Moscou dira sa version des événements.

PS La légalité des amendes infligées par Social Monitoring est une question distincte , et la réponse courte est: elles sont illégales. Au moins trois dispositions ont été violées: premièrement, le Code administratif fédéral ne permet la fixation automatique des instruments que pour les infractions dans le domaine du transport et de l'amélioration; deuxièmement, une telle fixation ne peut être réalisée que par un équipement métrologiquement vérifié, qui n'est pas un smartphone (et, de plus, il n'offre certainement pas une précision de positionnement suffisante pour cette utilisation); troisièmement, la Direction générale du contrôle de Moscou, qui rédige ces amendes, n'est pas habilitée à infliger des amendes aux particuliers.

Dans ce contexte, si vous tombez sous le coup des amendes de Social Monitoring, nous vous recommandonsNe les appelez pas par l'intermédiaire de la réception électronique du gouvernement de Moscou, comme le recommande le chef du contrôle principal, M. Danchikov, mais ne le faites que par le biais d'un tribunal. Sinon, la plupart des déchets réussiront à passer sous le tapis - les amendes imposées illégalement seront discrètement annulées officieusement.

All Articles