Categoria

Pagina 4 di 7

Sicurezza Applicazioni: difendere il codice dove gli attacchi arrivano davvero

La maggior parte delle compromissioni nasce da una validazione mancante, un upload non filtrato, un secret in chiaro, molto più spesso che da un exploit sofisticato. Nel codice un'azienda si gioca i dati dei clienti, e lì un intervento mirato rende più di qualsiasi appliance perimetrale. Questa categoria vive dentro il codice.

Molti articoli trattano le classi di vulnerabilità che continuano a colpire: OWASP Top 10 applicata sul serio, XSS, SQL injection, SSRF e attacchi alla logica che il WAF non vede, autenticazione fatta bene (JWT senza le trappole dell'algorithm confusion, OAuth, WebAuthn e passwordless), crittografia con libsodium, sicurezza degli upload. Sono gli errori che trovo davvero negli assessment, ciascuno con la sua difesa.

Altri seguono la difesa lungo tutta la pipeline: gestione dei segreti e rotazione delle credenziali, security testing automatico (SAST e DAST) in CI, protezione della supply chain con Composer, WAF configurato per non bloccare il traffico legittimo. La sicurezza applicativa attraversa sviluppo e rilascio, dal primo commit al deploy.

E c'è la nuova superficie del codice AI-generated, che entra in produzione più in fretta di quanto venga revisionato e porta con sé classi di vulnerabilità ricorrenti: capirle e auditarle in modo sistematico è ormai parte del mestiere.

Se vuoi un audit di sicurezza applicativo o mettere in sicurezza un'applicazione, vedi la consulenza cybersecurity e NIS2 o scrivimi.

La sicurezza che funziona sta scritta nel codice. Quella comprata e mai configurata protegge poco.

Sicurezza JWT in PHP: vulnerabilità nell'implementazione e come costruire token sicuri

Sicurezza JWT in PHP: vulnerabilità nell'implementazione e come costruire token sicuri JWT è facile da implementare male. Ho trovato algorithm confusion attack (alg: none) in tre API Laravel auditate nell'ultimo anno - una vulnerabilità che permette di forgiare token validi senza conoscere il segreto. Vi spiego le vulnerabilità tipiche e il pattern di implementazione sicura con firebase/php-jwt. Continua a leggere
Ultima modifica:

Vulnerability disclosure responsabile: come gestire la scoperta di una falla in produzione

Vulnerability disclosure responsabile: come gestire la scoperta di una falla in produzione Ho trovato una vulnerabilità critica in un gestionale PHP usato da 300 PMI italiane. Non era un mio cliente. La gestione della disclosure è stata complicata: il vendor non aveva un canale dedicato, i tempi di fix erano incerti, e le PMI erano a rischio. Vi racconto come ho gestito ogni fase. Continua a leggere
Ultima modifica:

Audit automatizzato di implementazioni JWT e OAuth con LLM: il catalogo delle vulnerabilità ricorrenti

Audit automatizzato di implementazioni JWT e OAuth con LLM: il catalogo delle vulnerabilità ricorrenti JWT e OAuth sono standard semplici nella teoria, catastrofici nell'implementazione. Nella mia pipeline personale di audit ho costruito un classificatore LLM che analizza l'autenticazione di un progetto PHP e segnala vulnerabilità ricorrenti: algorithm confusion, refresh token deboli, storage insicuro, revocation mancante. Ti mostro il prompt engineering e il catalogo dei pattern pericolosi raccolti nella mia sandbox di audit sistematico. Continua a leggere
Ultima modifica:

Symfony Security Component: autenticazione custom e voter per controllo accessi fine-grained

Symfony Security Component: autenticazione custom e voter per controllo accessi fine-grained Per un'applicazione di gestione pratiche per uno studio legale, il sistema di autorizzazione doveva essere granulare a livello di documento, non solo di ruolo. Ho implementato Symfony Voter con regole basate su ownership, stato del documento e relazioni tra entità. Vi mostro l'architettura e il codice reale. Continua a leggere
Ultima modifica:

Checklist di revisione del codice AI-generated: pattern anti-OWASP in PHP

Checklist di revisione del codice AI-generated: pattern anti-OWASP in PHP Il codice generato da AI sembra pulito ma nasconde classi di vulnerabilità ricorrenti che il contesto non riesce a catturare: SQL injection con parametri concatenati, XSS in output non sanitizzati, API key committate, pattern anti-OWASP. Nella mia sandbox di audit su codice AI-generated ho analizzato 40 output di ChatGPT, Copilot e Claude: ecco il catalogo dei pattern pericolosi e la checklist che applico sistematicamente prima di mergiare qualsiasi codice AI-generated. Continua a leggere
Ultima modifica:

Rate limiting avanzato in Laravel: proteggere le API da abusi senza bloccare utenti legittimi

Rate limiting avanzato in Laravel: proteggere le API da abusi senza bloccare utenti legittimi Un'API pubblica Laravel per la verifica dei codici fiscali veniva martellata da scraper: 4.000 richieste al minuto da IP singoli. Il throttle di default di Laravel non bastava. Ho implementato un sistema multi-livello: rate limit per IP, per chiave API, per endpoint e un adaptive rate limiter che scala in base al carico. Continua a leggere
Ultima modifica:

Cryptography in PHP: usare libsodium correttamente per cifrare dati sensibili

Cryptography in PHP: usare libsodium correttamente per cifrare dati sensibili Il 70% dei sistemi PHP che ho auditato usava openssl_encrypt con parametri sbagliati o mcrypt deprecato. Libsodium è disponibile di default da PHP 7.2 e offre primitive crittografiche moderne e difficili da usare male. Vi mostro i pattern corretti per cifrare dati a riposo in un'applicazione gestionale Laravel. Continua a leggere
Ultima modifica:

Sicurezza dei file upload in Symfony: validazione profonda e archiviazione sicura

Sicurezza dei file upload in Symfony: validazione profonda e archiviazione sicura In un assessment su un portale Symfony per la gestione documentale di un'azienda legale, ho trovato upload senza validazione del MIME reale: bastava rinominare un PHP in .pdf per caricarlo ed eseguirlo. Vi mostro la catena di validazione completa che uso in produzione, dal content-type all'isolamento dello storage. Continua a leggere
Ultima modifica:

SSH hardening avanzato: proteggere l'accesso ai VPS oltre le best practice di base

SSH hardening avanzato: proteggere l'accesso ai VPS oltre le best practice di base Le best practice SSH standard (porta non-22, root disabilitato, chiavi invece di password) le applica ormai quasi tutti. Ma i tentativi di accesso continuano. Vi mostro le misure avanzate che aggiungo su VPS esposti: certificati SSH con CA interna, 2FA TOTP, AllowedUsers restrittivo e alert real-time. Continua a leggere
Ultima modifica:

Container image security: vulnerabilità nelle immagini Docker che usi ogni giorno

Container image security: vulnerabilità nelle immagini Docker che usi ogni giorno Un'immagine Docker pinnata a un tag e mai più ricostruita accumula decine di CVE nelle librerie di sistema, anche se il tuo codice PHP è impeccabile. Ti mostro il processo completo di hardening, base image minimale, multi-stage build, utente non-root, scanning in CI e refresh automatico, e come costruire una chain of trust verificabile dal Dockerfile al deploy. Continua a leggere
Ultima modifica:

Strumenti di sicurezza applicativa

Tool gratuiti per verificare e irrobustire le tue applicazioni:

Audit JWT, Analisi security headers, Generatore CSP, Hash bcrypt e argon2, Cifratura AES.