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
- Suprafata de atac
- 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
- Injectare
- 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
Mărturii (10)
echilibrul dintre cursuri și practică, ritmul, cunoștințele și abilitățile pedagogice ale formatorului
Armando Pinto - EID
Curs - C/C++ Secure Coding
Tradus de catre o masina
Very good knowledge and character.
Constantinos Michael
Curs - Java and Web Application Security
Schimbări pe loc, deoarece în ziua a 3-a începusem deja să mă pierd mai mult decât înainte și era mai greu să descopăr rapid o greșeală, am putut să fac zcheckout la ultima schimbare și să fiu la curent cu materialul.
Paulina
Curs - Advanced Java Security
Tradus de catre o masina
Foarte bun pentru a înțelege cum un hacker ar analiza potențial site-uri pentru slăbiciune și instrumente pe care le-ar putea folosi.
Roger - OTT Mobile
Curs - .NET, C# and ASP.NET Security Development
Tradus de catre o masina
Beginning by how to hack to better understand how to secure was very interesting and appreciated.
Raphaël Capocasale - Mikron SA Boudry
Curs - Advanced C#, ASP.NET and Web Application Security
Web 的同源策略和跨域的内容,以及XSS 的危害,這個很貼切我們的工作。
Princess Ou - 广东溢达纺织有限公司
Curs - Web Application Security
Trainer willing to answer questions and give bunch of examples for us to learn.
Eldrick Ricamara - Human Edge Software Philippines, Inc. (part of Tribal Group)
Curs - Security Testing
Învățarea modului de utilizare a noilor unelte. În principal, văzând cum ar putea fi efectuate testele de securitate
Jason - Kropman
Curs - Secure Web Application Development and Testing
Tradus de catre o masina
The real life examples.
Marios Prokopiou
Curs - Secure coding in PHP
The Burpe suite i need more training in this