Sono stati aggiunti i rischi per la sicurezza associati all'architettura software a 3 livelli

3

Esistono ulteriori rischi per la sicurezza derivanti dall'utilizzo di un'architettura a 3 livelli come MVC in un progetto software?

L'ho chiesto oggi, e la mia reazione istintiva è stata "Non vedo perché ci sarebbe". Dopo alcune considerazioni, ho deciso di non conoscere la risposta. Ho dato un'occhiata a un'altra domanda , ma in realtà non avere qualche informazione utile.

idee?

    
posta Polynomial 04.10.2012 - 14:02
fonte

2 risposte

4

Il mio istinto è che il modello MVC, o, per altro, qualsiasi modello ben definito, tende a ridurre i rischi per la sicurezza. Anche se le cose non sono chiare.

Da un punto di vista molto generale, i problemi di sicurezza sono un tipo particolare di bug, sull'implementazione o sulla struttura (probabilmente le specifiche). La diluizione della conoscenza è un enorme fattore di rischio: i bug si verificano più spesso quando ci sono più persone coinvolte nel progetto. Per mantenere tutto al sicuro, ci deve essere qualcuno, ad un certo punto, con una visione trasversale del progetto, che può pensare architettonicamente e cogliere le interazioni tra tutti i moduli; questo diventa più difficile quando le dimensioni del progetto aumentano. Per dire le cose in parole semplici, per un kernel Linux sicuro, hai bisogno di un Linus Torvalds: one head che riceve tutte le informazioni.

Qualsiasi modello pulito che definisca i ruoli e le attività dei sottomoduli in modo chiaro, come l'architettura MVC, aiuterà molto quella persona che pensa in modo univoco. Rende possibile possibile mantenere il quadro di pensiero sulla sicurezza necessario per tutto il progetto, quando il progetto diventa enorme. D'altra parte, il modello MVC incoraggia a lanciare più sviluppatori in un progetto, il che aumenta meccanicamente i rischi per la sicurezza, quindi MVC è una benedizione mista.

Come regola di base, più piccolo è il progetto, più sicuro può essere ottenuto. Il modello per sviluppatori di Lone Wolf ti offre applicazioni più sicure e probabilmente le consegnerà più velocemente, ma con meno funzioni.

    
risposta data 04.10.2012 - 14:46
fonte
2

In parole leggermente diverse a Thomas:

Potresti potenzialmente aumentare la superficie di attacco ogni volta che aumenti il numero di dispositivi, livelli, ruoli, sviluppatori puramente come se avessi più variabili.

Detto questo, hai almeno un quadro che dovrebbe garantire che i problemi di sicurezza, compresi quelli portati da una struttura più complessa, siano identificati e gestiti.

A conti fatti dovresti essere in grado di ridurre le vulnerabilità, i rischi e i costi di riparazione attraverso un'architettura di tipo MVC.

    
risposta data 04.10.2012 - 15:00
fonte

Leggi altre domande sui tag