Korisnički alati

Site alati


studenti:bruno_humic:mp_dnevnik

Razlike

Slijede razlike između dviju inačica stranice

Poveznica na ovu usporedbu

Starije izmjene na obje strane Starija izmjena
Novija izmjena
Starija izmjena
studenti:bruno_humic:mp_dnevnik [2014/02/10 13:48]
kskracic
studenti:bruno_humic:mp_dnevnik [2023/06/19 16:21] (trenutno)
Redak 3: Redak 3:
 ====  Dnevnik rada  ==== ====  Dnevnik rada  ====
  
-=== 1. tjedan (21.10 27.10.2013.) ===+=== 1. tjedan (4.8.2.2014.) ===
  
-== Dosadašnji rad ==+U prvom tjednu rada cilj je bio upoznati se sa osnovama asemblera za MS Windows operacijski sustav. U tu svrhu prošao sam seriju videa na stranici SecurityTube.net kako bi se prisjetio temeljnih stvari vezanih za asembler na MS Windows i Linux okruženju. Serije videa koje sam gledao mogu se na navedenoj stranici pronaći pod nazivima "​Windows Assembly Language"​ i "Linux Assembly Megaprimer"​.
  
  
 ----- -----
-=== 2. tjedan (28.10 - 3.11.2013.) ===+=== 2. tjedan (10.2 18.2.2014.) ===
 == Dosadašnji rad == == Dosadašnji rad ==
  
 +Ovaj tjedan uglavnom sam se bavio proučavanjem raznih materijala vezanih za reverzni inženjering. Preciznije, većinu vremena proveo sam čitajući određena poglavlja iz knjiga "​Reversing,​ Secrets Of Reverse Engineering"​ i "​Practical Malware Analysis"​. U poglavljima "​Foundations"​ i "​Low-Level Software"​ iz prve knjige naučio sam osnovne pojmove i tehnike vezane za reverzni inženjering te sam se prisjetio asemblerskog jezika. U poglavlju "​Windows Fundamentals"​ dobio sam uvid u arhitekturu Windows operacijskog sustava te sam se polagano počeo privikavati na Windows API pošto ću se baviti analizom zloćudnih programa na tom operacijskom sustavu. 
 +U knjizi "​Practical Malware Analysis"​ prošao sam poglavlje vezano za prepoznavanje tipičnih dijelova programskog jezika C u asembleru. Tako sam naučio kako prepoznati razne vrste petlji (for, while), grananja (if...else, switch), strukture, povezane liste te polja. Osim toga, u navedenom poglavlju upoznao sam se i sa osnovnim vrstama poziva funkcija u asembleru (engl. calling conventions). Nakon što sam prošao navedena poglavlja te dobio određene temelje iz područja reverznog inženjerstva,​ pribavio sam IDA Pro alat za rastavljanje (engl. dissasembler). Radi se o jednom od najpoznatijih alata za analizu asemblera te sam u poglavlju "IDA PRO" u knjizi "​Practical Malware Analysis"​ naučio osnove za korištenje tog alata.
  
 == Daljnji koraci == == Daljnji koraci ==
  
 +U sljedećem tjednu planiram se više orijentirati na praksu. Iz tog razloga upoznati ću se sa alatima vezanima za debugging i decompile na Windows operacijskom sustavu. Kako bi dobio dobar uvid u te alate proći ću poglavlje "​Reversing Tools" u knjizi "​Reversing,​ Secrets Of Reverse Engineering"​. Također, krenuti ću sa proučavanjem Olldbg debuggera te rješavati neke jednostavnije zadatke iz područja reverznog inženjeringa. ​
  
  
 ----- -----
-=== 3. tjedan (4.11 10.11.2013.) ===+=== 3. i 4. tjedan (19.5.3.2014.) ===
 == Dosadašnji rad == == Dosadašnji rad ==
 +U ova dva tjedna rada najviše sam se bavio reverzingom jednostavnih crackme programa sa stranice "​http://​thelegendofrandom.com/​blog/​sample-page"​. Uspio sam proći prvih 13 zadataka te do kraja ovog tjedna planiram završiti sa zadnja dva kako je planirano u zadatku. Sav reverzing sam radio preko Ollydbg debuggera pošto se radi o jednom od najpopularnijih alata za reverzni inžinjering. Osim praktičnog dijela čitao sam o ostalim alatima koji se koriste u reverznom inženjeringu te sam isprovao besplatni verziju IDA Pro alata. ​
   ​   ​
  
 == Daljnji koraci == == Daljnji koraci ==
 +U sljedećem tjednu planiram završiti sa zadanim tutorialima na stranici "​http://​thelegendofrandom.com/​blog/​sample-page"​ te se okušati u malo složenijim problemima na stranici " http://​crackmes.de"​.
  
  
 ----- -----
