Top Banner
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta „Računalna forenzika“ 2017/2018 7z format Matej Erceg Zagreb, siječanj 2018.
13

7z formatnevena.lss.hr/recordings/fer/predmeti/racfor/2018/...SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta „Računalna forenzika“

Feb 23, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 7z formatnevena.lss.hr/recordings/fer/predmeti/racfor/2018/...SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta „Računalna forenzika“

SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

Seminarski rad u okviru predmeta „Računalna forenzika“ 2017/2018

7z format

Matej Erceg

Zagreb, siječanj 2018.

Page 2: 7z formatnevena.lss.hr/recordings/fer/predmeti/racfor/2018/...SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta „Računalna forenzika“
Page 3: 7z formatnevena.lss.hr/recordings/fer/predmeti/racfor/2018/...SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta „Računalna forenzika“

Sadržaj

1. Uvod ................................................................................................................. 1

2. Analiza .............................................................................................................. 2

2.1. 7z format .................................................................................................... 2

2.2. Sadržaj formata ........................................................................................... 4

2.3. Forenzičke zanimljivosti .............................................................................. 8

3. Zaključak ........................................................................................................... 9

4. Literatura ........................................................................................................ 10

Page 4: 7z formatnevena.lss.hr/recordings/fer/predmeti/racfor/2018/...SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta „Računalna forenzika“

1

1. Uvod

Količine podataka kojima računala barataju još su od početaka računarstva u

stalnom porastu. Prateći taj trend, rastu i memorijski zahtjevi sadržaja koje

prosječni korisnici konzumiraju tijekom svakodnevnog korištenja računala. Tako je

danas redovito potrebno pohranjivati slike, audio i video zapise, razne tekstualne

dokumente, sigurnosne kopije važnih datoteka, slike sustava i slično.

Pored toga, glatka i brza razmjena velikih količina podataka (i velikih datoteka)

preko mreže se iz perspektive današnjeg korisnika podrazumijeva kao osnovna i

nužna funkcionalnost računala.

Uz sve ostale tehnologije, veoma važnu ulogu u efikasnoj pohrani i transportu

podataka i datoteka imaju razne metode kompresije, koje mogu iskoristiti

pojedina matematička, statistička ili druga svojstva podataka (npr. redundantnost,

ponavljajuće uzorke) i zapisati te iste podatke, s gubicima ili bez njih, na sažetiji

način. Na taj način moguće je uštediti značajne količine memorije i skratiti vrijeme

potrebno za premještanje podataka.

Iako su algoritmi kompresije kompleksno područje i nije moguće sve metode

primijeniti jednako efikasno na svaki skup podataka, neke od njih su integrirane u

popularne i pristupačne programe za arhiviranje i kompresiju podataka, kao što su

WinZip i WinRar na Windows OS, ili 7-zip.

Svaki od tih programa komprimirane podatke sprema u posebne oblikovane

datoteke koje tipično sadrže dodatna zaglavlja i metapodatke koji su, između

ostaloga, potrebni za naknadni postupak dekompresije. Neki od poznatijih takvih

formata su zip, rar, gz, 7z...

Page 5: 7z formatnevena.lss.hr/recordings/fer/predmeti/racfor/2018/...SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta „Računalna forenzika“

2

2. Analiza

2.1. 7z format

Jedan od najpopularnijih multi-platformskih kompresijskih formata je 7z. Prvotno

ga je razvio ruski freelance programer Igor Pavlov, te objavio zajedno s pripadnim

7-Zip programom za kompresiju i dekompresiju, 2000. godine pod GNU Lesser

General Public licencom.

7z format, kao i većina drugih sličnih formata, zapravo integrira funkcionalnosti

arhiviranja podataka, tj. pakiranja većeg broja datoteka u jedan paket, i

kompresije tih datoteka radi smanjenja njihove veličine. Za razliku od nekih drugih

formata, podržava i među-datotečnu kompresiju (solid compression), tj.

zajedničko sažimanje datoteka sličnog tipa na temelju svojstava koja se ispoljavaju

kao posljedica njihove konkatenacije.

Uz ove, još neke od značajki 7z formata su podrška za višedijelne arhive,

kompresija datoteka reda veličine exbibyte (264 bajtova), te modularni dizajn koji

omogućava ulančavanje proizvoljnog broja kompresijskih, enkripcijskih i

konverzijskih metoda.

Što se tiče kompresijskih metoda, pretpostavljena općenamjenska metoda

korištena u 7z formatu je LZMA, koja nudi visoku brzinu kompresije i dekompresije

uz mali memorijski otisak i visoki omjer kompresije. 7z još integrira i niz

specijaliziranih kompresijskih metoda za pojedine vrste datoteka; trenutno

integrirane metode prikazane su na slici 2.1.

