Riduzione al minimo dei punti di accesso alle applicazioni obsolete ad alto rischio

1

Sto lavorando su un progetto basato su .NET MVC che coinvolge un'applicazione con oltre 50.000 punti di ingresso unici.

Utilizzando la nostra analisi del codice statico personalizzata creata utilizzando le librerie di riflessione .NET, siamo stati in grado di identificare un numero significativo di endpoint di sicurezza ad alto rischio segnalati (basati sugli attributi dell'autorizzazione di sicurezza). L'utilizzo di strumenti come Fortify fornisce troppi falsi positivi dovuti al fatto che il modello AAA (Auth) è interamente costruito su misura e seguendo una strada molto diversa dalle raccomandazioni degli Stati membri.

Per il nostro obiettivo principale a breve termine, attualmente lo abbiamo limitato ad alcuni punti di ingresso che hanno un elevato utilizzo pubblico (come login, servizi di gestione degli account). Questi servizi da soli hanno circa 100 punti di accesso, molti dei quali sono solo reindirizzamenti obsoleti al servizio corretto.

In termini di gestione delle applicazioni nel SDLC (in particolare per le prove di conformità, dimostrando che sono sicuri), in che modo questi punti possono essere monitorati e gestiti? La nostra analisi del codice statico li ha contrassegnati, ma non fa nient'altro.

La mia vista è che questi punti di ingresso dovrebbero essere rimossi e gestiti tramite reindirizzamenti in qualche altro modo in IIS, ma sono stato informato che questa non è un'opzione per la compatibilità tra le vecchie applicazioni che usano questi servizi (un problema per un altro giorno).

L'unica altra cosa che posso pensare è:

  • Creazione di servizi di auditing in questi servizi per registrare quando vengono chiamati i servizi obsoleti.

  • Posizionare i test delle unità sui servizi (potenzialmente controllare che si sia verificato un reindirizzamento).

  • Aggiungi contrassegni neri nel controllo del codice sorgente per avvertire che un ingegnere della sicurezza dovrebbe eseguire la revisione del codice se qualcosa cambia in questi servizi.

    • Aggiunta di un file di classe parziale con solo i metodi obsoleti e immissione di un blocco sulla modifica del file.

La cosa più grande che ho problemi è convincere me stesso (e la conformità) che questi processi si stanno effettivamente verificando. Abbiamo oltre 300 sviluppatori sul progetto, non un piccolo team facile da gestire. Come confermate che tutti i processi sono stati soddisfatti (cioè come confermate che un test unitario è su tutti i servizi)?

Qualcuno è stato in situazioni simili? Come hai confermato che queste misure di mitigazione sono state eseguite per sistemi di grandi dimensioni?

Grazie,

    
posta Cyassin 02.05.2017 - 03:31
fonte

0 risposte

Leggi altre domande sui tag