La sicurezza non dovrebbe essere così spaventosa!

Mariko Kosaka

Cosa immagini quando qualcuno dice "sicurezza"?

Hacker? Attacchi? Difese? Un programmatore con una felpa con cappuccio nera in una stanza buia?

Quando ti viene in mente la parola "sicurezza", di solito è nel contesto di cattive notizie. Spesso ti capita di incontrare titoli come "Le password di accesso sono trapelate da un grande social network" o "Un malintenzionato ha rubato i dati della carta di credito da un sito di shopping".

Ma la sicurezza è qualcosa da considerare come una parte positiva e necessaria dello sviluppo del web, proprio come "esperienza utente" o "accessibilità".

Immagini negative e positive di sicurezza
Un hacker con una felpa con cappuccio è un'immagine negativa della sicurezza. Un team che lavora insieme a un progetto è un'immagine positiva per la sicurezza.

Nelle guide successive scoprirai come proteggere la tua attività e i contenuti dei tuoi utenti.

Che cos'è una vulnerabilità di sicurezza?

Nello sviluppo software, quando un'applicazione non funziona nel modo previsto, si parla di "bug". A volte un bug mostra informazioni errate o si arresta in modo anomalo per una determinata azione. Una vulnerabilità (a volte chiamata bug di sicurezza) è un tipo di bug che potrebbe essere utilizzato per scopi illeciti.

I bug sono comuni nelle attività quotidiane di uno sviluppatore. Ciò significa che le vulnerabilità vengono spesso introdotte anche nelle applicazioni. È importante conoscere le vulnerabilità comuni per mitigarle il più possibile. È proprio come ridurre al minimo altri bug seguendo tecniche e schemi comuni.

La maggior parte delle tecniche di sicurezza sono solo una buona programmazione, ad esempio: - Controlla i valori inseriti da un utente (non null, non una stringa vuota, controllando la quantità di dati). - Assicurarsi che un singolo utente non possa impiegare troppo tempo. - Crea test delle unità in modo che i bug di sicurezza non possano entrare per sbaglio.

Cosa sono le funzionalità di sicurezza?

Le prime linee di difesa sono funzionalità di sicurezza come HTTPS e CORS. Imparerai questi acronimi più avanti, quindi per il momento non ti preoccupare. Ad esempio, la crittografia dei dati tramite HTTPS potrebbe non essere la correzione di un bug, ma protegge i dati scambiati con gli utenti con altre parti. (intercettare i dati è un attacco comune).

Qual è l'impatto?

Quando un'applicazione non è sicura, può esserci un impatto su diverse persone.

Impatto sugli utenti
  • Informazioni sensibili, ad esempio dati personali, potrebbero essere divulgate o rubate.
  • I contenuti potrebbero essere manomessi. Un sito manomesso potrebbe indirizzare gli utenti a un sito dannoso.
Impatto sull'applicazione
  • La fiducia degli utenti potrebbe andare persa.
  • I dati aziendali potrebbero andare persi a causa di tempi di inattività o perdita di fiducia dovuti a manomissioni o carenza del sistema.
Impatto su altri sistemi
  • Un'applicazione compromessa potrebbe essere utilizzata per attaccare altri sistemi, ad esempio con un attacco denial-of-service mediante una botnet.

Proteggere attivamente l'applicazione è fondamentale non solo per te e per la tua azienda, ma anche per i tuoi utenti, poiché proteggere loro e altri sistemi dagli attacchi lanciati dal tuo sito.

Conclusione

Complimenti! Sei a metà di questa introduzione. Conosci la differenza tra funzionalità e vulnerabilità di sicurezza e sai che quando la tua applicazione non è sicura influisce solo su di te, ma su tutti gli altri. La prossima guida descrive in dettaglio i tipi di attacco per rendere la sicurezza ancora meno spaventosa.