Slijede razlike između dviju inačica stranice.
| Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
|
racfor_wiki:seminari2025:dd53270 [2026/01/08 19:56] Dominik Đurinić [Rezultati] |
racfor_wiki:seminari2025:dd53270 [2026/01/08 20:17] (trenutno) Dominik Đurinić [Zaključak] |
||
|---|---|---|---|
| Redak 48: | Redak 48: | ||
| Jednostavan prikaz rada cloud AI chatbota možemo pogledati na modelu ispod. | Jednostavan prikaz rada cloud AI chatbota možemo pogledati na modelu ispod. | ||
| + | \\ | ||
| {{ : | {{ : | ||
| + | \\ | ||
| {{ : | {{ : | ||
| - | |||
| \\ | \\ | ||
| + | |||
| Korisnik unosi prompt. Prompt šalje korisnikov browser prema cloudu (udaljenom serveru) na API Gateway, drugim riječima, prompt se ne obrađuje lokalno. U ovom trenutku kako **prompt prolazi mrežom, nastaju browser i mrežni artefakti**. Kada prompt pristigne na server, prompt se dijeli na manje jedinice tzv. **tokene** koji se prosljeđuju većem broju moćnih servera s LLM modelima u klasterima te se upit obrađuje. Nakon obrade generira se odgovor i metapodaci koji se pohranjuju u cloudu te se odgovor šalje natrag kroz API korisnikovu browseru. U browseru se također pohranjuju lokalno metapodaci. Ovaj proces se ponavlja novim promptovima te završava prekidom sesije. | Korisnik unosi prompt. Prompt šalje korisnikov browser prema cloudu (udaljenom serveru) na API Gateway, drugim riječima, prompt se ne obrađuje lokalno. U ovom trenutku kako **prompt prolazi mrežom, nastaju browser i mrežni artefakti**. Kada prompt pristigne na server, prompt se dijeli na manje jedinice tzv. **tokene** koji se prosljeđuju većem broju moćnih servera s LLM modelima u klasterima te se upit obrađuje. Nakon obrade generira se odgovor i metapodaci koji se pohranjuju u cloudu te se odgovor šalje natrag kroz API korisnikovu browseru. U browseru se također pohranjuju lokalno metapodaci. Ovaj proces se ponavlja novim promptovima te završava prekidom sesije. | ||
| Redak 343: | Redak 344: | ||
| ==== Google Gemini ==== | ==== Google Gemini ==== | ||
| + | \\ | ||
| Za početak __pošaljimo Gemini prompt „Što je računalna forenzika? | Za početak __pošaljimo Gemini prompt „Što je računalna forenzika? | ||
| Redak 389: | Redak 390: | ||
| ^ Cache | - | - | - | | ^ Cache | - | - | - | | ||
| ^ Cookies | ^ Cookies | ||
| - | \\ | + | |
| Iz tablice i praktične provjere možemo zaključiti da je **ChatGPT najbogatiji lokalnim artefaktima** jer sadrži prompt, odgovore, povijest i identifikatore korisnika. Gemini je do nedavno imao IndexedDB gdje je bio pohranjen prompt i odgovor pa se moglo lokalno doći do njega, ali trenutačno možemo samo iz mrežnih poziva. **Copilot je najrestriktivniji od svih**, sadrži vrlo malo lokalno pohranjenih podataka te nije moguća rekonstrukcija razgovora jer se odgovor nigdje ne zapisuje. | Iz tablice i praktične provjere možemo zaključiti da je **ChatGPT najbogatiji lokalnim artefaktima** jer sadrži prompt, odgovore, povijest i identifikatore korisnika. Gemini je do nedavno imao IndexedDB gdje je bio pohranjen prompt i odgovor pa se moglo lokalno doći do njega, ali trenutačno možemo samo iz mrežnih poziva. **Copilot je najrestriktivniji od svih**, sadrži vrlo malo lokalno pohranjenih podataka te nije moguća rekonstrukcija razgovora jer se odgovor nigdje ne zapisuje. | ||
| ===== Rekonstrukcija podataka nakon brisanja razgovora ===== | ===== Rekonstrukcija podataka nakon brisanja razgovora ===== | ||
| + | \\ | ||
| + | U prethodnom poglavlju promatrali smo lokalne artefakte dok je razgovor još uvijek postojao u bazi AI chatbota. Pitanje je hoće li lokalni podaci ostati pohranjeni nakon uklanjanja razgovora u samo korisničkom sučelju. U poglavlju Pohrana promptova u cloud AI sustavima definirali smo kako se pohranjuju podaci na cloud serverima i što se događa s njima nakon što korisnik obriše sadržaj. Također smo napomenuli da audit logovi koji ostaju trajno pohranjeni u cloudu nisu dostupni običnim korisnicima. Iz tog razloga u ovom ćemo poglavlju razmotriti **što se događa s lokalnim podacima nakon brisanja razgovora i možemo li na temelju njih rekonstruirati razgovor**. | ||
| - | U prethodnom poglavlju promatrali smo lokalne artefakte dok je razgovor | + | Praktičnu __analizu provest ćemo nad OpenAI ChatGPT__ jer je on jedini chatbot koji ima dovoljno lokalnih podataka da možemo primijetiti promjenu i pokušati rekonstruirati |
| - | Praktičnu analizu provest ćemo nad OpenAI ChatGPT jer je on jedini chatbot koji ima dovoljno lokalnih podataka da možemo primijetiti promjenu i pokušati rekonstruirati razgovor. Za početak otvorimo ranije pokrenuti razgovor s pitanjem „što je računalna forenzika? | + | Prvo u **IndexedDB**. Ondje su pohranjeni prompt i odgovor za taj razgovor te njegov id razgovora. Navedeno možemo pogledati na slici. |
| - | + | ||
| - | Prvo u IndexedDB. Ondje su pohranjeni prompt i odgovor za taj razgovor te njegov id razgovora. Navedeno možemo pogledati na slici. | + | |
| + | \\ | ||
| {{ : | {{ : | ||
| + | \\ | ||
| - | Drugo provjerimo LocalStorage. Ovdje se nalazi puno podataka, ali nama su najzanimljiviji povijest razgovora (cache history) te lastPageLoadDate i LoggedInUserMessageCount. Navedeno je moguće pogledati na slici. | + | Drugo provjerimo |
| + | \\ | ||
| {{ : | {{ : | ||
| + | \\ | ||
| {{ : | {{ : | ||
| + | \\ | ||
| - | Nakon što smo pregledali sve lokalno pohranjene podatke vezane uz razgovor iz primjera, vrijeme je da obrišemo razgovor u korisničkom sučelju te zatvorimo | + | Nakon što smo pregledali sve lokalno pohranjene podatke vezane uz razgovor iz primjera, vrijeme je da __obrišemo razgovor u korisničkom sučelju te zatvorimo i ponovno otvorimo |
| + | \\ | ||
| {{ : | {{ : | ||
| + | \\ | ||
| - | Nakon brisanja razgovora u korisničkom sučelju te zatvaranja i ponovnog otvaranja web preglednika s OpenAI ChatGPT, odmah možemo vidjeti da se u sidebaru AI chatbota više ne nalazi prethodno obrisani razgovor „Računalna forenzika“. Ako sada provjerimo lokalno pohranjene podatke u web pregledniku pod DevTools onda možemo vidjeti sadržaj kao na slikama ispod. | + | Nakon brisanja razgovora u korisničkom sučelju te zatvaranja i ponovnog otvaranja web preglednika s OpenAI ChatGPT, odmah možemo vidjeti da se **u sidebaru AI chatbota više ne nalazi prethodno obrisani razgovor** „Računalna forenzika“. Ako sada provjerimo lokalno pohranjene podatke u web pregledniku pod DevTools onda možemo vidjeti sadržaj kao na slikama ispod. |
| + | \\ | ||
| {{ : | {{ : | ||
| + | \\ | ||
| {{ : | {{ : | ||
| + | \\ | ||
| {{ : | {{ : | ||
| + | \\ | ||
| - | Iz priloženih slika zaslona moguće je vidjeti da je IndexedDB prazan odnosno više ne postoje podaci o našem razgovoru iz primjera. Također ako pogledamo u LocalStorage pod cache history onda također možemo vidjeti da se ondje nalaze drugi razgovori, a našeg razgovora iz primjera nema. Promijenile su se i vrijednosti zadnjeg učitavanja razgovora lastPageLoadDate. LoggedInUserMessageCount je ostao nepromijenjen te iz njega možemo iščitati aktivnost korisnika, ali vrijednost sama po sebi ne daje preveliku sliku svega što se događalo. | + | Iz priloženih slika zaslona moguće je vidjeti da je **IndexedDB prazan** odnosno |
| - | Na samom početku smo bili spomenuli Browser History u kojem možemo pregledati posljednje posjećene web stranice i njihova vremena. | + | Na samom početku smo bili spomenuli |
| + | \\ | ||
| {{ : | {{ : | ||
| + | \\ | ||
| - | U povijesti web preglednika možemo vidjeti „Računalna forenzika“ sa chatgpt.com. Ako pogledamo datum, on odgovara datumu koji smo registrirali u localStorage prije brisanja razgovora. Kako bismo provjerili sadržaj, otvaramo navedenu web stranicu. Odmah pri učitavanju dobivamo obavijest u crvenom okviru. | + | U povijesti web preglednika možemo vidjeti |
| + | \\ | ||
| {{ : | {{ : | ||
| + | \\ | ||
| - | Razgovor s tim conversation id nije moguće učitati. Razlog je prethodno brisanje razgovora. Također conversation id u okviru nam potvrđuje da se doista radi o razgovoru koji smo analizirali prije brisanja. | + | **Razgovor s tim conversation id nije moguće učitati**. Razlog je prethodno brisanje razgovora. Također |
| - | Iz svega navedenog možemo zaključiti kako se svi lokalni podaci vezani uz obrisani razgovor također brišu. Drugim riječima, nije moguća rekonstrukcija razgovora na temelju lokalne pohrane već nam je potreban pristup cloud pohrani na udaljenom serveru. | + | Iz svega navedenog možemo zaključiti kako se **svi lokalni podaci vezani uz obrisani razgovor također brišu**. Drugim riječima, |
| - | Ipak, postoji još jedna mogućnost, a to je RAM dump. Nažalost i ova metoda nije uvijek pouzdana jer ovisi o brojnim uvjetima. Uvjeti koje je potrebno zadovoljiti su sljedeći: | + | Ipak, postoji još jedna mogućnost, a to je **RAM dump**. Nažalost i ova metoda |
| * RAM dump dok je ChatGPT otvoren u pregledniku nakon brisanja | * RAM dump dok je ChatGPT otvoren u pregledniku nakon brisanja | ||
| * RAM dump ako je tab s ChatGPT zatvoren, ali je web preglednik i dalje otvoren | * RAM dump ako je tab s ChatGPT zatvoren, ali je web preglednik i dalje otvoren | ||
| Redak 444: | Redak 457: | ||
| ===== Zaključak ===== | ===== Zaključak ===== | ||
| + | \\ | ||
| + | U ovom seminaru istražili smo **primjenu računalne forenzike na cloud AI chatbotovima**. Definirali smo **AI chatbota** kao računalni sustav baziran na LLM, a osnovna svrha je razumjeti korisničke upite i generirati prikladan odgovor u stvarnom vremenu. Razlikujemo dvije vrste AI chatbotova: **lokalni i cloud AI chatbotovi**. | ||
| - | U ovom seminaru istražili smo primjenu | + | Za računalnu forenziku su **ključni podaci koje pohranjuje browser lokalno i cloud na udaljenom |
| - | Za računalnu forenziku su ključni podaci koje pohranjuje browser lokalno i cloud na udaljenom računalu, a nužni su za analizu | + | Za cloud servere su nam najvažniji **audit logovi**. Oni su trajno pohranjeni kronološki zapisi aktivnosti u nekom sustavu koji bilježe korisničke radnje, sistemske događaje |
| - | Za cloud servere su nam najvažniji audit logovi. Oni su trajno pohranjeni kronološki zapisi aktivnosti | + | **Lokalni podaci** iako oskudni ipak nam **mogu puno pomoći i usmjeriti nas na glavni trag u računalnoj forenzici**. Lokalni artefakti nam omogućuju rekonstrukciju aktivnosti korisnika, pronalazak tokena, ID sesija, API poziva, otkrivanje dijelova promptova |
| - | Lokalni podaci iako oskudni ipak nam mogu puno pomoći i usmjeriti nas na glavni trag u računalnoj forenzici. Lokalni artefakti su nam vrlo važni u računalnoj forenzici kao početna točka jer nam omogućuju rekonstrukciju aktivnosti korisnika, pronalazak tokena, ID sesija, API poziva, otkrivanje dijelova promptova | + | Iz praktične provjere |
| - | Iz praktične provjere na vlastitom primjeru zaključili smo da je ChatGPT najbogatiji lokalnim artefaktima jer sadrži prompt, odgovore, povijest i identifikatore korisnika. Copilot | + | Na kraju smo još provjerili **što se događa s lokalnim podacima nakon brisanja razgovora** u korisničkom sučelju AI chatbota. Zaključili smo kako se **svi lokalni podaci vezani uz obrisani razgovor također brišu**. Drugim riječima, nije moguća rekonstrukcija razgovora |
| - | Na kraju smo još provjerili što se događa s lokalnim podacima nakon brisanja razgovora u korisničkom sučelju AI chatbota. Zaključili smo kako se svi lokalni podaci vezani uz obrisani razgovor također brišu. Drugim riječima, nije moguća rekonstrukcija razgovora na temelju lokalne pohrane već nam je potreban pristup cloud pohrani na udaljenom serveru. | + | Cijelo istraživanje nam je pokazalo da se dio podataka pohranjuje lokalno na korisnikovu računalu te ih je moguće analizirati. Ipak, **glavnina sadržaja |
| - | + | ||
| - | Cijelo istraživanje nam je pokazalo da se dio podataka pohranjuje lokalno na korisnikovu računalu te ih je moguće analizirati. Ipak, glavnina sadržaja | + | |
| ===== Literatura ===== | ===== Literatura ===== | ||
| + | \\ | ||
| [1] [[https:// | [1] [[https:// | ||