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:seminari2025:mp031800821 [2026/02/01 17:11]
Marko Pavlaković [Uvod]
racfor_wiki:seminari2025:mp031800821 [2026/02/01 17:41] (trenutno)
Marko Pavlaković [Što je Electron i zašto je važan za forenziku]
Redak 12: Redak 12:
  
 Desktop aplikacije se često smatraju „izvornim“ programima, ali mnoge moderne desktop aplikacije izgrađene su pomoću web tehnologije. Jedan od najčešćih okvira za to je Electron. Electron koriste mnoge poznate aplikacije, uključujući alate poput Visual Studio Codea, Slacka, Figme, itd. [13] Desktop aplikacije se često smatraju „izvornim“ programima, ali mnoge moderne desktop aplikacije izgrađene su pomoću web tehnologije. Jedan od najčešćih okvira za to je Electron. Electron koriste mnoge poznate aplikacije, uključujući alate poput Visual Studio Codea, Slacka, Figme, itd. [13]
 +
 +| {{ :racfor_wiki:seminari2025:cleanshot_2026-02-01_at_18.26.15.png?400 |}} |
 +| Slika 1 - Neke od aplikacija koje koriste Electron |
  
 S forenzičkog gledišta, Electron je važan jer miješa dva svijeta: S forenzičkog gledišta, Electron je važan jer miješa dva svijeta:
Redak 24: Redak 27:
  
 Electron uglavnom ima sljedeće: Electron uglavnom ima sljedeće:
-Glavni proces koji djeluje kao ulazna točka aplikacije. Izvodi se u Node.js okruženju, što znači da može koristiti Node.js API/je i module [1] +  * Glavni proces koji djeluje kao ulazna točka aplikacije. Izvodi se u Node.js okruženju, što znači da može koristiti Node.js API/je i module [1] 
-Jedan proces Proces renderera po prozoru (ponekad i više za ugrađeni sadržaj). Procesi renderera prikazuju korisničko sučelje, poput kartice preglednika. [1]+  Jedan proces Proces renderera po prozoru (ponekad i više za ugrađeni sadržaj). Procesi renderera prikazuju korisničko sučelje, poput kartice preglednika. [1]
  
 Za forenziku, više procesni model je važan jer se dokazi mogu rasporediti po različitim procesima u memoriji. Glavni proces može pristupiti lokalnom računalu i pohraniti podatke na prilagođena mjesta. Dok proces renderera često koristi web pohranu, pa se stvaraju artefakti u stilu Chromiuma. Za forenziku, više procesni model je važan jer se dokazi mogu rasporediti po različitim procesima u memoriji. Glavni proces može pristupiti lokalnom računalu i pohraniti podatke na prilagođena mjesta. Dok proces renderera često koristi web pohranu, pa se stvaraju artefakti u stilu Chromiuma.
 +
 +| {{ :racfor_wiki:seminari2025:chrome-processes-0506d3984ec81aa39985a95e7a29fbb8.png?400 |}} |
 +| Slika 2 - Više procesni model |
  
 Mnoge Electron aplikacije pakiraju svoj izvorni kod u ASAR arhivu. Electron opisuje ASAR kao jednostavan arhivski format sličan tar-u koji spaja više datoteka u jednu. [3] Dokumentacija alata ASAR objašnjava da ASAR arhiva spaja sve datoteke bez kompresije i sadrži JSON zaglavlje koje ih opisuje. Ovo je važno za forenziku zato jer se pristupom ASAR arhivi često može pregledati kod i konfiguracija aplikacije koja objašnjava gdje su podaci pohranjeni ili s kojim krajnjim točkama aplikacija komunicira. Uz to ASAR obično nije kriptiran nego je samo pakiranje. Stoga ga je često moguće izdvojiti za analizu. Mnoge Electron aplikacije pakiraju svoj izvorni kod u ASAR arhivu. Electron opisuje ASAR kao jednostavan arhivski format sličan tar-u koji spaja više datoteka u jednu. [3] Dokumentacija alata ASAR objašnjava da ASAR arhiva spaja sve datoteke bez kompresije i sadrži JSON zaglavlje koje ih opisuje. Ovo je važno za forenziku zato jer se pristupom ASAR arhivi često može pregledati kod i konfiguracija aplikacije koja objašnjava gdje su podaci pohranjeni ili s kojim krajnjim točkama aplikacija komunicira. Uz to ASAR obično nije kriptiran nego je samo pakiranje. Stoga ga je često moguće izdvojiti za analizu.
Redak 35: Redak 41:
 Electron pruža standardni način pronalaženja važnih direktorija putem app.getPath(), te dokumentira nekoliko putanja koje su izravno korisne za forenziku. [2] Electron pruža standardni način pronalaženja važnih direktorija putem app.getPath(), te dokumentira nekoliko putanja koje su izravno korisne za forenziku. [2]
  
