Sicurezza basata sullo sviluppo e sicurezza basata sull'amministrazione in un prodotto software?

6

Ci sono casi in cui si ha l'opportunità, come sviluppatore, di rafforzare le funzionalità di sicurezza e le protezioni su un software, anche se potrebbero essere gestite a livello ambientale (ad esempio, il sistema operativo si prenderà cura di esso) .

Dove diresti di tracciare la linea e quali elementi prendi in considerazione nella tua decisione?

Esempi concreti

Gestione utenti è responsabilità del sistema operativo

Non esattamente inteso come funzionalità di sicurezza, ma in un caso simile Google Chrome non consentiva profili separati. La ragione invocata (anche se ora supporta più profili per uno stesso utente del sistema operativo) era che la gestione degli utenti era la responsabilità del sistema operativo.

Disabilitazione dei campi del modulo Web

Una richiesta ricorrente che vedo indirizzata online è che il completamento automatico venga disabilitato nei campi modulo. Il completamento automatico non esisteva nei vecchi browser ed era una funzionalità gradita al momento dell'introduzione per le persone che dovevano compilare spesso i moduli. Ma ha anche sollevato alcuni problemi di sicurezza, quindi alcuni browser hanno iniziato a implementare, oltre all'impostazione (ovviamente necessaria) nel proprio pannello di preferenze / personalizzazione, un attributo autocomplete per i campi form o input . E questo è stato introdotto nel prossimo standard HTML5. Per i browser che non ascoltano questo attributo, vengono offerti strani hack * , come la generazione di ID e nomi univoci per i campi per evitare che vengano suggeriti in moduli futuri (che viene fornito con un altro gruppo di problemi, come inquinando la cache di riempimento automatico locale e non impedendo che una password venga memorizzata al suo interno, ma probabilmente duplicandone le occorrenze).

In questo caso particolare, e altri, direi che questa è una impostazione utente e che è il desiderio dell'utente e la responsabilità dell'utente per abilitare o disabilitare il riempimento automatico (disattivando completamente la funzione). E se si basa su una politica interna e su un requisito di sicurezza in un ambiente aziendale, sostituisci l'utente con l'amministratore nella sezione precedente.

Suppongo che si possa controbattere che l'utente potrebbe voler accedere ad applicazioni non critiche (o siti) con questa comoda funzionalità abilitata e le applicazioni critiche con questa funzione disabilitata. Ma poi penso che sia per quello che sono le zone di sicurezza (in alcuni browser), o il segno che hai bisogno di un ambiente / account più sicuro (e dedicato) per usare queste applicazioni.

* Ovviamente non nego l'ingenuità delle persone che erano forzate a trovare soluzioni alternative, solo la necessità di tali soluzioni.

Domande

Questo è stato un po 'prolisso, quindi suppongo che le mie domande siano:

  • Considerereste generalmente che si tratti della responsabilità dell'applicazione (quindi dello sviluppatore)?
  • Dove disegna la linea, se non nel caso "generale"?
posta haylem 14.09.2012 - 19:03
fonte

1 risposta

3

Domanda interessante.

Come sviluppatore è naturale voler tracciare le linee di responsabilità in modo logico ed efficiente sulla base di chi ha implementato la funzionalità. Purtroppo, gli utenti si preoccupano molto poco di chi è responsabile per un programma che non funziona nel modo in cui lo desiderano. E gli utenti sono la fonte del tuo compenso, quindi, in pratica, se non vogliono occuparsi del problema tramite l'amministrazione, è il problema dello sviluppatore.

Dove si disegna la linea è dove il cliente disegna la linea. Se sentono che l'esistenza di una soluzione amministrativa rende inutile il pagamento per lo sviluppo, allora si procede con la soluzione amministrativa.

    
risposta data 14.09.2012 - 19:33
fonte

Leggi altre domande sui tag