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 (5)

Upcoming Courses