Bonus für den Covid-19-Notfall: die traurige Analyse des INPS-Portals ...

(Di Opponierbaren Daumen)
02/04/20

Was gestern passiert ist, der erste Tag, an dem man die Prämie beantragen konnte, die der Staat Selbstständigen für den Covid-19-Notstand gewährt hat, ist unglaublich. Es war vorhersehbar (unvorhersehbar, aber weithin vorhersehbar!), dass alle Berechtigten sofort versuchen würden, den Antrag auszufüllen, indem sie sich gleichzeitig mit dem INPS-Portal verbinden. Wer ein E-Commerce-Portal betreibt, weiß genau, dass es sein Ziel ist, dass er mit der Ankündigung von Angeboten zu bestimmten Produkten mit zahlreichen gleichzeitigen Zugriffsanfragen potenzieller Kunden konfrontiert wird. Und es ergreift die notwendigen Gegenmaßnahmen, sowohl durch eine vorübergehende Erhöhung der Empfangskapazität der Site, die heute möglich ist, wenn Sie über eine verteilte oder „Cloud“-Architektur verfügen, als auch durch die Ausstattung mit einer Art „Warteschlangenentferner“, der den Zugriff auf eine maximale Anzahl von Themen ermöglicht Gleichzeitig bittet man die Exzesse, es später noch einmal zu versuchen. In diesen Tagen, in denen wir alle zu Hause bleiben, muss es vielen passiert sein, dass wir einkaufen gehen wollen Online und der Supermarktstandort ist voll funktionsfähig, aber aufgrund der maximalen Anzahl an Kunden, die gleichzeitig bedient werden können, nicht verfügbar.

Dabei geht es nicht um teure oder besonders innovative Technologien. Lassen Sie uns über den gesunden Menschenverstand sprechen, der im täglichen Leben gilt und den diese Woche auch die Post nutzt, um den Andrang an den Schaltern für die Rentenzahlung zu vermeiden: Sie haben einen gestaffelten Zugang, basierend auf dem Buchstaben des Nachnamens. Ähnliche Maßnahmen wurden heute (endlich!) auch für den Zugang zur INPS-Website ergriffen.

Nun hat das völlige Fehlen einer grundlegenden Richtlinie für die Verwaltung des Zugriffs auf die Website, wie sie gestern in einem erwarteten Höhepunkt der Zugriffe gezeigt wurde, Fragen über die Qualität eines zentralen IT-Systems für das Leben der Italiener als Manager der sozialen Sicherheit und der sozialen Sicherheit aufgeworfen der sozialen Unterstützung. Anschließend untersuchten wir, was sich direkt unter der Oberfläche der Website des Instituts verbirgt, und analysierten die Programme, die die Seiten erstellen, die wir in unserem Browser sehen. Es handelt sich um öffentlichen Code, da er das ist, was unser Computer empfängt, wenn er eine Verbindung zu einer Website herstellt, Code, der lokal verarbeitet wird und als Ergebnis den grafischen Aspekt der Seite bereitstellt.

Was einem Programmierer erscheint, ist ein schlampig entwickeltes System. Wenn ein High-School- oder Erstsemester-Student in diesem Bundesstaat ein Programm einreichen würde, würde er sofort abgelehnt, weil er die Mindeststandards an Ordnung, Genauigkeit und Professionalität bei der Codierung nicht erfüllt.

Sehen wir uns einige Beispiele an.

Der Code einer der Seiten enthält eine Variable, also einen „Container“ von Werten, deren Verarbeitung entweder die nachfolgenden Phasen einer Prozedur oder den grafischen Aspekt der Seite bestimmt, deren Name lautet „Foo“. Im umgangssprachlichen Austausch können wir uns nun auf Disney-Figuren beziehen, ähnlich den italienischen „Tizio“, „Caio“ und „Sempronio“. Aber in einem Programm muss der Name der Variablen immer so sein, dass man verstehen kann, welche Rolle sie im Programm spielt. Ein Fachmann würde niemals ein Programm veröffentlichen, dessen Namen fantasievoll und nicht zugewiesen sind, um einen genauen Bezug zum Verarbeitungsablauf zu haben, für den sie eingegeben wurden.

Für manche mag es wie eine ästhetische Eigenart erscheinen, aber die Nichtbeachtung aller Aspekte eines Programms, die eine Überprüfung der Korrektheit und Konsistenz eines Programms ermöglichen, kann ein Indikator für andere schwerwiegendere Mängel sein. Diese Schlamperei zeigt sich auch bei umgangssprachlichen Kommentaren wie „skippa“ was wir ehrlich gesagt nie wünschten, wir hätten es auf diesen Seiten gesehen. Und tatsächlich gibt es auf anderen Seiten immer noch zahlreiche Kommentare auf Italienisch, die alle vorgenommenen Änderungen mit Angabe der Gründe angeben, manchmal verbunden mit der Lösung von „Problemen“. Wenn Sie hier die Neugier eines „Hackers“ wecken möchten, gibt es nichts Besseres, als ihn direkt und ehrlich darüber zu informieren, dass es Probleme gibt.

Auf anderen Seiten gibt es noch Kommentare, die die Wirkung der folgenden Funktionen erläutern. Eine Programmiersprache ist nur eine Sprache, und wer sie beherrscht, braucht keine Kommentare, um ihre Bedeutung zu verstehen. Normalerweise geht der Entwicklung eines Programms eine Projektphase voraus, in der in natürlicher Sprache erklärt wird, was es leisten muss, während die Programmiersprache vorgibt, wie, ohne die beiden Ebenen zu vermischen. Ganz zu schweigen davon, dass Kommentare unbeabsichtigt Schwachstellen im System aufdecken können, die zum Hacken einer Website ausgenutzt werden können.

Um technischer zu werden, gibt es auf einer anderen Seite einen Zugangsschlüssel zu einem Inhalt, der im Klartext gemeldet wird. Unabhängig von der Art des Inhalts und der Geheimhaltungsstufe dieses Schlüssels stellt dies eine schlechte Programmierpraxis dar, und diejenigen, die es gewohnt sind, Zugriffsschlüssel nicht öffentlich preiszugeben, tun dies daher nicht für irgendeine Art von Ressource. Sogar die Sitzungsvariablen, die es unserem Browser ermöglichen, die Seiten gemäß unserem Benutzerprofil weiter zu durchsuchen, werden auf oberflächliche Weise verwaltet, sodass sie nach außen sichtbar sind.

Diese kurze Analyse hat sicherlich nicht den Zweck, ein Gesamturteil über das Computersystem des Instituts abzugeben, da wir keinen Zugriff auf die internen Abläufe hatten, sondern nur auf diejenigen, die für jeden, der auf der Website surft, sofort sichtbar sind. Es ist jedoch inakzeptabel, dass im Jahr 2020 der Site-Code eines der wichtigsten Institute der öffentlichen Verwaltung auf unprofessionelle Weise entwickelt wurde, was zu einer Missachtung der Richtlinien führt, die in Schulen und Universitäten gelehrt werden, um qualitativ hochwertige, robuste und zu entwickeln resistent gegen Angriffe.

Foto: Twitter