Cum să restabiliți un fișier izolat. Restaurarea fișierelor după ștergerea lor cu Nod32

Cum să izolați procesele suspecte în Windows și să nu spargeți sistemul de operare în sine? Cum să creați un sandbox software robust și compatibil cu Windows fără virtualizare hardware și cârlige de kernel, dar folosind mecanismele de securitate încorporate documentate ale sistemului de operare? Vom vorbi despre cele mai frecvente probleme cu care se confruntă dezvoltatorii (și în cele din urmă consumatorii) de sandbox-uri software. Și bineînțeles, vom oferi propria noastră soluție :).

Introducere sau cât de rău este să trăiești fără un sandbox

Printre profesioniști există mai multe axiome despre care nu le place să vorbească. Și cum rămâne cu axiomele? Ei sunt și sunt. Tuturor li se pare că este clar, ca doi și doi. De exemplu, unul dintre ele - antivirusurile bazate pe semnături nu protejează. Ei bine, adică ei nu protejează, și atât. S-au spus și repovestite multe lucruri despre asta de multe ori. Cu exemple, prezentări frumoase, dansuri și dansuri. Și epidemiile de tot felul de lucruri urâte, cum ar fi Ransomware, sunt una dintre dovezile ineficienței tehnologiilor de semnătură și euristice. Tot felul de criptori și obfuscatori rezolvă cu succes problema protejării malware-ului deja cunoscut împotriva detectării, iar de ceva timp acest malware nu a fost detectat de antivirusuri. Acest timp este suficient pentru ca cineva să se simtă rău, iar cineva bun.

Adică, nici măcar nu este vorba de 0day: poți lua vechiul malware bine-cunoscut, îl poți transforma, elimina semnăturile comportamentale (lucrează câteva zile pentru o persoană leneșă) și îl poți folosi din nou, apoi din nou, și din nou, până te plictisești sau până te bagă în închisoare. În același timp, oamenii care au vândut cura pentru ca acest lucru cel mai „rău” să nu vină niciodată, par să nu aibă nicio legătură cu asta; ei publică un fel de buletin cu fețe serioase și vorbesc despre igienă pe internet, uitând să spună că dacă tocmai această igienă este respectată în totalitate, atunci antivirusurile, în special cele plătite, practic nu sunt necesare.

Sandbox-uri și caracteristicile implementării lor

Deci, antivirusurile nu salvează și, uneori, sparg ceea ce este deja acolo. „Să abordăm protecția din cealaltă parte și să izolăm procesele unul de celălalt”, a spus cineva infinit de inteligent. Într-adevăr, este grozav când procesele suspecte rulează într-un fel de mediu izolat numit sandbox. Programele malware care rulează în sandbox nu pot să-și părăsească limitele și să dăuneze întregului sistem. Aceasta ar putea fi o soluție, totuși există nuanțe în implementările existente în sandbox...
În continuare, vom discuta doar despre toate complexitățile construcției sandbox-urilor, a căror cunoaștere va fi cu siguranță utilă atunci când trebuie să alegeți un instrument de izolare a proceselor sau HIPS (Host-based Intrusion Prevention System - sistem de prevenire a intruziunilor pentru stațiile de lucru).

Nuanța numărul 1 sau un sandbox pentru toți

Majoritatea sandbox-urilor nu oferă de fapt izolarea procesului. De fapt, în majoritatea implementărilor, sistemul protejat este împărțit în două părți - de încredere și neîncrezător. Procesele normale rulează în partea de încredere, procesele izolate rulează în partea neîncrezătoare. Adică, toate procesele izolate rulează în același sandbox, au acces unul la celălalt și la resursele celuilalt, folosesc același registry și același sistem de fișiere.

Astfel, malware-ul poate lua un loc în sandbox-ul propriu-zis și poate începe episodic cu una dintre aplicațiile izolate (sau cu mai multe aplicații izolate, sau cu oricare dintre ele). În același timp, sandbox-urile nu înregistrează adesea acțiunile proceselor izolate. Acțiunile pe care HIPS le înjură în sandbox-uri sunt destul de acceptabile fără nici cea mai mică reacție, ajustate pentru izolare, ceea ce nu este foarte bine.

