Schița de curs

Ziua 1

  • Securitate IT și codare sigură
    • Natura securității
    • termeni legati de securitatea IT
    • Definiţia risk
    • Diferite aspecte ale securității IT
    • Cerințe ale diferitelor domenii de aplicare
    • Securitate IT vs. codare sigură
    • De la vulnerabilități la rețele bot și criminalitatea cibernetică
      • Natura defectelor de securitate
      • Motive de dificultate
      • De la un computer infectat la atacuri vizate
    • Clasificarea defectelor de securitate
      • taxonomia lui Landwehr
      • Cele șapte regate pernicioase
      • OWASP Top Ten 2013
      • OWASP Comparația Top Ten 2003 – 2013
  • Introducere în Microsoft® Ciclul de viață al dezvoltării securității (SDL)
    • Agendă
    • Aplicații atacate...
      • Evoluția criminalității cibernetice
      • Atacurile se concentrează pe aplicații
      • Cele mai multe vulnerabilități sunt în aplicațiile ISV mai mici
    • Originile Microsoft SDL...
      • Cronologie de securitate la Microsoft...
      • Ce aplicații sunt necesare pentru a urma SDL?
    • Microsoft Ciclul de viață al dezvoltării securității (SDL)
      • Microsoft Ciclul de viață al dezvoltării securității (SDL)
      • Cerințe pre-SDL: Instruire de securitate
      • Prima etapă: cerințe
      • Faza a doua: Proiectare
      • Faza a treia: implementare
      • Etapa a patra: Verificare
      • Etapa cinci: Lansare – Plan de răspuns
      • Etapa a cincea: lansare – revizuire finală de securitate
      • Etapa cinci: Lansare – Arhivă
      • Cerință post-SDL: Răspuns
      • Ghid de proces SDL pentru aplicațiile LOB
      • Ghid SDL pentru Agile Metodologii
      • Dezvoltarea software sigură necesită îmbunătățirea procesului
  • Principii de design sigur
    • Suprafata de atac
      • Reducerea suprafeței de atac
      • Suprafața de atac – un exemplu
      • Analiza suprafeței de atac
      • Reducerea suprafeței de atac – exemple
    • Confidențialitate
      • Confidențialitate
      • Înțelegerea comportamentelor și preocupărilor legate de aplicare
    • Apărare în profunzime
      • Principiul de bază SDL: Apărare în profunzime
      • Apărare în profunzime – exemplu
    • Principiul privilegiului minim
      • Cel mai mic privilegiu – exemplu
    • Setări implicite sigure
      • Setări implicite sigure – exemple
  • Principii de implementare sigură
    • Agendă
    • Microsoft Ciclul de viață al dezvoltării securității (SDL)
    • Elemente de bază pentru depășirea tamponului
      • Procesoare Intel 80x86 – registre principale
      • Aspectul adresei de memorie
      • Mecanismul de apelare a funcției în C/C++ pe x86
      • Variabilele locale și cadrul stivei
      • Debordarea stivei
        • Buffer overflow pe stivă
        • Exerciții – introducere
        • Exercițiul BOFIntro
        • Exercițiul BOFIntro – determinați aspectul stivei
        • Exercițiul BOFIntro – o exploatare simplă
    • Validarea intrărilor
      • Concepte de validare a intrărilor
      • Probleme cu numere întregi
        • Reprezentarea numerelor întregi negative
        • Depășire întreg
        • Overflow aritmetic – ghiciți rezultatul!
        • Exercițiul IntOverflow
        • Care este valoarea Math.Abs(int.MinValue)?
      • Atenuarea problemelor cu numere întregi
        • Atenuarea problemelor cu numere întregi
        • Evitarea depășirii aritmetice – adunare
        • Evitarea depășirii aritmetice – înmulțire
        • Detectarea depășirii cu cuvântul cheie bifat în C#
        • Exercițiu – Utilizarea cuvântului cheie bifat în C#
        • Excepții declanșate de depășiri în C#
      • Studiu de caz – Integer overflow în .NET
        • O vulnerabilitate de depășire a numărului întreg din lumea reală
        • Exploatarea vulnerabilității de depășire a numărului întreg
      • Vulnerabilitatea traversării căii
        • Atenuarea traversării traseului

