Apocalisse CrowdStrike

A tratti unpopular opinion, ma fondamentalmente biasimo da nostalgico della disciplina che insegno da tempo e che continuo a praticare sia con vecchie che con nuove infastrutture informatiche, virtualizzate e non: l’amministrazione dei sistemi ICT, pane quotidiano di tutti i veri sysadmin.

Francamente penso che il mercato dell’Informatica da una parte si stia assuefacendo all’Automazione dei sistemi finalizzata alla riduzione dei costi (DevOps), dall’altra parte stia perdendo di vista il Santo Graal di tutti i sistemi informatici: la Disponibilità.

L’Automazione può rendere i sistemi più veloci ed economici riducendo l’elemento umano, ma un’operazione critica come quella di aggiornare un componente fortemente (troppo?) integrato nel sistema operativo andrebbe supervisionata: il recente disastro informatico legato al BSOD provocato da Falcon – l’agent software commercializzato dalla nota azienda CrowdStrike – è infatti la dimostrazione che anche i più blasonati operatori del settore commettono errori e possono provocare devastanti incidenti informatici, e almeno per ora, francamente non vedo un orizzonte rassicurante nemmeno per un futuro prossimo: non possono infatti testare alla perfezione ogni rilascio, per ogni possibile target, per ogni intricato scenario di utilizzo variabile (da più di qualche anno, ormai, ci si sono messi in mezzo sia il Cloud che il mondo IoT con i suoi firmware personalizzati spesso Insecure by Default).

La soluzione non è ovviamente quella di aspettare che i sistemisti abbiano il tempo di applicare gli aggiornamenti a mano, ma definire preventivamente procedure chiare e testate, e avere in squadra persone che sappiano eseguirle nei tempi e modi opportuni: cioè tempestivamente, ma non alla cieca. Ci devono essere precise fasi di STAGING ed esperti (ossia figure senior) che possano bloccare il passaggio in produzione prima che avvengano danni gravi…come quelli provocati da CrowdStrike.

Costoso? Ovviamente… e invece bloccare inaspettatamente voli intercontinentali e banche di mezzo mondo non ha avuto alcun impatto?

Obsoleto pensare a interventi manuali?
Già, proprio come quelli che sono stati necessari per ripristinare i sistemi coinvolti, secondo alcuni esperti addirittura per mesi.

Suggerimento: rileggere le due frasi precedenti immaginando che un episodio analogo colpisca, invece degli aeroporti (la foto sottostante ritrae i nastri trasportatori presso l’aeroporto “LaGuardia” di NYC durante l’incidente informatico del 20 luglio 2024), i sistemi di controllo di una rete idrica o elettrica, o impianti chimici, o i sistemi di sale operatorie o ancor peggio sistemi MILITARI.

Forse è utile riportare l’attenzione sulla Formazione, e relativamente al mercato del lavoro, coinvolgere chi realmente conosce e ha esperienza nella gestione delle infrastrutture o si è preparato alacremente per questo, non solo chi sa esclusivamente installarci sopra delle applicazioni solo perché costa meno sul libro paga.

Addendum:
tutti i media sono corsi a intervistare gli esperti di Cybersecurity più in voga (tutti esperti di kernel Windows, di puntatori a puntatori nonché di gestione della memoria heap a basso livello?!?🤔ma davvero?🤔) poiché così vanno le cose (anche in Italia), giacché se oggi un sistema informatico o una rete si interrompe, immediatamente il mainstream grida all’attacco informatico, tuttavia nel caso di CrowdStrike non si è trattato di questo.

Intendiamoci, c’è effettivamente di mezzo un’azienda (CrowdStrike) che di quello si occupa (e se non fosse un aspetto importante della vicenda, non insegnerei Cybersecurity e Sistemi operativi in contesti diversi, dai corsi professionalizzanti per diplomati ai master per neolaureati) ma focalizzarsi sul fatto che detta azienda si occupi di Cybersecurity fa perdere di vista il problema essenziale, ossia che si è trattato di un problema sistemistico, generato da un bug contenuto in un software proprietario commercializzato da un’azienda che sviluppa software per la Sicurezza Informatica, e la soluzione al problema, pur avendola tirata fuori dal cilindro i progettisti stessi di CrowdStrike, sulle reti in produzione l’hanno poi applicata dei sistemisti, non dei malware analyst né dei penetration tester.

