Too much confidence in user input: the Gemtek WLTXFSQ-102N case

Yesterday I was having a break from studying for next exam. I had few minutes of free time, so I decided to spend that time going around inside the web interface of Gemtek WiMax/4G router that my ISP installed here. I had a “guest” account, as specified in the router’s manual.

During my “exploration” of router’s web interface I landed into “utility” web page. As usual, “utility” means “ping” and “traceroute“, nothing more. Usually, these utilities are installed as executable in router’s firmware (sometimes with busybox package), and very often web developers use these executables instead of reinventing the wheel.

Both tests (“ping” and “traceroute”) need a destination: host name or IP address. What if I insert a different thing?

Input sanitization

The golden rule for web programming is: don’t trust user’s input (actually I think that is the golden rule for everything in IT…).

I choose “ping” test. The “destination” input is protected by a Javascript that doesn’t allow me to proceed if the field doesn’t match a specific set of regular expressions. Let’s disable that check (very easy to do with Firefox/Chrome developer tools) and test some inputs:

www.google.it;ls

It doesn’t work (the output shows: “unknown host www.google.it;ls“). I was hoping that the field was appended as raw text to ping CLI utility. That’s not the case: apparently, the field is quoted with single or double quote. So let’s try with:

www.google.it';ls

Nope. Even with double-quote. Apparently the double-quote gets replaced (from server) with single-quote. So, we can assume that the web interface is launching the ping utility with destination into double-quote. Let me try something stupid:

www.google.it$(ls)

Bingo!ls” is executed, and the output is appended to ping as destination argument. That’s not a problem, because we can see the error message (“unknown host: …“) with the full output of “ls“. Ok, let’s check how the web interface is running these commands:

www.google.it$(ps)

the output is

 1399 root sh -c (ping -4 -c 5 -s 64 -W 10 "www.google.it$(ps)" > /tmp/mon_diag.log 2>&1)&

Wait a moment! We’re running as root! In fact, I was able to launch a telnet daemon and acquire a full root shell access. Then, I was able to download and decrypt some critical files, such as /etc/passwd and /etc/shadow.

How to avoid that?

