Che cosa rende difficile avere un antivirus hardware?

27

I sistemi di registrazione sono vulnerabili a virus e worm e la presenza di un antivirus è quasi necessaria. Com'è possibile che gli antivirus hardware non esistano?

L'idea sembra abbastanza buona, se l'antivirus risiede su chip riprogrammabili simili a quello che ospita il BIOS, quindi sarebbe immune agli attacchi e comunque aggiornabile. Inoltre avrebbe privilegi più elevati e risolverebbe il problema di non riuscire a riparare i file di sistema in uso.

C'è qualcosa a cui non sto pensando che questo sia impossibile da implementare?

    
posta Ulkoma 23.11.2014 - 11:16
fonte

9 risposte

24

Se il chip è scrivibile dal sistema operativo, il malware può scrivere anche su di esso, quindi non sarebbe di aiuto lì.

Inoltre, il software anti-malware deve gestire le minacce che hanno solo poche ore di vita. Dovendo riavviare il computer per aggiornare il software anti-malware in esecuzione sul proprio hardware, faremo schifo, quindi dobbiamo essere in grado di aggiornarlo dal sistema operativo. Se riusciamo a scrivere sul chip dal sistema operativo, anche il malware.

Per rendere un anti-malware hardware sicuro, devi prima cambiare l'attività principale del programma. Il software anti-malware ha fondamentalmente un elenco di software dannoso. Se un programma si trova in quell'elenco, viene bloccato e rimosso. Altrimenti, lo lasciamo correre. Ogni volta che viene scritto un nuovo malware, dobbiamo aggiungerlo alla lista. Pertanto, il software può essere solo reattivo, con la necessità di aggiornare l'elenco (enorme) tutto il tempo. Se, d'altra parte, hai un elenco di programmi che possono essere eseguiti e blocca tutto il resto non è necessario aggiornare tale elenco per tutto il tempo; solo quando vuoi eseguire un nuovo programma. Qualsiasi malware, sconosciuto o conosciuto, verrebbe bloccato da questo rifiuto implicito. Per molti ambienti sensibili non si installa un nuovo codice ogni giorno. ATM ha bisogno di eseguire un pezzo di software. Nient'altro. L'elenco in sostanza non cambierà.

Il problema è che non esiste un elenco generalmente fattibile di programmi OK. Dovresti avere una lista relativamente piccola dei programmi che devi essere in grado di eseguire sul tuo computer, che deve essere fatta apposta per te, o dovresti avere un enorme elenco di programmi che chiunque vorrebbe mai voglia di correre.

Per generare quell'elenco, il modo più semplice sarebbe aggiungere tutti i programmi possibili e rimuovere quelli negativi, il che equivale a ciò che fa oggi il software anti-malware, piuttosto che negare implicitamente. Semplicemente non è possibile ottenere un elenco di tutti i programmi non dannosi che verranno mai scritti senza includere quelli che non saranno.

Potrebbe funzionare, se lo fai bene. Ma generalmente non è fattibile. Inoltre, sarebbe davvero una cosa terribile cambiare negazione implicita per le aziende anti-malware che cercano di vendere servizi in abbonamento.

Per quanto riguarda il livello di privilegio extra; a volte devi aumentare i privilegi e, se puoi, il malware lo farà. E l'impossibilità di modificare i file di sistema, hai appena aggiunto un altro livello. Il livello superiore avrà ancora quel problema.

    
risposta data 23.11.2014 - 15:21
fonte
13

Non ci sono problemi con malware / virus basati su BIOS, essi esistono già , come fa il malware " solo memoria ". Se dovessi indovinare perché non è più prevalente rispetto ai normali virus / malware, direi che questo è dovuto al fatto che il software del BIOS è molto diverso da un normale sistema operativo. C'è un costo associato alla creazione di software dannoso e gli autori sono probabilmente dei software di targeting in cui possono ottenere il massimo dal loro investimento.

Facciamo finta di essere sviluppatori di software per un momento. Progettiamo il nostro software per essere compatibile con tutti i dispositivi su tutta la linea. Ecco le nostre scelte con un valore generico per le quantità di utenti che vorremmo vedere eseguire il nostro software:

Windows Users - 10
OSX Users - 4
Linux Users - 4
Others - 1

Dove si inserisce il BIOS nell'equazione qui? Prendiamo alcuni esempi di produttori di BIOS

Phoenix
Asus
ACER
AOPEN
Dell
Fujitsu
Gateway
IBM
Intel