Poi è interessante notare come la profezia in qualche modo si sia auto-avverata, con svariati attacchi informatici mascherati da soluzioni al problema… di nuovo facendo leva sul pretenzioso desiderio di Automazione perfetta.

A questo link è possibile consultare un recente articolo della stessa CrowdStrike per approfondire la soluzione della problematica che essi stessi hanno generato.

Concludo questo messaggio in bottiglia destinato a quei CISO e architetti di sistemi ICT che transitano da queste parti: incidenti informatici come questo invocano la necessità di ridefinire il concetto di HA (High Availability) studiato nelle Università; se i vari Domain Controller, server FTP, HTTP, SMB ecc.. fossero stati duplicati anche su sistemi Linux (quante sono le organizzazioni che continuano a investire ciecamente solo su Microsoft Windows quando invece molti dei medesimi servizi si possono erogare anche su Linux/Unix?), questo disastro informatico di portata globale si sarebbe potuto “banalmente” evitare con una migrazione temporanea verso i relativi sistemi Linux/Unix ridondati e aggiornati con i medesimi dati contenuti nei database Windows operativi fino a qualche minuto prima. La (Cyber)Security by Design (che oltre al codice andrebbe applicata anche alle architetture dei sistemi informativi) è tutt’altro che improvvisazione: non si può dunque improvvisare affidando il disegno e la gestione del proprio patrimonio informativo al primo ciarlatano o alla prima società di consulenza solo perché suggerita dall’amico dell’amico del collega del CISO tal dei tali (che magari non ha mai realmente seguito un corso né di (Cyber)Security by Design, né di Secure Coding né di Zero Trust Security), poiché prima o poi potrebbe ricapitare ciò che è già successo…e cadresti, come tanti altri/e, nel medesimo (o|e)rrore strutturale provocato dall’approccio ingenuo di chi ti ha evidentemente venduto incompetenza spacciata per Professionalità.

Riflettici.

Malware: rimanere aggiornati con Zhussupov

Più che interessante lettura estiva…direi doverosa per tutti coloro interessati alla malware analysis.

Sono rimasto affascinato da questo libro di Zhassulan Zhussupov: seguo l’autore da un po’ su Twitter, e onestamente posso dire che questo volume non solo ha soddisfatto, ma che ha superato le mie aspettative con la sua ricchezza di contenuti nonché di applicazioni pratiche.

Testo fondamentale per qualsiasi professionista operativo nel mondo della Cybersecurity e che desideri approfondire la propria comprensione degli attuali malware, in esso l’autore discute e mostra tecniche avanzate di persistenza (APT) ed evasione dei malware in modo chiaro e dettagliato, integrando esempi pratici di codice di facile lettura (a patto che si abbia un minimo di basi di programmazione a basso livello tramite Python e C/C++) che trasforma la teoria complessa in un apprendimento accessibile e coinvolgente.

I capitoli dedicati agli APT, alle tecniche anti debugging e agli algoritmi matematici per cifrare i payload dei malware sono tra i miei preferiti, poiché offrono approfondimenti dettagliati difficili da trovare in altre pubblicazioni. Interessante il collegamento tra APT e cybercrime, che fornisce considerazioni e spunti di riflessione tali da evidenziare la complessità e le sinergie operative tra i malware e le moderne minacce informatiche in un modo che altri testi (almeno tra quelli da me studiati fino ad oggi) non fanno.

L’autore discute più di 100 esempi di malware, del resto è tra coloro che alimentano il noto portale Malpedia.

Penetration test: siamo sicuri?