Cum se verifică dacă izolarea este dispusă în acest fel? Foarte simplu! Rulați două aplicații într-un sandbox. De exemplu, notepad.exe și wordpad.exe. Creați un fișier text 1.txt cu notepad.exe.

Desigur, acest fișier nu va fi salvat pe desktop, ci într-un director „virtual”. Încercați să-l deschideți cu Wordpad (Fig. 3).



Deci, un fișier creat de o aplicație sandbox poate fi deschis folosind o altă aplicație sandbox. Să recunoaștem, izolarea nu este foarte bună. Dar poate cel puțin va exista un fel de protecție față de înregistrare? Schimbăm conținutul (Fig. 4).


Și economisim. Și acum să încercăm să deschidem fișierul 1.txt folosind notepad.exe. Desigur, să rulăm notepad.exe în sandbox (Fig. 5).


Și iată despre ce am vorbit. Două aplicații izolate nu sunt izolate una de cealaltă. Se pare că o astfel de izolare nu a fost clar de ce. Chiar și un ransomware fără acces la folderele locale de pe computer poate cripta totul în directorul virtualizat și, dacă aveți noroc, atunci pe resursele de rețea, deoarece setările sandbox sunt aceleași pentru toate aplicațiile izolate.

Nuanța numărul 2, sau subizolare

Da, procesele sandbox nu pot ajunge la partea de încredere a sistemului... dar în majoritatea implementărilor este doar scris. Adică, pot citi de oriunde, practic fără restricții și au adesea acces la rețea. Acest lucru se face, aparent, pentru o mai mare compatibilitate, dar aceasta nu poate fi numită izolare.
Încercați un experiment simplu cu nisip la alegere. Creați un director pe hard disk. Să spunem asta: E:\Photos . Puneți în el, de exemplu, o fotografie (Fig. 6).


Rulați Internet Explorer într-un sandbox și încercați să trimiteți imaginea dată către, de exemplu, rghost.



Deci cum este? S-a întâmplat? Dacă experiența este de succes, atunci nu este foarte bună. Și mai rău, dacă sandbox-ul nu are capacitatea de a specifica directoare la care aplicațiile din sandbox nu vor avea acces. Și nu este deloc bine dacă aplicațiile izolate pot citi date din directoarele utilizatorului actual.

Virtualizarea sistemului de fișiere și a registrului în majoritatea implementărilor este construită pe principiul „copiere la cerere”. Adică, dacă fișierul trebuie citit pur și simplu, atunci este citit din directorul sursă dacă nu există niciun analog în directorul virtual. Dacă același fișier este prezent în directorul virtual, atunci aplicația izolată va funcționa cu el. Același lucru se poate spune despre registrul virtual. Ei bine, este clar că atunci când încercați să scrieți un fișier pe o cale reală, acesta va fi scris în sistemul de fișiere virtual. Aproape intotdeauna.

Astfel, dacă malware-ul este „izolat” într-un astfel de sandbox, atunci va putea avea acces deplin la toate celelalte procese „izolate”, la aproape toate datele din sistem pentru citire și la virtualizate (stocate de aplicații izolate) date (care sunt adesea comune tuturor aplicațiilor izolate) pentru înregistrare.

Nuanța numărul 3, sau „hai să facem o altă bicicletă, e atât de interesant”

Este disponibil în continuare numai pentru membri

Opțiunea 1. Alăturați-vă comunității „site” pentru a citi toate materialele de pe site

Calitatea de membru al comunității în perioada specificată vă va oferi acces la TOATE materialele Hacker, vă va crește reducerea cumulativă personală și vă va permite să acumulați un rating profesional Xakep Score!

