Come il software AV fa in modo che i file in quarantena non vengano mai eseguiti? [duplicare]

17

Questa domanda Super User mi ha fatto chiedere, è davvero una buona idea tenere i file in quarantena, quando non si Non so cosa siano ancora? Per quello che so ci sono più o meno 2 passaggi che devono essere eseguiti per "perdere il controllo" del tuo sistema. Prima deve esserci un codice maligno da iniettare nel sistema e quindi deve esserci un modo per eseguirlo. Quindi quali sono le misure adottate dal software AV per "in quarantena" - file per evitare questo? Presumo, il caso in cui l'utente sta solo eseguendo il file non è il problema. Cioè come fare in modo che un bug non stia causando un certo overflow con conseguente esecuzione del codice?

In altre parole: che cosa fa il software AV per impedire l'esecuzione di file in quarantena, e posso contare sul fatto che non si possa essere comunque eseguiti?

NOTA: non sto chiedendo in che modo gli AV realizzeranno la funzione di quarantena. Il nocciolo del post è: "Quali sono i modi in cui le funzionalità di quarantena si stanno proteggendo / i file in quarantena da essere ingannati / decodificati / qualsiasi cosa e vengono comunque eseguiti e quanto è probabile che ciò possa accadere?"

    
posta Zaibis 04.07.2016 - 13:51
fonte

4 risposte

17

Esistono due modi in cui un programma antivirus potrebbe impedire l'esecuzione di un file in quarantena:

  • Tieni aperto per l'accesso esclusivo. Può semplicemente utilizzare la normale CreateFile API e passare zero per dwShareMode , impedendo tutti gli altri tipi di accesso al file. Se un eseguibile non può essere letto, non può essere eseguito. Poiché i programmi antivirus di solito sono una delle prime cose da avviare, possono riaprire tutti questi file quando il sistema si riavvia.
  • Utilizzare i criteri di restrizione software . Quando il programma antivirus è installato, potrebbe creare un SRP che blocca l'esecuzione dei programmi nella directory di quarantena.
  • Aggancia una funzione fondamentale per la creazione di un processo. L'avvio del processo implica sempre NtCreateSection , quindi il driver in modalità kernel del programma antivirus potrebbe aggancia quello e determina se il file in questione è un eseguibile e controlla se è richiesto PAGE_EXECUTE .

Di questi, solo il primo è utile per i non programmi (ad esempio documenti che possono contenere exploit). Per tenere d'occhio tutti i carichi di file, il programma antivirus potrebbe agganciare NtCreateFile , poiché nessun file può da leggere senza invocarlo. In alternativa, per controllare la marcatura delle pagine come eseguibili, potrebbe agganciare NtProtectVirtualMemory . In entrambi i casi, il driver in modalità kernel potrebbe guardare un po 'a cosa sta succedendo in userspace prima di consentire il funzionamento dell'operazione.

La soluzione più semplice, tuttavia, sarebbe quella di crittografare i file in quarantena con una chiave che non è archiviata su disco. Con un tale sistema, l'utente dovrebbe digitare una password per decifrare e annullare la quarantena dei file. Questo potrebbe essere ottenuto abbastanza facilmente con una crittografia a chiave asimmetrica.

    
risposta data 04.07.2016 - 17:42
fonte
6

Le funzionalità AV di quarantena menzionate nella risposta prima assicurano che il file non possa essere eseguito o consultato mentre si trova in quarantena. Quindi no, finché l'antivirus funziona, non c'è pericolo che il virus sfugga alla quarantena. In pratica, alcuni archiviano il file in un formato diverso non eseguibile e alcuni semplicemente rinominano il file e negano l'accesso in lettura / scrittura.esecuzione a loro.

Un semplice esempio: ottieni un file standard con contenuto .exe ASCII, converti quel contenuto in binario e riscrivilo come zeri e 1 in un file di testo. Niente può andare storto da lì. Non c'è nulla da scappare dal momento che il file è ora contenuto binario salvato come testo.

-Edit -

Quindi gli elementi che hai chiesto sono Negare l'accesso R / W / X e codificare il file in qualsiasi altra cosa che non sia il formato originale.

    
risposta data 04.07.2016 - 14:14
fonte
2

Supponiamo di avere un file importante (ad esempio una presentazione) contrassegnato dal tuo antivirus come "dannoso". Non vuoi cancellarlo (dopotutto è importante, anche se è dannoso!), Ma non vuoi che anche la tua macchina venga infettata.

Quindi, quale opzione hai? Il tuo prodotto antivirus può quarantine it. Mantiene i file in un ambiente isolato sul disco, in modo che i file dannosi non costituiscano una minaccia per il computer.

Esistono diversi approcci su come gestire questi file: 1) spostare il file in una posizione diversa 2) rinominando il file, cambiando il formato del file 3) cambiando le autorizzazioni del file, contrassegnandolo come nascosto 4) crittografare o codificare il file, in modo che anche l'accesso al file renderebbe il codice dannoso inutile

Ora, cosa succede se vuoi recuperare il file, anche dopo aver capito che potrebbe causare il caos o essere solo un falso positivo? I prodotti antivirus ti danno la possibilità di spostare il file in quarantena dalla quarantena alla posizione originale, nel formato originale, quindi è di nuovo utilizzabile per te (a tuo rischio, ovviamente!).

Se sospetti strongmente che il tuo file sia innocuo, puoi provare a scansionarlo con altri antivirus (ad esempio, su Virustotal ). È inoltre possibile chiedere al produttore del prodotto antivirus di ricontrollare il file per eventuali comportamenti dannosi. Una volta che sei sicuro che sia innocuo, puoi tranquillamente andare avanti e ripristinare il file dalla quarantena.

E sì, puoi fare affidamento sulle funzionalità di quarantena di qualsiasi prodotto antivirus reputato.

    
risposta data 04.07.2016 - 14:05
fonte
0

È improbabile che qualsiasi file venga eseguito senza che un utente abbia concesso tale autorizzazione. Quell'utente potrebbe essere stato qualcuno che ha preparato l'immagine di fabbrica, o tu quando hai eseguito un altro programma.

Per impedire l'accesso a contenuti (dannosi), un modo sicuro è quello di utilizzare una macchina completamente separata per crittografarla utilizzando un One Time Pad della stessa lunghezza del contenuto, quindi mantenere separati i contenuti crittografati e il pad fino a è il momento di accedere al contenuto. I puntatori di esecuzione randagi sono rari in codice stabile e in quanto tali non dovrebbero eseguire il contenuto dannoso anche se è stato decodificato. A meno che, naturalmente, il decodificatore non sia stato scritto in un linguaggio non sicuro e contenga un bug che il contenuto sa sfruttare. (Vedi exploit JPG.)

Se non desideri salvare il contenuto, allora distruggerlo dall'orbita (avvia da un supporto sicuro di sola lettura) dovrebbe assicurarti che non ritorni mai ... se usi un HDD. Gli SSD sono noti per gestire le proprie celle di archiviazione in un modo che non garantisce che i dati contenuti in tali celle siano scomparsi. Anche gli HDD hanno bisogno di sovrascritture multiple in base alle specifiche militari e molte aziende distruggono fisicamente le unità per garantire un recupero dati economico.

    
risposta data 04.07.2016 - 17:31
fonte

Leggi altre domande sui tag