Računalniki Windows Internet

Alternativni podatkovni tokovi v NTFS ali kako skriti beležnico. Nadomestni tokovi datotek NTFS

Ste že slišali kaj o tokovi NTFS? Zelo zanimiva funkcionalnost datotečnega sistema, ki se lahko uporablja v praksi. Danes bomo govorili o tem, kaj je in kako ga lahko uporabite.

Začnimo z nekaj teorije.
Dodana je podpora za nadomestne podatkovne tokove NTFS za združljivost z datotečnim sistemom Macintosh HFS, ki je uporabljal tok virov za shranjevanje ikon in drugih informacij o datotekah. Prisotni so v NTFS od najzgodnejših različic Windows NT. Bistvo tehnologije je, da datoteka na NTFS podatkov lahko vsebuje več tokov. Dirigent in večina priljubljenih upraviteljev datotek je omejena na delo samo z glavni tok(neimenovano), ki je glavna vsebina datoteke. Tokove je mogoče uporabiti za shranjevanje metapodatkov datotek, zato so bili uporabljeni v Windows 2000, Kot vem.

IN Windows 7 alternativa tokovi NTFS, prisoten v datoteki, ni mogoče videti z običajnimi sredstvi. In zaman: peklensko zviti virusi se lahko na primer zapišejo v tokove neke povsem neškodljive datoteke. Če izbrišete datoteko s tokovi, ki vsebujejo velike količine podatkov, lahko ugotovite, da je bilo sproščenega veliko več prostora, kot ga zaseda datoteka v mnenju raziskovalec.
Za ogled razpoložljivih tokov bomo uporabili konzolni pripomoček, ki ga je ustvaril razvpiti Mark Russinovich.

Kako ustvariti nadomestni tok NTFS

Nekateri ukazi konzole vam omogočajo ustvarjanje in prikaz vsebine tok NTFS, na primer ukaz odmev vam lahko omogoči ustvarjanje nadomestnega toka za besedilno datoteko. Da bi razumeli, kako to deluje, si oglejmo primer. V ukazno vrstico vnesite naslednje:
echo Hello Happy Bulldozer > hello.txt
echo Pozdravljen svet > hello.txt:test

Zdaj odprite datoteko hello.txt v beležnici:

Besedilo Pozdravljen, svet ostal "v zakulisju", saj je bil v toku z imenom test. Če določite ime datoteke, ki jo želite odpreti, in ime toka, ne boste mogli odpreti datoteke v toku: dvopičje je neveljaven znak za ime datoteke. Lahko pa uporabite ukazno vrstico, ki je nekoliko bolj zvesta in vam bo omogočila izvedbo naslednjega ukaza:
več< hello.txt:test

Pogled tokovi NTFS, kot sem zapisal zgoraj, je mogoče storiti s pripomočkom streams.exe
streams.exe hello.txt


Mislim, da je tukaj vse jasno.

Nadomestni tokovi NTFS in Beležnica

Zdi se, da napredni programi to storijo brez posebnega truda in namesto vas prikažejo vsebino toka:

Standardna beležnica bo imenu toka dodala pripono .txt. Če ga želite uporabiti, naj bodo niti poimenovane takole:
echo Pozdravljen svet > hello.txt:test.txt
Nato bo ukaz, izveden iz cmd.exe, dal pozitiven rezultat:
beležnica hello.txt:test.txt

Nadomestni tokovi NTFS in različne vrste datotek

Morda imate vtis, da obseg alternativnih tokov NTFS ne presega besedilnih datotek. To je narobe. V naslednjem primeru sem v datoteko hello.txt dodal tok, ki vsebuje arhivske podatke 7z:

Opažam, da je tokove mogoče ustvariti ne samo za datoteke, ampak tudi za mape in celo za particije trdega diska.

Vse je omejeno z vašo osebno domišljijo in potrebami. Z opisanimi tehnikami lahko preprosto skrijete osebne podatke pred nepripravljenim uporabnikom, npr. Nekakšna varovalka, če želite.

Lep pozdrav, dragi bralci spletnega dnevnika. Datotečni sistem NTFS ima zanimivo možnost podpiranja alternativnih podatkovnih tokov (Alternate Data Stream, ADS). Tehnologija pomeni, da ima lahko vsaka datoteka v datotečnem sistemu NTFS več tokov, v katerih so lahko shranjeni podatki. Raziskovalec in večina drugih aplikacij deluje samo s standardnim tokom in ne more prejemati podatkov iz svojih alternativnih. Tako lahko s tehnologijo ADS skrijete podatke, ki jih ni mogoče zaznati s standardnimi metodami.

Podpora alternativne podatkovne tokove je bil dodan v NTFS za združljivost datotečnega sistema HFS uporablja v sistemu MacOS.

Malo teorije

V datotečnem sistemu NTFS imajo datoteke atribute. Eden od atributov $DATA je atribut podatkov. Po drugi strani ima lahko atribut $DATA več niti. Privzeto je ena glavna nit $DATA:"", ki se imenuje neimenovano. S tem tokom Windows Explorer preprosto deluje. Po želji lahko v datoteko dodamo več poimenovanih tokov (na primer $DATA:"potok1"), ki bodo vsebovali različne nepovezane podatke.

