PHP compromesso. Anche WordPress è a rischio

Condividi
Condividi su linkedin
LinkedIn
Condividi su facebook
Facebook
Condividi su twitter
Twitter
Condividi su whatsapp
WhatsApp
Condividi
Condividi su linkedin
Condividi su facebook
Condividi su twitter
Condividi su whatsapp
PHP compromesso. Anche WordPress è a rischio? Un recente hack ha tentato di compromettere PHP e (forse) WordPress. Vediamo come.
Cosa troverai in questo articolo

Nei giorni scorsi Wordfence, leader di mercato per quanto riguarda la protezione firewall per WordPress (WAF – Web Application Firewall), ha rilasciato un advice dove veniva indicato un problema di sicurezza a livello PHP.

Secondo Nikita Popov, un core PHP committer direttamente interessato in questa faccenda, due commit dannosi erano stati inviati al php-src git repository.

Remote Code Execution makes it possible to issue commands to a server remotely which allows attackers to do things like create new files, steal data on the server, delete files, and essentially take over the affected server by any websites powered by PHP.

Pare che questi commit siano stati “spinti” per creare una backdoor che avrebbe consentito agli hacker di eseguire script da remoto tramite PHP ed intestazione HTTP.

Ovviamente la pericolosità di questi hack è davvero (quasi) letale perché consentono non  solo l’utilizzo e la manipolazione di codice lato server e quindi del Sito Web stesso ma anche di poter rubare dati sensibili e molto altro.

Cerchiamo di capire e fare ordine.

PHP Commit, cosa sono

Per capire il problema e, quindi cosa siano i commit, occorre prima spiegare cosa sia una transizione.

PHP, le transizioni

Le transazioni (o transaction) non sono nient’altro che strumenti atti a risolvere le problematiche relative alla concomitanza di operazioni all’interno di un Database.

In breve, un gruppo di operazioni che possono raggiungere il fallimento o l’insuccesso ma solo restando unite.

Se nel processo una sola azione fallisce allora, tutta la transazione fallisce generando quello che viene definito un Rollback ovvero il “ritornoallo stato precedentemente funzionante.

PHP, Rollback e Commit

Rollback e Commit sono quindi due stati di un possibile risultato legato ad una transazione.

Come visto in precedenza, se la transazione non va a buon fine, il risultato genererà un ritorno allo stato precedente utilizzando un Rollback.

Al contrario, quando le operazioni di una transazione vanno a buon fine, il risultato, che rimane in sospeso fino a compimento, viene confermato tramite un Commit.

PHP Commit, dove è nato il problema

Come WordPress, anche PHP è Open-Source e quindi accessibile a chiunque sia in grado ed abbia le conoscenze necessarie per contribuirne allo sviluppo.

In breve, chiunque conosca PHP può contribuire attivamente entrando nel repository del gruppo di sviluppatori che è ospitato su http://git.php.net/.

Qualche cosa, però, li sopra è andato storto!

Dopo questo problema di commit, il gruppo PHP ha deciso, infatti, che si sposterà, su GitHub per avere maggiore tracciabilità e sicurezza nonché un sistema di mirroring del repository.

PHP Commit, cosa è successo?

Lo scorso 27 marzo, il primo commit, che conteneva Fixes minor typo. Signed-off-by: Rasmus Lerdorf <rasmus@lerdorf.com> dal committer Rlerdorf, è stato inviato al repository.

Il secondo commit, senza descrizione, aveva come titolo Revert "Revert "[skip-ci] Fix typo"" e serviva per ripristinare il commit originale di Rlerdorf.

L’hacker, in buona sostanza ha cercato di utilizzare gli account di due noti commmiter di PHP nel tentativo di far passare come buoni i suoi commit e, quindi, aprire questa backdoor (quasi) inosservato.

Oltre a ciò, gli hacker hanno anche aggiunto un commento nelle modifiche che affermava "REMOVETHIS: sold to zerodium, mid 2017".

In buona sostanza, l’obiettivo principale di questi commit era di verificare se l’intestazione HTTP dell’agente utente personalizzato contenesse la stringazerodium“.

In questo caso, qualora la stringa fosse stata trovata, PHP avrebbe eseguito la funzione zend_eval_string propedeutica all’esecuzione di script da remoto.

Questi commit, fortunatamente rilasciati solo in fase di sviluppo e non produzione, avrebbero potuto asciugare tutte le risorse del PHP paralizzandone le risorse.

PHP Commit, WordPress ne risentirà?

Fortunatamente, come detto poc’anzi, il tentativo di hackeraggio del PHP è stato portato su sistemi di sviluppo e non di produzione e, ancor di più, è stato intercettato in tempo.

Quindi, per ora, WordPress e i nostri Siti Web continueranno ad essere sicuri.

Nessuna conseguenza quindi … e meno male.

Conclusioni

Che sia stato un tentativo maldestro o un semplice giochino non è dato sapere. Tuttavia, la questione della vulnerabilità di codici Open-Source come PHP e WordPress è sempre e, purtroppo, all’ordine del giorno.

Ecco perché è fondamentale, sempre, prevenire per evitare danni potenzialmente disastrosi.

Gli attacchi avvengono su server remoti e dove non abbiamo controllo come in questo caso ma, ogni giorno, anche localmente ogni Sito Web subisce in silenzio innumerevoli attacchi e tentativi di accesso.

Quindi, il mio consiglio è sempre quello di usare un ottimo firewall lato server (Keliweb), uno lato CMS (Wordfence) e seguire la guida che ho indicato all’inizio di questo articolo.

Nel caso … sono a disposizione!

Condividi su linkedin
Condividi su facebook
Condividi su twitter
Condividi su whatsapp
Gian Luca Partengo

Gian Luca Partengo

Professionista del Web e del Marketing da oltre 20 anni. Ha lavorato per importanti Agenzie e Aziende italiane e ha creato e seguito passo a passo il Brand di numerosi Clienti. Oggi sviluppa progetti altamente professionali a partire da un'analisi sullo stato di salute di un Sito Web e della sua SEO Organica, fornendo anche consulenza a privati e aziende.

Potrebbero Interessarti anche ...

MAIN PARTNERS

Get in Touch

Ci sono molti modi per iniziare una conoscenza o rimanere in contatto e BRiDWEB ti mette a disposizione i migliori: modulo di contatto, e-mail, WhatsApp o chiamata. Scegli tu quale usare.