Corso di formazione Come Scrivere Codice Sicuro
Dopo i principali attacchi contro le infrastrutture nazionali, i professionisti della sicurezza hanno scoperto che la maggior parte delle vulnerabilità che hanno causato gli attacchi proveniva da codice scadente e vulnerabile scritto dagli sviluppatori.
Gli sviluppatori ora devono padroneggiare le tecniche di scrittura Secure Code, perché siamo in una situazione in cui chiunque può utilizzare strumenti disponibili per scrivere uno script che può disabilitare efficacemente i sistemi di una grande organizzazione perché gli sviluppatori hanno scritto codice scadente.
Questo corso mira ad aiutare nei seguenti casi:
- Aiuta gli sviluppatori a padroneggiare le tecniche di scrittura Secure Code
- Aiutare i tester software a testare la sicurezza dell'applicazione prima della pubblicazione nell'ambiente di produzione
- Aiutare gli architetti del software a comprendere i rischi che circondano le applicazioni
- Aiuta i team leader a impostare le linee di base di sicurezza per gli sviluppatori
- Aiuta i Web Master a configurare i server per evitare configurazioni errate
In questo corso vedrai anche i dettagli degli ultimi attacchi informatici che sono stati utilizzati e le contromisure utilizzate per fermare e prevenire questi attacchi.
Vedrai di persona come gli errori degli sviluppatori hanno portato ad attacchi catastrofici e, partecipando ai laboratori durante il corso, sarai in grado di mettere in pratica i controlli di sicurezza e acquisire l'esperienza e le conoscenze per produrre una codifica sicura.
A chi è rivolto questo corso?
Questo Secure Code corso di formazione è ideale per coloro che lavorano in posizioni quali, ma non solo:
- Sviluppatori Web
- Sviluppatori mobili
- Java Sviluppatori
- Sviluppatori Dot Net
- Architetti del software
- Software Tester
- Professionisti della sicurezza
- Maestri del Web
Struttura del corso
Modulo 1: Introduzione alla codifica sicura
- Panoramica delle procedure di codifica sicura
- Vulnerabilità comuni nel software
- Importanza di un ciclo di vita sicuro dello sviluppo
Modulo 2: Nozioni di base sulle applicazioni Web, Windows e mobili
- Introduzione alle piattaforme applicative
- Implicazioni per la sicurezza per ciascuna piattaforma
- Best practice per uno sviluppo sicuro
Modulo 3: Attacchi ed exploit alle applicazioni
- Cross-Site Scripting (XSS)
- SQL Iniezione
- Falsificazione di richieste tra siti (CSRF)
Modulo 4: Attacchi al server ed exploit
- Attacchi Denial of Service (DoS)
- Overflow del buffer (BOF)
- Vulnerabilità comuni del server
Modulo 5: Validazione e verifica
- Tecniche di validazione dell'input
- Sanificazione dei dati e codifica dell'output
- Verifica delle misure di sicurezza
Modulo 6: Controlli di sicurezza e contromisure
- Implementazione del controllo degli accessi
- Utilizzo della crittografia per la sicurezza dei dati
- Protezione dalle minacce comuni
Modulo 7: Codifica sicura delle applicazioni mobili
- Problemi di sicurezza nello sviluppo mobile
- Implementazione di architetture sicure per app mobili
- Gestione sicura dei dati mobili
Modulo 8: Standard di sicurezza e test
- Panoramica degli standard di sicurezza (ad es. OWASP)
- Test per le vulnerabilità di sicurezza
- Best practice per i test di sicurezza
Requisiti
- Conoscenza di base di qualsiasi linguaggio di programmazione
- Conoscenze di base del ciclo di vita dello sviluppo del software
Pubblico
- Gli sviluppatori
- Architetti del software
- Professionisti della sicurezza
I corsi di formazione interaziendali richiedono più di 5 partecipanti.
Corso di formazione Come Scrivere Codice Sicuro - Prenotazione
Corso di formazione Come Scrivere Codice Sicuro - Richiesta
Come Scrivere Codice Sicuro - Richiesta di consulenza
Recensioni (3)
Le esercitazioni pratiche
Angel - Vodacom
Corso - How to Write Secure Code
Traduzione automatica
vedere le minacce di sicurezza in azione
kesh - Vodacom
Corso - How to Write Secure Code
Traduzione automatica
Modulo 3 Attacchi e sfruttamenti delle applicazioni, XSS, iniezione SQL Modulo 4 Attacchi e sfruttamenti dei server, DoS, buffer overflow
Tshifhiwa - Vodacom
Corso - How to Write Secure Code
Traduzione automatica
Corsi in Arrivo
Corsi relativi
Sicurezza di Rete e Comunicazione Sicura
21 oreL'implementazione di un'applicazione di rete sicura può essere difficile, anche per gli sviluppatori che potrebbero aver utilizzato in precedenza vari blocchi di crittografia (come la crittografia e le firme digitali). Al fine di far comprendere ai partecipanti il ruolo e l'uso di queste primitive crittografiche, in primo luogo viene fornita una solida base sui principali requisiti della comunicazione sicura – riconoscimento sicuro, integrità, riservatezza, identificazione remota e anonimato – presentando anche i problemi tipici che possono danneggiare questi requisiti insieme alle soluzioni del mondo reale.
Poiché un aspetto critico della sicurezza della rete è la crittografia, vengono discussi anche gli algoritmi crittografici più importanti in crittografia simmetrica, hashing, crittografia asimmetrica e accordo di chiave. Invece di presentare un background matematico approfondito, questi elementi vengono discussi dal punto di vista di uno sviluppatore, mostrando esempi tipici di casi d'uso e considerazioni pratiche relative all'uso delle criptovalute, come le infrastrutture a chiave pubblica. Vengono introdotti protocolli di sicurezza in molte aree della comunicazione sicura, con una discussione approfondita sulle famiglie di protocolli più utilizzate come IPSEC e SSL/TLS.
Vengono discusse le vulnerabilità tipiche delle criptovalute sia relative a determinati algoritmi crittografici che ai protocolli crittografici, come BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE e simili, nonché l'attacco di temporizzazione RSA. In ogni caso, le considerazioni pratiche e le potenziali conseguenze sono descritte per ogni problema, ancora una volta, senza entrare in profondi dettagli matematici.
Infine, poiché la tecnologia XML è centrale per lo scambio di dati da parte di applicazioni in rete, vengono descritti gli aspetti di sicurezza di XML. Ciò include l'utilizzo di XML all'interno dei servizi Web e dei messaggi SOAP insieme a misure di protezione come la firma XML e la crittografia XML, nonché i punti deboli di tali misure di protezione e i problemi di sicurezza specifici di XML come XML injection, XML attacchi di entità esterne (XXE), XML bombe e XPath injection.
I partecipanti a questo corso dovranno
- Comprendere i concetti di base della sicurezza, della sicurezza informatica e della codifica sicura
- Comprendere i requisiti di una comunicazione sicura
- Scopri gli attacchi di rete e le difese a diversi livelli OSI
- Avere una conoscenza pratica della crittografia
- Comprendere i protocolli di sicurezza essenziali
- Comprendere alcuni recenti attacchi contro i sistemi crittografici
- Ottieni informazioni su alcune vulnerabilità correlate recenti
- Comprendere i concetti di sicurezza dei servizi Web
- Ottieni fonti e ulteriori letture sulle pratiche di codifica sicura
Pubblico
Sviluppatori, Professionisti
C/C++ Sicuro Codifica
21 oreQuesto corso di tre giorni copre i principi basilari per proteggere il codice C/C++ dagli utenti malintenzionati che potrebbero sfruttare molte vulnerabilità nel codice, legate alla gestione della memoria e all'elaborazione dell'input. Il corso affronta le basi della scrittura di codice sicuro.
Sicurezza Java Avanzata
21 oreAnche i programmatori Java esperti non padroneggiano necessariamente i vari servizi di sicurezza offerti da Java e non sono altrettanto a conoscenza delle diverse vulnerabilità rilevanti per le applicazioni web scritte in Java.
Il corso, oltre a introdurre i componenti di sicurezza di Standard Java Edition, affronta le questioni di sicurezza di Java Enterprise Edition (JEE) e dei web services. La discussione dei servizi specifici è preceduta dai fondamenti della crittografia e della comunicazione sicura. Numerosi esercizi riguardano le tecniche di sicurezza dichiarativa e programmatica in JEE, mentre viene discussa sia la sicurezza a livello di trasporto che end-to-end dei web services. L'utilizzo di tutti i componenti viene presentato attraverso diversi esercizi pratici, durante i quali i partecipanti possono sperimentare direttamente le API e gli strumenti discussi.
Il corso analizza inoltre e spiega i difetti di programmazione più frequenti e gravi del linguaggio e della piattaforma Java, nonché le vulnerabilità legate al web. Oltre ai bug tipici commessi dai programmatori Java, le vulnerabilità di sicurezza introdotte coprono sia le problematiche specifiche del linguaggio che quelle derivanti dall'ambiente di runtime. Tutte le vulnerabilità e gli attacchi correlati vengono dimostrati tramite esercizi di facile comprensione, seguiti dalle linee guida di codifica raccomandate e dalle possibili tecniche di mitigazione.
I partecipanti a questo corso
- Compranderanno i concetti di base della sicurezza, della sicurezza IT e della codifica sicura
- Impareranno le vulnerabilità web oltre l'OWASP Top Ten e sapranno come evitarle
- Compranderanno i concetti di sicurezza dei Web services
- Impareranno a utilizzare varie funzionalità di sicurezza dell'ambiente di sviluppo Java
- Avranno una comprensione pratica della crittografia
- Compranderanno le soluzioni di sicurezza di Java EE
- Impareranno quali sono gli errori di codifica tipici e come evitarli
- Riceveranno informazioni su alcune vulnerabilità recenti nel framework Java
- Acquisiranno conoscenze pratiche nell'uso degli strumenti di testing della sicurezza
- Riceveranno fonti e ulteriori letture sulle pratiche di codifica sicura
Destinatari
Sviluppatori
Sicurezza Java Standard: Pratiche di Codifica e Sviluppo Sicuri
14 oreDescrizione
Il linguaggio Java e l'Ambiente di Runtime (JRE) sono stati progettati per essere privi delle vulnerabilità di sicurezza più problematiche riscontrate in altri linguaggi, come C/C++. Tuttavia, gli sviluppatori e gli architetti software non devono solo sapere come utilizzare le varie funzionalità di sicurezza dell'ambiente Java (sicurezza positiva), ma devono anche essere consapevoli delle numerose vulnerabilità ancora rilevanti per lo sviluppo in Java (sicurezza negativa).
L'introduzione dei servizi di sicurezza è preceduta da una breve panoramica dei fondamenti della crittografia, fornendo una base comune per comprendere lo scopo e il funzionamento dei componenti applicabili. L'uso di questi componenti è illustrato attraverso diversi esercizi pratici, in cui i partecipanti possono sperimentare direttamente le API discusse.
Il corso analizza e spiega gli errori di programmazione più frequenti e gravi del linguaggio Java e della piattaforma, coprendo sia i bug tipici commessi dai programmatori Java che le specifiche problematiche legate al linguaggio e all'ambiente. Tutte le vulnerabilità e gli attacchi correlati sono dimostrati attraverso esercizi di facile comprensione, seguiti dalle linee guida di codifica raccomandate e dalle possibili tecniche di mitigazione.
I partecipanti a questo corso sapranno
- Comprendere i concetti base di sicurezza, sicurezza IT e codifica sicura
- Imparare le vulnerabilità web oltre l'OWASP Top Ten e sapere come evitarle
- Imparare a utilizzare varie funzionalità di sicurezza dell'ambiente di sviluppo Java
- Avere una comprensione pratica della crittografia
- Imparare a conoscere gli errori di codifica tipici e come evitarli
- Ricevere informazioni su alcune vulnerabilità recenti nel framework Java
- Ottenere fonti e letture approfondite sulle pratiche di codifica sicura
Destinatari
Sviluppatori
Sviluppo della sicurezza con .NET, C# e ASP.NET
14 oreOggi sono disponibili numerosi linguaggi di programmazione in grado di compilare codice per i framework .NET e ASP.NET. L'ambiente offre potenti strumenti per lo sviluppo della sicurezza, ma gli sviluppatori devono sapere come applicare tecniche di programmazione a livello di architettura e di codice per implementare le funzionalità di sicurezza desiderate, evitare vulnerabilità o limitarne lo sfruttamento.
L'obiettivo di questo corso è insegnare agli sviluppatori, attraverso numerosi esercizi pratici, come impedire al codice non attendibile di eseguire azioni privilegiate, proteggere le risorse tramite autenticazione e autorizzazione robuste, fornire chiamate di procedura remota, gestire le sessioni, introdurre diverse implementazioni per determinate funzionalità e molto altro ancora.
La presentazione di diverse vulnerabilità inizia con la descrizione di alcuni problemi di programmazione tipici commessi durante l'utilizzo di .NET, mentre la discussione sulle vulnerabilità di ASP.NET affronta anche varie impostazioni dell'ambiente e i loro effetti. Infine, l'argomento delle vulnerabilità specifiche di ASP.NET non si limita ad alcune sfide generali di sicurezza delle applicazioni web, ma tratta anche questioni speciali e metodi di attacco come l'attacco al ViewState o gli attacchi di terminazione della stringa.
I partecipanti a questo corso
- Comprendono i concetti fondamentali della sicurezza, della sicurezza informatica e della programmazione sicura
- Conoscono le vulnerabilità web oltre l'OWASP Top Ten e sanno come evitarle
- Imparano a utilizzare le varie funzionalità di sicurezza dell'ambiente di sviluppo .NET
- Acquisiscono conoscenze pratiche sull'uso di strumenti di test di sicurezza
- Conoscono gli errori di codifica tipici e come evitarli
- Ricevono informazioni su alcune vulnerabilità recenti in .NET e ASP.NET
- Accedono a fonti e ulteriori letture sulle pratiche di codifica sicura
Pubblico
Sviluppatori
Coding sicuro in PHP
21 oreIl corso fornisce agli sviluppatori le competenze essenziali necessarie per rendere le loro applicazioni resistenti agli attacchi contemporanei attraverso Internet. Le vulnerabilità Web sono discusse attraverso esempi basati su PHP che vanno oltre la top ten OWASP, affrontando vari attacchi injection, iniezioni di script, attacchi contro la gestione delle sessioni di PHP, riferimenti diretti a oggetti non sicuri, problemi con il caricamento di file e molti altri. Le vulnerabilità correlate a PHP vengono introdotte raggruppate nei tipi di vulnerabilità standard di convalida dell'input mancante o impropria, gestione errata di errori ed eccezioni, uso improprio delle funzioni di sicurezza e problemi relativi al tempo e allo stato. Per quest'ultimo si parla di attacchi come l'elusione del open_basedir, il denial-of-service tramite magic float o l'attacco di collisione della tabella hash. In tutti i casi, i partecipanti acquisiranno familiarità con le tecniche e le funzioni più importanti da utilizzare per mitigare i rischi arruolati.
Un'attenzione particolare è rivolta alla sicurezza lato client che affronta le questioni di sicurezza di JavaScript, Ajax e HTML5. Vengono introdotte un certo numero di estensioni relative alla sicurezza di PHP come hash, mcrypt e OpenSSL per la crittografia, o Ctype, ext/filter e HTML Purifier per la convalida dell'input. Le migliori pratiche di hardening sono fornite in relazione alla configurazione di PHP (impostazione php.ini), Apache e al server in generale. Infine, viene fornita una panoramica dei vari strumenti e tecniche di test di sicurezza che sviluppatori e tester possono utilizzare, tra cui scanner di sicurezza, test di penetrazione ed exploit pack, sniffer, server proxy, strumenti di fuzzing e analizzatori di codice sorgente statico.
Sia l'introduzione delle vulnerabilità che le pratiche di configurazione sono supportate da una serie di esercizi pratici che dimostrano le conseguenze degli attacchi riusciti, mostrando come applicare tecniche di mitigazione e introducendo l'uso di varie estensioni e strumenti.
I partecipanti a questo corso dovranno
- Comprendere i concetti di base della sicurezza, della sicurezza informatica e della codifica sicura
- Scopri le vulnerabilità del Web oltre la Top Ten di OWASP e scopri come evitarle
- Scopri le vulnerabilità lato client e le pratiche di codifica sicura
- Avere una conoscenza pratica della crittografia
- Impara a utilizzare le varie funzioni di sicurezza di PHP
- Scopri gli errori di codifica tipici e come evitarli
- Essere informati sulle recenti vulnerabilità del framework PHP
- Ottieni conoscenze pratiche sull'uso degli strumenti di test di sicurezza
- Ottieni fonti e ulteriori letture sulle pratiche di codifica sicura
Pubblico
Gli sviluppatori
Microsoft SDL Core
14 oreLa formazione combinata SDL core offre una panoramica sul design, sviluppo e testing sicuro del software attraverso il Microsoft Secure Development Lifecycle (SDL). Fornisce un'introduzione di livello 100 ai fondamentali dell'SDL, seguita da tecniche di progettazione per rilevare e correggere i difetti nelle fasi iniziali dello sviluppo.
Per quanto riguarda la fase di sviluppo, il corso presenta una panoramica dei tipici errori di programmazione rilevanti per la sicurezza sia del codice gestito che nativo. Vengono presentati metodi di attacco per le vulnerabilità discusse insieme alle tecniche di mitigazione associate, tutte illustrate attraverso esercizi pratici che offrono ai partecipanti un'esperienza di hacking live. L'introduzione a diversi metodi di testing di sicurezza è seguita dalla dimostrazione dell'efficacia di vari strumenti di testing. I partecipanti possono comprendere il funzionamento di questi strumenti attraverso numerosi esercizi pratici applicando gli strumenti al codice vulnerabile già discusso.
I partecipanti a questo corso
Comprenderanno i concetti di base della sicurezza, della sicurezza IT e del codice sicuro
Conosceranno i passaggi fondamentali del Microsoft Secure Development Lifecycle
Impareranno pratiche di progettazione e sviluppo sicuro
Impareranno principi di implementazione sicura
Comprenderanno la metodologia di testing di sicurezza
- Ottengono fonti e letture ulteriori sulle pratiche di codifica sicura
Pubblico
Sviluppatori, Manager
DevOps Security: Creare una strategia di sicurezza DevOps
7 oreIn questo corso live guidato dall'insegnante in Italia, i partecipanti impareranno come formulare la strategia di sicurezza appropriata per affrontare la sfida della sicurezza DevOps.
DevSecOps Firefight: Breach, Fix & Fortify
7 oreQuesto workshop di prim'ordine, all'avanguardia e pratico immerge i partecipanti nelle realtà critiche della sicurezza moderna delle pipeline CI/CD. Progettato per professionisti della sicurezza, ingegneri DevOps e sviluppatori ansiosi di padroneggiare le tecniche avanzate di difesa contro le violazioni delle pipeline, la formazione combina simulazioni di attacchi live con strumenti leader nel settore e tecniche pratiche di difesa.
EC-Council Certified DevSecOps Engineer (ECDE)
28 oreEC-Council Certified DevSecOps Engineer (ECDE) è un corso pratico progettato per dotare i professionisti delle competenze necessarie a integrare la sicurezza in tutto il ciclo di vita DevOps, abilitando lo sviluppo software sicuro da pianificazione all'immissione.
Questo addestramento guidato dall'insegnante (online o sul posto) è rivolto a professionisti intermedi nel settore del software e DevOps che desiderano integrare le pratiche di sicurezza nei pipeline CI/CD, garantendo la consegna di codice sicuro e conforme.
Al termine di questo addestramento, i partecipanti saranno in grado di:
- Capire i principi e le pratiche del DevSecOps.
- Sicurezza a ogni fase dei pipeline CI/CD utilizzando strumenti automatizzati.
- Implementare pratiche di codifica sicura e scansione delle vulnerabilità.
- Predisporre per la certificazione ECDE con laboratori pratici e riepiloghi.
Formato del Corso
- Lettura interattiva e discussione.
- Uso pratico degli strumenti DevSecOps in pipeline simulate.
- Esercizi guidati focalizzati sull'implementazione sicura dello sviluppo e dell'immissione.
Opzioni di Personalizzazione del Corso
- Per richiedere un addestramento personalizzato per questo corso basato sui flussi di lavoro o sulla toolchain della tua squadra, contattaci per organizzare.
OWASP GenAI Security
14 oreBasato sull'ultima guida del progetto OWASP GenAI Security, i partecipanti impareranno a identificare, valutare e mitigare minacce specifiche per l'AI attraverso esercizi pratici e scenari reali.
OWASP Mobile Security Testing Guide
21 oreQuesto training guidato dal formatore, live in Italia (online o in sede), è rivolto a sviluppatori, ingegneri e architetti che desiderano applicare i principi di test del MSTG, i processi, le tecniche e gli strumenti per proteggere le loro applicazioni e servizi mobili.
Al termine di questo training, i partecipanti saranno in grado di:
- Esplorare tecniche di test per strategizzare un'efficace implementazione del testing di sicurezza nel ciclo di vita dello sviluppo.
- Eseguire tecniche di test per identificare le vulnerabilità e i rischi generali nelle app mobili.
- Avviare vari processi di testing di sicurezza per proteggere le loro applicazioni mobili Android e iOS.
Secure Developer Java (Inc OWASP)
21 oreQuesto corso copre i concetti e i principi di codifica sicura con Java attraverso la metodologia di testing dell'Open Web Application Security Project (OWASP). L'Open Web Application Security Project è una comunità online che crea articoli, metodologie, documentazione, strumenti e tecnologie a disposizione gratuita nel campo della sicurezza delle applicazioni web.
Secure Developer .NET (Inc OWASP)
21 oreQuesto corso copre i concetti e le principi di codifica sicura con ASP.net attraverso la metodologia di test dell'Open Web Application Security Project (OWASP), una comunità online che crea articoli, metodologie, documentazione, strumenti e tecnologie a disposizione gratuita nel campo della sicurezza delle applicazioni web.
Il corso esplora le funzionalità di sicurezza del framework .NET e come proteggere le applicazioni web.
Sicurezza del Software per la Pubblica Amministrazione
42 oreObiettivo: Fornire agli studenti le competenze necessarie per comprendere, implementare e valutare la sicurezza del software utilizzato nella Pubblica Amministrazione, in linea con le linee guida dell'Agenzia per l'Italia Digitale (AGID) e le migliori pratiche nel settore della sicurezza informatica.