Privzeto gredo vsi podatki, zapisani v datoteko, v glavni neimenovani tok podatkov. In ko odpremo datoteko, vidimo samo glavni tok. Alternativni tokovi NTFS, ki jih ima datoteka, so skriti pred uporabnikom in jih ni mogoče videti z običajnimi sredstvi. Če torej izbrišete datoteko s tokovi, ki vsebujejo množične podatke, lahko opazite, da se je na pomnilniški napravi sprostilo veliko več prostora, kot ga zaseda datoteka, glede na isti Raziskovalec. Alternativne tokove pogosto uporabljajo virusi, ki se lahko zapišejo v imenovani tok neke neškodljive datoteke.

Za delo z alternativnimi tokovi lahko uporabite posebne programe ali ukazno vrstico.

Kako ustvariti nadomestni tok NTFS

Nadomestni tok lahko ustvarite z ukazom konzole echo.

Najprej odprite ukazno vrstico cmd.exe in z ukazom echo ustvarite besedilno datoteko example.txt in vanjo zapišite besedilo:

echo Glavna nit>example.txt

Naslednji ukaz bo zapisal podatke v alternativni tok. Če želite to narediti, za imenom datoteke postavite dvopičje (:) in dajte toku ime:

echo Alternativni tok>example.txt:test

Zdaj, če odprete datoteko example.txt v katerem koli testnem urejevalniku, bo vidno samo prvo besedilo "Glavna nit":

Podatke v toku lahko dobite z ukazom več:

več

Vsebino toka lahko vidite ne samo v ukazni vrstici. Na primer, lahko odprete nadomestni tok z naslednjim ukazom:

"C:\Programske datoteke (x86)\Notepad++\notepad++.exe" example.txt:test

Navadna beležnica lahko odpre samo tokove, katerih ime se konča na ".txt". Na primer, dodajmo tok test.txt v našo datoteko:

echo Notepad alternative stream>example.txt:test.txt

In odprite v beležnici:

notepad.exe primer.txt:test.txt

V alternativne tokove lahko vnesete ne samo besedilne podatke, ampak absolutno katero koli vrsto podatkov. Poleg tega lahko kateri koli vrsti datoteke dodate poljubne podatke – besedilnim datotekam dodajte video, slikam pa besedilne informacije.

V našo datoteko na primer dodamo tok s sliko img.jpg. Za to uporabimo ukaz type:

vnesite img.jpg>example.txt:img.jpg

Kot rezultat smo dobili navadno besedilno datoteko. Če ga odprete na običajen način: z dvojnim klikom skozi raziskovalec, se odpre urejevalnik besedila z vsebino glavnega toka:

Če želite odpreti sliko v alternativnem toku, na primer v programu Paint, preprosto uporabite ukaz:

mspaint example.txt:img.jpg

Kar je najbolj zanimivo, alternativni tokovi ne povečajo vidne velikosti datoteke. Torej, če besedilni datoteki 1 KB dodate 30 GB videoposnetka, bo Raziskovalec še vedno prikazal velikost datoteke 1 KB.

Prav tako je mogoče dodati tokove za mape in celo za particije trdega diska. Vse se naredi na enak način kot pri datotekah:

echo Besedilo v mapi>c:\test:hide.txt

In odprite v beležnici:

beležka c:\test:hide.txt

Ker prisotnost alternativnih tokov ni prikazana na noben način v Raziskovalcu in drugih upraviteljih datotek, jih najlažje najdete z ukazom dir /R:

Skrivanje aplikacij v nadomestnih tokovih in njihov zagon

Namestitev izvedljivih datotek v nadomestne tokove je tako enostavna kot namestitev navadnih datotek. Na primer, vzemimo našo datoteko example.txt in postavimo aplikacijo Notepad (notepead.exe) v tok hideapp.exe:

tip C:\Windows\system32\notepad.exe>example.txt:hideapp.exe

Za zagon skrite beležnice uporabite naslednji ukaz:

zagon .\example.txt:hideapp.exe

Z opisanimi tehnikami lahko preprosto skrijete podatke pred nepripravljenimi uporabniki. Splošna uporaba alternativni podatkovni tokovi ADS omejena le z vašo domišljijo.

To je vse, se vidimo kmalu!

Nadomestni podatkovni tokovi v NTFS

Datotečni sistem NTFS ima veliko zanimivih funkcij, ena od njih je razpoložljivost alternativnih podatkovnih tokov (Alternate Data Stream, ADS). Njihovo bistvo je, da je vsaka datoteka v NTFS niz tokov, v katerih so shranjeni podatki. Privzeto so vsi podatki v glavnem toku, po potrebi pa je mogoče v datoteko dodati dodatne, alternativne podatkovne tokove.

Opomba. Alternativni podatkovni tokovi v NTFS so se pojavili že dolgo nazaj, v sistemu Windows NT. Ustvarjeni so bili za združljivost z datotečnim sistemom HFS, ki je bil nato uporabljen v MacOS. HFS je shranil podatke o datoteki v posebnem toku virov.

Datoteke v NTFS so razdeljene na atribute, eden izmed njih je $DATA ali atribut podatkov. Tokovi so dodatne lastnosti atributa $DATA. Privzeto obstaja ena, glavna nit $DATA:″″. Kot lahko vidite, nima imena, zato se imenuje neimenovani. Če želite, lahko ustvarite tudi dodatne poimenovane tokove, npr. $DATA:″Stream1″. Vsaka datoteka v NTFS ima lahko več podatkovnih tokov, ki vsebujejo različne, nepovezane podatke.

