2011-06-03 10 views
13

Quando gli anti-virus eseguono alcune applicazioni in un ambiente virtuale chiamato "sandbox", come funziona esattamente questo sandbox dal punto di vista del kernel di Windows?Che cos'è una sandbox

È difficile scrivere una sandbox del genere?

risposta

13

Ad un livello elevato tali sandbox sono driver del kernel che intercettano le chiamate alle API e modificano i risultati restituiti da tali API mediante l'hook. Come funziona un'intera soluzione sandboxing sotto il cofano, potrebbe facilmente riempire diversi libri.

Per quanto riguarda la difficoltà, è probabilmente una delle cose più difficili che si possa mai scrivere. Non solo devi fornire ganci per la maggior parte di tutto ciò che il kernel del sistema operativo fornisce, ma devi impedire all'applicazione di accedere allo spazio di memoria di altri processi, devi avere un modo per salvare lo stato delle modifiche che un programma rende così che il programma non si rende conto che sta funzionando sotto una sandbox. Devi fare tutto questo in modalità Kernel, che ti limita in modo efficace all'uso di C, e ti costringe a gestire diversi tipi di memoria, ad es. pool di paging e pool non paginato. Oh, e devi fare tutto questo molto velocemente, in modo che l'utente ritenga che valga la pena eseguire applicazioni all'interno della tua sandbox. La maggior parte degli utenti non tollererà il 50% di risultati delle prestazioni.

+0

Sul punto di prestazioni: non sono solo le app degli utenti, una strategia utilizzata da alcuni programmi AV è quella di eseguire il codice in esame su una copia virtuale dell'ambiente e cercare attività sospette. Anche questo ha dei requisiti prestazionali, ovviamente, specialmente quando si esegue la scansione di molti file contemporaneamente, ma la reattività dell'interfaccia utente del codice sotto test non è rilevante. –

+0

@Steve: questo è un modo per implementare gli strumenti A/V, ma non è una sandbox. Questo è un sistema di prevenzione delle intrusioni basato su host (HIPS). Quelli sono sostanzialmente meno difficili dei veri sandbox. –

+1

Ragazzi, ci sono libri su argomenti come questi? – Cartesius00