Prima di accettare un ingaggio per un penetration test o per un vulnerability assessment non solo risulta prudente ma anche doveroso accertarsi che il cliente sappia effettivamente cosa vuole… giacché non gli è sempre così chiaro, anche perché penetration test è ormai diventato un termine abusato per svariate problematiche:
– sta cercando solo un audit del codice e in realtà confonde i termini?
– forse è alla ricerca solo di una Code Review?
– il cliente si aspetta che lavoriamo in ambito Blackbox, Whitebox o Greybox?
– l’analisi dovrà essere circoscritta al perimetro ICT oppure dovrà coinvolgere anche gli apparati e i sistemi del mondo ICS?
– il cliente si aspetta che venga incluso anche il perimetro VoIP/IoT nell’assessment?
…e oltre alle variabili ad alto livello indicate nel grafico, aggiungo fattori contestuali non banali:
– i sistemisti che gestiscono l’infrastruttura del cliente sono dipendenti interni o consulenti esterni del cliente?
– la società che ci sta commissionando l’attività, effettivamente è la società proprietaria dei sistemi da scansionare ed attaccare?
– chi di dovere ci ha firmato le necessarie manleve a norma di legge?
– i sistemi da testare sono pubblicamente raggiungibili da Internet oppure per testarli occorre necessariamente essere collegati alla LAN/WLAN del cliente?
– chi di dovere ci ha fornito la lista aggiornata delle sottoreti da sottoporre a scansione oppure dovrà essere nostra cura scoprire quali siano gli indirizzi IP associati ai sistemi?
– il target fa uso anche di sistemi o servizi in Cloud? e se sì, quali?
– gli utenti operativi nell’eventuale rete on-premises del target adottano abitualmente smart card per le loro operazioni?
– il target è una piccola azienda, una media realtà o addirittura un S.O.C. / M.S.S.P. di portata nazionale?
– il cliente è interessato a qualunque vulnerabilità eventualmente presente nei suoi servizi e sistemi oppure solo al mondo OWASP?
.
.
…ecc.. ecc..


L’adeguamento degli ISMS

Un ISMS (Information Security Management System, in italiano “Sistema di gestione della Sicurezza delle Informazioni“) è uno strumento fondamentale per supportare le organizzazioni nell’adottare le necessarie misure tecnologiche, i servizi e gli strumenti di monitoraggio e controllo digitale che consentono di proteggere il patrimonio informativo aziendale dalle minacce informatiche.

Adeguare gli ISMS aziendali agli standard ISO 27001 continua ad essere un compito arduo per molte organizzazioni, tuttavia esistono numerosi consulenti, aziende e professionisti del settore che possono facilitare i processi di migrazione ed ingegnerizzazione dei sistemi ICT per ristrutturare in maniera efficiente e tempestiva l’intero sistema informativo a ciò che lo standard prevede (rendendo anche l’ISMS stesso compliant alle normative): se come me sei uno tra questi, potresti trovare utile questo diagramma mentre approfondisci o applichi l’attuale standard ISO 27001.

Firme digitali falsificabili in Putty

Le versioni del noto software PuTTY dalla 0.68 alla 0.80 (inclusa) presentano una vulnerabilità critica nella parte di codice che genera firme dalle chiavi private ECDSA che utilizzano la curva NIST P521 (PuTTY, o Pageant, genera una firma digitale da una chiave quando la usi per autenticarti su di un server SSH).

A questa vulnerabilità è stato assegnato il CVE-2024-31497. La vulnerabilità è stata scoperta da Fabian Bäumer e Marcus Brinkmann, dell’Università della Ruhr di Bochum (è disponibile un loro articolo sulla mailing list oss-security), in Germania.

L’effetto della vulnerabilità è quello di consentire la compromissione della chiave privata. Un attacker o un utente malintenzionato in possesso di alcune dozzine di messaggi firmati (e della chiave pubblica) ha informazioni sufficienti per recuperare la chiave privata e quindi falsificare le firme come se provenissero da te, consentendogli (ad esempio) di accedere a qualsiasi server in cui utilizzi quella chiave per autenticarti. Per ottenere queste firme, l’attacker deve solo compromettere brevemente un qualsiasi server su cui si utilizza la chiave per autenticarsi, oppure ottenere momentaneamente l’accesso a una copia di Pageant che detiene la chiave (tuttavia, queste firme non sono esposte agli sniffer passivi delle connessioni SSH…).

