====== Windows - mark of the web ====== ===== Sažetak ===== U radu će biti opisana Windowsova značajka "mark of the web" (MOTW). Bit će objašnjena polja koja se u njemu nalaze, te način na koji se može provjeriti. Potom će biti objašnjeno kako i tko ga zapisuje te koji su načini zaobilaska MOTW-a. Naposljetku će biti opisan način na koji bi MOTW mogao predstavljati određen (mali) sigurnosni rizik. Ključne riječi: windows, mark of the web, sigurnost, MOTW, web, internet, Zone.Identifier ===== Uvod ===== "Windows - mark of the web" (MOTW) je sigurnosni mehanizam koji pokušava zaštititi korisnike windows računala od nepouzdanih ili opasnih datoteka preuzetih s interneta. Samim time MOTW ima ključnu ulogu u zaštiti korisnika i operativnog sustava u modernom povezanom svijetu. Sama ideja MOTW-a je označiti datoteke preuzete s interneta, te na taj način upozoriti antivirusne programe i windows defender da moraju provjeriti navedenu datoteku. Nadalje, ta oznaka, uz tip datoteke, služi za određivanje je li potrebno tražiti dozvolu za pokretanje i izvršavanje datoteke ili programa. [2] MOTW nije savršen te ime neka propuste u pogledu zaštite. Uz to MOTW može stvoriti novi vektor napada te time u konačnici pogoršati sigurnost cijelog sustava. [1] ===== Opširnije o MOTW-u ===== Prva verzija MOTW-a potječe iz Internet Explorera. Tada se koristio za označavanje spremljenih web stranica. Na početak spremljene HTML datoteke bio bi dodan komentar . Kasnije je taj mehanizam proširen kako bi mogao označiti datoteke koje nisu HTML. Navedeno je postignuto korištenjem alternativnih toka podataka. Naime NTFS datotečni sustav još od Windowsa 3.1 podržava dodatni tok podataka (eng. alternate data stream (ADS)). To znači da uz jedno ime datoteke može biti vezano više tokova podataka ("ime_datoteke:ime_toka"). [2] Danas MOTW koristi poseban tok "Zone.Identifier" u koji zapisuje podatke o izvoru datoteke. Zapisani podaci su uglavnom: ZoneId , ReferrerUrl i HostUrl. ==== Zone.Identifier ==== Svi tokovi podataka vezani uz datoteku mogu se izlistati naredbom [2] Get-Item ./datoteka -Stream * Nama je interesantan tok "Zone.Identifier". Njegove detalje možemo dohvatiti naredbom [2] Get-Content ./datoteka -Stream Zone.Identifier Rezultati izvršavanja naredbi su vidljivi na slikama 1 i 2. Navedeni tok može sadržavati polja: ZoneId , ReferrerUrl i HostUrl. **ZoneId** predstavlja zonu iz koje datoteka potječe. Moguće vrijednosti su: * 0 - lokalno računalo * 1 - lokalni internet * 2 - povjerljiva stranica * 3 - internet * 4 - ograničena stranica **ReferrerUrl** je url adresa stranice s koje je datoteka preuzeta. **HostUrl** je url same datoteke na poslužitelju. {{ :racfor_wiki:seminari2023:motw-get_item.png?nolink&600 |}} ''Slika 1. Prikazuje rezultat izvršavanja naredbe Get-Item'' {{ :racfor_wiki:seminari2023:motw-get_content.png?nolink&600 |}} ''Slika 2. Prikazuje rezultat izvršavanja naredbe Get-Content'' ==== Zapisivanje MOTW-a ==== Iduće pitanje je tko zapisuje MOTW. Danas datoteke s interneta na računalo mogu doći na mnogobrojne načine, npr. preuzimanjem iz preglednika, preuzimanjem s web poslužitelja, preko git naredbe... Windows je odlučio obvezu zapisivanja MOTW staviti upravo na te aplikacije. Aplikacijama se pruža opcija implementacije sučelja IAttachmentExecute (npr. Chrome) ili direktnog zapisivanja toka (npr. Firefox). [3] Naravno neke aplikacije ne implementiraju niti jedan način zapisa MOTW-a (Git) te na datotekama preuzetim iz takvih aplikacija ne postoji MOTW. [4] Datoteka koja sadrži MOTW ima zapis svidljiv u svojim svojstvima, prikazano na slici 3. {{ :racfor_wiki:seminari2023:motw-zapis_na_datoteci.png?nolink&250 |}} ''Slika 3. Prikaz svojstva datoteke koja sadrži MOTW'' ===== Sigurnosne značajke ===== Sam MOTW nema nikakve sigurnosne značajke. On doprinosi sigurnosti sustava tako da upozorava sustav na moguću opasnost. Primjer kako windows-i koriste MOTW je prilikom pokretanja .exe datoteka. Ako datoteka sadrži MOTW, prije pokretanja, windows defender i antivirusni program će provjeriti je li datoteka na popisu poznatih prijetnji. Uz provjeru antivirusa, korisnik će dobiti još jednu priliku da odustane od pokretanja uz prikaz osnovnih informacija o datoteci tj. izdavaču programa. [1] Navedeno ponašanje je prikazano slikom 4. Još jedan primjer su programi ms office. Otvaranjem bilo koje datoteke s MOTW, ms office prikazuje sadržaj u zaštićenom pogledu. Uz taj prikaz, od 2022 godine, ms office blokira izvršavanje svih macro naredbi. [1] {{ :racfor_wiki:seminari2023:motw-exe.png?nolink&400 |}} ''Slika 4. Prikazuje okvir upozorenja koji se otvara prilikom pokretanja .exe datoteke koja sadrži MOTW'' ===== Sigurnosni problemi ===== ==== Zaobilaženje MOTW-a ==== Postoji više načina na koji se datoteka može preuzeti preko interneta, a da tok Zone.Identifier ne bude postavljen. Prvi način je korištenje programa koji ne postavljaju MOTW. Kao što je ranije navedeno, windows ne postavlja MOTW već njegovo postavljanje prepušta aplikaciji koja sadržaj preuzima. Neki od primjera aplikacija koje ne postavljaju MOTW su git i discord. [2] Drugi način zaobilaska MOTW je korištenje komprimiranih datoteka. Konkretno korištenje alata za raspakiravanje kao što su WinRAR ili 7zip. Same komprimirane datoteke, ako su skinute kroz aplikaciju koja podržava MOTW, sadrže tok Zone.Identifier. Do problema dolazi prilikom raspakiravanja takvih datoteka. Program za dekomprimiranje bi trebao MOTW kopirati s arhivne datoteka na sve raspakirane datoteka, ali on to u pravilu ne radi. [2] Još jedan način zaobilaska postavljanja MOTW je korištenje datoteka "kontejnera", tj. datoteka koje koriste drugačiji oblik zapisa. Konkretno riječ je o .iso, i .vhd datotekama te o USB stiku koji koristi FAT32 datotečni sustav. Naime, jedino NTFS datotečni sustav podržava dodatne tokove podataka dok drugi sustavi samo odbacuju višak koji ne koriste. [2][5] ==== Opasnosti MOTW-a ==== MOTW sam po sebi nije pre kompliciran te stoga uglavnom ne uvodi neke velike sigurnosne propuste. Jedan propust kojega je uveo bio je u pogledu izlaganja povjerljivih informacija. Prilikom pohrane dodatnog toka zapisuje se i url adresa stranice (uključivo s query parametrima). U toj adresi mogu biti zapisane povjerljive informacije kao što su korisničko ime i lozinka ili api ključ isl. Općenito nije dobra praksa prenositi osjetljive podatke u adresi zahtjeva, ali neke stranice to još uvijek čine. Nadalje pojavio se i problem zapisa korisničkih vjerodajnica prilikom pristupa ftp serveru (npr.