Bono por la emergencia covid-19: el triste análisis del portal INPS ...

(Para Pulgar oponible)
02/04/20

Lo que sucedió ayer, el primer día en que fue posible solicitar la bonificación que el estado asignó a los trabajadores independientes por la emergencia covid-19, es increíble. Se previó (¡impredecible, pero ampliamente esperado!) Que todos los titulares tratarían de completar la solicitud de forma inmediata conectándose simultáneamente al portal INPS. Quien administre un portal de comercio electrónico sabe bien, de hecho, es su objetivo, que al anunciar ofertas en algunos productos tendrá que enfrentar numerosas solicitudes de acceso simultáneo por parte de clientes potenciales. Y toma las contramedidas necesarias, aumentando temporalmente la capacidad de recepción del sitio, que es factible hoy en día si tiene una arquitectura distribuida o "en la nube", y adquiriendo una especie de "eliminador de código" que permite el acceso a un número máximo de sujetos al mismo tiempo, pidiendo a los excedentes que intenten nuevamente más tarde. En estos días, cuando estamos todos en casa, muchos habrán querido hacer las compras. En línea y para encontrar el sitio del supermercado totalmente operativo pero no disponible para el número máximo de clientes que pueden ser atendidos simultáneamente

No estamos hablando de tecnologías caras o particularmente innovadoras. Hablemos del sentido común que se aplica en la vida cotidiana, también utilizado por Poste esta semana para evitar las multitudes en los mostradores para la provisión de pensiones: escalonaron el acceso según la letra del apellido. Hoy, medidas similares fueron (¡finalmente!) También se adoptaron para acceder al sitio INPS.

Ahora, la falta total de una política básica para la gestión del acceso al sitio, como la que se mostró ayer en un pico de acceso previsto, ha generado dudas sobre la calidad de un sistema de información central para la vida de los italianos como administradores de pensiones y apoyo social Luego fuimos a ver qué hay justo debajo de la superficie del sitio web del Instituto, analizando los programas que construyen las páginas que mostramos en nuestro navegador. Este es un código público porque es lo que recibe nuestra computadora cuando se conecta a cualquier sitio web, código que se procesa localmente y que da como resultado el aspecto gráfico de la página.

Lo que parece a los ojos de un programador es un sistema descuidado. Si un estudiante de secundaria o universitario de primer año presentara un programa en ese estado, sería rechazado de inmediato porque no respetaba los criterios mínimos de orden, rigor y profesionalismo en la redacción del código..

Veamos algunos ejemplos.

El código de una de las páginas contiene una variable, que es un 'contenedor' de valores cuya elaboración determina las fases sucesivas de un procedimiento o el aspecto gráfico de la página, cuyo nombre es "Foo". Ahora, en un intercambio coloquial, podemos referirnos a los personajes de Disney de forma similar a las cursivas "Tizio", "Caio" y "Sempronio". Pero en un programa, el nombre de las variables siempre debe ser tal que nos permita comprender cuál es el papel del programa. Un profesional nunca lanzaría un programa cuyos nombres sean imaginativos y no asignados para tener una referencia precisa del flujo de procesamiento para el que fueron ingresados.

Para algunos puede parecer un hábito estético, pero la falta de atención a todos los aspectos de un programa que permiten verificar la corrección y la consistencia de un programa puede ser un indicador de otras deficiencias más graves. Este descuido también se muestra en presencia de comentarios de argot como "Skippa" que francamente nunca nos gustaría haber visto en esas páginas. Y, de hecho, en otras páginas todavía hay numerosos comentarios en italiano que indican todos los cambios realizados con una indicación de los motivos, a veces vinculados a la resolución de "problemas". Aquí, si quiere hacerle cosquillas a la curiosidad de un "hacker", no hay nada mejor que comunicar directamente y sinceramente que hay problemas.

En otras páginas, todavía hay comentarios que explican el efecto de las funciones que siguen. Un lenguaje de programación es precisamente un lenguaje, y aquellos que lo han dominado no necesitan comentarios para entender su significado. Por lo general, el desarrollo de un programa está precedido por una fase de proyecto donde se explica en lenguaje natural lo que tendrá que hacer, mientras que el lenguaje de programación especifica cómo, sin mezclar los dos planes. Sin mencionar que los comentarios pueden revelar involuntariamente debilidades en el sistema que pueden ser explotadas para violar un sitio.

Profundizando en el técnico, en otra página hay una clave de acceso al contenido que se muestra en texto claro. Independientemente del tipo de contenido y el nivel de secreto de esa clave, es una mala práctica de programación y, por lo tanto, aquellos que están acostumbrados a no exponer públicamente las claves de acceso no lo hacen para ningún tipo de recurso. Las variables de sesión, aquellas que permiten que nuestro navegador continúe navegando por las páginas de acuerdo con nuestro perfil de usuario, también se manejan superficialmente, dando visibilidad al exterior.

Este breve análisis ciertamente no tiene la intención de emitir un juicio general sobre el sistema de TI del instituto, ya que no ha tenido acceso a procedimientos internos, sino solo a aquellos que son inmediatamente visibles para cualquiera que navegue por el sitio. Sin embargo, es inaceptable ver en 2020 que el código del sitio de uno de los institutos de administración pública más importantes se desarrolló de una manera poco profesional, independientemente de las pautas que se enseñan en las escuelas y universidades para desarrollar calidad, solidez y resistente a los ataques.

Foto: Twitter