Vsi podatki, zapisani v datoteko, gredo privzeto v glavni podatkovni tok. Ko odpremo datoteko, vidimo točno glavni tok, medtem ko so alternativni tokovi skriti pred uporabnikom in niso prikazani z običajnimi sredstvi. Ni jih mogoče videti na standardne načine, čeprav lahko nekateri programi preberejo podatke, skrite v njih. Za delo z nitmi lahko uporabite tudi ukazno vrstico.

Na primer, odprite konzolo in z ukazom echo ustvarite besedilno datoteko streams.txt in vanjo zapišite besedilo:

echo To je mainstream>streams.txt

In z naslednjim ukazom napišite besedilo v alternativni tok stream1:

echo To je nadomestni tok>streams.txt:stream1

Če sedaj odpremo datoteko streams.txt v katerem koli urejevalniku besedil, bomo videli samo prvi vnos, besedilo "To je nadomestni tok" bo ostalo skrito. Podatke, skrite v toku stream1, lahko preberete z ukazom:

več

Nadomestne tokove je mogoče dodati ne samo v posamezne datoteke, ampak tudi v imenike. Na primer, dodamo alternativni tok2, ki vsebuje besedilo »Skrij tok v tokovih« v trenutni imenik tokov:

echo Skrij tok v Streams>:stream2

In izpišite tok stream2 z naslednjim ukazom:

več<:stream2

Vsebino nadomestnega toka je mogoče odpreti ne samo v konzoli. Beležnica lahko na primer dostopa tudi do podatkov, skritih v tokovih, če v imenu datoteke, ločenem z dvopičjem, podate ime alternativnega toka. Ponovimo prejšnji primer in nekoliko spremenimo ime toka v stream1.txt:

echo To je nadomestni tok>streams.txt:stream1.txt

In odprite alternativni tok v beležnici z ukazom:

notepadstreams.txt:stream1.txt

Opomba. Standardna beležnica zahteva pripono .txt v imenu toka, sicer je ne bo mogla odpreti. Naprednejši urejevalniki, kot je Notepad++, lahko prikažejo vsebino alternativnega toka, ne glede na njegovo ime.

Prisotnost alternativnih tokov za datoteko ni na noben način prikazana v Raziskovalcu in drugih upraviteljih datotek. Če jih želite najti, je najlažje uporabiti ukaz dir /R(začenši z Windows Vista), ki prikazuje vse podatkovne tokove, vključno z alternativnimi.

Morda mislite, da je uporaba alternativnih tokov omejena na besedilne podatke. To sploh ni tako in v alternativnih tokovih se lahko shranijo vse informacije. Na primer, ustvarimo datoteko picture.txt in ji dodamo tok pic1.jpg, v katerega bomo postavili istoimensko sliko:

echo Slika>slika.txt
vnesite pic1.jpg>picture.jpg:pic1.jpg

Tako imamo navzven običajno besedilno datoteko, za odpiranje slike iz alternativnega toka v grafičnem urejevalniku Paint pa uporabimo ukaz:

mspaint picture.txt:pic1.jpg

Na ta način lahko kateri koli vrsti datoteke dodate poljubne podatke – dodate slike v besedilne datoteke, dodate besedilne informacije v predstavnostne datoteke itd. Zanimivo je, da alternativna vsebina ne poveča navidezne velikosti datoteke, na primer dodajanje 30 GB videa visoke ločljivosti v besedilno datoteko 1 kB, bo Raziskovalec še vedno prikazal datoteko velikosti 1 kB.

Izvršljive datoteke lahko skrijete tudi v alternativnih tokovih. Na primer, vzemite datoteko test.txt in dodajte aplikacijo Notepad (notepad.exe) v nadomestni tok note.exe:

vnesite notepad.exe>test.txt:note.exe

In za zagon skrite beležke uporabite ukaz:

zagon .\test.txt:note.exe

Mimogrede, nekateri zlonamerni programi izkoristijo to priložnost z dodajanjem izvedljive kode v alternativne tokove NTFS.

Streams Utility

Obstaja več pripomočkov tretjih oseb za delo z alternativnimi tokovi, kot je konzolni pripomoček Streams podjetja Sysinternals. Zazna lahko prisotnost alternativnih tokov in jih odstrani. Pripomoček ne zahteva namestitve, samo ga razpakirajte in zaženite. Na primer, preverite prisotnost tokov v mapi Streams z ukazom:

Streams.exe -s C:\Streams

In odstranite alternativne tokove iz datoteke streams.txt:

Streams.exe -d C:\Streams\streams.txt

PowerShell

PowerShell zna delati tudi z alternativnimi tokovi – ustvariti, zaznati, prikazati njihovo vsebino in jo celo izbrisati. Na primer, ustvarimo besedilno datoteko:

New-Item -Type file -Path C:\Streams\stream.txt

Dodajmo vnos v glavni tok:

Set-Content -Path C:\Streams\stream.txt -Vrednost ″Glavni tok″

In na nadomestno nit z imenom Second:

Set-Content -Path C:\Streams\stream.txt -Vrednost ″Drugi tok″ -Stream Second

Nato bomo prikazali vsebino glavnega

Get-Content -Path C:\Streams\stream.txt

in alternativni tokovi:

Get-Content -Path C:\Streams\stream.txt -Stream Second

