O aplicativo Social Monitoring foi criado a partir de um rastreador de caminhão de lixo

Continuamos nossa série de materiais sobre o trabalho da DIT Moscow para digitalizar ainda mais a capital durante um alerta máximo.

Uma das inovações mais controversas do DIT é o aplicativo Social Monitoring , projetado para controlar a localização de pessoas que foram colocadas em quarentena (ou seja, infectadas ou suspeitas de estarem infectadas com coronavírus). Esta é uma aplicação móvel que determina a localização por GPS e, para que uma pessoa não saia para passear sem um smartphone, solicita periodicamente que tire uma selfie. Em caso de não instalação do aplicativo, se houver receita ou não enviar uma selfie, o Departamento de Controle Principal de Moscou emitirá uma multa no valor de 4000 rublos.


(não está muito claro que tipo de "contatos" é mencionado no anúncio do aplicativo e por que é necessário anunciar o aplicativo para o qual eles são multados em 4000 rublos por dia por não instalar)

A idéia em si poderia parecer boa se não fosse a qualidade da implementação. A primeira versão apareceu no Google Play nos últimos dias de março - e foi removida de lá em 1º de abril , tendo recebido nesse momento a classificação mais baixa possível de 1 estrela. Durante a instalação, o aplicativo solicitou permissão para quase tudo o que é possível coletar do smartphone, após o qual enviou tudo via protocolo HTTP (não, não esquecemos a letra "S", não está aqui)) para os servidores da prefeitura e, especificamente, a selfie do usuário através Serviço de reconhecimento de rosto estoniano no servidor Hetzner na Alemanha.

Em seguida, o aplicativo foi reiniciado, mas não ficou muito melhor: problemas técnicos desapareceram em segundo plano, mas problemas organizacionais vieram à tona : o aplicativo errou ao determinar o local, exigia uma selfie às 4 da manhã, exigia uma selfie a cada minuto, apenas não funcionava ... E por tudo isso - e por tudo isso - multas, multas, multas.

Apenas no caso, selecionamos o link separadamente: vale a pena ler .

Alguns dias atrás, o governo de Moscou chegou a chamar de "métrica" ​​numérica: 54.000 multas, totalizando 216 milhões de rublos, foram emitidas para 60.000 usuários de aplicativos.

Em geral, você pode imaginar a escala de descontentamento entre os moscovitas. No entanto, retornaremos aos aspectos legais no final, mas por enquanto tentaremos começar a desenrolar uma bola de circunstâncias, terminando com a construção de um "serviço que os residentes e convidados da capital adoram".

A classificação do aplicativo no Google Play no momento é de 1,1 pontos com base nos resultados de 3809 avaliações.

Até o último sábado, a única indicação da origem do aplicativo era um link para o aplicativo Wokka Lokka em sua licença. O Wokka Lokka é um aplicativo para rastrear crianças, o que é bastante lógico.

No entanto, no sábado, em nossa mesa redonda dedicada apenas a uma discussão sobre o trabalho do Instituto de Tecnologias de Informação de Moscou, Vitaly Ardelyan, que trabalhou no Anik Lab em 2017-2018, falou"

A seguir, uma transcrição da peça correspondente da mesa redonda, um pouco suavizada e encurtada. O original pode ser visto no Youtube (link diretamente para o início do discurso de Ardelyan).

TL; DR: no aplicativo “Monitoramento Social”, foram encontrados traços dos códigos-fonte do aplicativo protótipo para monitorar a coleta de lixo doméstico, realizado há três anos em dez dias.

***


Oleg Artamonov:
- Nosso convidado hoje é Vitaly Ardelyan, diretor técnico da AmberLabs, que lida com sistemas altamente carregados. Além disso, os sistemas de controle de pessoal em várias instalações industriais e, no meu entender, Vitaly podem dizer algo sobre a história interna e externa do desenvolvimento do Instituto de Tecnologia da Informação de Moscou sobre o tema do monitoramento social.

Vitaly Ardelyan:
- Oleg, colegas, olá. Obviamente, contarei exatamente o que encontrei enquanto trabalhava no DIT Moscow. Em geral, a história das relações é bastante longa, mas a fase mais ativa que tivemos foi cerca de três ou quatro anos atrás [aprox. Ed.: As atividades do Anik Lab trabalhando neste projeto começaram no final de 2017]. Fomos contratados pela DIT Moscow para desenvolver uma plataforma altamente carregada para gerenciamento de projetos no campo da renovação. Resumindo: o sistema precisava monitorar o estado dos objetos por meio de fluxos de vídeo, monitorar a presença de pessoal nos objetos usando rastreadores individuais e gerenciar a documentação do projeto com todas as tarefas que se seguem a partir daqui: cronogramas, cronogramas, gráficos de Gantt e outras coisas.

