Corso di formazione Programmazione sicura in C/C++
Scrivere codice C e C++ sicuro richiede una rigorosa difesa contro l'exploitation malevola, la corruzione della memoria e l'aggiramento della convalida degli input. Questo corso esamina modelli di vulnerabilità come i buffer overflow, l'uso dopo la liberazione (use-after-free), gli overflow interi e la confusione di tipo. I partecipanti applicano linee guida per la programmazione sicura, strumenti di analisi statica e tecniche di programmazione difensiva per eliminare le debolezze, imporre la sanitizzazione degli input e fornire software robusto resiliente agli attacchi informatici.
Struttura del corso
- Bugs nella programmazione C/C++
- Principi di protezione
- Convalida degli input
- Gestione impropria di errori ed eccezioni
- Buffer overflow
- Stack overflow
- Heap overflow
- Protezione contro lo stack overflow
- Randomizzazione dello spazio degli indirizzi (ASLR)
- Risorse per la programmazione sicura
Requisiti
Concetti di base di C/C++
I corsi di formazione interaziendali richiedono più di 5 partecipanti.
Corso di formazione Programmazione sicura in C/C++ - Prenotazione
Corso di formazione Programmazione sicura in C/C++ - Richiesta
Recensioni (6)
Condivisione di esperienze, competenze e conoscenze preziose del docente.
Carey Fan - Logitech
Corso - C/C++ Secure Coding
Traduzione automatica
l'equilibrio tra lezioni e pratica, il ritmo, la conoscenza del formatore e la sua abilità didattica
Armando Pinto - EID
Corso - C/C++ Secure Coding
Traduzione automatica
Il formatore ha fornito informazioni aggiornate e preziosi riferimenti e strumenti.
Jose Vicente - EID
Corso - C/C++ Secure Coding
Traduzione automatica
per ottenere molte informazioni utili sull'argomento del corso
Paulo Pereira - EID
Corso - C/C++ Secure Coding
Traduzione automatica
Il coach ha una solida conoscenza e esperienza, diapositive piacevoli, buoni esempi.
Celso Almeida - EID
Corso - C/C++ Secure Coding
Traduzione automatica
Informazioni generali sul corso
Paulo Gouveia - EID
Corso - C/C++ Secure Coding
Traduzione automatica
Corsi in Arrivo
Corsi relativi
C++ Avanzato
35 oreQuesto corso di formazione guidata dal docente in Italia (online o in presenza) è rivolto ai programmatori che desiderano utilizzare tecniche avanzate di programmazione C++ per sviluppare sistemi e applicazioni complessi, sicuri e ad alte prestazioni.
Al termine di questa formazione, i partecipanti saranno in grado di:
- Configurare un ambiente di sviluppo che include tutte le librerie, pacchetti e framework C++.
- Comprendere le caratteristiche, componenti ed elementi fondamentali di C++.
- Creare applicazioni complesse in C++ utilizzando tecniche avanzate di programmazione.
- Imparare a scrivere codice leggibile, veloce e sicuro in C++.
- Conoscere i problemi comuni di sicurezza del linguaggio C++ e come mitigarli.
- Implementare strategie di test per il controllo della qualità e della sicurezza del codice.
- Utilizzare gli strumenti di diagnostica e debug in sviluppo C++.
C++ per il modeling della finanza quantitativa
49 oreDotare gli sviluppatori quantitativi di tecniche avanzate di C++ adattate per il modeling finanziario: dai principali algoritmi computazionali e strutture dati ai modelli di pricing delle opzioni, all'analisi dei rischi e alle implementazioni ottimizzate per le prestazioni. Guidiamo i professionisti attraverso un curriculum basato su progetti completi che unisce la teoria finanziaria con codice di livello industriale, consentendo ai professionisti di costruire sistemi di simulazione accurati e ad alta velocità utilizzati nel trading, nell'analisi di mercato e nella gestione del rischio.
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
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
C++ per Sistemi Embedded
21 oreIl C++ è adatto ai sistemi embedded come microcontrollori e sistemi operativi in tempo reale?
L'orientamento a oggetti dovrebbe essere utilizzato nei microcontrollori?
Il C++ è troppo distante dall'hardware per essere efficiente?
Questo corso di formazione guidato dal docente affronta queste domande e dimostra, attraverso discussioni ed esercitazioni pratiche, come il C++ possa essere utilizzato per sviluppare sistemi embedded con codice preciso, leggibile ed efficiente. I partecipanti applicano la teoria alla pratica creando un'applicazione embedded di esempio in C++.
Al termine di questo corso, i partecipanti saranno in grado di:
- Comprendere i principi della modellazione orientata a oggetti, della programmazione software per sistemi embedded e della programmazione in tempo reale
- Producere codice per sistemi embedded che sia piccolo, veloce e sicuro
- Evitare l'aumento di dimensioni del codice derivante da template, eccezioni e altre funzionalità del linguaggio
- Comprendere i problemi legati all'uso del C++ in sistemi critici per la sicurezza e in tempo reale
- Debuggare un programma C++ su un dispositivo target
Audience
- Sviluppatori
- Progettisti
Formato del corso
- Parte lezione, parte discussione, esercizi e pratica intensiva
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.
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.
Come Scrivere Codice Sicuro
35 oreQuesto Corso in Italia mira a aiutare nel seguente:
- Aiutare gli Sviluppatori a padroneggiare le tecniche di scrittura del Codice Sicuro
- Aiutare i Tester Software a testare la sicurezza dell'applicazione prima della pubblicazione nell'ambiente di produzione
- Aiutare gli Architetti Software a comprendere i rischi che circondano le applicazioni
- Aiutare i Leader di Squadra a stabilire le basi di sicurezza per gli sviluppatori
- Aiutare i Web Masters a configurare i Server per evitare malfunzionamenti dovuti a configurazione errata
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.