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:vr53858 [2026/02/01 14:28]
Vlatko Rohak
racfor_wiki:seminari2025:vr53858 [2026/02/01 14:51] (trenutno)
Vlatko Rohak [Windows]
Redak 2: Redak 2:
  
 ===== Sažetak ===== ===== Sažetak =====
-Progresivna web aplikacija (PWA) predstavlja vrstu web aplikacije koje se može instalirati na uređaj poput uobičajene aplikacije, ali u pozadini koristi web tehnologije i web preglednik[1]. Zahvaljujući značajkama kao što su service worker-i i lokalna priručna memorija, PWA omogućuje izvanmrežni rad, push obavijesti i druge funkcionalnosti, pružajući korisniku iskustvo slično nativnoj (native) aplikaciji. Ovaj rad analizira gdje i kako PWA ostavljaju tragove te kako istražitelj može razlikovati korištenje PWA od običnog pregledavanja weba. Promatrani su artefakti Windows i Android sustava, uz kratku napomenu o ograničenjima pristupa na iOS. Kao rezultat, identificirani su pouzdani indikatori instalacije PWA na Windowsu (prečaci s parametrima pokretanja, unosi za deinstalaciju u registru, mape “Web Applications” i zapisi u Preferences datoteci profila) te na Androidu (WebAPK paketi s prefiksom org.chromium.webapk, tragovi u packages.xml i poveznice prema podacima unutar Chrome sandboxa). Rad dodatno sažima koje baze i direktorije web preglednika treba analizirati (npr. History, Cookies, Cache, Service Worker, IndexedDB) kako bi se rekonstruirala aktivnost unutar PWA. +Progresivna web aplikacija (PWA) predstavlja vrstu web aplikacije koje se može instalirati na uređaj poput uobičajene aplikacije, ali u pozadini koristi web tehnologije i web preglednik[1]. Zahvaljujući značajkama kao što su service worker-i i lokalna priručna memorija, PWA omogućuje izvanmrežni rad, push obavijesti i druge funkcionalnosti, pružajući korisniku iskustvo slično nativnoj (native) aplikaciji. Ovaj rad analizira gdje i kako PWA ostavljaju tragove te kako istražitelj može razlikovati korištenje PWA od običnog pregledavanja weba. Promatrani su artefakti Windows i Android sustava, uz kratku napomenu o ograničenjima pristupa na iOS. Kao rezultat, identificirani su pouzdani indikatori instalacije PWA na Windowsu (prečaci s parametrima pokretanja, unosi za deinstalaciju u registru, mape “Web Applications” i zapisi u Preferences datoteci profila) te na Androidu (WebAPK paketi s prefiksom org.chromium.webapk, tragovi u packages.xml i poveznice prema podacima unutar Chrome sandboxa). Rad dodatno sažima koje baze i direktorije web pregledniku treba analizirati (npr. History, Cookies, Cache, Service Worker, IndexedDB) kako bi se rekonstruirala aktivnost unutar PWA. 
-Ključne riječi: PWA; računalna forenzika; artefakti preglednika; service worker; Web App Manifest; WebAPK; Chrome; Windows; Android+ 
 +**Ključne riječi**: PWA; računalna forenzika; artefakti preglednika; service worker; Web App Manifest; WebAPK; Chrome; Windows; Android
 ===== Uvod ===== ===== Uvod =====
  