Nós, com experiência em sistemas de alta carga por oito a nove anos, fabricamos sistemas grandes com mais freqüência para o Ocidente do que para a Rússia, desenvolvemos o núcleo do sistema, oferecemos a eles uma opção de implantação e até conseguimos um piloto. Mas então abruptamente reduzido. Aconteceu que os orçamentos provavelmente eram muito grandes e outra empresa se levantou entre nós e a DIT, que recebeu o direito exclusivo de usar o núcleo da plataforma, o tempo de operação - e fomos discretamente fundidos nesse mercado.

O que posso dizer ... ao trabalhar com um cliente na forma de um DIT, entendemos que todos os projetos são realizados por funcionários de TI. O oficial de TI representa vagamente todo o processo da fábrica de desenvolvimento; que existem tantos links, pequenos, mas muito importantes; o que você precisa entender, o que é uma fábrica de desenvolvimento, o que é um ambiente de teste, o que é um ambiente de teste carregado. Não vimos isso, criamos esse ambiente, esse ambiente de desenvolvimento, escrevemos casos e scripts. Eles olharam para nós e disseram: “Você está louco, você está louco? Tudo funciona de maneira diferente para nós. ” E eles deram a outro empreiteiro que entendeu isso à sua maneira.

E quando toda essa história com passes de Moscou começou, ficamos surpresos ao encontrar nos códigos-fonte trechos de códigos de nossa plataforma, que não deveriam ter aparecido de lado em aplicativos desse tipo. Em primeiro lugar, o que fizemos foi feito para outra área de uso profissional da plataforma e, em segundo lugar, foi, de fato, uma cópia e pasta do aplicativo front-end ... agora vou abrir um segredo ... foi retirado do monitoramento do rastreamento da coleta de lixo.

Ou seja, em nossa plataforma havia um projeto piloto para monitorar a exportação de lixo doméstico para aterros sanitários. E a aplicação foi feita apenas com códigos QR, com posicionamento geográfico e outras coisas. E então nós fizemos isso em dez dias.

E quando o choque começou, relacionado aos problemas do aplicativo Social Monitoring, nossos caras riram e disseram: "Escute, mas você não sabe de nada?" Eu digo: "Bem, sim." É claro que não tinha mais perguntas. Entendi que um pedido escrito em dez dias e o orçamento de Moscou custasse mais de cem milhões é um negócio interessante [ aprox. Ed.: A empresa Gaskar Integration recebeu da prefeitura de Moscou um contrato de 180 milhões de rublos antes mesmo do início do desenvolvimento do monitoramento social; sob que condições o monitoramento foi adicionado a ele não é conhecido com certeza ].

Em relação a "poderia ser melhor?" Acho que sim. Acredito que se, em princípio, o respeitado DIT de Moscou usasse pelo menos conceitos elementares sobre a fábrica de devo e a fábrica de desenvolvimento, como é habitual em empresas envolvidas em desenvolvimento profissional, muitos problemas poderiam ter sido evitados. Na verdade, o aplicativo foi montado a partir de projetos montados anteriormente, próximos ao tópico, e compilados em alguns pacotes e serviços. Certamente, esses serviços não eram de forma alguma orquestrados entre si, ou seja, eles geralmente tinham APIs diferentes e tudo estava de joelhos e rapidamente.

Isso iniciou os problemas, de fato, com a inflexibilidade do aplicativo. Aqui, os colegas disseram que era necessário garantir que as funções não se afetassem, para que o suporte, derrubado em um só lugar, não desmoronasse em todo o edifício. De fato, não se falava em arquitetura de serviço. Era um monólito estúpido, montado a partir de tudo o que estava lá e, naturalmente, o primeiro pica-pau, voando para dentro da casa dos pássaros, derrubou a árvore inteira. Então eu acho que isso poderia ser feito melhor.

Parece-me que o desenvolvimento foi feito por uma empresa judicial que trabalhou anteriormente com nossa plataforma - e rapidamente, de joelhos, no primeiro apito em um mês, coletou tudo o que podia coletar do que era.

Oleg Artamonov:
Vitaly, obrigado. Aqui, ao que parece, o resto dos participantes estava pensando que comentário dar, porque uma autópsia tão repentina, o que o DIT realmente fez e como ele o fez, depois de um mês e meio, todos se perguntaram de onde vinha tudo ...

Vitaly Ardelyan:
- Bem, colegas, repetirei mais uma vez que estou apenas tirando conclusões com base nos códigos-fonte que vimos. O que já estava lá no final ... provavelmente - sim, colegas do DIT entenderam que grandes problemas começaram e a refatoração de código começou, mas as raízes iniciais e como isso foi feito são óbvias para mim. Quanto ao resto - não posso comentar.

