MVC sta per Model-View-Controller, un modello di progettazione software che separa un'applicazione in tre parti: il modello per i dati e le regole di business, la vista per ciò che vedono gli utenti e il controller per gestire le richieste e scegliere le risposte. Nei framework web Java come Apache Struts, MVC aiuta a mantenere organizzati il routing, il rendering delle pagine e la logica dell'applicazione.
Nel campo della cybersicurezza, MVC è importante perché le vulnerabilità di sicurezza spesso compaiono ai confini tra questi livelli. Se un controller accetta input non sicuri, oppure una vista rende i dati senza un'adeguata escape, gli aggressori possono provocare injection, fughe di informazioni o denial of service. I difensori usano la struttura MVC per esaminare dove l'input dell'utente entra nell'app, dove viene convalidato e dove viene trasformato in output. Capire quali controller, viste e componenti di supporto sono realmente attivi aiuta anche a ridurre la superficie d'attacco quando si applicano patch o si disabilitano funzionalità legacy.


