Come vengono utilizzati i software bancari su Internet [chiuso]

-3

Sto sviluppando un software bancario che utilizza php e che verrà utilizzato su Internet. Quali sono alcune delle misure di sicurezza che dovrei prendere in db design, programmazione, hosting ...? grazie.

    
posta karto 01.08.2012 - 16:52
fonte

2 risposte

11

Probabilmente non è quello che vuoi sentire, ma ...

NON FARE QUESTO.

La sicurezza è un campo enorme e complesso, e persino le grandi aziende ottengono orribilmente sbagliato su base regolare. Aggiungi questo al fatto che vuoi trattare con informazioni finanziarie, e hai anche un pantano legale da guadare. Le politiche e la legislazione da sole coinvolte in tale progetto sono sufficienti per riempire diversi libri.

Non vorrei tentare un simile progetto da solo. È un'impresa enorme e richiede una vasta esperienza tecnica e legale.

Se sei veramente interessato alla sicurezza, dedica del tempo a leggere le domande e le risposte qui, e a ricercare questi argomenti finché non ti senti a tuo agio con i concetti coinvolti. Spero, quindi, capirai perché diamo questo consiglio.

    
risposta data 01.08.2012 - 17:25
fonte
4

Il 100% è d'accordo con il polinomio. Ma qualche altro consiglio.

  1. Non utilizzare alcun hosting / hosting condiviso / VPS / database di terze parti. Gli amministratori di sistema dell'hosting di terze parti in linea di principio hanno pieno accesso a tutti i dati su quella macchina e sono fuori dalla capacità di monitorare completamente. Puoi assicurarti di non alterare la macchina virtuale che esegue la tua applicazione per modificare un intero che rappresenta il loro saldo da $ 20 a $ 65556? Avrai bisogno di personale a tempo pieno per mantenere queste macchine e i backup ridondanti.

  2. Non usare php; è una langague notoriamente difficile da programmare in modo sicuro e viene utilizzata solo per i front-end web. Il front-end web della tua applicazione bancaria è l'ultima delle tue preoccupazioni. Devi preoccuparti del backend che verifica l'integrità dei dati del tuo sistema. Ad esempio, un cassiere di banca non può aumentare il saldo di un conto con l'accettazione di assegni / denaro convalidato alla fine della giornata; o se qualcuno trasferisce denaro dall'account A all'account B che l'account A diminuisce sempre di pari importo, l'account B aumenta di, e non c'è modo per qualcuno di entrare nel sistema e alterare il database. Riconoscere la necessità di ritardare i trasferimenti, cancellare un assegno, accettare un deposito, rilevare e invertire la frode.

  3. Quando il sistema di database è completamente operativo e integro, puoi pensare a creare un front-end web. Ancora una volta, non suggerirei php. Assicurati che il tuo sistema sia robusto contro gli attacchi SQL injection, CSRF, XSS, MITM, usa la crittografia del livello di trasporto end-to-end con un certificato valido, non memorizza le password (ma hash salati rinforzati con chiave), probabilmente usa 2- fattore di autenticazione. Effettua tutti i calcoli / transazioni sul lato server; non fidarti dell'input dell'utente. Invia notifiche a un utente attraverso un terzo canale (e-mail / telefonata) ogni volta che viene effettuato un trasferimento; il conto è pagato; ecc. Assicurati che la tua applicazione abbia registri di controllo completi in un formato di analisi conveniente e che abbia un personale retribuito in cerca di schemi di attacco che facciano del loro meglio per prevenirli.

  4. Poi assumi uno o più consulenti di sicurezza per controllare il tuo software prima di andare in diretta, e non andare in diretta fino a quando non c'è stato un completo audit di sicurezza da parte di esperti prima di andare in diretta.

  5. Sii aggiornato sulle leggi bancarie pertinenti e sulla tua potenziale responsabilità per averlo rovinato nella tua zona.

  6. Verifica in background su tutti i dati personali con privilegi elevati.

PS: Non ho esperienza nella progettazione di software bancari come questo, e questa è solo la punta dell'iceberg.

    
risposta data 01.08.2012 - 19:50
fonte

Leggi altre domande sui tag