The key concept is “input sanitization“. You should clean (or reject) user input server-side with a very specific filter. Are you planning to have an hostname? You should remove all chars that are not in DNS specifications. Then remote all problematic characters (if any) such as $ (dollar sign), ` (backtick) and others.

Another layer of security is executing programs with the “least-privilege” concept: you should enforce software to run with the minimum subset of privileges. If you don’t need to be root to ping, don’t be. If you don’t need “telnetd”, negate execution/access/remove from firmware.

Implementing both these best pratices will render this attack impossible.

A word about NSA/CIA

Yes, this kind of attack can be useful to NSA/CIA/hackers to hack your router and install a spyware into it. You should reduce your attack surface: change router default passwords and parameters, learn how to do it. Protect your own PC even in home network. Install a firewall, configure it. Keep your PC’s software up-to-date.

HCI-Sec: la sicurezza passa anche dalla Human Interface

Anche se non è immediato, è chiaro che la sicurezza informatica passa anche per la HCI (Human Computer Interaction). Il modo in cui sono progettati i sistemi di sicurezza influenzano in maniera sostanziale l’efficacia dei suddetti.

Facciamo un esempio? Come ricorda il blog della sicurezza di Sophos, far scadere le password in modo cadenzato, senza motivo, non ha più senso. Anche le vecchie “regole” iniziano a decadere, come i caratteri richiesti. Meglio frasi lunghe, meglio 2FA e altre tecniche più user-friendly.

Per un utente ricordarsi una password complessa, composta da lettere maiuscole e minuscole, caratteri speciali e numeri, è molto complesso: finisce per scriverla su un post-it vicino al monitor, sotto la tastiera e/o finisce ad usare sempre la stessa password (cambiando, ad esempio, un solo carattere finale, spesso con il numero).

L’autenticazione a due fattori, quando necessaria, rende il sistema molto più resistente: la conoscenza della sola password non basta, serve anche avere qualcosa dell’utente (spesso il telefono).

Inoltre dovremmo configurare i sistemi di autenticazione per essere molto più intelligenti: dovrebbero essere capaci, come fanno alcuni (Google in testa), di distinguere i PC utilizzati in passato e spesso, e fare controlli ulteriori sugli accessi non usuali (IP, orario, posizione geografica). Un po’ come alcune banche fanno con gli acquisti con le carte: se c’è un movimento fuori dal “normale” per l’utente in questione, lo chiamano chiedendo se è tutto nella norma. Se l’operazione è fraudolenta, può essere bloccata immediatamente.

L’eccesso di controlli, di barriere di accesso, specialmente di tutti quei controlli invasivi, portano gli utenti a trovare delle “scorciatoie” che, di fatto, bypassano (passatemi il termine) il livello di protezione e sicurezza desiderato. La sicurezza deve diventare un processo trasparente, deve richiedere (da parte dell’utente) meno interazione possibile.

La comunicazione, questa sconosciuta… a Latina

Recentemente ho scritto un articolo per il portale Q4Q5.it dal titolo “L’erba del vicino è sempre più verde”. Quello che ho fatto è stato mettere a confronto il sito internet del nostro Comune con quello di una cittadina simile, Salem (Oregon). L’obiettivo del paragone è dimostrare come è trattato diversamente “l’utente del portale”, che il più delle volte è il cittadino non-tecnico (in qualsiasi campo). Ovviamente, quello che emerge per il sito del Comune di Latina è un quadro disarmante.

Nonostante il cambio di amministrazione infatti, nonostante sia conclamato ormai che la comunicazione è tutto, il “portale” (chiamiamolo così) del Comune di Latina è ancora lo stesso, problematico e confuso di anni fa. Pagine inesistenti, pagine con informazioni errate o contraddittorie, informazioni tecniche inutili (per il cittadino normale) e altre informazioni tecniche mancanti (dove servirebbe).

Qualche giorno fa anche la consigliera PD Nicoletta Zuliani ha anche scritto sul suo blog riguardo al sito. Fa bene l’opposizione a battere sui problemi irrisolti, certo però che il problema c’è sempre stato e non mi pare che sia stato sollevato prima… Ma, come si dice, meglio tardi che mai!

Ma la comunicazione non è solo il sito internet: ormai i social network sono il polo principale dove trovare/raggiungere gli utenti: lo hanno capito le Ferrovie dello stato, ATAC e altri. Comunicazione è anche rispondere immediatamente (nel giro di poche ore) ai comunicati stampa provocatori, diffamatori e “disinformatori” (passatemi il termine) che spesso le opposizioni tirano fuori: l’emblema di ciò è la serie di dichiarazioni nel caso del parco “Giardinetti” di Latina:

Solo per citarne due. Dov’è il problema di queste dichiarazioni? Che il parco non si chiama “Arnaldo Mussolini”3tralasciamo poi il fatto che Arnaldo Mussolini è morto un anno prima della fondazione di Latina, alla quale non ha contribuito, come tutti credono4dalla targa che è stata messa, a questo punto pare illegalmente, dall’ex sindaco Finestra, quindi le dichiarazioni non hanno senso. Ma la gente ha solo letto quello che i giornali hanno scritto, ovvero i comunicati stampa di alcuni soggetti (che, nota personale, la storia dovrebbero studiarla), perché il Comune non ha mai chiarito. Sarebbe bastato un messaggio sul sito ufficiale.

Come ho detto più volte non faccio parte di LBC, non simpatizzo per nessun partito politico, tuttavia credo che quel poco di buono che stanno facendo stia passando inosservato rispetto ai problemi che stanno incontrando (in gran parte, lo sappiamo, dovuti ai debiti che abbiamo, ed in parte, secondo me, anche di incompetenza). In politica, al giorno d’oggi, conta più il “dire” che il “fare” (purtroppo, aggiungerei), e questo lo sanno bene le opposizioni che erano maggioranza: non hanno mai fatto nulla (o han fatto danni). Purtroppo questo problema era prevedibile, e non è imputabile ad innocenza: serve un responsabile della comunicazione che si dia da fare.

References   [ + ]

1. https://www.latinapress.it/latina/via-nome-arnaldo-mussolini-dai-giardinetti-latina-casapound-coletta-talebano-della-storia/
2. https://www.latinacorriere.it/2017/05/25/giardinetti-rinominare-coluzzi-tuona-dovremo-aspettarci-palazzo-w-invece-m/
3. tralasciamo poi il fatto che Arnaldo Mussolini è morto un anno prima della fondazione di Latina, alla quale non ha contribuito
4. dalla targa che è stata messa, a questo punto pare illegalmente, dall’ex sindaco Finestra

7 consigli per difendersi da cyberattacchi

Ricordiamoci che “prevenire è meglio che curare“, quindi spendere del tempo (e denaro) prima di un attacco è sempre un investimento per evitare di spendere più tempo e denaro ad attacco avvenuto.

Quali sono le soluzioni tecniche che possiamo adottare, in azienda, per ridurre il rischio di ransomware (e di virus in generale)? Riassumiamo:

Continue reading “7 consigli per difendersi da cyberattacchi”

Cybersecurity – Quello che non abbiamo mai fatto

Dopo i recenti fatti di WannaCry e Samba, ho riflettutto un po’ su quello che era (ed è) il mio approccio alla sicurezza informatica, almeno per le infezioni. Ma prima di affrontarlo, riprendiamo un po’ di storia.

Inizialmente, il vettore di attacco (ovvero il mezzo con il quale il virus attaccava) era un supporto di memorizzazione fisico: floppy disk, compact-disk, successivamente pennette USB e altri. A seconda se era un virus od un worm (passatemi la generica classificazione), doveva esser lanciato a mano mediante l’inganno dell’utente (ad esempio, facendosi passare per altro) oppure, i secondi, sfruttando delle falle nei sistemi di “protezione”.

Continue reading “Cybersecurity – Quello che non abbiamo mai fatto”

“L’arte dell’inganno” – Kevin Mitnick

Spinto dalla curiosità di leggere qualche libro di Kevin Mitnick, ho preso questo “Saggio”. Con la prefazione di Steve Wozniak, si presenta in due parti fondamentali: per quasi tutto il libro, dall’inizio, si raccontano storie di ingegneria sociale di persone che sono riuscite ad ottenere quello che volevano (password di accesso, documenti riservati, etc). Ogni storia (riassunta in 2 pagine al massimo) viene spiegata, viene riportato il tipo di attacco, qual è stato l’errore e quali sono i possibili rimedi. La seconda parte, molto più contenuta, riporta dettagli più tecnici sulle tipologie di attacco (e quindi di difesa) con alcune checklist ed un vademecum per migliorare la gestione della sicurezza.

Personalmente, sebbene si tratti di un libro non diretto ai tecnici, mi aspettavo di più. E’ vero che le tecniche di ingegneria sociale (le più vecchie, come banalmente chiedere la password) funzionano ancora, ma pensavo di trovarmi di fronte ad un libro con contenuti un po’ più interessanti. Quello che fondamentalmente rimane, a seguito della lettura, è quello che, almeno per me, è la normalità: il controllo delle informazioni, e quindi la sicurezza, passa dalla buona educazione degli utenti a maneggiare le informazioni stesse. Ovvero, tutti devono essere coscienti di quali rischi ci sono a fidarsi ed a non rispettare le procedure.

Edito da Feltrinelli, ISBN 978-8807818417

Ambiente: pianificazione, potature e polemiche

Quello che segue è il mio personale commento riguardo ad un fatto successo nella seduta di oggi del Tavolo per il Decoro Urbano.

Non ero mai stato al Tavolo, quindi oggi ho approfittato dell’occasione per partecipare e vedere come funziona (specie dopo le recenti polemiche sul verde pubblico). Si apre con un doveroso ricordo a Giancarlo Bovina, noto geologo di Latina, morto in un incidente poco tempo fa.

Dopo un primo momento in cui c’è stata la presentazione di alcune attività (“l’orto sociale”), ecco che qualcuno inizia a fare qualche domanda: si tratta di un ex consigliere regionale (il nome ora mi sfugge), il quale chiede conto del taglio di un intero bosco a fronte di una delibera (e di dichiarazioni) che vanno nel senso opposto. Una critica che, inizialmente, poteva anche avere senso. Ma ecco che si trasforma nell’ennesima polemica: durante la risposta di Lessio, l’ex consigliere lo incalza, si alza e porta la delibera, impone all’assessore di leggerla davanti a tutti e continua a ripetere parole senza dare il tempo di spiegare (o ad altri, come me, di intervenire).

Notoriamente l’Assessore Lessio facilmente si altera, e credo che fosse proprio questo lo scopo del provocatore: ecco difatti che l’assessore “esce dai gangheri” (sua espressione letterale), e la polemica finisce solo quando il provocatore, insieme ad altri, lasciano la sala.

Il motivo della discussione in realtà, come ha spiegato il competente tecnico – mi perdonerà se non ricordo il nomenon esiste: quel taglio del bosco, nella realtà, fa parte di una zona vincolata (e al di fuori della competenza della delibera), ed inoltre quel taglio è un taglio di potatura, non di abbattimento: pienamente previsto, anzi d’obbligo per mantenere il bosco vivo. Ma questo, il provocatore, lo sapeva già: scatenando la polemica inutile, voleva solo far arrabbiare Lessio e dare l’impressione che l’amministrazione sta facendo cose diverse da quelle che dice.

Spero, anche se ho poca fiducia in ciò, che domani i giornali riportino i veri contenuti della discussione (che, per inciso, ha proficuamente continuato dopo l’uscita del provocatore), e non questa ennessima polemica inutile scatenata, a mio avviso, dalla solita vecchia politica.

Se ho capito io che era una manovra per scatenare il polverone su Lessio, di sicuro i giornalisti lo avranno già capito. O no?

PS: non sono di LBC, non ho interesse a difenderli a tutti i costi.

“Perché le donne non sanno leggere le cartine e gli uomini non si fermano mai a chiedere” – Allan & Barbara Pease

Ho volontariamente sottratto questo libro dalla piccola libreria di casa, lo ammetto, solo per il titolo. Tuttavia, leggendo, mi sono accorto che è molto di più di un testo umoristico (come pensavo): è una accurata analisi sulle motivazioni, talvolta profonde, che spingono le persone ad agire in un certo modo.

A volte crediamo che alcune frasi siano semplicemente il risultato del maschilismo (o dell’effetto contrario), e quindi di poca importanza. Eppure, anche il concetto che “le donne non sanno leggere le cartine” è spiegato da millenni di evoluzione, in cui l’esploratore, o comunque il “viaggiatore”, è sempre stato l’uomo. Ecco quindi perché la gestione degli spazi negli spostamenti, e quindi anche della guida e dei parcheggi, è molto più presente nell’inconscio di un uomo che di una donna.

Gli autori, Allan e Barbara Pease, sono due psicoterapeuti australiani. Da buon marito e moglie, esplorano in diversi libri questi argomenti.

Libri Oro Sonzogno, ISBN 978-8848603478

Il giornalismo (d’inchiesta) che manca

Troppo spesso, specie qui a Latina, quello di cui si sente la mancanza è il famoso “giornalismo d’inchiesta”. O, in alcuni casi, proprio del giornalismo.

Quando un politico/amministratore/qualcuno fa una dichiarazione, quello che da cittadino mi aspetto da un giornale non è una trascrizione puntuale: grazie ai “nuovi media” quali Internet, posso leggermi o ascoltarmi la dichiarazione dove e quando voglio. Quello che mi aspetto da un giornale è che vada a verificare tali dichiarazioni, faccia delle domande per approfondire e per sviscerare quelli che possono essere dei punti interessanti.

Facciamo qualche esempio: Lessio: A Latina numero enorme di antenne, monitoreremo l’elettrosmog (Latina24ore.it – 5 maggio 2017). L’articolo, come potete ben vedere, riporta le dichiarazioni puntuali dell’assessore e del Sindaco, oltre ad una nota iniziale e finale quasi inutile. Quello che manca sono domande del tipo: “Come mai era stato commissionato uno studio anni fa, e poi si è bloccato tutto (senza, peraltro, pagare la società)?” (da fare ai vecchi amministratori/tecnici); “Quando sarà pronto il nuovo piano?“, e via così.

Altro esempio: Guercio: Il Comune di Latina ha gettato nell’immondizia i ricordi degli Alpini e degli altri eventi (Latina24ore.it – 8 maggio 2017). Anche qui, come sopra, l’articolo è praticamente un virgolettato delle dichiarazioni rilasciate. Non una cosa in più. Potevano chiedere a Guercio, ad esempio, se la segnalazione venisse da qualcuno all’interno del Comune o da Latina Ambiente. Potevano chiedere ai dipendenti del Comune oppure a Latina Ambiente. O andare a verificare in via Bassianese la presenza del suddetto materiale. E poi chiedere conto all’attuale amministrazione.

Per non parlare di mancanze nel giornalismo d’inchiesta: non si vede nessun tipo di articolo del genere da anni nel giornalismo locale: analisi sulle attività dell’amministrazione (passata e presente), sulle società pubbliche/private che gestiscono i servizi (scadenti) per conto del Comune (ambiente, trasporto, etc), o attività (illecite e non) che in generale ci sono nel capoluogo.

La qualità del giornalismo influenza la capacità dei cittadini di conoscere e di decidere, e quindi di essere liberi. Se il giornalismo non è altro che recuperare le notizie in giro e pubblicarle (quello che fa un giornalaio), il cittadino non ha più motivo di leggere i giornali (ecco perché molti sono in crisi con la nascita di Internet) e soprattutto non riesce a comprendere la realtà. E si lascia trascinare dai populismi.

Ecco quindi che nasce il dubbio che, a qualcuno, il giornalismo “da giornalai” faccia comodo.

PS: mi preme specificare che non voglio fare di tutta l’erba un fascio: ci sono casi di giornalisti a Latina, ma purtroppo sono più unici che rari.

“Voi avete gli orologi, noi abbiamo il tempo” – Federico Rampini

“Voi avete gli orologi, noi abbiamo il tempo”: Manifesto generazionale per non rinunciare al futuro

Comprai questo libro dopo aver sentito diverse volte l’autore, il giornalista Federico Rampini, parlare in TV riguardo a diversi argomenti. Aggirandomi nelle librerie come le api girano nei campi di fiori, mi cadde l’occhio su questo libro e, dopo aver letto qualche cosa, lo presi.

L’autore fa un’ottima analisi di un problema non di poco conto: la società sta diventando sempre più longeva, e le “vecchie generazioni” si ritrovano a dover competere sempre più con il mondo che avanza, anche se mai abbastanza rispetto alle nuove generazioni. Ecco quindi che Rampini mette a paragone i diversi modi con cui le società moderne, in particolar modo quella italiana e quella statunitense, affrontano il problema delle “pantere grigie”: come si evita insomma di sprecare il talento, la conoscenza e l’esperienza.

Saggio davvero interessante; lo consiglio per comprendere come, nel mondo che vogliamo, dobbiamo considerare i gap generazionali, e come tentare di colmarli.

Edito da Mondadori (Strade Blu), ISBN 978-8804625186