Če želite zaznati prisotnost alternativnih tokov, lahko uporabite ukaz:

Get-Item -Path C:\Streams\stream.txt -Stream *

Dodatne niti lahko odstranite z ukazom:

Odstrani-element -Pot C:\Streams\streams.txt -Stream *

Uporaba

Nadomestne tokove uporablja sam Windows in nekateri programi. Na primer, Internet Explorer razdeli omrežje na 4 varnostna območja in jim pri nalaganju datotek doda oznake, ki vsebujejo informacije o območju, iz katerega so bile prenesene.

Te oznake so shranjene v alternativnem toku in so številke od 0 do 4:

Internet (3)
Lokalno omrežje (1)
Zaupanja vredna spletna mesta (2)
Nevarna mesta (4)
Lokalni računalnik (0)

Če želite to preveriti, pojdimo v mapo za prenose, vzemimo datoteko, ki ste jo prenesli iz interneta, in jo preverite za alternativne tokove. Kot lahko vidite, vsebuje nit z imenom Zone.Identifier, ki vsebuje vrstico ZoneID=3.

To pomeni, da datoteka spada v nezaupljivo internetno cono in morate biti pri odpiranju previdni. Nekateri programi, kot je Word, preberejo te podatke, ko se datoteka odpre, in izdajo ustrezno opozorilo.

Prav tako infrastruktura File Classification Infrastracture (FCI) temelji na uporabi alternativnih tokov. Od programov tretjih oseb nekateri protivirusni programi uporabljajo alternativne tokove, zlasti Kaspersky Anti-Virus v njih shrani kontrolno vsoto, pridobljeno kot rezultat skeniranja.

Vendar pa uporaba alternativnih tokov ni omejena na to, sami si lahko omislite kakršno koli uporabo zanje. Uporabijo se lahko na primer za skrivanje osebnih podatkov pred radovednimi očmi. Datoteke, ki vsebujejo nadomestne tokove, lahko prosto kopirate ali prenašate z diska na disk, vsi tokovi bodo kopirani skupaj z datoteko.

In vendar, ko uporabljate alternativne tokove, se morate zavedati, da so trdo kodirani v datotečni sistem NTFS. Da bi jih lahko uporabljali, morajo biti datoteke na diskih z NTFS, zato lahko z njimi delate samo iz sistema Windows. Če premaknete datoteko v kateri koli drug datotečni sistem, bodo vsi tokovi razen glavnega izgubljeni. Nadomestni tokovi so okrnjeni tudi pri prenosu datotek prek FTP ali ko so poslani kot e-poštna priloga.

Operacijski sistemi Windows nudijo dve malo znani funkciji za skrivanje podatkov: podatkovne tokove NTFS (znane tudi kot nadomestni podatkovni tokovi) in dostop do seznama virov, ki temelji na dovoljenju za naštevanje (ABE). Nadomestni podatkovni tokovi omogočajo dodajanje skritih informacij v datoteko, kot so informacije o datoteki. Najverjetneje vam ne bo treba uporabljati skritih podatkovnih tokov, vendar lahko napadalci to tehnologijo uporabijo proti vam, zato se morate zavedati tega in kako lahko deluje.

Kar zadeva metodo ABE, lahko dopolni vaš arzenal. Ta metoda vam omogoča, da mape in datoteke v skupni rabi naredite nevidne uporabnikom, ki nimajo dovoljenja za dostop do njih.

Tukaj je tisto, kar morate vedeti o teh orodjih.

Reke, ki hranijo morje podatkov

Nadomestni podatkovni tokovi so značilnost datotečnega sistema NTFS. Nekoč so bili dani sistemu Windows NT 3.1, da bi uporabnikom NT in Macintosh omogočili skupno rabo datotek.

Datoteka NTFS je sestavljena iz podatkovnih tokov. To je standardni podatkovni tok $DATA in po izbiri eden ali več alternativnih podatkovnih tokov. Vsak uporabnik s potrebnimi dovoljenji za delo z datoteko lahko vidi obstoječi podatkovni tok $DATA, ga lahko odpre ter bere in piše podatke v ta tok.

Nadomestni podatkovni tok so dodatne informacije ali datoteke, ki jih lahko uporabnik ali aplikacija priloži datoteki NTFS. Samo uporabnik, ki ga je ustvaril, ve za obstoj alternativnega toka podatkov. Običajno uporabniki ne vedo, ali je datoteki priložen nadomestni tok podatkov; dejstvo je, da niti vsebina tega toka niti njegovo ime nista vidna. Poleg tega ni mogoče videti spremembe velikosti datoteke.

Obstaja veliko načinov za uporabo alternativnih podatkovnih tokov. V sistemu Windows se ti tokovi uporabljajo za shranjevanje povzetkov podatkov za dokumente, ki so jih ustvarile aplikacije, ki niso vključene v Microsoft Office, kot so datoteke z navadnim besedilom (.txt). Podatke povzetka, kot so naslov, zadeva in podatki o avtorju, lahko vnesete na zavihek Povzetek pogovornega okna Lastnosti ustrezne datoteke. Ti podatki povzetka so shranjeni v alternativnem toku podatkov SummaryInformation.

