Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Razlike

Slijede razlike između dviju inačica stranice.

Poveznica na ovu usporedbu

Starije izmjene na obje strane Starija izmjena
Novija izmjena
Starija izmjena
racfor_wiki:seminari:analiza_pe_formata_izvrsne_datoteke [2023/01/13 11:12]
fk49810
racfor_wiki:seminari:analiza_pe_formata_izvrsne_datoteke [2024/12/05 12:24] (trenutno)
Redak 4: Redak 4:
 ===== Sažetak ===== ===== Sažetak =====
  
-Većina komunikacije preko Interneta odvija se preko SSL/TSL protokola. SSL (Secure Sockets Layersprječava pristup do web-a onima kojima to nije namijenjeno. Najviše se koristi u Internet trgovini gdje je potrebno na siguran način proslijediti podatke o kartici od klijenta do poslužiteljaSSL je originalna inačica protokolaa kasnije je preimenovan TLSGeneralno gledano protokol je vrlo siguran za enkripciju prometano ranjiv je napadima kao što su Man in the middle Heartbleed.+Portable Executable (PEizvršni je format datoteka u operacijskom sustavu Windows. Sastoji se od nekoliko sekcija koje mogu sadržavati uvoz i izvoz pojedinih funkcija iz biblioteka, kao i skrivene resurseZbog svoje sveprisutnosti i popularnosti operacijskog sustava Windowsvećina zloćudnih programa (malwarea) se radi ovom formatuPritom se nerijetko koriste tehnike pakiranja u kojima se kompresijom i kriptiranjem smanjuje vidljivost uzoraka u programuprikriva stvarna namjena programa i dodaje još jednu ili nekoliko izvršnih datoteka. To otežava statičku i dinamičku analizu programa, ali i čini PE format dobro istraženim poznatim.
  
-Ključne riječi: SSLTSLkomunikacija; sigurnost; napad+Ključne riječi: PEformat datotekepakiranje
  
  
Redak 69: Redak 69:
  
 Iza slijedi Optional Header s čarobnim brojevima ''0x010B''\''0x020B'' (32/64-bit). Unatoč imenu, on nipošto nije izboran, ako mislimo pokrenuti datoteku. U njemu se nalaze informacije loaderu kako pokrenuti datoteku – adresa početne točke te bazna memorijska adresa. Spominje se i verzija operacijskog sustava te broj podatkovnih direktorija. Pritom veličina nije fiksna, već je određena sa ''SizeOfOptionalHeader'' iz PE zaglavlja. Veličine nisu jednake za 32 i 64 bit, ali najčešće je veličina zaglavlja za 32-bitne sustave ''0xE0'' Iza slijedi Optional Header s čarobnim brojevima ''0x010B''\''0x020B'' (32/64-bit). Unatoč imenu, on nipošto nije izboran, ako mislimo pokrenuti datoteku. U njemu se nalaze informacije loaderu kako pokrenuti datoteku – adresa početne točke te bazna memorijska adresa. Spominje se i verzija operacijskog sustava te broj podatkovnih direktorija. Pritom veličina nije fiksna, već je određena sa ''SizeOfOptionalHeader'' iz PE zaglavlja. Veličine nisu jednake za 32 i 64 bit, ali najčešće je veličina zaglavlja za 32-bitne sustave ''0xE0''
 +
 +Slijedi ''NumberOfHeaders'' (iz PE zaglavlja) zaglavlja sekcija (Section Headers) od kojih se svaki sastoji od:
 +  * veličine zaglavlja = 0x28 bajtova
 +  * imena sekcije – može biti bilo što (8 bajtova), najčešće .text, .CODE, .data, .DATA, .rdata, ...
 +  * fizičkog offseta do podataka ( PointerToRawData )
 +  * veličine podataka na disku ( SizeOfRawData )
 +  * relativne virtualne adrese ( SectionRVA )
 +  * virtualne veličina ( VirtualSize ) – veličina u memoriji
 +  * karakteristika, npr. read, write, executable, ...
  
  
Redak 76: Redak 85:
   * **fizički offset** - adresa podatka u datoteci na disku   * **fizički offset** - adresa podatka u datoteci na disku
   * **virtualna adresa (VA)** - adresa u memoriji dodijeljenoj procesu, "stvarna" adresa koju proces vidi   * **virtualna adresa (VA)** - adresa u memoriji dodijeljenoj procesu, "stvarna" adresa koju proces vidi
-  * **relativna virtualna adresa (RVA)** - relativna u odnosu na baznu adresu, većina vrijednosti u zaglavljima su u obliku RVA +  * **relativna virtualna adresa (RVA)** - relativna u odnosu na baznu adresu, većina vrijednosti u zaglavljima su u obliku RVA
  
 +Pretvorba adresa radi se na sljedeći način: VA = RVA + ''ImageBase'', RVA = VA – ''ImageBase''
  
-===== Direktoriji =====+RVA ''FizičkiOffset'' – ''PtrToRawData'' + ''SectionRVA'', a ''FizičkiOffset'' RVA – ''SectionRVA'' + ''PtrToRawData''
  
 +Pritom se u memoriju stranice i sekcije unose poravnate na ''FileAlignment'' i ''SectionAlignment''
  
  
-===== Resursi =====+===== Direktoriji =====
  
 +Podatkovni direktoriji parovi su (adresa, veličina) u obliku tablica koji se učitavaju u memoriju. Najčešći i najvažniji direktoriji su Export, Import, Resource, Relocation te TLS. 
 +Export 
  
-===== Overlay =====+Export direktorij najčešće je prisutan u DLL datotekama. U tom slučaju u njima se nalaze funkcije dostupne imenom i rednim brojem. Radi se o tri tablice: adresnoj tablici, tablici s pokazivačima na imena te tablici rednih brojeva.  
 +Import 
 +Import direktorij sastoji se od tablica u kojima se opisuju dodatne ovisnosti koje trebaju programu za izvođenje, najčešće skupine biblioteka i njihovih programskih sučelja. Svaki zapis opisuje jednu biblioteku i pokazuje na listu funkcija koje se uključuju iz njega. 
  
 +===== Pakiranje =====
 +
 +Pakiranje je postupak pri kojem se u izvršnu datoteku "ubacuje" još jedna izvršna datoteka. To je moguće napraviti između sekcija ili kao resurs. Uz to, naprednije i najčešće tehnike koriste metode kompresije i/ili kriptiranja. Oboje postiže da je sadržaj izvršne datoteke prikriven i teži za reverznu analizu, pogotovo statičku, budući da se uklanjaju uzorci u podacima. Uz to, prvo je potrebno otpakirati "payload", tj. prikriveni izvršni program. Naposlijetku, virtualizacija je također česta tehnika pakiranja. Pritom se stvara virtualni okoliš unutar kojeg se izvršna datoteka izvodi. Time se i olakšava izvođenje malwarea na različitim konfiguracijama računala.
  
-===== Mogućnost skrivanja informacija ===== 
  
  
 ===== Zaključak ===== ===== Zaključak =====
  
 +Portable Executable (PE) format se često koristi u računalnoj forenzici za analizu izvršnih datoteka i DLL-ova koji su povezani sa sigurnosnim rizicima i incidentima. Forenzičari koriste različite alate i tehnike za analizu PE datoteka kako bi identificirali potencijalne tragove koji mogu pomoći u istraživanju incidenta.
  
-===== Literatura =====+Pritom se najčešće za PE format radi analiza malware-a, budući da su obično napisani u obliku izvršne datoteke. Za statičku analizu koriste se PE parseri, a u dinamičkoj analizi nadziru se ponašanja kao stvaranje novih procesa, mijenjanje registra ili povezivanje s vanjskim serverima. Osim kao izvršne datoteke, maliciozni programi se često kriju u DLL-ovima, budući da im operacijski sustav vjeruje i daje više privilegije pri izvođenju. 
  
-[1] [[https://dl.acm.org/doi/pdf/10.1145/1161366.1161375| Wang W., Farid H.: Exposing Digital Forgeries in Video by Detecting Double MPEG Compression]] +===== Literatura =====
- +
-[2] [[http://clem.dii.unisi.it/~vipp/website_resources/publications/conferences/2014_ICASSP_GironiFBPB_A_Video_Forensic_Technique_For_Detecting_Frame_Deletion_And_Insertion.pdf | A. Gironi, M. Fontani, T. Bianchi, A. Piva, M. Barni: A VIDEO FORENSIC TECHNIQUE FOR DETECTING FRAME DELETION AND INSERTION ]]+
  
-[3] [[https://www.forensicfocus.com/articles/forensics-bitcoin/]]+[1] [[https://learn.microsoft.com/en-us/windows/win32/debug/pe-format| Microsoft: PE format]]
  
 +[2] [[https://0xrick.github.io/win-internals/pe1/| 0xRick - A dive into the PE file format]]
  
 +[3] Sikorski, M., Honig, A.: Practical malware analysis
racfor_wiki/seminari/analiza_pe_formata_izvrsne_datoteke.1673608338.txt.gz · Zadnja izmjena: 2024/12/05 12:23 (vanjsko uređivanje)
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0