I programmatori non ricevono formazione sulla sicurezza, è dovuto ai costi? Come possiamo superare il problema di esternalità?
I programmatori non ricevono formazione sulla sicurezza, è dovuto ai costi? Come possiamo superare il problema di esternalità?
È dovuto al fatto che la sicurezza delle applicazioni è un'esternalità economica ( link ); Il partito che soffre della mancanza di sicurezza delle applicazioni non è colui che prende decisioni sulla sicurezza. È lo stesso problema economico dell'inquinamento.
Facciamo un esempio. Scrivo software server per router SOHO. I produttori di router multipli utilizzano il mio software e gli utenti finali dai router di tali produttori. Spendere tempo e denaro per implementare un SDLC sicuro significa che i miei prezzi saliranno. Dal momento che i produttori di router non sono influenzati da alcun difetto di sicurezza (gli utenti finali sono, in questo caso,) non hanno alcun incentivo a pagare un prezzo più alto. In quanto tale, non ho alcun incentivo a spendere soldi extra per garantire il mio prodotto.
Modifica: per rispondere alla tua domanda sulle esternalità, la risposta è una regolamentazione. Non sono sicuro che debba provenire dal livello industriale o dal livello governativo, ma l'unica risposta è la regolamentazione.
La sicurezza ha un attributo che la separa da altre caratteristiche e la rende spesso trascurata: la maggior parte delle volte, non puoi sapere se è implementata.
Per dirla in altro modo, un sistema sicuro e un sistema non sicuro appaiono identici a un utente fino a quando non si verifica una violazione.
Ciò porta i project manager a privilegiare inevitabilmente altri progetti oltre a lavorare sulla sicurezza. Se c'è molto lavoro da fare, come giustifica passare un sacco di tempo a lavorare su qualcosa che non ha effetto (fino a quando non c'è un attacco)? Inoltre, probabilmente andrà bene - le probabilità che qualcuno provi ad attaccarci sono piuttosto basse, vero?
Questa è anche la radice di teatro della sicurezza ; implementa procedure visibili per rendere le persone sentite come se fossero più sicure, anche se la sicurezza effettiva proviene da cose che non possono vedere.
Come si risolve questo? Con sufficiente disciplina, puoi costringere la tua squadra a lavorare in sicurezza in anticipo. O più probabilmente avrà successo, crei una squadra (anche una squadra di uno) che è responsabile per lavorare sulla sicurezza, non importa in quale altro modo la gestione vuole che siano le priorità di tutti.
Una parte del problema è l'incompetenza: in molti casi è davvero facile far funzionare un'applicazione, il che significa che molte persone che non dovrebbero essere autorizzate vicino a un server con connessione a Internet possono fare app complete che < em> lavora mentre è insicuro (che non vedi e di cui quegli "sviluppatori" non sanno nulla), quindi nessuno è a conoscenza del disastro finché non è troppo tardi.
Leggi altre domande sui tag programming