Aplikacije Windows, kot sta šifrirni datotečni sistem (EFS) in Windows Explorer, uporabljajo nadomestne podatkovne tokove za pripenjanje podatkov, povezanih z datotekami, datotekam, shranjenim na pogonih, formatiranih z NTFS. Program EFS uporablja nadomestne podatkovne tokove za pripenjanje informacij o kodiranju in dekodiranju šifriranih datotek, kar omogoča decentralizirano šifriranje in dešifriranje s tem programom.

Microsoft Internet Explorer (IE), implementiran v Windows XP Service Pack 2 (SP2), uporablja nadomestni podatkovni tok Security.Zone za zagotavljanje klasifikacije varnostnega območja za datoteke, shranjene na nosilcu NTFS. Posledično ima IE možnost blokiranja napadov za krepitev uporabnikov, ki se lahko pojavijo, ko uporabnik prenese zlonamerno kodo iz nezaupljivega internetnega območja in to kodo shrani na lokalni trdi disk. IE obravnava lokalno shranjeno vsebino kot varnostno območje lokalnega računalnika, ki zagotavlja več pravic kot internetno varnostno območje. XP SP2 vedno preveri podatkovni tok Security.Zone, preden dovoli naloženi kodi izvesti kakršno koli dejanje v lokalnem sistemu.

Kanal za vbrizgavanje zlonamerne kode

Nadomestni podatkovni tokovi postanejo omembe vredni in nevarni, ker njihova imena in vsebina niso prikazani v oknu programa Windows Explorer. Zato organizatorji različnih vrst napadov menijo, da so takšni tokovi priročno sredstvo za skrivanje podatkov ali zlonamerne kode, ki je vstopila v sistem. Primer uporabe teh tokov je črv VBS.Potok@mm. Hekerji so uporabili nadomestni tok podatkov, da so priložili več skriptov Visual Basic (VB) obstoječi datoteki .ini ODBC.

Ko je črv aktiviran, ustvari račun s skrbniškimi pravicami in se pošlje na naslove, ki jih najde v imeniku Microsoft Outlook.

Druga nevarnost je v dejstvu, da se prostor na disku, dodeljen alternativnim tokovom podatkov, ne pojavi v podatkih o velikosti (datoteke) in prostem prostoru na disku Raziskovalca. Heker lahko uporabi alternativne tokove podatkov, da zapolni prostor na disku datotečnega strežnika, pri čemer se skrbnik praska po glavi, ko poskuša priti težavi do dna. Poleg tega pripomoček ukazne vrstice Dir pri izračunu podatkov o velikosti (datoteke in mape) ne upošteva nadomestnih podatkovnih tokov. Trenutno obstaja samo eno Microsoftovo orodje, ki lahko pri izračunu velikosti upošteva alternativne podatkovne tokove: to je pripomoček Chkdsk.

Dodajanje nove niti

Vsakdo z dostopom za pisanje v datoteko NTFS lahko uporabi običajne ukaze operacijskega sistema za pripenjanje nadomestnega toka podatkov v datoteko. Naslednji ukaz na primer ustvari nadomestni podatkovni tok mystream, doda mystream v datoteko z imenom file.txt in shrani frazo "strogo zaupno" v mystream.

echo top secret > file.txt: mystream

Z ukazom si lahko ogledate vsebino mystream

Kot je navedeno zgoraj, je mogoče izvršljive datoteke dodati alternativnim podatkovnim tokovom. Na primer, v datoteko file.txt je mogoče dodati skrito kopijo programa Windows Calculator (calc.exe). Če želite to narediti, morate samo vnesti ukaz

vnesite calc.exe > file.txt: calc.exe

Če želite zagnati skriti kalkulator, vnesite ukaz

start.file.txt:calc.exe

Sami lahko vidite, da alternativni podatkovni tokovi in ​​njihova vsebina niso prikazani v Microsoftovih orodjih. Odprite Windows Explorer in si v njem oglejte lastnosti datoteke file.txt. Dejanska velikost datoteke je 112 KB (toliko prostora zaseda vgrajeni calc.exe) – vendar bo program prikazal velikost datoteke kot 0 KB: v podatkovnem toku $DATA ni informacij o vdelani datoteki in Raziskovalec Windows ne more prebrati informacij iz alternativnega toka podatkov.

Jasno je, da obstaja veliko groženj, povezanih z alternativnimi podatkovnimi tokovi, zlasti v omrežjih, kjer se izdajanju dovoljenj za dostop do virov NTFS ne posveča ustrezne pozornosti in ni strogega nadzora dostopa do strežnikov Windows. Obstaja preprost varnostni mehanizem, ki lahko hekerjem prepreči poskuse uporabe alternativnih podatkovnih tokov - sistem za nadzor dostopa NTFS. Če napadalci nimajo dovoljenja za pisanje podatkov v datoteko, ne bodo mogli ustvariti nadomestnih podatkovnih tokov in jih priložiti tej datoteki.

Zaznavanje sprememb

Če imate občutek, da je hekerjem uspelo zaobiti oviro vzpostavljenih dovoljenj, uporabite enega izmed doslej razvitih orodij za zaznavanje vsebine alternativnih podatkovnih tokov. Programi za celovitost sistema, kot sta Tripwire Enterprise in Tripwire for Servers, lahko zaznajo kakršne koli spremembe datotečnega sistema NTFS, ki so se zgodile v sistemu Windows, vključno z dodatki ali spremembami vsebine toka podatkov.