Oleg Artamonov:
- Observarei também que isso aconteceu há cerca de um mês e meio atrás, participando do desenvolvimento de requisitos funcionais para aplicativos que apenas emitem e controlam passes digitais eletrônicos para uma das regiões. Não foi implementado, e esse desenvolvimento foi feito na esperança de que não fosse necessário, que a situação não fosse tão longe, mas, caso fosse assim, a região, especialmente olhando a experiência de Moscou, queria ter algum tipo de então, uma base minimamente desenvolvida na qual será possível iniciar sem problemas tecnológicos, de reputação e outros.

E aqui vou notar que, no início de abril, tudo o que está com pressa, em pânico, está sendo implementado e refeito a cada três dias no monitoramento social e no nedoma.mos.ru, tínhamos requisitos funcionais - claramente pelos pontos com fluxogramas e tudo mais. Todos os tipos de contas pessoais de organizações, listas de funcionários, modo de notificação, modo de autorização ... tudo isso foi explicado, e se a situação nessa região tivesse atingido o estágio em que teria que ser implementada, haveria pelo menos alguma certeza de que isso não é possível. é necessário costurá-lo em um fio ativo, para que tudo isso seja pensado e discutido com especialistas com antecedência.

Vitaly Ardelyan:
- De fato, você está certo de que, do ponto de vista do exemplo que você está falando, os requisitos foram realmente coletados, os requisitos sendo o mínimo necessário e houve uma conexão muito curta entre a equipe de desenvolvimento e as pessoas que gerenciaram o projeto. Falando sobre uma conexão curta, repito mais uma vez que esse é o problema, porque, de fato, do cliente do aplicativo ao implementador, em um DIT respeitado, há uma cadeia muito complicada, na qual participam diversas pessoas interessadas. Ou seja, a relação de transmissão é tão grande que, de fato, o sistema trabalhou com a eficiência do motor. Falando sobre sua versão - tanto quanto me lembro, o aplicativo foi feito em menos de duas semanas e meia.

Oleg Artamonov:
- Sim, esses eram requisitos funcionais e um aplicativo de protótipo. Foi um estudo da pior opção possível. Teremos o maior prazer que ele não foi obrigado.

***


Nota: o trabalho do Anik Lab começou em dezembro de 2017. A empresa confirmou contratos diretos com a DIT de Moscou, o conselho editorial também possui informações confiáveis ​​sobre o trabalho de Vitaly Ardelyan no Anik Lab durante esse período e sobre o desenvolvimento de soluções de software e hardware para monitorar a construção e trabalhos relacionados em instalações de renovação e outros projetos de construção.

Por que estamos dando essa conversa aqui, embora, obviamente, ela não revele os detalhes de como o aplicativo está estruturado agora e como o trabalho está sendo feito nele?

Porque, infelizmente, apenas o DIT de Moscou pode divulgar informações atuais - as quais, embora prometam retornar a Habr , mas até agora na esfera pública, apenas afirmam que tudo está bem com o aplicativo, algumas deficiências são rapidamente eliminadas.

Nem pela reação dos moscovitas, nem pela classificação da aplicação, é perceptível que as deficiências foram "separadas" ou que "foram rapidamente eliminadas".

Esta é uma aplicação que literalmente destrói a vida de dezenas de milhares de pessoas, incluindo pacientes com uma doença grave.

Portanto, parece-nos que é muito importante saber e não esquecer com que "detalhamento" foi desenvolvido, qual ônus de responsabilidade os desenvolvedores e sua liderança sentiram sobre si mesmos - e a origem do aplicativo feita a partir de um rascunho piloto de três anos de idade pode dizer muito sobre isso. Como a TI não se trata apenas de escrever um "código bonito e compreensível", também é de responsabilidade para aqueles cuja vida, trabalho e saúde dependerão desse código.

Ainda esperamos sinceramente que a liderança do Instituto de Informação e Comunicação de Moscou conte sua versão dos eventos.

PS A legalidade das multas impostas pelo Monitoramento social é uma questão separada e a resposta curta é: elas são ilegais. Pelo menos três disposições foram violadas: em primeiro lugar, o Código Administrativo Federal permite a fixação automática de instrumentos apenas de violações no campo de transporte e melhoria; em segundo lugar, essa fixação só pode ser realizada por equipamento verificado metrologicamente, que não é um smartphone (e, além disso, certamente não fornece precisão de posicionamento suficiente para esse uso); terceiro, a Diretoria de Controle Principal de Moscou, que aplica essas multas, não tem autoridade para multar indivíduos.

Em vista disso, se você sofrer as multas do Social Monitoring, recomendamosNão os recorra através da recepção eletrônica do governo de Moscou, conforme recomendado pelo chefe do controle principal, Sr. Danchikov, mas faça-o apenas através de um tribunal. Caso contrário, a maior parte do lixo conseguirá varrer para baixo do tapete - multas emitidas ilegalmente serão silenciosamente canceladas não oficialmente.

All Articles