La sicurezza non dovrebbe essere così spaventosa!

Mariko Kosaka

Cosa ti viene in mente quando qualcuno dice "sicurezza"?

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

Quando pensi alla parola "sicurezza", in genere è nel contesto di cattive notizie. Spesso trovi titoli come "Un grande social network ha divulgato le password di accesso" o "Un malintenzionato ha rubato i dati della carta di credito da un sito di shopping".

Tuttavia, la sicurezza deve essere considerata una parte positiva e necessaria dello sviluppo web, proprio come "esperienza utente" o "accessibilità".

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

Nelle prossime guide 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 come dovrebbe, si parla di "bug". A volte un bug mostra informazioni sbagliate o si arresta in modo anomalo durante 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 anche le vulnerabilità vengono introdotte di frequente nelle applicazioni. È importante essere consapevoli delle vulnerabilità comuni per mitigarle il più possibile. È come ridurre al minimo altri bug seguendo schemi e tecniche comuni.

La maggior parte delle tecniche di sicurezza è semplicemente buona programmazione, ad esempio: - Controlla i valori inseriti da un utente (non null, non una stringa vuota, controlla la quantità di dati). - Assicurati che un singolo utente non possa occupare troppo tempo. - Crea test di unità in modo che i bug di sicurezza non possano essere inseriti per errore.

Che cosa sono le funzionalità di sicurezza?

Le prime linee di difesa sono funzionalità di sicurezza come HTTPS e CORS. (Parleremo di questi acronimi più avanti, quindi per ora non preoccuparti). Ad esempio, la crittografia dei dati tramite HTTPS potrebbe non correggere un bug, ma protegge i dati che scambi con gli utenti da altre parti. (L'intercettazione di dati è un attacco comune.)

Qual è l'impatto?

Quando un'applicazione non è sicura, potrebbero essere interessate diverse persone.

Impatto sugli utenti
  • Informazioni sensibili, come dati personali, potrebbero essere divulgate o rubate.
  • I contenuti potrebbero essere stati manomessi. Un sito manomesso potrebbe indirizzare gli utenti a un sito dannoso.
Impatto sull'applicazione
  • La fiducia degli utenti potrebbe essere persa.
  • Le attività potrebbero essere perse a causa di tempi di riposo o perdita di fiducia come risultato di manomissioni o carenza di sistema.
Impatto su altri sistemi
  • Un'applicazione compromessa potrebbe essere utilizzata per attaccare altri sistemi, ad esempio con un attacco di tipo denial-of-service che utilizza una botnet.

La protezione attiva della tua applicazione è fondamentale non solo per te e per la tua attività, ma anche per i tuoi utenti, che vengono protetti insieme ad altri sistemi dagli attacchi lanciati dal tuo sito.

Conclusione

Complimenti! Hai completato metà di questa introduzione. Ora conosci la differenza tra le vulnerabilità e le funzionalità di sicurezza e sai che non solo tu, ma tutti gli altri utenti, sono interessati quando la tua applicazione non è sicura. La guida successiva illustra in dettaglio i tipi di attacchi per rendere la sicurezza ancora meno inquietante.