View
1
Download
0
Category
Preview:
Citation preview
SVEUČILIŠTE U ZAGREBU
FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA
SEMINARSKI RAD U OKVIRU PREDMETA „RAČUNALNA
FORENZIKA“ 2017./2018.
Microsoft Office – usporedba starih i novih
formata datoteka
Juraj Dončević
Zagreb, siječanj, 2018
Sadržaj
1. Uvod ............................................................................................................... 1
2. Stari formati MS Officea ................................................................................. 3
2.1 Građa formata ............................................................................................... 4
2.2 Eksperimenti nad formatom .......................................................................... 5
2.2.1 Pronalazak autora dokumenta ........................................................................ 6
2.2.2 Pronalazak slike ............................................................................................. 7
2.2.3 Pronalazak teksta ........................................................................................... 8
3. Novi formati MS Officea ................................................................................. 9
3.1 Građa formata ............................................................................................... 9
3.2 Eksperimenti nad formatom ........................................................................ 10
3.2.1 Pronalazak autora dokumenta ...................................................................... 11
3.2.2 Pronalazak slike ........................................................................................... 11
3.2.3 Pronalazak teksta ......................................................................................... 12
4. Zaključak ...................................................................................................... 13
5. Izvori ............................................................................................................. 14
1
1. Uvod
Ove godine Microsoft Office programski paket navršit će 30 godina; od prvog
predstavljanja na računarskom sajmu COMDEX u Las Vegasu. Kada je prvi put
predstavljen, sadržavao je samo tri programska alata: Word, Excel, PowerPoint. Ta tri
alata danas tvore okosnicu informatiziranog poslovanja. Microsoft Office je danas skup
od preko deset programskih alata koji imaju svoje desktop, mobilne i web inačice; da
nabrojimo samo neke: Access, OneNote, Visio, Publisher, Outlook, Project. Kroz tri
desetljeća postao je jedan od najdugovječnijih i najkorištenijih programskih paketa.
Softpedia je 2012. godine objavila kako MS Office koristi čak milijarda ljudi. COMDEX
nije bio takve sreće, jer je zbog slabe posjećenosti i interesa prekinut 2003. Gašenje
sajmenog diva COMDEX-a može biti dokaz promjena koje je svijet računarstva doživio
unutar tih 30 godina – načini na koje se grade hardverski i softverski sustave, jačanje
performansi, izmjene programskih paradigmi itd.
Zbog široke uporabe i prihvaćenosti može se očekivati da će se puno važnih i
povjerljivih podataka pohranjivati u obliku MS Office datoteka, što ih čini važnom
temom u polju računalne forenzike.
MS Office dominira tržištem, pa najnovije inačice programskog paketa često nisu u
uporabi kod korisnika. To zahtijeva održavanje ogromnog broja legacy značajki, koje
je programski paket nakupio kroz godine postojanja. Jedna od legacy značajki su u
konačnici postali i formati datoteka koje MS Office koristi za pohranu podataka. Pošto
stari formati još nisu izašli iz primjene1, oni ostaju interesantna tema za proučavanje
uz novije formate.
1 Uzmimo za primjer da je prijedložna datoteka za izradu pisanih radova na Fakultetu elektrotehnike i računarstva u vrijeme pisanja ovog rada još uvijek bila u starom MS Office Word formatu (.doc). Naravno, spomenuta datoteka je korištena kao početna točka ovog rada.
2
Slika 1.1 Razdioba korištenja MS Office inačica i sličnih programskih paketa (1)
Cilj ovog seminarskog rada je usporediti razlike između starih i novih formata MS
Office paketa, te objasniti logiku koja se krije iza takvih implementacija. Datoteke koje
se uspoređuju u ovom radu pripadaju programskom alatu MS Office Word.
3
2. Stari formati MS Officea
Pod laički naziv „stari formati” uzimaju se formati koji su nastali do objave MS Office
2007 programskog paketa. Drugim riječima, to su svi formati MS Office datoteka kojima
oznaka ekstenzije ne završava sa znakom „x”. U skup tih formata spadaju: Microsoft
Word Binary File Format (doc ekstenzija), Microsoft Excel Binary File Format (xls
ekstenzija) i Microsoft PowerPoint Binary File Format (ppt ekstenzija). Microsoft koristi
kratke nazive za navedene formate redom: MS-DOC, MS-XLS i MS-PPT (2).
Neki formati programskog paketa sežu još u 80-e godine prošlog stoljeća; npr. MS-
DOC je kao format nastao 1983. godine, dok je ekstenzija preuzeta iz još ranijeg
tekstualnog uređivača WordPerfect. Specifikacije starih formata su se mijenjale kroz
povijest sa svakom novom inačicom MS Officea, gdje je zadnja inačica stvorena, tek
nedavno, u siječnju 2017.
Format datoteke Verzije aplikacije
MS-DOC Microsoft Word 97
Microsoft Word 2000
Microsoft Word 2002
Microsoft Office Word 2003
MS-PPT Microsoft PowerPoint 97
Microsoft PowerPoint 2000
Microsoft PowerPoint 2002
Microsoft Office PowerPoint 2003
MS-XLS Microsoft Excel 97
Microsoft Excel 2000
Microsoft Excel 2002
Microsoft Office Excel 2003
MS-XLSB Microsoft Office Excel 2007
Tablica 2.1 Binarni formati i pripadajuće verzije programskog alata (2)
4
2.1 Građa formata
Kao što i sva imena navedenih formata govore (Binary File Format), svi stari MS
Office formati su binarne datoteke. MS Binary File Format vuče korijene iz vremena
kada su računala bila vrlo ograničena svojom procesorskom snagom i memorijom.
Stoga je zahtjev za prihvatljivim performansama bio (logično) važniji od preglednosti
podataka kako bi ih jednostavno mogla čitati i uređivati treća strana (3). Očigledno je
da će operacije učitavanja formatiranih binarnih podataka biti brže od operacija
dohvaćanja podataka u nekoj formatiranoj tekstualnoj datoteci, gdje će biti potrebno
obaviti i dodatnu operaciju pretvorbe podataka u radni oblik. Takva operacija bi značila
znatno usporavanje rada programa.
Još jedan razlog binarnog zapisivanja je što su u vrijeme nastanka tih formata
dominantni jezici bili oni proceduralno-strukturalne paradigme (npr. C, Pascal i
COBOL), pa je jednostavnije bilo direktno iz binarnog zapisa popuniti sadržaj neke
ogromne strukture (3).
No, to nije kraj komplikacija ovog formata. Za primjer uzmimo funkcionalnost fast
save, koja brzo pohranjuje promjene u nekoj datoteci tijekom rada (korištena je za
spremanje uz tipkovnični prečac Ctrl+S). Ako bismo kao programeri htjeli unijeti neku
veću promjenu u binarnu datoteku, morali bismo učitati cijelu datoteku, napraviti
izmjene u programskoj strukturi i zatim pohraniti cijelu datoteku. To je na računalima
mogla biti zahtjevna operacija, stoga je Microsoft odlučio da će sve izmijenjene
podatke pohranjivati dodavanjem na kraj datoteke (poznatije pod engleskom krilaticom
append). Sada neki segmenti podatka neće biti važeći, to će se morati naznačiti, stoga
je logično koristiti podatke u logičkim blokovima – tako običan binarni format dobiva i
minijaturni datotečni sustav omotan oko sebe. Microsoft je za tu ulogu odabrao oblik
FAT sustava – Compound Binary File Format (4) (5). Ovakva mehanika stvara još
jedan problem – stari podaci neće uvijek biti obrisani, mogu ostati nealocirani u datoteci
i vidljivi svima. Microsoft je popravio ovu pogrešku još 2007. godine onemogućavanjem
fast save značajke (3). Isti problem se može riješiti defragmentacijom i realokacijom
blokova u datoteci.
5
Jedan do pokazatelja kompleksnosti ovih formata je veličina službenih specifikacija
od 349 stranica, samo za MS-XLS (3). Za MS-DOC već dugo vremena Microsoft
izbjegava objaviti punu dokumentaciju, pa niti ona objavljena u siječnju 2017. nije
potpuna. Microsoft ne preporučuje korisnicima da koriste direktne metode upravljanja
i pregleda datoteka, nego da koriste gotova programska rješenje vezana uz Microsoft
Interop Service za MS Office (3). MS Interop Serviceu je lako pristupiti putem .NET-
om podržanih programskih jezika, ali korisnicima se pruža mogućnost korištenja OffVis
alata ako žele ući dublje u strukture datoteke (6). U OffVisu je tako moguće vidjeti
spomenute strukture minijaturnog FAT sustava.
Slika 2.1 OffVis programski alat
2.2 Eksperimenti nad formatom
Kroz naredna poglavlja ideja je provesti nekoliko eksperimenata kako bi se
pokazala pristupačnost sirovih podataka koji se nalaze u datotekama MS-DOC
formata. Za sve eksperimente koristit će se jedna reprezentativna datoteka u kojoj se
nalazi tekst i jedna slika.
6
Slika 2.2 Sadržaj reprezentativne datoteke
2.2.1 Pronalazak autora dokumenta
Pronalazak autora dokumenta nije jednostavan postupak, jer zahtijeva detaljnu
pretragu dokumentacije za MS-DOC. Osobno sam pri prvoj pretrazi prvo pronašao
gdje se u datoteci spominje ime autora – „Juraj“. Po sada poznatom odmaku u OffVisu
sam otkrio da se svi relevantni podaci o autorstvu nalaze u strukturi SttbfAssoc. Neki
podaci koji se mogu pronaći u toj strukturi su prikazani u Tablica 2.2.
7
Indeks Značenje
0x01 Put do korištenog predloška dokumenta
0x02 Naslov dokumenta
0x04 Ključne riječi dokumenta
0x06 Ime autora dokumenta
0x07 Ime korisnik koji je posljednji uredio dokument
0x11 Lozinka za zaštitu od pisanja; ne više od 15 znakova
Tablica 2.2 Podaci od većeg interesa u SttfbAssoc strukturi
2.2.2 Pronalazak slike
Ručni pronalazak slike nije jednostavan i teško je primjenjiv. Slike pohranjene u
MS-DOC datoteci pretvaraju se u bitmap, a potom se postavljaju u brojne strukture (7).
Lakši način pronalaska takvog oblika podataka jest korištenjem MS Office Interop u
C# .NET programskom paketu. Jednostavni programski kôd za pronalazak i izdvajanje
svih slika iz dokumenta nalazi se u privitku ovog seminarskog rada. Iz naše
reprezentativne datoteke je sada moguće izdvojiti jedinu (Slika 2.3).
Slika 2.3 Slika izdvojena iz binarnog dokumenta
8
Dakle, moguće je pronaći i izdvojiti slike iz binarnog formata MS Office, no ne bez
pokretanja instance programa MS Office alata. U slučaju sumnjivih datoteka, potrebno
je pripaziti na sigurnosno stanje istih.
2.2.3 Pronalazak teksta
Ručni pronalazak teksta je jednostavan. Moguće ga je pronaći putem nekog
heksadekadskog uređivača ili putem alata OffVis. U OffVisu potrebno je naći strukturu
WordDocumentStream, te će se u njegovoj podstrukturi Data nalaziti početak
tekstualnog dijela dokumenta.
Slika 2.4 Pronađeni tekst dokumenta
9
3. Novi formati MS Officea
Microsoft je 2000. godine predstavio prvu verziju svojeg novog XML formata za
Excel. Nastavio je s objavom XML formata za Word 2002. godine. 2003. godine oba
formata su predstavljena u sklopu nove verzije MS Office paketa.
Tada je počeo sukob s ODF (eng. Open Document Format) formatom kojeg je
zastupao konzorcij Open Office. Prevlast je postala izuzetno važna za Microsoft, koji
je poznat po monopoliziranju tržišta. Prevlast je postala još važnija jer su svjetska
normativna tijela počela raspravljati o uvođenju standardnog formata za elektroničke
dokumente koji će povećati interoperabilnost u uredskom poslovanju i omogućiti
konzistentnije arhiviranje povijesnih podataka. Dosadašnji binarni format nije
zadovoljavao zahtjeve zbog brojnih revizija i zatvorenog upravljanja (isključivo preko
MS Office Interopa). U konačnici je novi format predstavljen kao Office Open XML
(kratica OOXML). Neki su predviđali propast OOXML-a spram ODF-a (8), ali je nakon
glasovanja 87 članica ISO-a postavljen kao standard za otvoreni tip formata
dokumenata ISO/IEC 295002 (9).
OOXML je izdavanjem MS Officea 2007 postao zadani format dokumenata. Novi
formati su dobili imena slična prethodnicima: MS-DOCX, MS-XLSX i MS-PPTX (10).
Dodane su i nove ekstenzije: docx, xlsx i pptx.
3.1 Građa formata
OOXML je format zasnovan na ZIP arhivi koja sadrži direktorije s uređenim XML
datotekama. Sasvim suprotno od svojeg binarnog prethodnika, početkom 21. stoljeća
2 Republika Hrvatska je uz Republiku Srbiju i Federaciju Bosnu i Hercegovinu glasala za standardizaciju OOXML formata, dok je Republika Slovenija bila suzdržana.
10
računala su već mogla prihvatljivom brzinom obrađivati tekstualne podatke. Stoga se
uređivanje podataka dokumenata svelo na uređivanje tekstualnih datoteka koje su u
sebi sadržavale podatke opisane nekim označnim jezikom (eng. markup language).
To znači da se sada lako može ostvariti program koji pristupa (nezaštićenim)
podacima unutar MS Office dokumenata, bez korištenja službenog sučelja. K tome su
podaci čitljiviji naprednim korisnicima koji rade opservacije u kontekstu računalne
forenzike. Potrebno je samo otvoriti datoteku dokumenta kao ZIP arhivu i započeti
analizu.
Slika 3.1 Korijenski direktorij unutar OOXML datoteke formata MS-DOCX
Svaka OOXML datoteka mora u korijenskom direktoriju sadržavati datoteku
[Content_Types].xml koja navodi sve tipove sadržaja koji se nalaze u dokumentu.
Direktorij _rels sadrži sve reference koje vode izvan datotečnog paketa. Direktorij
docProps sadrži meta podatke o samom dokumentu u datotekama: app.xml i core.xml.
Direktorij word je specifičan za MS-DOCX format (za MS-XLSX imao bi naziv xl, a za
MS-PPTX ppt), a sadrži sve podatke pohranjene u dokumentu raspoređene na
nekoliko poddirektorija i XML datoteka.
3.2 Eksperimenti nad formatom
Kako bi se istaknule razlike između dva spomenuta formata, ponovit ćemo
eksperimente koji su odrađeni nad datotekom binarnog formata. Sadržaj će ostati kao
na Slika 2.2, ali će datoteka biti pohranjena u OOXML obliku – MS-DOCX.
11
3.2.1 Pronalazak autora dokumenta
U direktoriju docProps možemo naći meta podatke o dokumentu. Točnije, ime
autora može se pronaći u datoteci core.xml. Iz sadržaja datoteke (Slika 3.2) može se
lako vidjeti kako je autor „Juraj“, te da ga je isti zadnji uređivao u samo jednoj postojećoj
reviziji tog dokumenta. Također su vidljiva vremena stvaranja i posljednje promjene
dokumenta.
Slika 3.2 Dio sadržaja core.xml datoteke
3.2.2 Pronalazak slike
Slika je očito dio sadržaja dokumenta, pa će se nalaziti u direktoriju word, te u
poddirektoriju media (ipak je riječ o medijskoj datoteci). Pohranjena je pod zadanim
imenom image1 u izvornom formatu PNG (Slika 3.3).
Slika 3.3 Pohranjena slika u MS-DOCX formatu
12
3.2.3 Pronalazak teksta
U ovom slučaju je i dalje od interesa sadržaj dokumenta, pa je dovoljno zadržati se
u direktoriju word. Čisti tekst će se logično nalaziti u datoteci document.xml (niti jedno
drugo ime datoteke ne daje naslutiti da će se tekst nalaziti drugdje). U dokumentu
može se pronaći traženi tekst (Slika 3.4). Može se naići i na mjesto gdje se referencira
pronađena slika iz prošlog poglavlja (Slika 3.5).
Slika 3.4 Tekst pohranjen u document.xml datoteci
Slika 3.5 Referenca na pohranjenu sliku u document.xml datoteci
13
4. Zaključak
Oba formata su tvorevina svoga doba. MS Binary File Format je stvoren u doba
kada je računalna moć bila ograničena, stoga je potreba za formatom koji se može
brzo učitati i pohraniti bila značajna. Time je žrtvovana čitljivost i pristupačnost
datoteka bez korištenja službenih programskih alata, a mnogi su bili prisiljeni i na
reverzno inženjerstvo. Situaciju nije ni popravljala Microsoftova tajanstvenost oko
specifikacija formata.
Office Open XML je format novog doba i u duhu ignoriranja Wirthovog zakona3
zanemaruje kompleksnost obrade podataka dokumenta. Ali, time pospješuje čitljivost
i pristupačnost formata. Svi se podaci nalaze na logičnim i lako shvatljivim mjestima,
što pruža olakšanje ljudima s interesom u računalnoj forenzici. Programeri rješenja
koja upravljaju Office datotekama samo trebaju preuzeti jednu od brojnih gotovih
softverskih knjižnica i ubrzo imaju željene funkcionalnosti (11).
Kao i kod mnogih drugih tehnologija, nikako se ne možemo otarasiti duhova
prošlosti (a pogotovo ne onih koji su imali dominantu tržišnu poziciju). Po mnogim
rijetko posjećenim zakutcima memorijskog prostora računala i dalje se nalaze datoteke
starijih formata koje smo često lijeni modernizirati, a dobro je poznat stih:
„Old habits die hard“
- Mick Jagger
3 „What Intel giveth, Microsoft taketh away“ –Tom Holwerda, OSNews
14
5. Izvori
1. Patrizio, Andy. Office 2003 is a bigger threat to Microsoft than Google Docs.
networkworld.com. [Mrežno] 22. 10 2013. [Citirano: 27. 12 2017.]
https://www.networkworld.com/article/2225614/microsoft-subnet/office-2003-is-a-
bigger-threat-to-microsoft-than-google-docs.html.
2. Understanding Office Binary File Formats. msdn.microsoft.com. [Mrežno] 23. 6
2011. [Citirano: 27. 12 2017.] https://msdn.microsoft.com/en-
us/library/office/gg615407(v=office.14).aspx.
3. Spolsky, Joel. Why are the Microsoft Office file formats so complicated?
www.joelonsoftware.com. [Mrežno] 19. 2 2008. [Citirano: 27. 12 2017.]
https://www.joelonsoftware.com/2008/02/19/why-are-the-microsoft-office-file-formats-
so-complicated-and-some-workarounds/.
4. How To Parse The DOC File Format. blogs.technet.microsoft.com. [Mrežno]
18. 7 2008. [Citirano: 28. 12 2017.]
https://blogs.technet.microsoft.com/srd/2008/07/18/how-to-parse-the-doc-file-format/.
5. Compound File Binary Format. wikipedia.org. [Mrežno] [Citirano: 27. 12 2017.]
https://en.wikipedia.org/wiki/Compound_File_Binary_Format.
6. OffVis. microsoft.com. [Mrežno] [Citirano: 27. 12 2017.]
http://download.microsoft.com/download/1/2/7/127BA59A-4FE1-4ACD-BA47-
513CEEF85A85/OffVis.zip.
7. Finding Graphics in a Binary Word .doc File. msdn.microsoft.com. [Mrežno] 30.
3 2012. [Citirano: 27. 12 2017.] https://msdn.microsoft.com/en-
us/library/office/hh965732(v=office.14).aspx.
8. Sutor, Bob. Why OOXML Will Ultimately Fail. sutor.com. [Mrežno] [Citirano: 28.
12 2017.] http://www.sutor.com/newsite/blog-open/2007/03/20/why-ooxml-will-
ultimately-fail/.
9. Standardization Of Office Open XML. wikipedia.org. [Mrežno] [Citirano: 28. 12
2017.] https://en.wikipedia.org/wiki/Standardization_of_Office_Open_XML.
15
10. Office Open XML. wikipedia.org. [Mrežno] [Citirano: 28. 12 2017.]
https://en.wikipedia.org/wiki/Office_Open_XML.
11. Dončević, Juraj. Razvojni okviri za upravljanje podacima u Excel datotekama.
Zagreb : an., 2017.
12. Microsoft Office. wikipedia.org. [Mrežno] [Citirano: 27. 12 2017.]
https://en.wikipedia.org/wiki/Microsoft_Office.
13. Object Linking and Embedding. wikipedia.org. [Mrežno] [Citirano: 27. 12
2018.] https://en.wikipedia.org/wiki/Object_Linking_and_Embedding.
14. Duffy, Ian. Microsoft Office Compound Document Internals (Part 3 - FAT,
DIFAT, and Mini FAT). forensecurity.blogspot.hr. [Mrežno] 8. 1 2014. [Citirano: 27. 12
2017.] http://forensecurity.blogspot.hr/2014/01/microsoft-office-compound-
document.html.
15. Office Primary Interop Assemblies. msdn.microsoft.com. [Mrežno] 27. 12
2017. https://msdn.microsoft.com/en-us/library/15s06t57.aspx.
16. wikipedia.org. [Mrežno]
https://upload.wikimedia.org/wikipedia/en/2/24/Lenna.png.
17. Anatomy Of OOXML. officeopenxml.com. [Mrežno]
http://officeopenxml.com/anatomyofOOXML.php.
Recommended