E quella lista cresce e cresce. Come sviluppatore di software, perché dovrei concentrarmi sulla creazione di qualcosa che fosse mirato quando non avrei avuto un'idea iniziale di quale software del BIOS avrebbe eseguito il mio client. Non è redditizio. Ora sostituiamo l'istanza precedente con uno "sviluppatore di software dannoso". Quale incentivo dovrebbero concentrarsi su più di 30 produttori di BIOS, per contro: 2 sistemi operativi che sono molto utilizzati.

Non è mai esistito un momento in cui è stato difficile creare virus "su chip" basati su BIOS. Non è redditizio. La maggior parte degli sviluppatori di software dannoso crea i propri eseguibili per ridimensionarli, ha solo senso. Normalmente, quando ho analizzato le cose basate su BIOS / boot, sembra che sia stato un attacco molto mirato. Sviluppare questi tipi di exploit richiede tempo, molta ricognizione per assicurarti di inviare l'exploit giusto all'obiettivo giusto (non perdere tempo a creare malware basato su ASUS, solo per scoprire che il tuo obiettivo sta usando il firmware del BIOS basato su Intel.)

Gli autori dannosi dicono che il livello di stato varia in modo diverso dai gruppi di criminalità informatica. Alcuni di questi ragazzi (attori statali) scompaiono in alcuni paesi. Perché passare il tempo a spendere così tanto tempo, sforzi e denaro per indirizzare il software del BIOS quando è possibile concentrarsi sul sistema operativo, quindi spostarsi in memoria.

    
risposta data 23.11.2014 - 15:11
fonte
9

I sistemi operativi moderni hanno già l'isolamento dei privilegi e i moderni programmi antivirus utilizzano già questo meccanismo per cercare di evitare interferenze da malware con privilegi minori.

In linea di principio non vi è alcuna ragione per cui non sia possibile introdurre ancora un livello di privilegio più elevato (che sembra essere l'essenza della tua domanda) - molte persone usano le macchine virtuali per fare esattamente questo. (Non c'è motivo per questo di essere "antivirus hardware", comunque.)

Qualsiasi interfaccia tra i contesti di privilegio inferiore e di privilegio più elevato è, naturalmente, una possibilità per le vulnerabilità di elevazione dei privilegi, che si verificano sia nel sistema operativo stesso che, con una certa rarità, tra i confini della virtualizzazione (ad esempio link , link ), quindi questa non è una panacea.

Ma in realtà, i problemi con l'antivirus sono più profondi e più profondi del problema dell'isolamento dei privilegi. I motori antivirus hanno un valore discutibile (data la natura euristica della loro individuazione) e sono spesso essi stessi una fonte di vulnerabilità - la costruzione di una grande quantità di parser di file che cercano di analizzare ogni file su disco (spesso con privilegi elevati!) È solo un ricetta per il disastro (ad es. link , link ).

    
risposta data 23.11.2014 - 17:24
fonte
6

Avvio protetto

Cosa ti fa pensare che non esista? In linea di principio è piuttosto semplice, a causa della mancanza di memoria in UEFI e ambito limitato per l'applicazione di patch alle vulnerabilità, invece di rilevare il codice dannoso, invece verifica l'immagine di avvio con una firma. Tuttavia, il problema principale con l'avvio sicuro è che non tutti possono firmare un'immagine di avvio con una firma autorizzata (in base alla progettazione).

Ciò significa che per le persone che compilano i propri sistemi operativi, non saranno in grado di eseguire il proprio sistema operativo. Inoltre, se l'utente fosse in grado di firmare il proprio sistema operativo, un virus potrebbe concepibilmente firmarsi durante l'installazione stessa.

    
risposta data 24.11.2014 - 06:36
fonte
6

Oltre a ciò che è già stato detto, penso che ci sia un problema più fondamentale: il livello hardware è già troppo basso per capire cosa sta succedendo.

Ci sono state protezioni hardware per cose di basso livello (ad esempio la modifica del settore di avvio), ma prendiamo alcune azioni comuni di malware / PUP di oggi:

  • modifica della home page dell'utente / impostazioni su siti discutibili;
  • aggiungere programmi che vengono eseguiti automaticamente e cercare di truffare l'utente pagando i soldi;
  • registrazione dei tasti per rubare le password;
  • invio di spam / realizzazione di richieste Web finalizzate a DDoS;
  • crittografia di file e richiesta di riscatto;
  • connettersi a qualsiasi condivisione di rete possibile per infettare i documenti eseguibili / Office;
  • chiedendo ad un botnet-master i comandi ed eseguendoli.