Redak 28: Redak 29:
  
 Na Windows sustavima, PWA se tipično instalira putem preglednika Google Chrome ili Microsoft Edge (koji je baziran na Chromiumu). Kada korisnik instalira PWA, preglednik obavlja nekoliko radnji koje ostavljaju fizičke tragove na disku i u registru sustava Windows. Prije svega, stvara se prečac (.lnk datoteka) za aplikaciju. U slučaju Chromea, prečac se obično postavlja na Desktop (ili u izbornik Start) i nosi naziv PWA aplikacije. Taj .lnk pokazuje na izvršnu datoteku preglednika (chrome.exe), s posebnim parametrima za pokretanje PWA. Konkretno, Chrome koristi pomoćni proces chrome_proxy.exe kojem prosljeđuje parametar --app-id=<identifikator> da bi pokrenuo PWA u zasebnom prozoru. Na Windows sustavima, PWA se tipično instalira putem preglednika Google Chrome ili Microsoft Edge (koji je baziran na Chromiumu). Kada korisnik instalira PWA, preglednik obavlja nekoliko radnji koje ostavljaju fizičke tragove na disku i u registru sustava Windows. Prije svega, stvara se prečac (.lnk datoteka) za aplikaciju. U slučaju Chromea, prečac se obično postavlja na Desktop (ili u izbornik Start) i nosi naziv PWA aplikacije. Taj .lnk pokazuje na izvršnu datoteku preglednika (chrome.exe), s posebnim parametrima za pokretanje PWA. Konkretno, Chrome koristi pomoćni proces chrome_proxy.exe kojem prosljeđuje parametar --app-id=<identifikator> da bi pokrenuo PWA u zasebnom prozoru.
 +
 +{{ :racfor_wiki:seminari2025:pwa-chrome-app-id.png?nolink&400 |}}
  
 Ovaj identifikator (app-id) je jedinstven za svaku instaliranu PWA i generira se na temelju domena/aplikacije. Kada korisnik pokrene PWA prečac, sustav zapravo pokreće Chrome s navedenim parametrom. To rezultira pojavom prozora aplikacije bez uobičajenog Chrome sučelja, unutar kojeg se učitava PWA sadržaj. Ovaj identifikator (app-id) je jedinstven za svaku instaliranu PWA i generira se na temelju domena/aplikacije. Kada korisnik pokrene PWA prečac, sustav zapravo pokreće Chrome s navedenim parametrom. To rezultira pojavom prozora aplikacije bez uobičajenog Chrome sučelja, unutar kojeg se učitava PWA sadržaj.
 Drugo, prilikom instalacije PWA ažurira se Windows registar. Chrome registrira novu aplikaciju u registru za potrebe deinstalacije. U grani registra HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\ pojavit će se novi ključ koji predstavlja tu PWA aplikaciju. Ime ključa obično je nasumični GUID ili hash, a unutar njega se nalaze vrijednosti poput: naziv aplikacije (npr. "Youtube"), izdavač ("Google\Chrome"), datum instalacije, putanja do ikone (koja se nalazi u Chrome profilu) te Uninstall string iliti naredba kojom Chrome može deinstalirati tu PWA. Drugo, prilikom instalacije PWA ažurira se Windows registar. Chrome registrira novu aplikaciju u registru za potrebe deinstalacije. U grani registra HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\ pojavit će se novi ključ koji predstavlja tu PWA aplikaciju. Ime ključa obično je nasumični GUID ili hash, a unutar njega se nalaze vrijednosti poput: naziv aplikacije (npr. "Youtube"), izdavač ("Google\Chrome"), datum instalacije, putanja do ikone (koja se nalazi u Chrome profilu) te Uninstall string iliti naredba kojom Chrome može deinstalirati tu PWA.
 +
 +{{ :racfor_wiki:seminari2025:pwa-registry-uninstall.png?600 |}}
    
 Taj uninstall string zapravo poziva Chrome s parametrom --uninstall-app-id=<identifikator>, što je interni način da Chrome ukloni PWA (obriše njene datoteke i unose). Taj uninstall string zapravo poziva Chrome s parametrom --uninstall-app-id=<identifikator>, što je interni način da Chrome ukloni PWA (obriše njene datoteke i unose).
 Na datotečnom sustavu, glavno spremište PWA nalazi se unutar korisničkog profila Chromea. U direktoriju profila (primjerice %LOCALAPPDATA%\Google\Chrome\User Data\Default\) Chrome kreira poddirektorij Web Applications\_crx_<identifikator>\ u kojem drži podatke o instaliranoj PWA. Na datotečnom sustavu, glavno spremište PWA nalazi se unutar korisničkog profila Chromea. U direktoriju profila (primjerice %LOCALAPPDATA%\Google\Chrome\User Data\Default\) Chrome kreira poddirektorij Web Applications\_crx_<identifikator>\ u kojem drži podatke o instaliranoj PWA.
 +
 +{{ :racfor_wiki:seminari2025:pwa-chrome-crx.png?600 |}}
    
 Tu se mogu nalaziti datoteke poput ikone aplikacije (*.ico), potencijalno konfiguracijske datoteke, itd. Tu se mogu nalaziti datoteke poput ikone aplikacije (*.ico), potencijalno konfiguracijske datoteke, itd.