Program Streams podjetja Sysinternal je brezplačen pripomoček ukazne vrstice, ki določa imena nadomestnih podatkovnih tokov, priloženih datotekam. Slika 1 prikazuje, kako uporabiti pripomoček Streams za ogled imena podatkovnega toka calc.exe, ki smo ga predhodno dodali datoteki file.txt. Ta pripomoček lahko prenesete s spletnega mesta http://www.sysinternals.com/utilities/streams.html.

Drug preprost način za odkrivanje nadomestnega podatkovnega toka je uporaba programa Windows Explorer za kopiranje sumljive datoteke na pogon z datotečnim sistemom, ki ni NTFS (recimo pogon FAT). Drugi datotečni sistemi niso opremljeni z zmogljivostmi za delo z alternativnimi podatkovnimi tokovi. Če torej poskušate kopirati datoteko NTFS z nadomestnimi podatkovnimi tokovi, ki so priloženi drugemu datotečnemu sistemu, bo NTFS izdal opozorilo, podobno sliki 2. Vendar se zavedajte, da če kopirate datoteko iz okna ukaznega poziva z ukazom Kopiraj, Windows ga bo kopiral v datotečni sistem, ki ni NTFS, in izbrisal tok podatkov brez opozorila.

Skrivanje virov v skupni rabi z ABE

ABE je izbirna funkcija sloja za skupno rabo datotek, ki jo je Microsoft prvič implementiral v Windows Server 2003 SP1. Uporablja se lahko v katerem koli skupnem imeniku sistema Windows, ne glede na to, v katerem datotečnem sistemu so shranjeni podatki v skupni rabi. ABE skrbnikom omogoča, da skrijejo mape in datoteke, shranjene v virih v skupni rabi, pred tistimi uporabniki, ki nimajo ustreznih dovoljenj za dostop do njih na ravni NTFS. Z drugimi besedami, govorimo o varnosti na ravni mape.

V primerih, ko ABE ni uporabljen, uporabniki, ki se povezujejo z imenikom v skupni rabi, vidijo vse datoteke in mape v skupni rabi, vključno s tistimi, za katere nimajo dovoljenja za branje, in tistimi, do katerih jim je dostop blokiran. Ko uporabnik poskuša odpreti datoteko ali mapo, do katere nima dovoljenja za dostop, sistem prikaže sporočilo o napaki, ki pojasnjuje, da je dostop zavrnjen. Ta sporočila o napakah so lahko za uporabnike zmedena, zato lahko aktiviranje orodij ABE zmanjša obremenitev službe za pomoč uporabnikom.

Vendar ima uporaba ABE svoje slabosti. Pred vrnitvijo seznama objektov v mapi odjemalcu, ki se povezuje s skupno rabo, mora strežnik preveriti vse sezname za nadzor dostopa na teh objektih, da lahko določi, katere podatke naj vrne. Posledično lahko pride do znatnega zmanjšanja zmogljivosti sistema, zlasti pri dostopu do skupnih virov, ki vsebujejo veliko objektov.

Orodja ABE je koristno uporabljati na primer za nastavitev javnih virov v domačih imenikih uporabnikov. Namesto da ustvarite skrito skupno rabo za domači imenik vsakega uporabnika, lahko ustvarite eno skupno rabo, ki vsebuje domače imenike vseh uporabnikov v mapi korenskega domačega imenika. Uporabniki se bodo povezali s tem korenskim imenikom, vi pa lahko uporabite dovoljenja ABE in NTFS za nadzor vidnosti domačih imenikov vseh uporabnikov.

Aktiviranje funkcije ABE

Ta funkcija uporablja novo zastavico ravni skupne rabe SHI1005_FLAGS_ENFORCE_NAMESPACE_ACCESS; od tega pisanja je implementiran samo v Windows 2003 SP1 in Release 2 (R2). Ta zastavica pomeni, da uporabljate funkcijo ABE za eno od map.

Za nastavitev zastavice lahko uporabite razširitve lastnosti mape Windows Explorer ali orodje ukazne vrstice abecmd.exe. Microsoft distribuira razširitev ABE Explorer in abecmd.exe v namestitvenem paketu ABE, ki je dodatek za platformo Windows Server 2003 SP1. Namestitveni paket lahko prenesete z Microsoftovega mesta na http://www.microsoft.com/downloads/details.aspx?FamilyId=04A563D 9-78D9-4342-A485-B030AC442084. Ker je ABE strežniška razširitev, jo je mogoče uporabljati ne glede na to, katera različica sistema Windows je nameščena na odjemalcu.

Ko je ABE nameščen na strežniku, lahko nastavite to zastavico za določeno mapo. Z desno miškino tipko kliknite mapo, izberite Lastnosti, pojdite na zavihek Enumeration na podlagi dostopa in nastavite zastavico Omogoči enumeracijo na podlagi dostopa v tej mapi v skupni rabi, kot je prikazano na sliki 3. Če želite uporabiti funkcijo ABE za vse vire v skupni rabi v sistemu, , nastavite zastavico Uporabi nastavitev te mape za vse obstoječe mape v skupni rabi v tem računalniku.

Drugi način je uporaba orodja ukazne vrstice abecmd.exe. Če želite uporabiti funkcijo ABE za skupno rabo shareddocs, vnesite naslednji ukaz:

abecmd /omogoči deljene dokumente

Uporabite lahko možnost /all, da omogočite ABE na vseh razpoložljivih virih, in uporabite možnost /disable, da onemogočite ABE.

Nadzor dostopa

