Applicazione di alta sicurezza in Angular - una cattiva idea?

1

Beh, questa non è una domanda su un problema specifico. Ho una domanda più generale. Ieri ho avuto una piccola discussione con un mio amico o non con una "applicazione di sicurezza elevata" (e-Banking per esempio) potrebbe essere implementata in Angular (non specificamente angolare, SPA in client-side in generale).

Mentre ero sicuro che sarebbe stata una pessima idea implementare un'applicazione di e-banking in Angular, non ero in grado di dare una ragione concreta, era più una sensazione che avevo.

Da allora mi sto chiedendo se potrei sbagliarmi. Non ho molta esperienza nel campo della sicurezza delle applicazioni, quindi sarei grato se qualcuno più esperto potesse dissipare i miei dubbi sul fatto che avevo ragione o no. (Preferibilmente con spiegazione)

    
posta Jonas Wirth 19.09.2016 - 20:13
fonte

2 risposte

1

Non c'è motivo per cui non sia possibile creare un sito Web sensibile alla sicurezza in AngularJS o Angular2: per la maggior parte, i punti chiave della sicurezza si verificano lato server, non lato JS. Sì, ovviamente, devi fare alcune protezioni XSS e CSRF sul client (insieme al server), ma è molto fattibile in Angular / Angular2.

Qualunque sia il client, il server non ha bisogno di fidarsi di esso nel minimo. Questo mitiga la maggior parte dei problemi proprio lì. Poiché il client vive in territorio nemico, non è il vero punto di controllo per qualsiasi cosa (eccetto, ovviamente, per la visualizzazione e la comunicazione con l'utente - da qui la necessità di protezioni XSS / CSRF lì)

    
risposta data 19.09.2016 - 20:19
fonte
4

Il browser dovrebbe essere considerato attendibile con i dati dell'utente in ogni caso. Sia che si utilizzi un'app a pagina singola o una semplice pagina HTML, si viene avvisati se il browser viene compromesso. Le app a pagina singola non cambiano nulla in questo contesto.

Le app a pagina singola possono tuttavia estendere le potenzialità di una vulnerabilità sul lato server, dal momento che stai scaricando parte dell'elaborazione sul client a volte potresti dimenticarti di convalidare correttamente il lato dati del server in arrivo o inviare i dati il client non dovrebbe vedere, basandosi sull'app lato client per nasconderlo (un utente malintenzionato potrebbe modificare il client in non nascondere tali dati).

In termini di qualsiasi app correttamente sviluppata, dovrebbe essere testata e verificata in ogni caso, in modo che eventuali errori vengano rilevati prima di essere pubblicati.

    
risposta data 19.09.2016 - 22:55
fonte

Leggi altre domande sui tag