Page 6: 7z formatnevena.lss.hr/recordings/fer/predmeti/racfor/2018/...SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta „Računalna forenzika“

3

Slika 2.1 Integrirane kompresijske metode

Page 7: 7z formatnevena.lss.hr/recordings/fer/predmeti/racfor/2018/...SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta „Računalna forenzika“

4

2.2. Sadržaj formata

Za analizu sadržaja 7z arhive korištena je aplikacija HxD, koja omogućava pregled

sadržaja datoteka na razini bajtova. Analiza je napravljena na tekstualnim

datotekama radi jednostavnosti iščitavanja zajedničkih karakteristika različitih 7z

arhiva i lakog prepoznavanja originalnog sadržaja.

Svaka 7z datoteka započinje s oznakom 7z i magic number-om koji zajedno čine

prvih šest bajtova: 37 7A BC AF 27 1C. Ovi bajtovi vidljivi su na slici 2.2.

Slika 2.2 Primjer 7z arhive

Sljedeća dva bajta predstavljaju verziju arhive, na način da prvi od njih označava

Major izdanje, a drugi Minor izdanje. Na prethodnoj slici verzija je prema tim

pravilima 0.4.

Naredna četiri bajta predstavljaju CRC (Cyclic Redundancy Check) vrijednost za

početno zaglavlje, koje slijedi odmah nakon CRC-a.

Page 8: 7z formatnevena.lss.hr/recordings/fer/predmeti/racfor/2018/...SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta „Računalna forenzika“

5

Početno zaglavlje sastoji se od 3 dijela: prvi je 8B broj (UINT64) koji predstavlja

pomak do sljedećeg zaglavlja (offset), zatim 8B broj koji predstavlja veličinu

sljedećeg zaglavlja, te konačno 4B CRC vrijednost za sljedeće zaglavlje. Upravo

spomenute 8B vrijednosti su kodirane na specifičan način, tj. ne predstavljaju

uvijek direktan iznos, već se on treba preračunati po određenom pravilu (formula

je dana na slici 2.3). Također, treba napomenuti da 7z koristi little-endian notaciju

za višebajtne zapise.

Slika 2.3 Izračun vrijednosti u zaglavlju

Prethodno spomenuti pomak se primjenjuje od kraja početnog zaglavlja, dakle od

prvog bajta nakon 4B vrijednosti koja predstavlja iznos CRC-a sljedećeg zaglavlja.

Primjenimo li ovo pravilo na primjer sa slike 2.2., očitani pomak u iznosu 0x3F

trebamo primijeniti na poziciji 0x20, što nas dovodi na poziciju 0x5F gdje nalazimo

bajt vrijednosti 0x01. Upravo ova vrijednost je i posebna oznaka za početak

zaglavlja. Također, ako se na toj poziciji primjeni vrijednost iz drugog 8B broja, tj.

0x62, dolazi se do pozicije 0xC1, što je točan kraj datoteke. Dakle, arhiva u ovom

primjeru završava krajem običnog zaglavlja.

Može se primijetiti da vrijednost 0x01 nalazimo i na poziciji 0x20, što je zapravo i

početak prvog običnog zaglavlja. Obzirom da je u ovom primjeru komprimirana

vrlo jednostavna tekstualna datoteka, algoritam je zaključio da primjenom

Page 9: 7z formatnevena.lss.hr/recordings/fer/predmeti/racfor/2018/...SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta „Računalna forenzika“

6

kompresije neće biti ostvarena ušteda prostora, pa to zaglavlje nema nikakvih

dodatnih opisnika (štoviše, dodatni opisnici bi u tom slučaju zauzeli više prostora

nego što bi se dobilo kompresijom). Zato odmah na sljedećoj poziciji, 0x21,

nalazimo bajt 0x00, koji je ujedno i posebna oznaka za kraj svojstva (end property).

Ova oznaka se pojavljuje na krajevima običnih zaglavlja i mnogih drugih struktura

7z formata (može se primijetiti i na poziciji 0x5E, gdje predstavlja kraj

podatkovnog niza, i na samom kraju arhive). Jedini preostali bajt prije

podatkovnog niza je na poziciji 0x22, iznosa 0x3A, koji u ovom slučaju predstavlja

veličinu podatkovnog niza direktno nakon njega.

Daljnja struktura običnih zaglavlja izrazito varira u ovisnosti o komprimiranom

sadržaju i odabranoj metodi kompresije. Primjerice, kod običnog zaglavlja koje

počinje na poziciji 0x5F, na sljedećoj njegovoj poziciji, 0x60, nalazi se bajt 0x04 koji

označava MainStreamInfo strukturu, koja onda opet u svojoj ugniježđenoj

hijerarhiji može imati razne dodatne opisnike. U ovom slučaju, idući opisnik, na