ABE je preprosto orodje, ki vam omogoča, da uporabnikom omejite pravice do dostopa le do tistih datotek, ki jih potrebujejo za delo. Uporabniki lahko z lahkoto najdejo datoteke, ki jih potrebujejo, saj se jim ni treba pomikati po nepomembnih mapah in ne nadlegujejo službe za pomoč uporabnikom z vprašanji, zakaj se datoteke, za katere nimajo dovoljenj, nočejo odpreti.

Za zaščito pred hekerji, ki uporabljajo nadomestne tokove podatkov, morajo skrbniki spremljati svoje nastavitve nadzora skupne rabe in uporabiti enega od pripomočkov, ki sem jih opisal, da odkrijejo skrite nadomestne tokove podatkov in tudi spremembe v sistemu NTFS.

Jean De Klerk(declercq @hp .com ) je član urada za varnost Hewlett-Packard. Odgovoren za upravljanje identitete in varnosti Microsoftovih izdelkov. Avtor knjige Windows Server 2003 Security Infrastructures (Digital Press).

    Večina uporabnikov sodobnih operacijskih sistemov družine Windows se je srečala s situacijo, ko se datoteka pomoči v formatu CHM (Compiled Help Module) odpre le delno - lahko si ogledate samo kazalo brez vsebine njegovih elementov:

Poleg tega, če poskusite odpreti datoteko CHM v omrežni skupni rabi z uporabo poti UNC (Universal Naming Convention), kot je \\server\h\help.chm, njeni razdelki niso prikazani. Z drugimi besedami, datoteke .chm si lahko normalno ogledate le, če niso bile prejete prek omrežja.

Podoben vzorec se pojavi, ko poskušate odpreti izvršljivo datoteko, ki je bila prenesena s spleta. Videli boste varnostno opozorilo:

Še več, isto datoteko, ekstrahirano iz arhiva, ki je bil tudi prenesen z interneta, je mogoče brez težav odpreti na tem računalniku. Pravzaprav je edina razlika ta, da je bila datoteka, ki se odpira, ustvarjena lokalno med postopkom razpakiranja in ne prenesena prek omrežja. Z drugimi besedami, Windows lahko določi omrežni izvor datoteke in se nanjo odzove z določenimi varnostnimi nastavitvami.

Mehanizem za določanje omrežnega izvora datotek.

V datotečnem sistemu NTFS je vsaka datoteka (ali imenik) predstavljena kot niz posameznih elementov, imenovanih lastnosti. Elementi, kot so ime datoteke, varnostne nastavitve in celo podatki, so vsi atributi datoteke. Vsak atribut je identificiran s kodo vrste atributa in po izbiri z imenom atributa. Tako je na primer ime datoteke vsebovano v atributu Ime datoteke, vsebina je v atributu PODATKI, podatki o lastniku in pravicah dostopa - v atributu Varnostni deskriptor itd. Vsebina vsake datoteke (atribut $DATA) je zbirka tokovi, v kateri so shranjeni podatki. Za vsako datoteko ali imenik v NTFS obstaja vsaj en glavni tok, v katerem so podatki dejansko shranjeni. Vendar pa je poleg glavnega toka lahko povezana tudi datoteka ali imenik alternativa (A nadomestni D ata S tream - ADS), ki lahko vsebuje tudi nekatere podatke, ki niso v nobeni povezavi s podatki glavnega toka. Glavni tok datoteke nima imena in je označen kot $DATA:"". Nadomestni tokovi morajo imeti ime, na primer - $DATA:"StreamData"- imenovan nadomestni tok tok podatkov

Pri izvajanju funkcij zapisovanja podatkov v datoteko se le-ti postavijo v glavni podatkovni tok. Ko z beležko odpremo na primer besedilno datoteko, dobimo dostop do podatkov glavnega toka. Podatki o alternativnih tokovih pri standardnem dostopu niso prikazani, ni pa niti znaka njihove prisotnosti. Vendar pa lahko do nadomestnih tokovnih podatkov, povezanih z določeno datoteko ali imenikom, dostopate s posebnimi programi ali z uporabo posebne sintakse v ukazni vrstici Windows.

Na primer pisanje besedila v datoteko test.txt z ukazom odmev:

echo Glavni podatki > test.txt- napišite besedilo "Main stream Data" v datoteko test.txt, kar pomeni pisanje v glavni neimenovani tok.

Lahko pa spremenite ukaz:

echo Nadomestni tok Podatki > test.txt:tok1- napišite besedilo "Podatki o nadomestnem toku" v imenovani nadomestni tok tok1 mapa test.txt

Zdaj lahko odprete, na primer, beležnico, vsakega od tokov:

beležka test.txt- vsebina glavnega toka se odpre z besedilom "Main stream Data"

beležka test.txt:tok1- vsebina alternativnega toka se odpre z besedilom ”Podatki alternativnega toka”

Nadomestni tokovi, ki so nevidni standardnim orodjem za delo z objekti datotečnega sistema, se kljub temu zelo pogosto uporabljajo za shranjevanje dodatnih informacij o datotekah in drugih servisnih informacijah. Tako na primer pri prenosu datotek iz interneta brskalniki dodajo alternativni tok z imenom Zone.Identifier, ki ga lahko odprete z beležnico, kot v zgornjem primeru