-=== 4. tjedan (11.11 17.11.2013.) ===+=== 5. i 6. tjedan (6.24.3.2014.) ===
 == Dosadašnji rad == == Dosadašnji rad ==
 +U posljednja dva tjedna bavio sam se najviše reverznim inžinjeringom raznih Crackme programa sa stranice http://​crackmes.de/​ . Do sada sam uspio riješiti 20ak Crackmea te se sve bolje snalazim u tome području. Također, prvi puta sam se susreo sa programima pisanima u Delphi programskom jeziku. Disasemblanjem tih programa dobiva se struktura asemblerskog koda koja je donekle drugačija od asemblerskog zapisa programa pisanih u C i C++ jezicima, stoga sam dio vremena proveo čitajući literaturu namijenjenu reverznom inženjerstvu Delphi programa. Tako sam se susreo sa nekim novim alatima, poput Resource Hacker i DeDe, koji značajno pojednostavljuju reverzing Delphi programa. 
 +Osim toga, započeo sam proučavati literaturu vezanu za naprednije statičke i dinamičke tehnike reverzinga iz knjige "​Practical Malware Analysis"​. Time sam započeo sa drugom točkom plana rada gdje je potrebno proučiti tehnike analize zloćudnih aplikacija. U sljedećih nekoliko dana nastojat ću proći cijelu literaturu vezanu za nalizu kako je dogovoreno na sastanku. Nakon toga krenut ću na analizu nekih stvarnih malicioznih programa te ,nadam se da u konačnici, ponuditi i neka riješenja za njih.
  
 ~~NOTOC~~ ~~NOTOC~~
Redak 37: Redak 40:
  
 ----- -----
-=== 5. tjedan (18.11 24.11.2013.) ===+=== 7. tjedan (25.4.4.2014.) ===
 == Dosadašnji rad == == Dosadašnji rad ==
-Napravio ​sam prvu verziju Bee-bota koji se upravlja računalom preko USB kabela ​može se kretati u smjeru naprijed-nazadRastavio ​sam DVD drive i na donji pravokutni ​dio limenog kučišta sam pričvrstio tri DC motora. Po jedan sa stražnje lijeve i desne strane i jedan naprijed ​srediniZadnja dva sam spojio na Arduino, protoboard, IC s H-bridegom ​njima pokretao autić, dok je prednji motor služio samo za održavanje ravnoteže+U posljednjih tjedan dana bavio sam se naprednijima temama iz područja statičke ​dinamičke analize zločudnih programaProšao ​sam dio 2(Napredna statička analiza) ​dio 3(Napredna dinamička analiza) ​knjizi "​Practical Malware Analysis"​Na kraju svakog poglavlja u knjizi nalazi se popis malicioznih programa ​zadataka koje je potrebno napraviti analizom istih te sam prošao te zadatke i time po prvi puta zakoračio u praktični dio vezan za analizu zločudnih programa.  
-== Daljnji koraci == +Osim toga naučio sam se koristiti ​nekim dodatnim alatima vezanima ​za analizu malwarea (osim Ollydbg ​IDApro koje sam koristio i prije). Neki od tih alata su PEviewPEid, Dependency Walker, Process monitor, Process explorer te apateDNS.
-Napraviti cjelokupni program za rad Bee-bota, proučiti i naćrješenja ​za "​ekstremne"​ slučajeve u kojima se Bee-bot može naći, uplodati programe direktno na zamjenski čip bez prethodnog uplodanja bootloadera.+
 ~~NOTOC~~ ~~NOTOC~~
  
  
 ----- -----
-=== 6. tjedan (25.11 1.12.2013.) ===+=== 8., 9., 10. tjedan (5.4. - 29.4.2014.) ===
 == Dosadašnji rad == == Dosadašnji rad ==