Redak 45: Redak 52:
  
 Na Android uređajima progresivne web aplikacije integrirane su kroz mobilni pregledni. Postoje dva moguća načina pojavljivanja PWA na Androidu: Basic PWA (stariji pristup) i WebAPK (noviji pristup). U ranijim verzijama Chromea, kada bi korisnik odabrao „Add to Home Screen“, sustav bi jednostavno dodao web clip, to jest prečac s ikonom na početni zaslon, a pokretanje bi otvorilo stranicu u pregledniku. U novijim verzijama, Chrome zapravo generira instalacijski paket. Taj automatski generirani WebAPK ima jedinstveno paketno ime koje počinje s org.chromium.webapk. Ovakav paket normalno je vidljiv sustavu kao i svaka druga aplikacija, što znači da će se pojaviti u listi instaliranih paketa (npr. u datoteci /data/system/packages.xml ili preko adb shell pm liste paketa). Na Android uređajima progresivne web aplikacije integrirane su kroz mobilni pregledni. Postoje dva moguća načina pojavljivanja PWA na Androidu: Basic PWA (stariji pristup) i WebAPK (noviji pristup). U ranijim verzijama Chromea, kada bi korisnik odabrao „Add to Home Screen“, sustav bi jednostavno dodao web clip, to jest prečac s ikonom na početni zaslon, a pokretanje bi otvorilo stranicu u pregledniku. U novijim verzijama, Chrome zapravo generira instalacijski paket. Taj automatski generirani WebAPK ima jedinstveno paketno ime koje počinje s org.chromium.webapk. Ovakav paket normalno je vidljiv sustavu kao i svaka druga aplikacija, što znači da će se pojaviti u listi instaliranih paketa (npr. u datoteci /data/system/packages.xml ili preko adb shell pm liste paketa).
-PS> adb shell pm list packages | Select-String webapk+ 
 +''PS> adb shell pm list packages | Select-String webapk'' 
 + 
 +{{ :racfor_wiki:seminari2025:pwa-list-packages.png?600 |}}
    
 Bitno je uočiti string webapk u nazivu paketa, jer on odaje da se radi o PWA, iako ostatak naziva izgleda nasumično[5]. U Androidu 15 nadalje, sustav i u sučelju naznačuje da je aplikaciju instalirao Chrome (što upućuje na PWA porijeklo), dok u Androidu 14 to nije pouzdano prikazano[5]. Bitno je uočiti string webapk u nazivu paketa, jer on odaje da se radi o PWA, iako ostatak naziva izgleda nasumično[5]. U Androidu 15 nadalje, sustav i u sučelju naznačuje da je aplikaciju instalirao Chrome (što upućuje na PWA porijeklo), dok u Androidu 14 to nije pouzdano prikazano[5].
Redak 88: Redak 98:
 ===== Literatura ===== ===== Literatura =====
  
-[1] [[https://en.wikipedia.org/wiki/Progressive_web_app|Wikipedia: “Progressive web app.” Wikipedia, the free encyclopedia. Pristupljeno 2025.]]+[1] [[https://en.wikipedia.org/wiki/Progressive_web_app|Wikipedia: “Progressive web app.” Wikipedia, the free encyclopedia.]]
  
-[2] [[https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps|MDN Web Docs: “Progressive web apps.” Dostupno na: developer.mozilla.org/en-US/docs/Web/Progressive_web_apps.]]+[2] [[https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps|MDN Web Docs: “Progressive web apps.”  developer.mozilla.org/en-US/docs/Web/Progressive_web_apps.]]
  
-[3] [[https://blog.nviso.eu/|Van der Stockt, W. “Deep dive into the security of Progressive Web Apps,” NVISO Labs blog, 16. siječnja 2020. Dostupno na: blog.nviso.eu.]]+[3] [[https://blog.nviso.eu/|Van der Stockt, W. “Deep dive into the security of Progressive Web Apps,” NVISO Labs blog, 16. siječnja 2020.  blog.nviso.eu.]]
  
-[4] [[https://boredhackerblog.info/|boredhackerblog: “Progressive Web Apps (PWA) on Windows - forensics and detection of use,” 19. lipnja 2024. Dostupno na: boredhackerblog.info.]]+[4] [[https://boredhackerblog.info/|boredhackerblog: “Progressive Web Apps (PWA) on Windows - forensics and detection of use,” 19. lipnja 2024.  boredhackerblog.info.]]
  
-[5] [[https://cclsolutionsgroup.com/|White, A. “When is an app not an app? Investigating WebAPKs on Android,” CCL Forensics Blog, 2024. Dostupno na: cclsolutionsgroup.com.]]+[5] [[https://cclsolutionsgroup.com/|White, A. “When is an app not an app? Investigating WebAPKs on Android,” CCL Forensics Blog, 2024.  cclsolutionsgroup.com.]]
  
racfor_wiki/seminari2025/vr53858.1769956105.txt.gz · Zadnja izmjena: 2026/02/01 14:28 od Vlatko Rohak
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