beležka %USERPROFILE%\Downloads\ChromeSetup.exe:Zone.Identifier- v beležnici odprite alternativni tok z imenom Zone.Identifier ChromeSetup.exe Pot do datoteke lahko izpustite, potem ko izvedete ukaz za prehod v imenik prenesenih datotek trenutnega uporabnika (s standardno lokacijo map uporabnika storitve):

cd %USERPROFILE%\Prenosi- pojdite v imenik za prenos.

notepad ChromeSetup.exe:Zone.Identifier- odprite alternativni tok z imenom Zone.Identifier za namestitveno datoteko brskalnika Google Chrome z imenom ChromeSetup.exe v trenutnem imeniku.

Kot lahko vidite, vsebina alternativnega toka vsebuje vrstice:

- znak razdelka z opisom območja prenosa podatkov
ZoneId=3- identifikator območja.

Te informacije omogočajo določitev izvora datoteke po identifikacijski številki. ZoneId:

0 - lokalni računalnik (lokalno).
1 - lokalno lokalno omrežje (Intranet)
2 - zaupanja vredna spletna mesta (Trusted Sites)
3 - internet (internet)
4 - nevarna mesta (omejena mesta)

Ta definicija območij na primer ustreza varnostnim nastavitvam Internet Explorerja:

V tem primeru lahko ugotovite, da datoteka ChromeSetup.exe je bilo pridobljeno iz interneta (zone ID = 3). Ko se taka datoteka zažene, bo izdano varnostno opozorilo o nezaupljivem viru. Varnostne funkcije aplikacij Microsoft Office delujejo na podoben način, ko opozarjajo na nevarnost odpiranja datotek, ki so bile prenesene iz interneta. Iz istega razloga se vsebina datotek pomoči v formatu CHM ne odpre - vsebina alternativnega toka vam omogoča, da jih razvrstite kot nevarne, ne glede na resnično ali neobstoječo nevarnost.

Poskusite spremeniti isto beležko, vrednost ZoneId na 0 , ki se bo ujemal z lokalnim izvorom datoteke, varnostno opozorilo pa bo izginilo, prav tako težave pri odpiranju pisarniških dokumentov ali tem pomoči v datotekah .chm.

Podobno se bodo varnostni sistemi obnašali v tistih primerih, če izbrišete vsebino alternativnega toka (ga naredite praznega) ali celo izbrišete sam alternativni tok.

Z operacijskim sistemom Windows 7 lahko uporabite ukaz za pridobitev seznama nadomestnih tokov datotek DIR s parametrom /R:

dir /r %UserpRofile%\Prenosi- prikaz seznama datotek in alternativnih tokov v imeniku Prenosi Trenutni uporabnik.

Za delo z alternativnimi tokovi v kateri koli različici operacijskega sistema Windows lahko uporabite pripomoček streams.exe iz programskega paketa Microsoft Sysinternals Suite. Paket vsebuje veliko majhnih programov za diagnostiko, optimizacijo in administracijo, vključno s pripomočkom, ki vam omogoča, da nadomestite pomanjkljivosti pri delu z alternativnimi tokovi.

Oblika ukazne vrstice:

streams.exe [-s] [-d] datoteka ali imenik

Možnosti ukazne vrstice:

-s- obdelava podimenikov.
-d- odstranite nadomestne tokove.
-nobanner- ne prikazujte začetne pasice in informacij o avtorskih pravicah.

Primeri uporabe:

streams.exe /?- prikaz pomoči pri uporabi programa.

streamsmyfile.txt- prikaz informacij o tokovih datotek moja datoteka.txt

tokovi -d moja datoteka.txt- odstranite nadomestne tokove datotek moja datoteka.txt

tokovi -d -s D:\Prenosi\*.*- brisanje nadomestnih tokov vseh datotek in podimenikov v imeniku D:\Prenosi\

V operacijskih sistemih Windows 8 in novejših vam lupina PowerShell omogoča tudi delo z nadomestnimi nitmi:

Get-Item -Path -Path C:\FirefoxSetup.exe -Stream *- prikaz informacij o nitih datoteke C:\FirefoxSetup.exe.

Get-Content -Path C:\FirefoxSetup.exe -Stream Zone.Identifier- prikaz vsebine alternativnega toka Zone.Identifier mapa C:\FirefoxSetup.exe

Remove-Item -Path C:\FirefoxSetup.exe -Stream *- odstranite vse nadomestne tokove, povezane z datoteko C:\FirefoxSetup.exe

Remove-Item -Path C:\FirefoxSetup.exe -Stream Zone.Identifier- odstranite nadomestni tok Identifikator območja toka povezana z datoteko C:\FirefoxSetup.exe.

Podatki o varnostnih območjih se pogosto uporabljajo v pravilnikih skupin, zlasti pa v upravitelju prilog Windows, ki deluje kot zaščita pred zlonamerno programsko opremo, ki je lahko v e-poštnih prilogah ali datotekah, prenesenih z interneta. Na Microsoftovem spletnem mestu je podroben članek o tem, kako konfigurirati upravitelja prilog in odpraviti težave, povezane z njim:
Opisuje, kako deluje Attachment Manager, ki je vključen v Microsoft Windows.

Na koncu bom dodal, da so alternativni tokovi lastnost datotečnega sistema NTFS in na primer v FAT32 niso podprti. Skladno s tem se pri kopiranju datotek iz NTFS v kateri koli drug datotečni sistem alternativni tokovi zavržejo.