Qual è l’evoluzione della cyber security prodotta dalla convivenza con la pandemia? Quesito legittimo, che però – di fatto – non apre nuove porte.
Mi spiego. A causa delle varie forme di lockdown a cui siamo dovuti ricorrere, è aumentato a dismisura l’uso di piattaforme di videoconferenza come Zoom, Meet, Team ecc. Queste piattaforme, da un punto di vista tecnologico, non hanno introdotto novità alcuna, essendo la tecnologia dell’informazione in grado di produrre piattaforme simili già 20 anni fa. Quella che è mutata è la motivazione: oggi un pubblico sempre più folto deve ricorrere a tali piattaforme che, pur esistendo precedentemente, sono state finalmente testate dalla massa, evidenziandone lacune ed errori.
Cyber security, le strategie dei Governi e le sfide per le PMI: scenari in mutamento
Cybersecurity ed errore
Teniamo presente che l’intruso informatico può usare varie tecniche di attacco. Fra queste vi è senza dubbio la capacità di abusare di una piattaforma a causa di un errore della stessa. Tale errore può derivare da una logica imperfetta dell’applicazione che è in esercizio sulla piattaforma, oppure da vulnerabilità scoperte nel sistema operativo o nel software di base, che sono spesso usati dall’applicazione.
Quindi, piattaforme poco testate, errori poco rilevati. Con l’impiego di folle massicce che usano i vari Zoom/Meet/Team ecc., è naturale che siano cresciute a dismisura le rilevazioni di errori, o imperfezioni, o vulnerabilità di queste piattaforme. Che differenza c’è fra errore (anche semplici imperfezioni) e vulnerabilità? Sarà meglio usare semplici esempi.
Un errore può riflettere una conoscenza incompleta del progettista del dominio preso in considerazione, o un’analisi insufficiente, alla quale è sfuggito qualche caso particolare.
Oppure, pur in presenza del riconoscimento del caso, la procedura definita per la gestione del caso ha lacune semantiche.
È anche possibile che il progetto sia stato fatto con cura, e che l’errore sia stato introdotto in fase di programmazione, ovvero della produzione del codice sorgente che è alla base del programma. In pratica – lasciatemi la metafora – è come se in presenza di un’espressione algebrica qualcuno commetta errori di calcolo nel valutarne il risultato. Ciò è del tutto naturale, e non ha nulla a che vedere con la genialità dell’esecutore. Ha fatto uno sbaglio e ciò capita; e basta. Quello che cambia, può essere la velocità con cui l’errore viene riconosciuto e corretto; infatti, è qui che si pone la bravura di programmatore.
Il mio primo professore di programmazione, Carlo Batini, parlava dei cinque livelli di correttezza del software, in cui il livello più alto recitava “un programma deve comportarsi correttamente sempre, e per qualsiasi tipo di input, lecito o illecito”. Non avevo mai capito il perché di una richiesta così esigente, ma trent’anni dopo ho scoperto che la correttezza a livello quattro (“un programma deve comportarsi correttamente per qualsiasi tipo di input lecito”) poteva dare a un attaccante la possibilità di far crashare lo stesso e poi abusare di una piattaforma informatica.[1]
In fondo, saper trovare gli errori è considerato assai più difficile di stabilire se la computazione terminerà o meno; ciò è importante perché quest’ultimo problema è indecidibile, cioè non esiste alcun metodo che permette la sua risoluzione. Si può riconoscerne l’indecidibilità attraverso una macchina di Turing,[2] o attraverso un semplice programma C. Il metodo è sempre lo stesso: ammettiamo per assurdo che esista una macchina, o un programma, capace di stabilire se la computazione di una macchina terminerà oppure no. Ebbene, attraverso alcuni semplici passi, di logica inequivocabile, matematicamente corretti, si arriva ad asserire una proposizione assurda, che non può essere vera né tantomeno falsa: di qui l’assurdità del presupposto.
Trovare un errore è più difficile che stabilire la terminazione di un programma (halting problem)[3]; se già la terminazione di un programma è indecidibile, figuriamoci la sua correttezza.
D’altra parte, nei contratti di outsourcing, ove si stabiliscono i termini dell’accordo, non vi è mai scritto che il fornitore dovrà consegnare un programma corretto, bensì sono specificati i termini di intervento dello stesso; sospetto che un accordo in cui si pretenda la consegna di un programma corretto (senza errori) possa essere addirittura impugnato.
Una vulnerabilità invece non rappresenta necessariamente un errore da parte di qualcuno, quanto piuttosto ha a che vedere con un comportamento inatteso della piattaforma di fronte a una situazione non preventivata. Una tecnica usata frequentemente dall’attaccante è produrre un crash della piattaforma in seguito a un input illegale, o semplicemente non preventivato. Trattandosi di un input non legale, non possiamo parlare di errore; eppure, al momento del crash, non sappiamo quale sia lo stato del sistema, o – peggio – l’attaccante lo conosce, e conta sulla sua illegalità. Non siamo in presenza di un errore, ma di una programmazione poco sicura, e che nega le linee guida di OWASP (Open Web Application Security Project), che recitano “fail securely”.[4]
Dunque, abbiamo che la presenza di errori o vulnerabilità può determinare il crash insicuro, a causa della non prevedibilità del sistema, che permette all’attaccante di eseguire azioni che normalmente non potrebbe seguire, violando i principi base della sicurezza delle informazioni. Infatti, ciò può essere prevenuto utilizzando lo sviluppo software sicuro.
Il malware, l’e-mail, il phishing e gli antivirus
Altra fonte di frequente “cyber insicurezza” è l’abbondanza di malware,[5] a minacciare i nostri dispositivi. Il concetto di malware ha recentemente subito un’evoluzione rispetto a quello che ne era il significato 20 anni fa. Se una volta era importante fare gesti dimostrativi, come costruire vermi, diffondersi nella rete locale o mandare e-mail fasulle, veicolanti lo stesso o altro malware, oggi si è più essenziali, focalizzando obiettivi specifici e pragmatici: favorire la business intelligence (o l’intelligence più in generale), farsi pagare un riscatto (ransomware) o spiare un concorrente (backdoor, trojans, keyloggers, o altro). “Installa l’antivirus!” Certo, questa frase è divenuta nel tempo un tormentone, luogo comune, eppure non sono per nulla sicuro che l’utenza ne comprenda pianamente il significato, perché un antivirus sarà efficace solo contro il malware riconosciuto come tale. In altre parole, se viene confezionato un nuovo tipo di malware, non noto al momento del suo uso (zero-day[6]), molto difficilmente l’antivirus potrà operare.
Malware e Covid
Tutta questa discussione sul malware, cosa ha a che vedere con il COVID-19? Nell’ottica posta, credo sia semplice riconoscere che lo smart-working, che non consiste solo nell’usare le piattaforme per videoconferenza, ha incrementato l’uso della e-mail, che ha sempre veicolato malware e phishing (argomento presto affrontato). Se esiste dunque un rischio nell’uso della posta elettronica, l’intensificazione del suo uso produce un proporzionale aumento del rischio. L’e-mail esiste dagli anni ’70, conservando una serie di problemi mai realmente affrontati e risolti per il grande pubblico. Ci si è un po’ concentrati sul mettere in sicurezza la e-mail in transito, e poco sul mettere in sicurezza quella “a riposo”. Eppure, al termine del transito l’e-mail va “a riposo”.
Bene, i principi di confidenzialità ed integrità non vengono automaticamente assicurati per l’e-mail a riposo (come avviene invece per l’e-mail in transito), anzi le e-mail vengono spesso analizzate (automaticamente, non da operatore umano) per determinare quali siano le inserzioni pubblicitarie meno “distanti” dal contenuto dei messaggi. La consapevolezza di ciò, abbastanza ovvia per gli operatori dei dipartimenti IT delle aziende, difficilmente raggiunge posizioni di responsabilità, dove dovrebbero venir prese certe decisioni relative ad accettare il rischio che le e-mail siano custodite in chiaro da qualche parte. Tutto ciò subisce una amplificazione pari a quanto lo smart-working ha soppiantato il lavoro tradizionale (non smart?). Così accade che aziende anche molto importanti hanno la governance ignara del fatto che le loro e-mail sono memorizzate in chiaro nella pancia di server di posta che si trovano chissà dove. Tali punti, non cambiano per la presenza dello smart-working, ma chiaramente sono tirati in ballo maggiormente dal procurato aumento del traffico delle e-mail. Inutile dire che il malware convogliato dalle e-mail immondizia è aumentato significativamente, producendo un proporzionale aumento del rischio.
Il phishing
Come è noto, il phishing (non lo spear phishing) è una nota tecnica di attacco attraverso Internet, che consiste in una truffa che cerca di ingannare una vittima “convincendola” a inserire dati sensibili (in genere password o PIN) in un modulo fasullo, certe volte costruito ricopiando alla perfezione caratteristiche (logo, o altro) del sito originale, contando sulla ignoranza dell’utente, che non ha ben chiaro che nessuno che abbia buone intenzioni possa chiedergli password o altri dati sensibili attraverso un’interfaccia raggiungibile con un link. Le e-mail di phishing vengono mandate a masse disomogenee di persone, usando liste di indirizzi di possibili destinatari che si sono procurate acquistandole sul dark web o costruendole in maniera artigianale. La speranza è che, se anche l’1‰ “abbocca”, se si spediscono 100000 e-mail, la metà fallirà per problemi tecnici, ma l’1‰ di 50000 è pur sempre 50.
Tutto ciò è naturalmente indipendente dal COVID-19 e mira a tutte le persone: non esiste personalizzazione delle e-mail (quante volte ho ricevuto una e-mail che parlava di problemi sul mio conto BancoPosta: mai avuto uno!). Situazione diversa è creata dallo spear phishing che, pur rimando simile al phishing descritto, prevede una personalizzazione del messaggio, e la e-mail conterrà riferimenti alla vita reale, che appaiono molto più convincenti; varie volte ho sentito parlare di esperti di sicurezza informatici che sono stati ingannati da e-mail di spear phishing! In generale le e-mail di spear phishing sono destinate a persone che rivestono un ruolo importante o significativo, e che hanno un certo potere decisionale. Al contrario, il phishing generico è denominato spray phishing. Lo spandersi della pandemia e il conseguente aumento dello smart-working non hanno modifico la sostanza, rimanendo il phishing immutato. Tuttavia, il fenomeno ha in primo luogo favorito la creazione di nuovi argomenti di phishing (per esempio collegati alla pandemia) e in secondo luogo ha beneficiato dall’aumentato numero di e-mail che gli utenti finali si scambiano, lavorando in smart-working.
Una semplice ma efficace misura contro lo spray phishing: copiare una porzione di testo ricevuto e ricercarla in rete tramite un motore di ricerca.[7]
Il malware non viene trasmesso solo con la posta elettronica, ma esistono altre forme di trasmissione: attraverso un drive USB, una condivisione di rete, grazie ad altro malware precedentemente installato (incluso il fatto di installare software piratato che ha un installer che, oltre al software voluto, installa malware), un sito web maligno visitato ecc. La forma di malware che spesso si nota con maggiore evidenza è il ransomware, ovvero un software che ha la capacità di criptare i file locali con una chiave sconosciuta, e poi ci ricatta per la decriptazione, chiedendo di versare una certa somma in bitcoin a un indirizzo sconosciuto (è una chiave pubblica[8]); eppure basterebbe mettere i file su un cloud (pubblico o privato che sia) per scamparla, in modo da avere a disposizione la versione precedente di ogni file (ancora non criptata). Come si modifica con il COVID-19 tale scenario? In nessun modo, tranne una certa sua intensificazione dovuta all’aumentato smart-working e quindi maggiore tempo trascorso online e un maggiore uso di piattaforme informatiche.
Altra fonte di insicurezza è il cosiddetto spyware, un particolare malware destinato a carpire dati sensibili. Lo spyware è una forma di virus, che si installa nel sistema e carpisce alcuni aspetti della nostra attività al computer, o tutti. Una forma particolare di spyware è il keylogger, capace di registrare tutti i tasti premuti sulla tastiera e anche di fare delle fotografie dello schermo a intervalli regolari, per poi inviare il tutto a qualche indirizzo IP predeterminato. Una variante è stata battezzata adware,[9] capace di bombardarci di annunci pubblicitari mentre usiamo il pc.
Il commento generale che faccio è che è opinione comune combattere il malware affidandosi a un buon antivirus (di norma fornito gratuitamente in una versione base, e a pagamento nella versione più completa, che include un anti-adware, un firewall,[10] una protezione dai siti web malevoli – attenzione ciò richiede la cessione dei nostri dati e delle nostre azioni all’antivirus, che è spesso visto dagli altri antivirus come malware), dimenticando che anche il migliore di questi prodotti non sarà in grado di prevenire o contrastare uno zero-day. Il miglior antivirus è nel nostro comportamento, che dovrebbe evitare l’esecuzione di azioni potenzialmente pericolose: inserire una chiavetta USB non nostra, visitare una pagina web malevola (talvolta presentatasi come avviso di sicurezza), aprire allegati di e-mail non affidabili, scaricare software peer-to-peer…
L’impatto del COVID-19 sul phishing è stato quello di fornire ulteriori scenari per ingannare i target.[11]
Il social engineering
Una continua e pericolosa fonte di minaccia è nota con il nome di social engineering,[12] cioè la manipolazione psicologica di terzi per indurci a commettere certe azioni o a divulgare informazioni confidenziali. Il phishing[13] è una forma di social engineering; diremo poco su quest’ultimo.
La definizione di social engineering è piuttosto generale e meriterebbe uno studio approfondito e dedicato, dalla dimensione di un volume. Mediante il social engineering si possono apprendere password, chiavi, visionare documenti confidenziali, ma quello che rimane certo è che il virus colpevole della pandemia non ha cambiato nulla nel social engineering, se non con il fornire ulteriori argomenti di inganno, che, assieme al maggior tempo trascorso online senza una adeguata formazione in materia di cybersecurity, ha determinato un conseguente incremento di attacchi.[14], [15]
Le password
Un classico problema di sicurezza è quello delle password, che sono varie, difficili da ricordare, specie con le “regole” imposte da terzi sulla presenza di minuscole, maiuscole, cifre e caratteri speciali. Questo, ed altro, portano all’aumentare dei comportamenti pericolosi, quali scegliere una password facile da ricordare e/o riutilizzare più volte la stessa password. Eppure, già nel 2016 il noto esperto di sicurezza Bruce Schneier, diceva di smetterla di correggere gli utenti infliggendo loro comportamenti poco intuitivi solo perché non siamo stati capaci di rendere i nostri computer sicuri.[16] Inoltre senza dubbio contribuisce alla nostra confusione, l’uso di termini di significato simile, come password, PIN, passphrase, chiave (key).
Le password sono quello che meglio corrispondono alla nostra intuizione e alla nostra esperienza; sono quelle parole segrete che, abbinate a uno username, che può essere, ma non necessariamente, il nostro indirizzo di posta elettronica, permettono di accedere a informazioni riservate e dedicate a noi. Senza la password non si può, di norma, accedere alle informazioni protette. Va detto subito che un attaccante può organizzare un attacco offline “a dizionario”, tentando come password tutte le parole incluse in un dizionario,[17] oltre a delle loro semplici varianti ottenute attraverso l’uso delle maiuscole e sostituendo zero alla ‘o’ e/o ‘1’ alla ‘i’, o cose simili. Questi elenchi, che raramente superano il milione di parole, e se prevediamo un migliaio di varianti per ogni parola possono raggiungere il miliardo di possibili password, nell’attacco offline a dizionario vengono tentati, una lingua dopo un’altra lingua. (Non dimentichiamo che i moderni computer viaggiano su frequenze di qualche GHz, ovvero miliardi di micro-operazioni al secondo.) Una password che assomiglia a una parola che compare in un dizionario dunque verrà inesorabilmente trovata, è solo una questione di tempo. È opportuno osservare che l’attacco a dizionario è tipicamente offline e l’attaccante lo può praticare solo una volta che abbia ottenuto, attraverso un qualche espediente, un file delle chiavi (tipicamente oscurate per mezzo di un’opportuna funzione di hashing crittografico[18]). È consigliabile usare delle chiavi “salted”[19], per non incorrere nelle cosiddette tavole “rainbow”[20], ampiamente disponibili online.
Qualcosa di simile a una password vale per una passphrase, che si distingue da una password solo perché è di norma costituita da più parole.
Un PIN (Personal Identification Number) è di fatto una password numerica, di complessità dunque più limitata, mentre una chiave fa un miglior uso degli elementi di informazione (bit) che la compongono. Ciò si spiega bene con un esempio.
Supponiamo che una password sia composta da dieci simboli; si tratta di simboli digitabili da tastiera e dunque possono variare attraverso le 26 minuscole, le 26 maiuscole, le 10 cifre, la ventina di simboli che includono parentesi e punteggiatura, un’altra ventina di simboli ulteriori, per un totale approssimativamente di un centinaio di simboli differenti. In tutto, 10010, ovvero un migliaio di miliardi. Nel caso di una chiave di dieci simboli, immaginando di basarci su un codice come quello ASCII, sfruttiamo 256 casi differenti per ogni simbolo. Dunque, a parità di lunghezza, abbiamo 25610 contro 10010 soluzioni diverse, ovvero un confronto fra due numeri dei quali il primo è molto maggiore del secondo (oltre dodicimila volte, cioè 2.5610). Di qui l’osservazione che una chiave, benché difficile da imparare e ricordare, sfrutta meglio lo spazio a disposizione, rendendo molto più lunga la scansione di tutte le possibili sequenze di simboli (attacco “a forza bruta”, non dunque basato su dizionari).
Quindi le chiavi, a parità di lunghezza, costituiscono la migliore soluzione, specie se appaiono come sequenze casuali di bit: esse prolungano oltremodo la durata dell’attacco a forza bruta.
Vale la pena rammentare che, per costruire chiavi di buona qualità, può essere utile usa una KDF (key derivation function), ossia una sorta di funzione di hashing crittografico che prende una parola in input e fornisce in output una sequenza piuttosto “astrusa” di simboli; tali KDF, sebbene frequentemente usate, producono possibili chiavi, in corrispondenza di parole iniziali, e sono sensibili agli attacchi a dizionario. Per questa ragione possono essere “salted” (v. nota 16).
Relativamente al riuso di una parola/frase segreta vale la pena osservare che la sua sicurezza dipende dal più debole dei siti che la custodisce. Una volta scoperta, l’attaccante la proverà su altri siti (e-mail, social networking ecc.), assieme alla nostra username. Ne segue che se noi la utilizziamo su nove siti sicuri e una meno sicuro, sarà lì che farà breccia l’attaccante, per poi provarla sui nove siti sicuri.
Concludiamo con il menzionare che sono in corso ricerche sul mettere in sicurezza le password, con un servizio chiamato Authentication-As-A-Service.[21]
APT
Non possiamo non menzionare gli APT (Advenced Peristent Threat), che non sono semplicemente costituiti da malware generico ma sono un insieme di malware appositamente progettati per attaccare una rete, o sistema, a lungo e profondamente. Sono in genere complessi da identificare ed estremamente costosi da confezionare, il che fa sì che solo poche organizzazioni se li possano permettere. Essi differiscono dal malware generico perché definiscono un insieme di prodotti, progettati per cooperare, e in riferimento a uno specifico target: ciò rende il loro costo altissimo.
Essi sono piuttosto usati nello spionaggio industriale e, più in generale, a scopi di intelligence da parte di agenzie nazionali di sicurezza. Hanno un tipico ciclo di vita che può ricoprire anni e che possiamo semplicemente descrivere come mostrato nella seguente celebre illustrazione di Wikepedia:
Figura: Ciclo di vita di un APT tipico
Va da sé che ogni strumento software usato durante il ciclo di vita appartiene alla categoria malware (spesso zero-day, il che gli consente di sfuggire agli antivirus) e la sua efficacia dipende dalla “collaborazione” dei vari strumenti, rendendo il risultato micidiale per il target. Come vediamo, fa parte del suo “essere” coprire le tracce lasciate per rimanere inosservati.
Sono oggi disponibili i primi studi che dimostrano come venga usato il COVID-19 come esca per installare degli APT,[22] ma i tool che effettivamente fanno il lavoro erano già noti da anni ed usati in scenari diversi.
Conclusioni
L’uso di un approccio “mondato” dai dettagli molto tecnici non ha impedito l’esecuzione di una rassegna abbastanza completa. Una evidenza che si ricava immediatamente, oltre a ciò che si poteva prevedere, è l’uso della pandemia a fini truffaldini, per convincere gli utenti ad eseguire determinate azioni. Ciò è senz’altro favorito dell’aumentato uso della tecnologia dell’informazione in tempo di pandemia, non accompagnato da una corrispondente alfabetizzazione sulla cybersecurity. Visto che oggi il termine cybersecurity si discosta significativamente dal suo significato originale, e funge da “reindirizzatore” a computer security, e visto l’uso incrementato dello strumento per motivi di smart-working e didattica a distanza, si raccomanda l’impiego urgente di risorse dedicate alla cultura della sicurezza mentre si è al computer, cosa che si era già evidenziata qualche anno fa, in occasione del restyling del sito web di Sicurezza Nazionale[23] e del Libro Bianco per la sicurezza internazionale e la difesa.[24]
Da un punto di vista strettamente tecnologico, la pandemia non ha avuto impatti sulla cybersecurity moderna.
Note
- I primi tre livelli di correttezza: 1) Il codice sorgente è compilabile (solo correttezza sintattica); 2) il programma funziona correttamente per alcuni input leciti; 3) Il programma funziona correttamente per la maggior parte degli input leciti. Purtroppo in molti software ci si ferma al livello tre, perché accade di sovente che certi input leciti, ovvero casi che potrebbero verificarsi, vengano invece ignorati. ↑
- Alan Turing. On computable numbers, with an application to the Entscheidungsproblem. Proc. London Math. Soc., 42 pp. 230–265, 1936. ↑
- Tema ampiamente trattato nella letteratura tecnica. Si veda ad esempio G. Ausiello, F. d’Amore. G. Gambosi e L. Laura. Modelli, linguaggi, complessità. Franco Angeli editore, Roma, 2014. ↑
- https://owasp.org/www-community/Fail_securely ↑
- Da malicious software, termine introdotto nel 1990 da Yisrael Radai. ↑
- Noto da zero giorni. ↑
- Tecnica che può essere utile anche nel caso di “fake news” (ovviamente non nel caso di prima pubblicazione, una sorta di zero-day) ↑
- Ingrediente fondamentale della crittografia a chiave pubblica, che consente, fra l’altro, di autenticarsi e di firmare digitalmente. Viene descritto attraverso lo standard X509 versione 3, che ne stabilisce il formato. ↑
- Da “advertising supported software”. ↑
- “Porta tagliafuoco”. Dispositivo hardware o applicazione software per la sicurezza della rete che permette di monitorare il traffico in entrata e in uscita utilizzando una serie predefinita di regole di sicurezza per consentireo bloccare gli eventi. Molto noto negli ambienti tecnici. ↑
- https://www.cybersecurity360.it/nuove-minacce/attacchi-phishing-a-tema-vaccini-anti-covid-19-ecco-le-tecniche-dei-cyber-criminali/ ↑
- Insieme di tecniche utilizzate dai cybercriminali per invitare gli ignari utenti ad inviare loro i propri dati riservati, infettare i loro computer tramite malware o aprire collegamenti a siti infetti. ↑
- Da Wikipedia: “tipo di truffa effettuata su Internet attraverso la quale un malintenzionato cerca di ingannare la vittima convincendola a fornire informazioni personali, dati finanziari o codici di accesso, fingendosi un ente affidabile in una comunicazione digitale”. ↑
- Cfr. Venkatesha, S., Reddy, K.R. & Chandavarkar, B.R. Social Engineering Attacks During the COVID-19 Pandemic. SN COMPUT. SCI. 2, 78 (2021). https://doi.org/10.1007/s42979-020-00443-1 ↑
- https://www.aon.com/cyber-solutions/thinking/social-engineering-attacks-and-covid-19/ ↑
- B. Schneier. Stop Trying to Fix the User. IEEE Security & Privacy, vol. 14, issue 5, 2016. https://ieeexplore.ieee.org/document/7676198. Una versione rivista appare sul blog dell’autore: https://www.schneier.com/blog/archives/2016/10/security_design.html ↑
- Ci sono molti dizionari online, facilmente accessibili, che contengono l’elenco di tutte le parole di una lingua. Ad esempio, per l’inglese, si trovano quasi mezzo milione di parole qui: https://github.com/dwyl/english-words ↑
- Tecnicamente parlando, una funzione di hashing crittografico è una funzione non iniettiva che risponde ai prerequisiti di “pre-image resistence”, “second pre-image resistance” e “collision resistance”. Si può vedere in proposito un qualunque testo di crittografia applicata, come ad esempio A.J. Menezes, P.C. van Oorschot and S.A. Vanstone. Handbook of applied cryptography. CRC Press, 5° ristampa, ottobre 2001. https://cacr.uwaterloo.ca/hac/ ↑
- Sono concatenate con una sequenza casuale di bit, di lunghezza fissa ed in genere non memorizzata in modo cifrato. Riducono l’uso di attacchi basati su rainbow tables (v. nota 17) ↑
- Tavole contenenti i possibili valori hash ottenuti in corrispondenza di determinate funzioni di hashing crittografico (v. nota 15) per le parole di un dizionario. Ad es., https://crackstation.net/ ↑
- A. Bissoli and F. d’Amore. Authentication as a service: Shamir Secret Sharing with byzantine components. 2021. Submitted to international conference. ↑
- https://resources.malwarebytes.com/files/2020/04/200407-MWB-COVID-White-Paper_Final.pdf ↑
- https://www.sicurezzanazionale.gov.it/sisr.nsf/cultura-della-sicurezza.html ↑
- http://www.difesa.it/Content/Pagine/Libro_Bianco.aspx ↑