Așa că încerc să blochez un fișier de stocare izolat în aplicația mea client, astfel încât mai multe instanțe ale aplicației mele să nu-l poată accesa în același timp. Folosesc următoarea sintaxă:

LockStream = nou IsolatedStorageFileStream("my.lck", FileMode.OpenOrCreate, isoStore); lockStream.Lock(0, 0);

Acest cod face ca aplicația mea să arunce o NullReferenceException din metoda FileStream.Lock a structurii. Am încercat să folosesc o valoare diferită de zero pentru lungime. Am încercat să scriu un octet într-un fișier și apoi am blocat doar acel octet. Indiferent ce fac, aceeași NullReferenceException mă bântuie. Știe cineva dacă acest lucru este posibil cu stocarea izolată?

De asemenea, mă uit la această tehnică într-o aplicație Silverlight, Silverlight acceptă blocarea fișierelor? Documentele MSDN par să indice că nu, dar am văzut această postare de la MVP care spune că da.

Actualizare: Microsoft a remediat o eroare pe care am trimis-o la Connect, dar nu a fost lansată în versiunea 4 a cadrului. Ar trebui să fie disponibil, sperăm, în următorul SP sau versiunea completă.

4

2 raspunsuri

Aceasta arată ca o eroare în Framework. Poate mă înșel, pentru că este într-adevăr prea mare pentru a fi adevărat.

Privind codul sursă .NET 3.5 SP1 cu Reflector, puteți găsi că IsolStorageFileStream apelează constructorul de bază fără dimensiuni (FileStream()), care are ca rezultat o clasă de bază inițializată nevalid. IsolatedStorageFileStream instanțiază un FileStream și îl folosește în toate metodele pe care le înlocuiește (Write, Read, Flush, Seek etc.). Este ciudat că nu își folosește clasa de bază direct.

Dar blocarea și deblocarea nu sunt suprascrise și necesită un câmp privat (_handle) care este încă nul (deoarece constructorul folosit este fără parametri). Ei presupun că nu este nul și îl joacă și sună NRE.

Pentru a rezuma, blocarea și deblocarea nu sunt acceptate (sau nu funcționează).

Cred că ești forțat să folosești alte metode de blocare precum Mutex sau Semaphore.

Cum îmi recuperez fișierele șterse de antivirusul Eset NOD32” este o cerere care poate fi văzută des pe internet. Cu toate acestea, nu există atât de multe soluții posibile la această problemă, ceea ce creează adesea senzația că nu există modalități de a returna documentele pierdute.

În primul rând, trebuie să înțelegeți că antivirusul nu va bloca sau șterge niciodată un fișier care într-un fel sau altul nu afectează funcționarea sistemului de operare sau a altor programe instalate.

În consecință, dacă documentul dvs. a fost șters, puteți suspecta în siguranță răutatea acestuia. Cu toate acestea, există și fișiere care pur și simplu modifică programul, interferând cu procesele acestuia, dar nu reprezintă o amenințare în sine.

Există modalități de a recupera un fișier șters de un antivirus? Cu siguranta exista! În acest articol, vom analiza ce este aplicația Eset NOD32, caracteristicile de lucru cu ea și o modalitate eficientă de a recupera fișierele șterse de antivirus.

Ce este Eset NOD32?

Nu este un secret pentru nimeni în lumea modernă cât de importante și, cel mai important, sunt aplicațiile antivirus relevante. Acestea permit nu numai eliminarea marii majorități a fișierelor rău intenționate, dar ajută și la prevenirea unei posibile amenințări chiar înainte de a se manifesta, dăunând sistemului într-un fel sau altul.

Antivirus Eset NOD32, denumită cel mai frecvent NOD32, este o suită întreagă de software antivirus creat de compania slovacă Eset în 1987.

Există două ediții ale programului:

  • versiunea acasă.
  • Versiunea business.

Principala diferență dintre versiunea business și versiunea acasă este posibilitatea de management de la distanță și disponibilitatea protecției multiplatforme. Nu mai puțin plăcută este caracteristica care vă permite să personalizați ușor și flexibil programul pentru orice nevoie.