Pertanto, se disponi di una chiave di questo tipo, i crittoanalisti consigliano di revocarla immediatamente: rimuovi la vecchia chiave pubblica da tutti i file Authorized_keys di OpenSSH e l’equivalente negli altri server SSH, in modo che una firma della chiave compromessa non abbia più valore. Genera quindi una nuova coppia di chiavi per sostituirla.
(il problema non riguarda il modo in cui la chiave è stata generata; non importa se proviene da PuTTYgen o da qualche altra parte: ciò che conta è se è stata mai utilizzata con PuTTY o Pageant).

La buona notizia: l’unico tipo di chiave crittografica inficiata da CVE-2024-31497 è l’ECDSA a 521 bit. Cioè una chiave che in Windows PuTTYgen si presenta come ecdsa-sha2-nistp521 all’inizio della casella “Impronta digitale chiave”, oppure come NIST p521 quando viene caricata in Windows Pageant, oppure ha un ID che inizia con ecdsa-sha2- nistp521 nel protocollo SSH o nel file della chiave. Altre dimensioni dell’ECDSA e altri algoritmi chiave non sono coinvolti dalla vulnerabilità, in particolare, non è coinvolto lo schema di firma Ed25519.

Link di approfondimento:
Link1
Link2
Link3

Un simpatico congegno IoT…

…che permette, in maniera estremamente compatta e ad un prezzo interessante, di:
✅️ monitorare il traffico di rete
✅️ esfiltrare dati
✅️ stabilire connessioni VPN
✅️ avviare reverse shell
✅️ sniffare pacchetti
✅️ effettuare spoofing DNS
✅️ accedere alla shell tramite root

Dispone di un interruttore con 4 posizioni: ognuna di esse rappresenta una modalità operativa configurabile attraverso uno specifico script.
È conoscendo anche strumenti come questo che possiamo migliorare la nostra Cybersecurity Posture (nostra e quella dei nostri clienti): come al solito, restiamo vigili e teniamo gli occhi aperti.

Regex (espressioni regolari)

Appunti utili per velocizzare l’utilizzo delle regex, sia in bash che in altri ambienti. Dedicato ai miei studenti, a me stesso, ma anche a te, lettore capitato qui sul blog per curiosità, per svago o semplicemente per sbaglio.

‘cat log.txt | grep -oE ‘\b([0-9]{1,3}\.){3}[0-9]{1,3}\b’ | sort -u > miofile.txt’ –> elabora in modo efficiente un file di log, dapprima visualizzandone il contenuto, poi estraendone univocamente eventuali indirizzi IP presenti al suo interno, successivamente ordinando e rimuovendo i duplicati attraverso “sort -u”, infine salvando i risultati nel file denominato “miofile.txt”

Indirizzi IPv6, Regex per identificare
(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]).){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))

MAC Address, Regex per identificare
^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$

Email, Regex per identificare
(([a-zA-Z0-9_-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([a-zA-Z0-9-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)(\s;\s|\s$))

Ne aggiungerò via via altre prossimamente.

Risorse di approfondimento:
Link1
Link2
Link3
Link4 (SANS)

Anydesk breach 2024

Sì, AnyDesk ha revocato il certificato digitale usato per firmare i suoi binari utilizzati da migliaia – milioni? – di utenti. Sì, hanno anche revocato le credenziali per accedere al loro portale. Tutto ciò che si sa al momento è questo, così come solo questa è la portata dei fatti pubblici nel momento in cui sto scrivendo. Il resto di quello che leggo nei forum e nelle testate del settore, in questi giorni, non sono altro che FUD spuri: client AnyDesk con backdoor, dump delle credenziali provenienti dalle violazioni ecc.. ossia quel tipo di pettegolezzi spesso privi di fondamento quando non risultano avvalorati da perizie informatiche giurate che ne appurino le veridicità senz’ombra di dubbio. Si trovano appunto molti FUD in rete, ma non ancora nessuno che mostri o abbia reso disponibili evidenze digitali in grado di avvalorare nero su bianco (o se preferite, byte su byte) i peggiori scenari di breach.

Ciò nonostante, qui trovi delle regole YARA per rilevare i binari firmati con un certificato digitale AnyDesk potenzialmente compromesso: fare comunque una ricerca sui filesystem dei nostri clienti non è una cattiva idea.