poziciji 0x61, je 0x06 koji označava PackInfo strukturu.

Nakon ove točke, sadržaj 7z arhive se značajno razlikuje u ovisnosti o

komprimiranom sadržaju. Tipično sadrži nizove izmjenjujućih zaglavlja i

komprimiranih podatkovnih nizova. Međutim, i svaka od tih struktura posjeduje

paletu opcionalnih parametara i ugniježđenih hijerarhija, što praćenje golim okom

čini prilično zamršenim. Također, 7z koristi i dodatne strukture kada je potrebno

arhivirati i očuvati hijerarhiju i sadržaj mapa (folders).

Usporedba originalne tekstualne datoteke i struktura dodanih prilikom njenog

omatanja u 7z format može se vidjeti na slici 2.4. Također, u nastavku je priložen i

primjer sadržaja arhive s dvije komprimirane datoteke, gdje se vidi značajna

promjena sadržaja zaglavlja i samih podatkovnih nizova uslijed primjene

kompresijskih metoda (Slika 2.5).

Page 10: 7z formatnevena.lss.hr/recordings/fer/predmeti/racfor/2018/...SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta „Računalna forenzika“

7

Slika 2.4 7z arhiva bez kompresije

Slika 2.5 7z arhiva s kompresijom

Page 11: 7z formatnevena.lss.hr/recordings/fer/predmeti/racfor/2018/...SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta „Računalna forenzika“

8

2.3. Forenzičke zanimljivosti

Sa gledišta računalne forenzike, za 7z format vrijede zakonitosti koje vrijede i za

ostale kompresijske i arhivske formate. Primjerice, obzirom na mogućnost

omatanja datoteka u više kompresijskih i/ili enkripcijskih slojeva, zlonamjerni

korisnici mogu iskoristiti 7z format za skrivanje malicioznih datoteka. Pokazalo se

da je u takvim slučajevima ponekad moguće „prevariti“ antivirusne i ostale

zaštitne sustave i kriomice dovesti maliciozni kod na ciljano računalo. Ne pomaže

ni činjenica da su formati poput 7z toliko široko rasprostranjeni da mnogi korisnici

zaboravljaju na potencijalne opasnosti i ne barataju takvim datotekama s

dovoljnom razinom opreza.

Slučajevi ubacivanja ransomwarea i ostalih malicioznih sadržaja učestali su i danas,

jedan od uobičajenih primjera napada je slanje automatski generirane email

poruke koja u prilogu sadrži 7z arhivu s malicioznim kodom.

Napredak metoda detekcije i zaštite je reducirao opasnost od nekih oblika napada,

no uvijek ostaje mogućnost otkrivanja i eksploatacije novih sigurnosnih propusta,

pa kompresijski formati i dalje ostaju potencijalni vektori malicioznih napada.

Page 12: 7z formatnevena.lss.hr/recordings/fer/predmeti/racfor/2018/...SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta „Računalna forenzika“

9

3. Zaključak

7z format jedan je od najpopularnijih arhivskih i kompresijskih formata.

Objedinjuje visoke performanse i jednostavnost korištenja s mogućnostima

nadogradnje i ulančavanja više metoda kompresije i enkripcije.

Sadržaj 7z formata je uvelike ovisan o datotekama koje su unutar njega

komprimirane, no neke od prepoznatljivih karakteristika su početnih šest bajtova s

magic number-om, i dodatna zaglavlja za opis komprimiranih podatkovnih nizova.

Kao i ostali kompresijski formati, 7z zbog svoje funkcije omatanja i, posljedično,

prikrivanja originalnih datoteka, može predstavljati potencijalan vektor za

maliciozne napade.

Page 13: 7z formatnevena.lss.hr/recordings/fer/predmeti/racfor/2018/...SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Seminarski rad u okviru predmeta „Računalna forenzika“

10

4. Literatura

1. 7zip home (Siječanj 2018):

http://www.7-zip.org/7z.html

2. Beware of 7-zip Archive (.7z) Malicious Email Attachments (Siječanj 2018.):

https://www.onlinethreatalerts.com/article/2017/8/30/beware-of-7-zip-archive-7

z-malicious-email-attachments/

3. 7z format description (Siječanj 2018.):

http://cpansearch.perl.org/src/BJOERN/Compress-Deflate7-1.0/7zip/DOC/7zForm

at.txt

4. 7z wikipedia (Siječanj 2018.):

https://en.wikipedia.org/wiki/7z

5. GNU LGPL (Siječanj 2018.):

https://www.gnu.org/licenses/lgpl-3.0.en.html

6. Ongoing email campaign spreading GlobeImposter Ransomware (Siječanj

2018.):

https://www.netskope.com/blog/ongoing-email-campaign-spreading-globeimpost

er-ransomware/