-Mislim da bi rješenje za određivanje je li Bee-bot u nekom od "​ekstremnih"​ slučajeva (podignut s poda, proklizavanje kotača ​...) bilo korištenje akcelerometra koji može mjeriti vibracijeOdredio bih koliko iznose vibracije kada je Bee-bot u normalnom načinu rada i napravio bi rješenja za situacije kada se nađe u zabranjenom načinu radaUmjesto prednjeg DC motora stavio sam kotač koji se može rotirati za 360 stupnjeva ​tada bi autić mogao mijenjati smjer na način da se nakratko ugasi motor suprotan od strane u koju se želi dovesti autić tj. da se ostavi upaljen onaj u koju se stranu želi skrenuti. Tako ako se ostavi ugašen desni motor lijevi upaljen motor će skrenuti u lijevoAutić se nije pomicaoiako su motori radili kako treba. Pretpostavljam ​da su preslabi. +U posljednja tri tjedna bavio sam se analizom stvarnog malwareaProgram sam pronašao putem stranice http://www.malwareblacklist.com/ sudeći po podacima sa stranice VirusTotal.com pretpostavljam ​da se pojavio početkom 2013godineOdlučio sam napisati blog post na engleskom ​koji sadrži detaljnu statičku dinamičku analizu nad zloćudnim programom jer smatram kako bi neke stvari ​tom postu mogle poslužiti ostalima ​koji se bave ovim područjem. Blog sa detaljnom analizom nalazi ​se na sljedećoj poveznici: http://​ubnixmalwareanalysis.blogspot.com/​  
- +Sljedeći korak je probati analizirati neki zapakirani malware te proučiti najpoznatije packere/​unpackere. U tu svrhu ćtakođer napisati blog kada završim
-~~NOTOC~~ +
------ +
-=== 7tjedan (2.12 - 8.12.2013.) === +
-== Dosadašnji rad == +
-Proučio sam kako i na koji način radi laserski miš za računalo ​njeogv IC ću iskoristiti za određivanje brzine i stanja Bee-bota. ​  +
-== Daljnji koraci == +
-Napraviti "​dijagram stanja" ​koji će grafički prikazati što će Bee-bot izvršavati i u kojem će se stanju ​naći u ovisnosti o unešenoj naredbi.+
 ~~NOTOC~~ ~~NOTOC~~
  
- 
------ 
-=== 8. tjedan (9.12 - 15.12.2013.) === 
-== Dosadašnji rad == 
-Napravio sam "​dijagram stanja"​ koji pokazuje kako bi Bee-bot trebao raditi. Proučio sam i uspio uplodati program (sketch) na Arduino direktno, bez prethodnog uplodanja bootloadera,​ kako bi se uštedilo na količini memorije. 
-== Daljnji koraci == 
-Probati pomoću zupčanika iz CD/DVD drivea dobiti da se Bee-bot može pomicati, jer DC motori imaju preslabi okretni momenat da bi uopće pokrenuli cijelu konstrukciju. 
-~~NOTOC~~ 
  
  
 ----- -----
-=== 10. tjedan (16.12 22.12.2013.) ===+=== 11. tjedan (30.4. - 11.5.2014.) ===
 == Dosadašnji rad == == Dosadašnji rad ==