Eset NOD32. Cum se activează sau se dezactivează antivirusul?

Se întâmplă adesea ca atunci când instalăm un anumit program, ni se cere să dezactivăm antivirusul, deoarece altfel va „mânca” un fișier important fără de care aplicația pur și simplu nu poate porni.

Un alt motiv comun pentru a căuta răspunsuri la întrebarea de activare/dezactivare a antivirusului este scopul de a reduce consumul de resurse al „apărătorului”. Aici afectează particularitatea activității antivirusurilor - de obicei ocupă o cantitate destul de mare de memorie chiar și atunci când sunt într-o stare pasivă, iar când porniți alte programe „grele”, uneori trebuie să întrerupeți protecția.

Deci, cum finalizați sarcina de a activa sau dezactiva NOD32? Să ne uităm la această problemă în instrucțiunile de mai jos.

1. Lansați aplicația Eset NOD32și du-te la Setări.

2. În fereastra care se deschide, veți găsi toate pachetele de servicii NOD32 instalate. Vizitați-le pe fiecare și activați/dezactivați opțiunile în funcție de nevoile dvs.

Eset NOD32. Carantină antivirus și excluderi.

Carantină- un depozit care este neapărat prezent în orice antivirus, indiferent de producător și versiunea acestuia (acasă sau afacere). Stochează toate fișierele suspecte care, conform antivirusului, într-un fel sau altul vă pot dăuna sistemului de operare.

Este de remarcat faptul că niciun document, chiar dacă este un troian, nu este șters instantaneu. În primul rând, amenințarea emanată de acesta este neutralizată: fișierul este pus în carantină și antivirusul așteaptă cu răbdare decizia responsabilă a utilizatorului cu privire la acțiunile ulterioare - puteți fie să ștergeți documentul infectat, fie să îl marcați ca excepție, pe care îl vom analiza puțin. mai tarziu.

Cum să găsiți carantina antivirus Eset NOD32? Foarte simplu! Să aruncăm o privire la instrucțiunile de mai jos.

1. Alerga Eset NOD32și mergi la secțiune Serviciu.

2. Deschide o filă Fonduri suplimentare. Este situat în colțul din dreapta jos.

3. Avem o listă completă de servicii suplimentare furnizate de Eset ca parte a antivirusului său. deschis Carantină.

4. În meniul care se deschide, NOD32 vă oferă drepturi complete pentru a gestiona toate fișierele izolate.

Noi am gasit carantinăși l-a găsit functii principale:

  • Izolați fișierul. Această opțiune vă permite să găsiți manual un fișier rău intenționat și să îl blocați dacă antivirusul nu poate face față singur.
  • Restabili. O opțiune care vă permite să restaurați un fișier blocat accidental.

Simpla restaurare a unui document izolat nu evită întotdeauna blocările ulterioare. Poate fi schimbat asta? Sa luam in considerare.

1. fără a părăsi fereastra Carantină, faceți clic dreapta pe fișierul pe care doriți să-l deblocați.

2. Alege o opțiune Restaurați și excludeți de la scanare.

3. Dacă sunteți încrezător în acțiunile dvs., faceți clic da. Dacă nu știți dacă fișierul este periculos sau inofensiv, vă recomandăm să faceți clic Nu.

Fișierele șterse Eset NOD32. Cum să recuperezi?

Antivirus este singura barieră care reține un număr incredibil de mare de posibile amenințări care pot pătrunde în computerele noastre prin Internet. Este destul de firesc că blochează absolut toate fișierele cu un mecanism similar de funcționare; astfel de documente care într-un fel sau altul interferează cu procesele sistemului sau software.

Din păcate, antivirusurile nu sunt capabile să diferențieze fișierele, deoarece orice fișier rău intenționat se poate deghiza cu ușurință într-un proces Windows și poate distruge treptat computerul din interior.