-appData: direktorij podataka aplikacije po korisniku [2] +  * appData: direktorij podataka aplikacije po korisniku [2] 
-o Windows: %APPDATA% +    Windows: %APPDATA% 
-o Linux: $XDG_CONFIG_HOME ili ~/.config +    Linux: $XDG_CONFIG_HOME ili ~/.config 
-o macOS: ~/Library/'Application Support' +    macOS: ~/Library/'Application Support' 
-userData: direktorij za pohranjivanje konfiguracijskih datoteka aplikacije (prema zadanim postavkama appData plus naziv aplikacije [2] +  userData: direktorij za pohranjivanje konfiguracijskih datoteka aplikacije (prema zadanim postavkama appData plus naziv aplikacije [2] 
-sessionData: direktorij za podatke koje generira Electron Session kao što su localStorage, kolačići, pred memorija diska, stanje mreže i DevTools datoteke (prema zadanim postavkama pokazuje na userData) [2] +  sessionData: direktorij za podatke koje generira Electron Session kao što su localStorage, kolačići, pred memorija diska, stanje mreže i DevTools datoteke (prema zadanim postavkama pokazuje na userData) [2] 
-crashDumps: direktorij u kojem se pohranjuju zapisi o rušenju sustava [2]+  crashDumps: direktorij u kojem se pohranjuju zapisi o rušenju sustava [2]
  
 Drugim riječima. Nakon što se sazna naziv aplikacije ili mape, često je moguće pronaći najvažnije dokaze bez nagađanja. Glavni podaci aplikacije obično se nalazi pod nečim poput AppName gdje točno ime ovisi o aplikaciji. Drugim riječima. Nakon što se sazna naziv aplikacije ili mape, često je moguće pronaći najvažnije dokaze bez nagađanja. Glavni podaci aplikacije obično se nalazi pod nečim poput AppName gdje točno ime ovisi o aplikaciji.
Redak 52: Redak 58:
  
 Za forenziku, kolačići mogu prikazati: Za forenziku, kolačići mogu prikazati:
-Koje su domene korištene +  * Koje su domene korištene 
-Stanje sesije, a ponekad i identifikatore +  Stanje sesije, a ponekad i identifikatore 
-Prozore grubih aktivnosti (na temelju vremena stvaranja i isteka)+  Prozore grubih aktivnosti (na temelju vremena stvaranja i isteka)
  
 Lokalna pohrana i pohrana sesija koriste LevelDB koji je pohranjen u direktorijima poput 'Local Storage/leveldb' i 'Session Storage'. [7] LevelDB može čuvati starije verzije zapisa, tako da ponekad može sadržavati prepisane ili starije vrijednosti koje se još uvijek mogu oporaviti. Lokalna pohrana i pohrana sesija koriste LevelDB koji je pohranjen u direktorijima poput 'Local Storage/leveldb' i 'Session Storage'. [7] LevelDB može čuvati starije verzije zapisa, tako da ponekad može sadržavati prepisane ili starije vrijednosti koje se još uvijek mogu oporaviti.
  
 Za forenziku, lokalna pohrana i pohrana sesije mogu: Za forenziku, lokalna pohrana i pohrana sesije mogu:
-Sadržavati korisničke postavke, tokene i stanje aplikacije (localStorage) +  * Sadržavati korisničke postavke, tokene i stanje aplikacije (localStorage) 
-Tragove ovisno o tome kako aplikacija radi (sessionStorage)+  Tragove ovisno o tome kako aplikacija radi (sessionStorage)
  
 Ranije spomenuti LevelDB koji se koristi za pohranu IndexedDB podataka na disk. [8] Može pohranjivati velike strukturirane podatke kao što su pred memorirane poruke, izvan mrežni podaci ili dokumenti. A sama pred memorija diska pohranjuje resurse dohvaćene s weba kako bi im se kasnije moglo brzo pristupiti. [9] Pred memorija diska može uključivati zaglavlja zahtjeva i sadržaja, ovisno o vrsti pred memorije. Tu onda ima slika, skripti i ponekada podataka o odgovorima. Koje su domene ili usluge kontaktirane, te potencijalna rekonstrukcija pregledanog sadržaja. Jedino ograničenje je što aplikacija može izbrisati ili prebrisati pred memoriju kada je potreban prostor. Ranije spomenuti LevelDB koji se koristi za pohranu IndexedDB podataka na disk. [8] Može pohranjivati velike strukturirane podatke kao što su pred memorirane poruke, izvan mrežni podaci ili dokumenti. A sama pred memorija diska pohranjuje resurse dohvaćene s weba kako bi im se kasnije moglo brzo pristupiti. [9] Pred memorija diska može uključivati zaglavlja zahtjeva i sadržaja, ovisno o vrsti pred memorije. Tu onda ima slika, skripti i ponekada podataka o odgovorima. Koje su domene ili usluge kontaktirane, te potencijalna rekonstrukcija pregledanog sadržaja. Jedino ograničenje je što aplikacija može izbrisati ili prebrisati pred memoriju kada je potreban prostor.
Redak 69: Redak 75:
  
 U praksi zapisnici mogu biti: U praksi zapisnici mogu biti:
-Zapisnici aplikacije (ako ih aplikacija zapisuje) +  * Zapisnici aplikacije (ako ih aplikacija zapisuje) 
-Zapisnici ažuriranja +  Zapisnici ažuriranja 
-Zapisnici renderera i rušenja sustava (može se nadjačati s app.setPath('crashDumps'+  Zapisnici renderera i rušenja sustava (može se nadjačati s app.setPath('crashDumps'
-Zapisnici otklanjanja pogrešaka (ponekad ih omogućuju programeri)+  Zapisnici otklanjanja pogrešaka (ponekad ih omogućuju programeri)
  
 Valja istaknuti izvještaje o rušenju sustava jer mogu sadržavati dijelove memorije u trenutku rušenja. Čak i ako istražitelj ne analizira u potpunosti izvatke, prisutnost izvatka o padu sustava može pokazati da je aplikacija instalirana i korištena, da je došlo do rušenja u određeno vrijeme, te potencijalno koja je verzija aplikacije bila pokrenuta. Valja istaknuti izvještaje o rušenju sustava jer mogu sadržavati dijelove memorije u trenutku rušenja. Čak i ako istražitelj ne analizira u potpunosti izvatke, prisutnost izvatka o padu sustava može pokazati da je aplikacija instalirana i korištena, da je došlo do rušenja u određeno vrijeme, te potencijalno koja je verzija aplikacije bila pokrenuta.
Redak 89: Redak 95:
  
 Nakon što je utvrđeno da se radi o Electron aplikaciji najbolje je prvo potražiti sljedeće stavke unutar userData mape: Nakon što je utvrđeno da se radi o Electron aplikaciji najbolje je prvo potražiti sljedeće stavke unutar userData mape:
-Cookies (često SQLite baza podataka) +  * Cookies (često SQLite baza podataka) 
-Local Storage / leveldb +  Local Storage / leveldb 
-Session Storage +  Session Storage 
-IndexedDB +  IndexedDB 
-Cache +  Cache 
-Crashpad +  Crashpad 
-Mapa Logs+  Mapa Logs
  
 Cilj nije samo pronaći jedan artefakt, već povezati više tragova kako bi se odgovorilo na pitanje kada je aplikacija korištena, s čime je kontaktirala i što je lokalno pohranila. Cilj nije samo pronaći jedan artefakt, već povezati više tragova kako bi se odgovorilo na pitanje kada je aplikacija korištena, s čime je kontaktirala i što je lokalno pohranila.
Redak 104: Redak 110:
  
 Za forenzičkog istražitelja, glavne točke su: Za forenzičkog istražitelja, glavne točke su:
-Neki podaci mogu biti čitljivi samo u istom korisničkom kontekstu +  * Neki podaci mogu biti čitljivi samo u istom korisničkom kontekstu 
-Izvan mrežna analiza može biti ograničena ako nemate pristup potrebnim ključevima +  Izvan mrežna analiza može biti ograničena ako nemate pristup potrebnim ključevima 
-Pravna i etička pravila su važna jer pokušaji dešifriranja mogu postati vrlo osjetljivi+  Pravna i etička pravila su važna jer pokušaji dešifriranja mogu postati vrlo osjetljivi
  
 Electron aplikacije zapisuju puno podataka u pred memoriju i bazu podataka. Neki od njih se često prepisuju. Na SSD-ovima, TRIM i sakupljanje smeća mogu smanjiti mogućnost oporavka izbrisanih artefakata. Također, pred memorije preglednika mogu dizajnom izbaciti stare unose. [9] Neke Electron aplikacije koriste jedan zadani profil, ali druge mogu stvoriti više sesija ili prilagođenih lokacija. Electron aplikacije zapisuju puno podataka u pred memoriju i bazu podataka. Neki od njih se često prepisuju. Na SSD-ovima, TRIM i sakupljanje smeća mogu smanjiti mogućnost oporavka izbrisanih artefakata. Također, pred memorije preglednika mogu dizajnom izbaciti stare unose. [9] Neke Electron aplikacije koriste jedan zadani profil, ali druge mogu stvoriti više sesija ili prilagođenih lokacija.
racfor_wiki/seminari2025/mp031800821.1769965882.txt.gz · Zadnja izmjena: 2026/02/01 17:11 od Marko Pavlaković
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