Povratni inženiring - brezplačen tečaj pri Otusu, usposabljanje 5 mesecev, datum 30. november 2023.
Miscellanea / / December 03, 2023
V praksi boste obvladali najpomembnejše tehnike obratnega inženiringa: statično in dinamično analizo.
Seznanite se z nizkonivojskim in sistemskim programiranjem ter podrobno razumete vidike notranje strukture sistema Windows.
Preučevali in razvrščali boste zlonamerno programsko opremo s pomočjo primerov prave zlonamerne programske opreme, ujete v omrežju.
KAJ JE VZVRATNO INŽENIRSTVO?
Povratni inženiring kode (code reverse engineering) je proces analize strojne kode programa, katerega namen je razumeti princip delovanja, obnoviti algoritem, odkriti nedokumentirane zmožnosti programa itd. Glavni metodi obratnega inženiringa sta statični ali dinamični analiza kode. Pri statični analizi raziskovalec s pomočjo posebne programske opreme razstavi programsko kodo in nato analizira kodo sestavljanja. Pri dinamični analizi raziskovalec zažene kodo v izoliranem okolju (peskovniku) ali razhroščevalniku in analizira kodo skozi čas.
Komu je ta tečaj namenjen?
- Za sistemske programerje, ki razvijajo nizkonivojsko programsko opremo. Razumeli boste, kako koda deluje interno po prevajanju in lahko izboljšate kakovost svojih rešitev.
- Za začetnike analitike virusov in strokovnjake za informacijsko varnost. Naučili se boste vseh nujnih praks povratnega inženiringa in pridobili celovito razumevanje zlonamerne programske opreme.
Kako poteka praksa?
Dijaki prejmejo stojala vnaprej in jih postavijo lokalno pred začetkom pouka. Vajo boste izvajali na svojem virtualnem računalniku med webinarjem pod vodstvom učitelja.
Kaj vas čaka na tečaju:
- Vadite razpakiranje datotek
- Praktična analiza formata PE (uvozna tabela, izvozna tabela, premestitvena tabela)
- Praktična analiza izsiljevalskih programov, bančnih trojancev, botov.
- Projektno delo, v okviru katerega boste napisali svoj program za zdravljenje škodljivih programov
Naši partnerji Certiport nudijo 10% popust na certifikacijske izpite EC-Council (EHA, CFA) vsem študentom!
Nizkonivojsko programiranje v asemblerju za x8086/x64.
-Tema 1.Procesorski registri, delo s pomnilnikom
-Tema 2. Predstavitev podatkov, koda, kode ukazov. Osnovni YA ukazi
-Tema 3. Aritmetični in logični ukazi
-Tema 4. Verižne operacije
-Tema 5. Podprogrami
-Tema 6. Prekinitve BIOS-a
-Tema 7. Pisanje MBR-ja po meri
Nizkonivojsko programiranje v asemblerju za MIPS.
-Tema 8.Procesorski registri. Delo s spominom
-Tema 9. Aritmetika, logični ukazi. Ukazi za pogojni/brezpogojni skok
-Tema 10. Operacijske kode ukazov
Zaščiten način procesorja
- Tema 11. Načini delovanja procesorjev. Načelo delovanja procesorja v PM. Segmentna organizacija spomina
-Tema 12. Stranska organizacija spomina
-Tema 13. Vrste deskriptorjev
Notranjost sistema Windows
-Tema 14. Objekti jedra
-Tema 15.Upravitelj pomnilnika
-Tema 16.I/O Manager
Sistemsko programiranje
-Tema 17.PE format
-Tema 18. Uvoz tabele
-Tema 19. Izvozna tabela/premestitvena tabela
-Tema 20. Windows Traps
-Tema 21. Prestrezanje funkcij WinApi
-Tema 22. Programiranje domačih aplikacij
-Tema 23. Metode dodajanja v zagon
-Tema 24. Storitve programiranja
-Tema 25. Nastavitev delovnega okolja za razhroščevanje gonilnikov načina jedra
Povratni inženiring programov
-Tema 26. Analiza dinamične kode
-Tema 27.Statična analiza kode
-Tema 28. Razvoj lupinskih kod
-Tema 29. Vaja: ročno razpakiranje
-Tema 30. Praksa: analiza izkoriščanja
-Tema 31. Praksa: analiza zlonamernega vzorca
-Tema 32. Ranljivost prelivanja medpomnilnika
-Tema 33. Ranljivost UAF
-Tema 34. Bootkiti
Projektni modul
-Tema 35. Izbira teme in organizacija projektnega dela
-Tema 36. Posvetovanje o projektih in domačih nalogah
-Tema 37. Zaščita projektantskega dela