În consecință, programul încearcă în toate modurile posibile să protejeze PC-ul, blocând tot ceea ce, în opinia sa, reprezintă o anumită amenințare. În majoritatea cazurilor, documentele blocate pot fi restaurate cu ușurință pur și simplu făcând o excepție, dar ocazional sunt șterse complet dacă antivirusul consideră fișierul extrem de periculos.

Recuperarea partiției Starus va fi un bun ajutor în munca de zi cu zi cu sistemul de fișiere. Aplicația vă va scuti de orice îngrijorare cu privire la documentele personale pe termen lung și vă va ajuta să recuperați un fișier de orice format, indiferent de modul în care l-ați pierdut.

Puteți evalua toate șansele de a „returna ceea ce este pierdut” înainte de a înregistra instrumentul Starus Partition Recovery. Descărcați programul pentru recuperarea documentelor personale șterse de antivirus și încercați-l gratuit. Toate caracteristicile sunt disponibile în versiunea de încercare, inclusiv previzualizarea fișierelor recuperate. Fereastra de previzualizare vă va oferi posibilitatea de a vă asigura că un anumit fișier nu este deteriorat sau suprascris și că este complet recuperabil.

Sperăm că articolul v-a fost util și a ajutat la rezolvarea întrebărilor puse.

4

Așa că încerc să blochez un fișier de stocare izolat în aplicația mea client C#, astfel încât mai multe instanțe ale aplicației mele să nu-l poată accesa în același timp. Folosesc următoarea sintaxă:

LockStream = nou IsolatedStorageFileStream("my.lck", FileMode.OpenOrCreate, isoStore); lockStream.Lock(0, 0);

Acest cod face ca aplicația mea să arunce o NullReferenceException în cadrul metodei FileStream.Lock a cadrului. Am încercat să folosesc o valoare diferită de zero pentru lungime. Am încercat să scriu un octet într-un fișier și apoi am blocat doar acel octet. Indiferent ce fac, aceeași NullReferenceException mă bântuie. Știe cineva dacă acest lucru este posibil cu stocarea izolată?

De asemenea, mă uit la această tehnică într-o aplicație Silverlight, Silverlight acceptă blocarea fișierelor? Documentele MSDN par să indice că nu este, dar am văzut această postare de la C# MVP care spune că este.

Actualizare: Microsoft a remediat o eroare pe care am trimis-o pe Connect, dar nu a fost lansată în versiunea 4 a cadrului. Ar trebui să fie disponibil, sperăm, în următorul SP sau versiunea completă.

0

Am reușit să rezolv această eroare folosind reflectarea pentru a apela metoda de blocare în câmpul IsolatedStorageFileStream al „m_fs” privat astfel: lockStream = new IsolatedStorageFileStream("q.lck", FileMode.OpenOrCreate, isoStore); FileStream m_fs = typeof (IsolatedStorageFileStream) .InvokeMember(("m_fs"), BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Instance, null, lockStream, null) ca FileStream; m_fs.Lock(0, long.MaxValue); - bsiegel Mar 05 10 2010-03-05 15:57:55

  • 2 raspunsuri
  • Triere:

    Activitate

4

Aceasta arată ca o eroare în Framework. Poate mă înșel, pentru că este într-adevăr prea mare pentru a fi adevărat.

Privind codul sursă .NET 3.5 SP1 cu un reflector, descoperiți că IsolStorageFileStream apelează constructorul de bază fără dimensiuni (FileStream()), rezultând o clasă de bază neinițializată. IsolatedStorageFileStream instanțiază un FileStream și îl folosește în toate metodele pe care le înlocuiește (Write, Read, Flush, Seek etc.). Este ciudat că nu își folosește clasa de bază direct.

Dar blocarea și deblocarea nu sunt suprascrise și au nevoie de un câmp privat (_handle) care este încă nul (deoarece constructorul folosit este fără parametri). Ei presupun că nu este nul și îl joacă și sună NRE.

Pentru a rezuma, blocarea și deblocarea nu sunt acceptate (sau nu funcționează).