<Tra cyberguerra e cyberpace, chiediamoci: esiste una qualche esperienza della programmazione che possa dirsi e farsi sicura? E se non esiste alcuna programmazione che possa farsi sicura e possa dirsi al sicuro, che cosa rappresenta filosoficamente questa insicurezza ontologica del codice? Dobbiamo prendere consapevolezza e comprendere che la società digitale nasce insicura sin dalle sue origini e nelle sue fondamenta. E lo è perché il motore invisibile che movimenta la società digitale (con cui costruiamo applicazioni, reti, servizi, architetture e macchine), il codice software, è una scrittura arrischiata del mondo secondo almeno tre forme distinte (ma interconnesse) di insicurezza. Dobbiamo riconoscere, dunque, che il codice software è: a) fallibile; b) degradabile; c) vulnerabile. In primis, il software è fallibile perché i vari processi interni di riscrittura che gli sviluppatori del software fanno per passare dal linguaggio umano a un linguaggio comprensibile a una macchina (da source-code a object-code) non sono per nulla assicurati nel loro svolgersi ideale senza difetti e, di conseguenza, questi svolgimenti sono sempre a rischio di collasso. In secondo luogo, il software è degradabile nella durata e nella scala. Lo sviluppo, cioè, continuo e stratificato nel tempo di programmi e applicazioni installati dentro architetture di rete, distribuite, virtualizzate, da aggiornare e tenere in manutenzione (refactoring) rischia di portare all’illeggibilità e all’ingestibilità per l’umano del codice prodotto. Così si fatica a controllare e a gestire architetture e applicazioni. Da ultimo, infine, il codice software è vulnerabile, non solo a causa di fallimenti interni o di degradazioni nel tempo e nella scala, ma perché è preda di aggressioni informatiche esterne, malevole e criminali. Che siano attacchi generati da singoli o collettività, da privati o Stati, il software rischia l’essere del mondo. A partire dalle infrastrutture sociali primarie e vitali, da quelle ingegneristiche come le installazioni di difesa a quelle istituzionali come le procedure democratiche. Dunque, fronteggiamo un rischio interno di fallibilità (fallibility), uno esterno di vulnerabilità (vulnerability) e uno cronico di degradabilità (degradability). La programmazione è una scrittura che rischia nuovamente e diversamente l’essere del mondo. Se la computazione è ontologicamente fallibile, vulnerabile e degradabile come possiamo costruire nuove forme di affidabilità e di affidamento? Di quale e quanta innovazione culturale avremo bisogno per poter mitigare al meglio i rischi (tra collassi, attacchi e degradi) connessi alla (in)sicurezza computazionale? Di quali nuove immunità (decentralizzazione, tecnodiversificazione, de/ri-globalizzazione, educazione, legislazione, cyberassicurazione, comunitarizzazione) avremo bisogno? Non è una domanda strumentale, ma esistenziale. Perché oggi, la superficie/abisso del rischio è il mondo intero nel suo essere programmabile, nel suo esser-C. Se la nostra nuova condizione arrischiata è il farsi-mondo del codice, ne va del nostro esser-ci” (Accoto, 2024)
