Curs de pregatire C/C++ Codare Securizată
Scrierea de cod sigur în C și C++ necesită o apărare riguroasă împotriva exploatării malitioase, a corupției memoriei și a ocolirii validării intrărilor. Acest program examinează modele de vulnerabilități, inclusiv depășirea buffer-ului, utilizarea după eliberare, depășirea întregilor și confuzia de tip. Participanții aplică îndrumări de codare sigură, instrumente de analiză statică și tehnici de programare defensivă pentru a elimina punctele slabe, a impune sanitarizarea intrărilor și a livra software rezistent la atacuri cibernetice.
Schița de curs
- Erori de programare C/C++
- Principii de protecție
- Validarea intrărilor
- Gestionarea improprie a erorilor și excepțiilor
- Depășirea buffer-ului
- Depășirea stivei
- Depășirea heap-ului
- Protecție împotriva depășirii stivei
- Randomizarea Layout-ului Spațiului de Adrese (ASLR)
- Surse de codare sigură
Cerințe
Bazele C/C++
Cursurile publice necesita 5+ participanti
Curs de pregatire C/C++ Codare Securizată - Rezervare
Curs de pregatire C/C++ Codare Securizată - Solicitare
Mărturii (6)
Schimbul de experiență, cunoștințele și valoarea profesorului sunt prețioase.
Carey Fan - Logitech
Curs - C/C++ Secure Coding
Tradus de catre o masina
echilibrul dintre prelegeri și practică, ritmul, cunoștințele instruirii și abilitatea pedagogică a formatorului
Armando Pinto - EID
Curs - C/C++ Secure Coding
Tradus de catre o masina
Formatorul a furnizat informații actualizate și referințe și instrumente valoroase.
Jose Vicente - EID
Curs - C/C++ Secure Coding
Tradus de catre o masina
pentru a obține multe informații utile despre subiectul cursului
Paulo Pereira - EID
Curs - C/C++ Secure Coding
Tradus de catre o masina
Antrenorul are cunoștințe solide și experiență, diapozitive plăcute, exemple bune.
Celso Almeida - EID
Curs - C/C++ Secure Coding
Tradus de catre o masina
Informații generale despre curs
Paulo Gouveia - EID
Curs - C/C++ Secure Coding
Tradus de catre o masina
Cursuri viitoare
Cursuri înrudite
C++ Avansat
35 OreAcest training condus de un instructor, live în România (online sau la fața locului), este destinat dezvoltatorilor care doresc să utilizeze tehnici avansate de programare în C++ pentru a dezvolta sisteme și aplicații complexe, sigure și de înaltă performanță.
La sfârșitul acestui training, participanții vor putea:
- Să configureze un mediu de dezvoltare care include toate bibliotecile, pachetele și framework-urile C++.
- Să înțeleagă caracteristicile, componentele și elementele de bază ale C++.
- Să creeze aplicații complexe în C++ folosind tehnici avansate de programare.
- Să învețe cum să scrie cod lizibil, rapid și sigur în C++.
- Să cunoască capcanele comune de securitate în limbajul C++ și cum să le atenueze.
- Să implementeze strategii de testare pentru controlul calității și securității codului.
- Să utilizeze instrumentele de diagnosticare și depanare în dezvoltarea C++.
C++ Avansat: Atelier practic
21 OreAcest curs de C++ acoperă concepte moderne cheie de programare, inclusiv șabloane, semantică de mutare și funcții de prim rang.
Acesta pune accent pe gestionarea memoriei folosind pointeri inteligenți și practici de codare sigure.
Studenții învață despre erori de runtime, supraîncărcarea operatorilor, polimorfism și containere STL cu algoritmi.
Cursul se încheie cu o introducere în strategiile eficiente de testare în C++.
Securitatea Rețelelor și Comunicarea Securizată
21 OreImplementarea unei aplicații de rețea securizată poate fi dificilă, chiar și pentru dezvoltatorii care au folosit anterior diverse blocuri criptografice (cum ar fi criptarea și semnăturile digitale). Pentru a înțelege rolul și utilizarea acestor primitive criptografice, este mai întâi oferită o fundație solidă privind cerințele principale ale comunicării securizate – confirmare securizată, integritate, confidențialitate, identificare la distanță și anonimat –, prezentându-se în același timp problemele tipice care pot afecta aceste cerințe, împreună cu soluții din lumea reală.
Deoarece un aspect critic al securității rețelelor este criptografia, sunt de asemenea discutate cele mai importante algoritme criptografice din criptografia simetrică, hashing, criptografia asimetrică și acordul de chei. În loc să prezinte un fundal matematic detaliat, aceste elemente sunt discutate din perspectiva unui dezvoltator, prezentând exemple de cazuri tipice și considerații practice legate de utilizarea criptografiei, cum ar fi infrastructurile de chei publice. Sunt introduse protocoale de securitate în numeroase domenii ale comunicării securizate, cu o discuție detaliată despre familiile de protocoale cele mai utilizate, cum ar fi IPSEC și SSL/TLS.
Sunt discutate vulnerabilitățile criptografice tipice, atât legate de anumiți algoritmi criptografici, cât și de protocoale criptografice, cum ar fi BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding oracle, Lucky Thirteen, POODLE și altele asemănătoare, precum și atacul de timp RSA. În fiecare caz, sunt descrise considerațiile practice și consecințele potențiale ale fiecărei probleme, din nou, fără a intra în detalii matematice complexe.
În cele din urmă, deoarece tehnologia XML este esențială pentru schimbul de date în aplicațiile de rețea, sunt descrise aspectele de securitate ale XML. Aceasta include utilizarea XML în serviciile web și mesajele SOAP, împreună cu măsuri de protecție precum semnătura XML și criptarea XML – precum și slăbiciunile acestor măsuri de protecție și problemele de securitate specifice XML, cum ar fi injecția XML, atacurile XML external entity (XXE), bombele XML și injecția XPath.
Participanții care urmează acest curs vor
- Înțelege conceptele de bază ale securității, securității IT și programării securizate
- Înțelege cerințele comunicării securizate
- Învață despre atacurile și apărările de rețea la diferite niveluri OSI
- Dobândească o înțelegere practică a criptografiei
- Înțelege protocoalele esențiale de securitate
- Înțelege unele atacuri recente împotriva sistemelor criptografice
- Obține informații despre unele vulnerabilități recente înrudite
- Înțelege conceptele de securitate ale serviciilor web
- Obține surse și lecturi suplimentare despre practicile de programare securizată
Public țintă
Dezvoltatori, Profesioniști
Securitate Avansată în Java
21 OreChiar și programatorii Java experimentați nu stăpânesc pe deplin diversele servicii de securitate oferite de Java și, de asemenea, nu sunt conștienți de diferitele vulnerabilități relevante pentru aplicațiile web scrise în Java.
Cursul – pe lângă introducerea componentelor de securitate din Standard Java Edition – abordează problemele de securitate ale Java Enterprise Edition (JEE) și serviciilor web. Discuția despre serviciile specifice este precedată de fundamentele criptografiei și comunicării securizate. Diverse exerciții abordează tehnicile de securitate declarativă și programatică în JEE, în timp ce se discută atât securitatea la nivel de transport, cât și securitatea end-to-end a serviciilor web. Utilizarea tuturor componentelor este prezentată prin mai multe exerciții practice, unde participanții pot încerca API-urile și instrumentele discutate pe cont propriu.
Cursul trece, de asemenea, prin cele mai frecvente și grave erori de programare ale limbajului și platformei Java și vulnerabilitățile legate de web. Pe lângă bug-urile tipice comise de programatorii Java, vulnerabilitățile de securitate introduse acoperă atât probleme specifice limbajului, cât și probleme care provin din mediul de execuție. Toate vulnerabilitățile și atacurile relevante sunt demonstrate prin exerciții ușor de înțeles, urmate de recomandările de codare și tehnicile posibile de atenuare.
Participanții care urmează acest curs vor
- Înțelege conceptele de bază ale securității, securității IT și codării securizate
- Învață despre vulnerabilitățile web dincolo de OWASP Top Ten și cum să le evite
- Înțelege conceptele de securitate ale serviciilor web
- Învață să utilizeze diverse funcționalități de securitate ale mediului de dezvoltare Java
- Dobândește o înțelegere practică a criptografiei
- Înțelege soluțiile de securitate ale Java EE
- Învață despre greșelile tipice de codare și cum să le evite
- Obține informații despre unele vulnerabilități recente din cadrul Java
- Dobândește cunoștințe practice în utilizarea instrumentelor de testare a securității
- Obține surse și lecturi suplimentare despre practicile de codare securizată
Public țintă
Dezvoltatori
Dezvoltare Securizată în .NET, C# și ASP.NET
14 OreÎn prezent, există numeroase limbaje de programare care permit compilarea codului pentru framework-urile .NET și ASP.NET. Mediul oferă instrumente puternice pentru dezvoltarea securizată, dar dezvoltatorii trebuie să știe cum să aplice tehnicile de programare la nivel de arhitectură și cod pentru a implementa funcționalitățile de securitate dorite și pentru a evita vulnerabilitățile sau a le limita exploatarea.
Scopul acestui curs este să învețe dezvoltatorii, prin numeroase exerciții practice, cum să prevină executarea de acțiuni privilegiate de către cod neîncredințat, să protejeze resursele prin autentificare și autorizare puternică, să ofere apeluri de procedură la distanță, să gestioneze sesiunile, să introducă diferite implementări pentru anumite funcționalități și multe altele.
Introducerea diferitelor vulnerabilități începe cu prezentarea unor probleme tipice de programare comise atunci când se utilizează .NET, în timp ce discuția despre vulnerabilitățile ASP.NET abordează, de asemenea, diverse setări de mediu și efectele acestora. În cele din urmă, subiectul vulnerabilităților specifice ASP.NET nu abordează doar unele provocări generale de securitate a aplicațiilor web, ci și probleme speciale și metode de atac, cum ar fi atacul asupra ViewState sau atacurile de terminare a șirurilor.
Participanții la acest curs vor
- Înțelege conceptele de bază ale securității, securității IT și ale programării securizate
- Învață despre vulnerabilitățile web dincolo de OWASP Top Ten și cum să le evite
- Învață să utilizeze diverse caracteristici de securitate ale mediului de dezvoltare .NET
- Dobândește cunoștințe practice în utilizarea instrumentelor de testare a securității
- Învață despre greșelile tipice de codare și cum să le evite
- Obține informații despre unele vulnerabilități recente în .NET și ASP.NET
- Obține surse și lecturi suplimentare despre practicile de programare securizată
Public țintă
Dezvoltatori
Programare securizată în PHP
21 OreCursul oferă abilități esențiale pentru dezvoltatorii PHP, necesare pentru a-și face aplicațiile rezistente la atacurile contemporane prin intermediul internetului. Vulnerabilitățile web sunt discutate prin exemple bazate pe PHP, depășind primele zece din OWASP, abordând diverse atacuri de injecție, injecții de scripturi, atacuri împotriva gestionării sesiunilor în PHP, referințe directe nesigure la obiecte, probleme legate de încărcarea fișierelor și multe altele. Vulnerabilitățile legate de PHP sunt introduse grupate în tipurile standard de vulnerabilități, cum ar fi validarea lipsă sau improprie a intrărilor, gestionarea incorectă a erorilor și excepțiilor, utilizarea necorespunzătoare a caracteristicilor de securitate și probleme legate de timp și stare. Pentru aceasta din urmă, discutăm atacuri precum ocolirea open_basedir, atacul de tip denial-of-service prin magic float sau atacul de coliziune a tabelelor hash. În toate cazurile, participanții se vor familiariza cu cele mai importante tehnici și funcții de utilizat pentru a atenua riscurile enumerate.
O atenție specială este acordată securității pe partea de client, abordând problemele de securitate ale JavaScript, Ajax și HTML5. Sunt introduse o serie de extensii legate de securitate pentru PHP, cum ar fi hash, mcrypt și OpenSSL pentru criptografie, sau Ctype, ext/filter și HTML Purifier pentru validarea intrărilor. Cele mai bune practici de întărire sunt prezentate în legătură cu configurația PHP (setarea php.ini), Apache și serverul în general. În cele din urmă, este oferită o prezentare generală a diverselor instrumente și tehnici de testare a securității pe care dezvoltatorii și testerii le pot folosi, inclusiv scanere de securitate, teste de penetrare și pachete de exploatare, snifferi, servere proxy, instrumente de fuzzing și analizoare statice de cod sursă.
Atât introducerea vulnerabilităților, cât și practicile de configurație sunt susținute de o serie de exerciții practice care demonstrează consecințele atacurilor reușite, arătând cum să aplici tehnici de atenuare și introducând utilizarea diverselor extensii și instrumente.
Participanții care participă la acest curs vor
- Înțelege conceptele de bază ale securității, securității IT și programării securizate
- Învață despre vulnerabilitățile web dincolo de primele zece din OWASP și știe cum să le evite
- Învață despre vulnerabilitățile pe partea de client și practicile de programare securizată
- Capătă o înțelegere practică a criptografiei
- Învață să folosească diverse caracteristici de securitate ale PHP
- Învață despre greșelile tipice de codare și cum să le evite
- Este informat despre vulnerabilitățile recente ale framework-ului PHP
- Capătă cunoștințe practice în utilizarea instrumentelor de testare a securității
- Primește surse și lecturi suplimentare despre practicile de programare securizată
Publicul țintă
Dezvoltatori
Microsoft SDL Core
14 OreCursul combinat de bază SDL oferă o perspectivă asupra proiectării, dezvoltării și testării sigure a software-ului prin intermediul Microsoft Secure Development Lifecycle (SDL). Acesta oferă o prezentare de nivel 100 a elementelor fundamentale ale SDL, urmată de tehnici de proiectare pentru a detecta și repara defecte în etapele timpurii ale procesului de dezvoltare.
Acoperind faza de dezvoltare, cursul oferă o prezentare generală a bug-urilor de programare relevante pentru securitate, atât pentru codul gestionat, cât și pentru cel nativ. Sunt prezentate metode de atac pentru vulnerabilitățile discutate, împreună cu tehnicile asociate de atenuare, toate explicate prin numeroase exerciții practice care oferă participanților distracție prin hacking live. Introducerea diferitelor metode de testare a securității este urmată de demonstrarea eficacității diverselor instrumente de testare. Participanții pot înțelege funcționarea acestor instrumente prin numeroase exerciții practice, aplicând instrumentele pe codul vulnerabil deja discutat.
Participanții care urmează acest curs vor
Înțelege conceptele de bază ale securității, securității IT și codificării sigure
Se familiarizează cu pașii esențiali ai Microsoft Secure Development Lifecycle
Învață practici de proiectare și dezvoltare sigură
Învață despre principiile de implementare sigură
Înțelege metodologia de testare a securității
- Obține surse și lecturi suplimentare despre practicile de codificare sigură
Publicul țintă
Dezvoltatori, Manageri
C++ pentru Sisteme Încorporate
21 OreEste C++ potrivit pentru sistemele incorporate, cum ar fi microcontrolerele și sistemele de operare în timp real?
Ar trebui să fie utilizată programarea orientată pe obiecte în microcontrolere?
Este C++ prea îndepărtat de hardware pentru a fi eficient?
Acest training condus de un instructor, în format live, abordează aceste întrebări și demonstrează prin discuții și exerciții practice cum poate fi utilizat C++ pentru a dezvolta sisteme incorporate cu cod precis, lizibil și eficient. Participanții pun teoria în practică prin crearea unei aplicații de probă în C++ pentru sisteme incorporate.
La sfârșitul acestui training, participanții vor putea:
- Înțelege principiile modelării orientate pe obiecte, programării software pentru sisteme incorporate și programării în timp real
- Produce cod pentru sisteme incorporate care este compact, rapid și sigur
- Evita umflarea codului din cauza șabloanelor, excepțiilor și altor caracteristici ale limbajului
- Înțelege problemele legate de utilizarea C++ în sisteme critice pentru siguranță și sisteme în timp real
- Depana un program C++ pe un dispozitiv țintă
Publicul țintă
- Dezvoltatori
- Designeri
Formatul cursului
- Parțial curs teoretic, parțial discuții, exerciții și practică intensă
Securitate DevOps: Crearea unei strategii de securitate DevOps
7 OreÎn acest curs condus de un instructor, în direct în România, participanții vor învăța cum să formuleze strategia de securitate corectă pentru a face față provocărilor de securitate DevOps.
EC-Council Certified DevSecOps Engineer (ECDE)
28 OreEC-Council Certified DevSecOps Engineer (ECDE) este un curs practic conceput pentru a echipa profesioniștii cu abilitățile necesare pentru a integra securitatea pe tot parcursul ciclului de viață DevOps, facilitând dezvoltarea de software sigur de la planificare până la implementare.
Acest training condus de un instructor, în format live (online sau la fața locului), este destinat profesioniștilor de nivel intermediar din domeniul software și DevOps care doresc să integreze practici de securitate în pipeline-urile CI/CD, asigurând livrarea de cod sigur și conform.
La finalul acestui training, participanții vor putea:
- Înțelege principiile și practicile DevSecOps.
- Securiza fiecare etapă a pipeline-ului CI/CD folosind instrumente automate.
- Implementa practici de codare sigură și scanare de vulnerabilități.
- Se pregăti pentru certificarea ECDE cu laboratoare practice și recapitulare.
Formatul cursului
- Prelegere interactivă și discuții.
- Utilizare practică a instrumentelor DevSecOps în pipeline-uri simulate.
- Exerciții ghidate axate pe dezvoltarea și implementarea securizată.
Opțiuni de personalizare a cursului
- Pentru a solicita un training personalizat pentru acest curs, bazat pe fluxurile de lucru sau lanțul de instrumente al echipei dumneavoastră, vă rugăm să ne contactați pentru a aranja.
Utilizarea C++ în Sisteme Încorporate - Aplicarea C++11/C++14
21 OreAcest training are ca scop introducerea C++ ca extensie comună a limbajului C în dezvoltarea de sisteme incorporate orientate pe obiecte. Deoarece C++ include C, acest training ne conduce de la C la C++ într-un mod natural și explorează mecanismele interne de implementare a C++. Acest lucru este deosebit de valoros pentru a înțelege cum să aplicăm C++ într-un mediu încorporat cu resurse limitate. Standardul C++ a suferit recent o revizuire majoră, cunoscută sub numele de C++11, iar un nou standard este în curs de dezvoltare, C++14. Acest curs abordează subiectele introduse de aceste revizuiri care sunt deosebit de utile, cum ar fi gestionarea performantă a memoriei, concurența în mediile multicore și programarea aproape de hardware (bare-metal).
OBiECTIV/BENEFICII
Principalul obiectiv al acestui curs este să vă permită să utilizați C++ într-un „mod corect”.
- Introducerea C++ ca alternativă orientată pe obiecte în contextul sistemelor incorporate
- Prezentarea asemănărilor și diferențelor față de limbajul C
- Înțelegerea diferitelor strategii de gestionare a memoriei – în special semantica mutării introdusă cu C++11
- Explorarea mecanismelor interne și înțelegerea efectelor diferitelor paradigme din C++ asupra codului mașină
- Utilizarea șabloanelor pentru a realiza abstracții de ordin înalt sigură de tip pentru programarea aproape de hardware – I/O mapat în memorie, precum și intreruperi – în special șabloanele variadice introduse cu C++11
- Prezentarea unor modele de design utile, aplicabile în special în contextul sistemelor incorporate
- Câteva exerciții pentru a exersa unele concepte
PUBLIC ȚINTĂ/PARTICIPANȚI
Acest training este destinat programatorilor C++ care intenționează să înceapă utilizarea C++ în contextul sistemelor incorporate.
CUNOȘTINȚE PREALABILE
Cursul necesită cunoștințe de bază în programarea C++, corespunzătoare trainingurilor noastre „C++ – Nivelul 1” și „C++ Nivelul 2 – Introducere în C++11”.
EXERCIȚII PRACTICE
În timpul trainingului, veți exersa conceptele prezentate într-o serie de exerciții. Vom folosi mediul integrat de dezvoltare deschis și gratuit Eclipse.
Programare Orientată pe Obiecte cu C++
7 OreAcest training condus de un instructor, live în România (online sau la fața locului) este destinat dezvoltatorilor care doresc să utilizeze C pentru a aplica tehnici de programare orientată pe obiecte și pentru a îmbunătăți designul software.
La sfârșitul acestui training, participanții vor putea: implementa concepte orientate pe obiecte în C, proiecta aplicații modulare, aplica încapsulare și abstractizare și structura baze de cod ușor de întreținut.
Cum să Scrii Cod Sigur
35 OreAcest curs în România își propune să ajute în următoarele:
- Să ajute dezvoltatorii să stăpânească tehnicile de scriere a unui Cod Sigur
- Să ajute testerii de software să testeze securitatea aplicației înainte de publicarea în mediul de producție
- Să ajute arhitecții de software să înțeleagă riscurile legate de aplicații
- Să ajute liderii de echipă să stabilească bazele de securitate pentru dezvoltatori
- Să ajute administratorii web să configureze serverele pentru a evita configurațiile greșite
Secure Developer Java (Inclusiv OWASP)
21 OreAcest curs acoperă conceptele și principiile de codare sigură în Java prin metodologia de testare a Open Web Application Security Project (OWASP). Open Web Application Security Project este o comunitate online care creează articole, metodologii, documentație, instrumente și tehnologii disponibile gratuit în domeniul securității aplicațiilor web.
Secure Developer .NET (Inclusiv OWASP)
21 OreAcest curs acoperă conceptele și principiile de codare sigură folosind ASP.net prin metodologia de testare a Open Web Application Security Project (OWASP). OWASP este o comunitate online care creează articole, metodologii, documentații, instrumente și tehnologii disponibile gratuit în domeniul securității aplicațiilor web.
Acest curs explorează caracteristicile de securitate ale framework-ului .NET și modul de securizare a aplicațiilor web.