Ziua 2

  • Principii de implementare sigură
    • Injectare
      • Metode tipice SQL de atac prin injecție
      • Injectare oarbă și bazată pe timp SQL.
      • SQL Metode de protecție prin injecție
      • Injecție de comandă
    • Autentificare ruptă - gestionarea parolelor
      • Exercițiu – Slăbiciunea parolelor hashing
      • Gestionarea parolelor și stocarea
      • Algoritmi hash cu scop special pentru stocarea parolelor
    • Cross-Site Scripting (XSS)
      • Cross-Site Scripting (XSS)
      • CSS injecție
      • Exploatarea: injectare prin alte HTML tag-uri
      • Prevenirea XSS
    • Lipsește controlul accesului la nivel de funcție
      • Filtrarea fișierelor încărcate
    • Criptografie practică
      • Asigurarea confidențialității cu criptografia simetrică
      • Algoritmi simetrici de criptare
      • Cifre bloc – moduri de operare
      • Hash sau rezumat de mesaje
      • Algoritmi hash
      • Cod de autentificare a mesajelor (MAC)
      • Oferind integritate și autenticitate cu o cheie simetrică
      • Asigurarea confidențialității prin criptarea cu chei publice
      • Regula generală – deținerea cheii private
      • Greșeli tipice în gestionarea parolelor
      • Exercițiu – Parole codificate greu
      • Concluzie
  • Principii de verificare sigură
    • Testare funcțională vs. testare de securitate
    • Vulnerabilități de securitate
    • Prioritizare
    • Testare de securitate în SDLC
    • Etapele planificării testelor (analiza riscurilor)
    • Scoping și colectare de informații
      • Părțile interesate
      • Active
      • Suprafața de atac
      • Obiective de securitate pentru testare
    • Modelarea amenințărilor
      • Modelarea amenințărilor
      • Profiluri de atacator
      • Modelarea amenințărilor bazată pe arbori de atac
      • Modelarea amenințărilor bazată pe cazuri de utilizare greșită/abuz
      • Cazuri de utilizare greșită/abuz – un exemplu simplu de magazin web
      • Abordarea STRIDE per element a modelării amenințărilor – MS SDL
      • Identificarea obiectivelor de securitate
      • Diagramare – exemple de elemente DFD
      • Diagrama fluxului de date – exemplu
      • Enumerarea amenințărilor – elementele STRIDE și DFD ale MS SDL
      • Analiza riscului – clasificarea amenințărilor
      • Modelul de clasare a amenințărilor/riscurilor DREAD
    • Tehnici și instrumente de testare a securității
      • Abordări generale de testare
      • Tehnici pentru diferite etape ale SDLC
    • Revizuire a Codului
      • Revizuirea codului pentru securitatea software-ului
      • Analiza impurităților
      • Euristică
    • Analiza codului static
      • Analiza codului static
      • Analiza codului static
      • Exercițiu – Utilizarea instrumentelor de analiză statică a codului
    • Testarea implementării
      • Verificare manuală a timpului de rulare
      • Testare de securitate manuală vs. automată
      • Testarea de penetrare
      • Teste de stres
    • Fuzzing
      • Testare automată de securitate - fuzzing
      • Provocări ale fuzzingului
    • Scanere de vulnerabilitate web
      • Exercițiu – Utilizarea unui scanner de vulnerabilități
    • Verificarea și întărirea mediului
      • Common Vulnerability Scoring System – CVSS
      • Scanere de vulnerabilitate
      • Baze de date publice
    • Studiu de caz – Bypass pentru autentificarea formularelor
      • Vulnerabilitatea de terminare a octetilor NULL
      • Vulnerabilitatea Forms Authentication Bypass din cod
      • Exploatarea Bypass-ului de autentificare prin formulare
  • Surse de cunoștințe
    • Surse de codare sigure – un kit de pornire
    • Baze de date de vulnerabilități
    • Ghid de codare securizată .NET la MSDN
    • .NET codare securizată cheat sheets
    • Cărți recomandate – .NET și ASP.NET

 14 ore

Numărul de participanți



Pret per participant

Mărturii (9)

Cursuri înrudite

Standard Java Security

14 ore

Java and Web Application Security

21 ore

Advanced Java Security

21 ore

Advanced Java, JEE and Web Application Security

28 ore

.NET, C# and ASP.NET Security Development

14 ore

Comprehensive C# and .NET Application Security

21 ore

Advanced C#, ASP.NET and Web Application Security

21 ore

Web Application Security

14 ore

Security Testing

14 ore

Secure Web Application Development and Testing

21 ore

Secure coding in PHP

21 ore

Combined C/C++, JAVA and Web Application Security

28 ore

Combined JAVA, PHP and Web Application Security

28 ore

Android Security

14 ore

Categorii înrudite