Tutto questo materiale è troppo alto per un hook hardware; quando si tratta di hardware, tutta la logica di alto livello (chiamate di sistema, file / chiavi di registro, query DNS, connessioni HTTP, ...) è già andata, è tutto "scrivi sul disco in questa posizione", "sposta quelli byte in memoria "," invia questi pacchetti ethernet "e simili, quindi riconoscere schemi pericolosi di alto livello è molto più complicato.

    
risposta data 24.11.2014 - 13:30
fonte
3

Il problema principale con il software antivirus non è in realtà che sia vulnerabile agli attacchi o privo di privilegi sufficienti. Il problema è piuttosto più fondamentale, e si applica a tutti i computer di uso generale (macchine universali di Turing): nella maggior parte dei casi, dato un pezzo di codice, l'unico modo per dire cosa farà è eseguirlo. Inoltre, il codice di solito dipende dall'input e sapere cosa fa sulla maggior parte dei suoi input non è una garanzia di ciò che farà sul resto. Questo è in parte il motivo per cui scrivere codice privo di bug è così difficile, ma significa anche che il word processor appena installato potrebbe funzionare bene per mesi, e poi un giorno decidere di cancellare il tuo disco rigido perché ti è capitato di digitare anche una lettera molte volte - e l'unico modo per sapere che questo accadrà potrebbe essere quello di provare tutte le possibili sequenze di input.

Se è difficile credere che lo scopo di un codice possa essere difficile da capire, vedi alcuni esempi di offuscamento . Sono un buon programmatore C, ma capire l'ingresso di Ian Phillipps mi richiederebbe almeno mezz'ora di intensa concentrazione - e questo è il codice C; immagina se fosse un assemblaggio. Ora immagina di provare a passare attraverso il software delle dimensioni di Microsoft Word cercando di capire cosa fa in modo sufficientemente dettagliato per assicurarti che non danneggi il computer. È quasi il più letteralmente impossibile da ottenere.

A causa di questo problema fondamentale, l'unica cosa che il software antivirus può fare è tenere un elenco di "firme" dei virus e provare a trovarli nei programmi che installi. Dal momento che nuovi virus appaiono ogni giorno, è ovviamente una cosa difficile da fare e richiede aggiornamenti costanti. Farlo in hardware non renderebbe più facile. Un'alternativa interessante potrebbe essere quella di limitare la quantità di cose che i programmi sono autorizzati a fare. Ciò avviene in una certa misura - i sistemi operativi moderni non consentono già ai programmi di modificare se stessi, ad esempio, e ci sono sempre dei limiti a ciò che ogni programma può fare. Tuttavia, questi limiti possono sempre essere aggirati (spesso ingannando l'utente o sfruttando qualche bug), e probabilmente sarà sempre così: troppi vincoli renderebbero inutilizzabile il tuo computer.

    
risposta data 24.11.2014 - 17:59
fonte
1

Le tecniche di rilevamento dei virus hardware (firmware) sono possibili, ma dovrebbero essere diverse per ogni pezzo di hardware e ogni variazione del firmware. Ad esempio, come discusso in precedenza, il codice BIOS è scritto da diversi produttori (PHOENIX, Dell, ecc.) E ciascuno avrebbe bisogno delle proprie routine di rilevamento antivirus. Poiché il firmware non cambia spesso, sarebbe più semplice implementare una tecnica di checksum per determinare se sono state apportate modifiche a any , invece di tenere il passo di ogni nuova variante di ogni nuovo virus che potrebbe esistere.

    
risposta data 23.11.2014 - 22:55
fonte
1

Il malware che infetta il BIOS o il controller HDD esiste già. Quindi il tuo antivirus HW non sarà aggiornabile (e diventerà obsoleto prima ancora di essere spedito ai consumatori) o sarà aggiornabile e soffrirà di infezioni simili che il sistema operativo sta avendo in questo momento.

Sarebbe solo un altro computer sotto il cofano del tuo attuale computer. Con tutti i tuoi problemi attuali - solo su due livelli.

    
risposta data 25.11.2014 - 16:42
fonte
-2

Ecco un esempio di un vero antivirus basato su hardware: The FixMeStick all'indirizzo link

link

    
risposta data 25.11.2014 - 06:58
fonte

Leggi altre domande sui tag