sabato 23 dicembre 2023

CORSO STRUTTURA DI UN LINGUAGGIO DI PROGRAMMAZIONE: Lezione 14 Sicurezza informatica

14. Sicurezza informatica

La sicurezza informatica riguarda la protezione dei dati, dei sistemi e delle reti da minacce e attacchi informatici. Alcuni aspetti chiave della sicurezza informatica includono:

Autenticazione e Autorizzazione: Assicurarsi che solo gli utenti autorizzati possano accedere a determinate risorse o dati. L'autenticazione verifica l'identità dell'utente, mentre l'autorizzazione definisce i diritti di accesso.

Crittografia: La crittografia è utilizzata per proteggere i dati durante la trasmissione e lo stoccaggio. Garantisce che i dati siano illeggibili per terzi non autorizzati.

Protezione da Malware: Gli antivirus e gli strumenti di protezione da malware rilevano e rimuovono software dannoso, come virus, trojan e spyware.

Firewall: I firewall proteggono le reti controllando il traffico in ingresso ed in uscita. Possono bloccare l'accesso non autorizzato e impedire attacchi come l'intrusione.

Gestione delle Minacce: La gestione delle minacce coinvolge la valutazione e la mitigazione delle minacce potenziali. Questo può includere l'implementazione di misure preventive, come patch di sicurezza e formazione degli utenti.

Minacce Informatiche

Le minacce informatiche sono vari tipi di attacchi e attività dannose rivolte contro sistemi informatici e reti. Alcune delle principali minacce informatiche includono:

Malware: Questo include virus, worm, trojan, ransomware, spyware e adware. Il malware è progettato per danneggiare, rubare dati o estorcere denaro.

Hacking: Gli hacker cercano di ottenere accesso non autorizzato ai sistemi o alle reti per rubare dati, interrompere servizi o causare danni.

Phishing: Il phishing coinvolge l'invio di email o messaggi falsi che sembrano provenire da fonti legittime per ingannare le persone a rivelare informazioni sensibili, come password e informazioni finanziarie.

Intrusioni e DDoS: Le intrusioni informatiche coinvolgono l'accesso non autorizzato ai sistemi. Gli attacchi

Pratiche di Sicurezza (Autenticazione, Autorizzazione, Crittografia)

Autenticazione: L'autenticazione verifica l'identità di un utente o di un sistema. Le pratiche comuni includono l'uso di password complesse, autenticazione a due fattori (2FA), autenticazione basata su certificati digitali e l'uso di biometria come impronte digitali o riconoscimento facciale. L'autenticazione dovrebbe essere implementata in modo sicuro, evitando di archiviare le password in chiaro e utilizzando algoritmi di hashing sicuri.

Autorizzazione: Dopo l'autenticazione, l'autorizzazione determina quali risorse e azioni un utente o un sistema può eseguire. Le autorizzazioni dovrebbero essere basate sul principio del privilegio minimo, in modo che gli utenti abbiano solo l'accesso alle risorse di cui hanno bisogno per svolgere il proprio lavoro. Le regole di autorizzazione dovrebbero essere rigorosamente applicate.

Crittografia: La crittografia è utilizzata per proteggere dati sensibili durante la trasmissione e lo stoccaggio. La crittografia end-to-end è fondamentale per garantire che i dati siano protetti durante il loro viaggio tra mittente e destinatario. La crittografia dovrebbe essere basata su algoritmi e chiavi sicure.

Best Practices per la Sicurezza del Codice

Validazione dei Dati: Validare sempre i dati in ingresso per garantire che siano conformi alle aspettative. Ciò impedisce attacchi come l'inserimento di dati dannosi o la SQL injection.

Evitare Iniezioni: Evitare l'uso di query SQL dinamiche e utilizzare invece dichiarazioni parametriche o ORM per prevenire attacchi di SQL injection.

Protezione delle Sessioni: Le sessioni degli utenti dovrebbero essere gestite in modo sicuro, evitando la divulgazione di token o cookie di sessione e assicurandosi che le sessioni siano terminate correttamente quando l'utente si disconnette o esce.

Aggiornamenti Regolari: Mantenere il software, le librerie e i framework aggiornati con le ultime patch di sicurezza per correggere le vulnerabilità note.

Gestione delle Password: Le password dovrebbero essere archiviate in modo sicuro utilizzando algoritmi di hashing e sale. Le password complesse dovrebbero essere incoraggiate e l'autenticazione a due fattori dovrebbe essere abilitata se possibile.


Nessun commento:

Posta un commento