-Zupčanici iz CD/DVD drivea neće biti dobri jer nema niti jedan par međusobno istih zupčanika i niti jedan se ne može staviti na već izvađene motore. Izvadio ​sam iz dva DC/DVD drivea dio kučišta na kojem se nalazi DC motor zajedno sa zupčanicima koji se izbacuju "​ladicu"​ drivea. +U posljednjih tjedan dana bavio sam se proučavanjem alata za pakiranje(englpackers) i raspakiranje(englunpackersizvršnih datotekaU svrhu toga prošao sam poglavlja ​12,13 18 iz knjige "​Practical Malware Analysis"​ te sam sa stranice tuts4you.com nabavio jedan zapakirani ​program ​koji sam otpakirao ​opisao cijeli postupak ​na blogu: http://​ubnixmalwareanalysis.blogspot.com/2014/05/manual-unpacking-of-upx-304.html 
-== Daljnji koraci == +Takođernapisao ​sam se i izvještaj na Hrvatskom jeziku ​koji sam poslao ​na uvid asistentuSljedeći tjedan ​bi trebao biti sastanak ​na kojem ćemo dogovoriti daljnje korake rada.
-Pokušati staviti IC od laserskog miša i mjeriti brzinu konstrukcije. +
-~~NOTOC~~ +
- +
------ +
-=== 11. tjedan ​(23.12 - 29.12.2013.) === +
-== Dosadašnji rad == +
-Motore sam zajedno sa zupčanicima na plastici iz kučišta drivea pričvrstio na šasiju i sada se konstrukcija bez problema pomiče u bilo kojem smjeruZamijenio sam podlogu od CD/DVD drivea na kojoj se nalazio sklop i na kojoj su bili pričvršćeni motori s poklopcem (gornjom stranomHDD-a koja je čvršća i lakša i čitavom konstrukcijom za sada upravljam preko laptopa koji je USB kabelom spojen na Arduino i šaljem mu naredbe, preko serial porta, u kojem smjeru da okreče motore  +
-== Daljnji koraci == +
-Proučiti librarye napravljenje za Arduino za upravljanje IC-em iz laserskog miša. Saznati kako programirati Arduino da upravlja konstrukcijom bez da je prikopčan na laptop putem USB-a i da mu kao izvor energije služi baterija. +
-~~NOTOC~~ +
- +
----- +
-=== 12. tjedan (30.12.2013. - 5.1.2014.) === +
-== Dosadašnji rad == +
-Napravio sam dijagram stanja ​dijagram toka programa. Napravio ​sam pojednostavljeni sklop autića s tri push-buttona i dvije ledicePritiskanje prva dva gumba bi određivalo koja će LEDica blinkati, a treći gumb, kada se pritisne, bi u programu predstavljao kraj unosa naredbi preko prva dva gumba. Još nisam uspio dobiti ​program ​da ispravno radi, mada se program uploada bez javljanja grešaka. +
-== Daljnji koraci == +
-Poraviti program da radi kako treba onda proširiti funkcionalnost ​na autićPopraviti i doraditi dijagram stanja i dijagram toka programa  +
-~~NOTOC~~ +
- +
----- +
-=== 13. tjedan (6.1.201412.1.2014.) === +
-== Dosadašnji rad == +
-Dodao sam još tri LEDice i sada ih ima sveukupno četiri i one predstavljaju smjer gibanja autića. Spojio sam i šest push-buttona od kojih prva četiri određuju koja će se LEDica blinkati. Peti button određuje kada je gotov unos naredbi i kada će početi blinkanje, a ako se pritisne dok LEDice blinkaju, označava kraj tj. LEDice prestaju blinkati. Šesti button služi za brisanje unešenih naredbi +
-== Daljnji koraci == +
-Postići da kada se stisne peti gumb dok LEDice još blinkaju, blinkanje prestane. +
- +
- +
-~~NOTOC~~ +
- +
----- +
-=== 14tjedan (13.1.2014. - 19.1.2014.) === +
-== Dosadašnji rad == +
-Dodao sam mogučnost programu dakada je pritisnut peti gumb, blinkanje prestane i program ponovo čeka pritisak nekih od prva četiri gumba koji označuju koja će LEDica blinkati. Program sada unešene naredbe (pritiske gumbiju) sprema u EEPROM. +
-== Daljnji koraci == +
-~~NOTOC~~ +
- +
----- +
-=== 15. tjedan (20.1.2014. - 26.1.2014.) === +
-== Dosadašnji rad == +
-Napravio ​sam program gdje se u "​glavnom dijelu"​ (void loop) očitavaju pritisnute tipke, određuje u kojem se stanju program trenutno nalazi ​onda koje LEDice upaliti ili ugasiti. Dodan je i interrupt koji se dešava 5 puta u sekundi i on provjerava koje je trenutno stanje i da li je pritisnut peti gumb. Ukoliko je program u stanju blinkanja LEDica i peti gumb nije pritisnut, blinkanje se nastavlja. Ukoliko je program u stanju blinkanja LEDica i peti gumb je pritisnut, blinkanje prestaje i program prelazi u stanje "​programiranja"​ i čeka nove pritiske buttona ​koji određuju kako blinkati LEDice.  +
-== Daljnji koraci == +
-Primjeniti program na autiću. +
-~~NOTOC~~ +
- +
----- +
-=== 16. tjedan (27.1.2014. - 2.2.2014.) === +
-== Dosadašnji rad == +
-Prebacio ​sam breadboard i Arduino ​na šasiju autića, priključio bateriju i pokrenuo gaAutić se bez problema giba naprijed/​nazad,​ ali skretanje je problem zbog središnjeg kotača koji se ne okreče dovoljno brzo. +
-== Daljnji koraci == +
-Naći drugo rješenje za središnji kotač. +
-~~NOTOC~~ +
- +
----- +
-=== 17. tjedan ​(3.2.2014. - 9.2.2014.) === +
-== Dosadašnji rad == +
-Probao sam umjesto središnjeg kotača staviti kuglicu. Nije pomoglo jer je fiksirana, pa autić samo struže njome po podu. +
-== Daljnji koraci == +
-Napraviti program gdje će se očitavanje tipki i određivanje stanja dešavati u interruptu, a u glavnom dijelu programa će se samo izvoditi naredbe vezane za pojedinu tipku. Napraviti središnji kotač ​na principu starog računalnog miša s kuglicom, gdje je kuglica u potpunosti slobodna i može se okretati u bilo kojem smjeru. +
-~~NOTOC~~ +
- +
----- +
-=== 18. tjedan (10.2.2014. - 16.2.2014.) === +
-== Dosadašnji rad == +
-== Daljnji koraci == +
-~~NOTOC~~+
studenti/bruno_humic/mp_dnevnik.1392040083.txt.gz · Zadnja izmjena: 2023/06/19 16:20 (vanjsko uređivanje)