Newsgroup: it.cultura.filosofia.moderato
Titolo: Sugli antivirus

Quando faccio la scansione del pc con l'antivirus, di solito scelgo
l'opzione "Analizza tutto il computer". Non sono un informatico, ma, se
quell'opzione si prende alla lettera, mi viene da chiedere: come fa
l'antivirus a esaminare anche se stesso? Mi pare che potrebbero venirne
fuori due ordini di problemi. Il primo si rifà alla classici problemi
logici del mentitore, in modo tale che se l'antivirus è "malato" (ossia
mendace), oppure "sano" (veritiero), ne viene che la risposta sulla
propria autoscansione sarà in qualsiasi caso che gode di buona salute. Se
addirittura esso ci rispondesse "Sono malato", eccoci allora nella più
classica delle antinomie. Il secondo invece, che sta più a monte, è forse
più interessante. E cioè: come è possibile, in linea di principio, che
l'antivirus possa analizzare se stesso? Se intendiamo infatti "se stesso"
come "se stesso interamente", dobbiamo includere anche l'atto stesso
dell'analizzare. Ma se quest'atto dell'autonalisi vuole essere completo,
non ne rimarrebbe sempre un "pezzetto fuori", in un rimando all'infinito? 
Buone scansioni,
Mercurius
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Mercurius
E' vero, siamo di fronte anche ad una questione filosofica, oltre he
scientifica.
Facciamo alcune premesse per poter sviluppare un discorso:
Un virus è un programma.
Un programma che però non è nel set di quelli acquistati dall'utente e
non si propone di offrirgli dei servizi.
Come entra nella macchina?
In molti modi:
-da un floppy (un amico ti fa uno "scherzo")
-da una rete LAN (interconnessione tra pc in modo locale)
-da una rete internet nel caso di collegarsi a un sito web
etc.
 
Attualmente solo a posteriori dell'avere creato danno e dell'essere
stato studiato se ne può conoscere la struttura e fornire a programmi
detti antivirus quegli aggiornamenti delle "definitions" con cui per
esempio Norton antiv diagnostica la presenza di virus.
Non così agiscono gli anticorpi dell'organismo degli esseri viventi.
Gli anticorpi non riconoscono il match con tutte le configurazioni in
una tabella da aggiornare, ma la diversità rispetto a ciò che dovrebbe
essere "atteso" compatibile con l'organismo.
Da ciò ne potrebbe venire fuori un brevetto che progetti un antivirus
che non ha necessità di aggiornarsi e che non fallisca mai ed inoltre
operi apriori!
Basterà rendere ridondante il codice di codificazione di ciascuna
macchina tal che riconosca se il programma ospite non ha il codice
atteso (il codice atteso può esser fatto variare per ridurre problemi di
spionaggio).
Non è realizzato (ancora) perché:
1) il mercato degli antivirus è una gallina dalle uova d'oro
2) la macchina di partenza (il pc) sarebbe leggermente più largo nel
relativo Byte (dovendo contenere la codifica extra) oltre che meccanismi
di transcodifica per impiantare organi (nuovi programmi) nel corpo di
una nuova macchina sia come donatore sia come accettore.
3) tale novità dovrebbe essere operata dalle stesse case costruttrici
dei computers (ed ha implicazioni hardware oltre che software).
4) è usato come metodo di protezione delle trasmissioni ma non in modo
residente (codici per esempio di Hamming) per i maggiori costi (che però
stanno divenendo esorbitanti anche per la protezione/aggiornamento e
dopo il danno di dati senbili, oltre che hai problemi di rallentamento
nella processazione per l'esame di librerie sempre più sterminate).
5) forse perché nessuno ci ha mai pensato?
*****************************************************
Sulla questione delle difese degli antivirus attuali:
*****************************************************
Un antivirus è difficilemente attaccabile perché, come un organismo
umano, si mette in una sorta di stato "supervisivo".
Lo stato supervisivo è uno stato -anche nelle macchine- in cui certi
programmi (previlegiati) possono fare cose che altri programmi non
possono fare.
Addirittura in soluzioni -come Linux- intere aree di memoria e/o utenti
possono essere abilitati ad alcune operazioni e non ad altre (per
esempio solo leggere ma non scrivere, e solo in aree di memoria
dedicate).
Quindi tali soluzioni sono molto più resistenti all'azione di
intrusione, salvo le martellate ..
Saluti,
L.

 l'antivirus a esaminare anche se stesso?
La risposta è che la funzione antivirus analizza il codice, non la funzione 
(cioè anche se stessa in quanto tale), quindi il paradosso non c'è.
Gli antivirus riconoscono il virus dal codice, non da ciò che il virus "fa". 
E un programma antivirus *può* in via di principio analizzare anche il 
proprio codice dopo averlo posto come oggetto di analisi (per esempio 
duplicandolo provvisoriamente). Tuttavia non è necessario, perché i 
controlli interni incrociati e le ridondanze multiple di un antivirus lo 
fanno reagire ai tentativi di contaminazione e gli consentono di 
autocorreggersi in caso di intrusione (per esempio esegue calcoli e 
continuamente li confronta, con logica analoga a quella delle tecniche di 
autocorrezione degli errori di trasmissione nelle reti, cioè risolve dei 
polinomi i cui contenuti sono le istruzioni in quanto numeri binari, e 
confronta il risultato con i valori memorizzati in varie posizioni di 
memoria: se trova un errore si autocorregge grazie alla struttura 
dell'algoritmo usato). Gli applicativi non fanno questo lavoro perché quei 
provvedimenti richiedono una quantità considerevole di codice, e quindi 
sarebbero molto costosi e occuperebbero quantità enormi di memoria, a parte 
la lentezza che acquisirebbero.
Insomma, si mette un guardiano ben attrezzato e vaccinato all'ingresso, non 
si trasformano tutti gli impiegati in guardiani, anche se stanno tutti un 
po' attenti. Allo stesso modo non facciamo tutti i medici, anche se stiamo 
attenti, ma per il check-up andamo appunto dal medico. Il quale medico può 
essere benissimo malato a sua volta ma ha gli strumenti oggettivi per 
riconoscere la sua come la nostra malattia, e curarla in entrambi i casi: 
tali strumenti oggettivi (analisi) gli consentono appunto di analizzare *il 
codice* al di là della funzione in avaria.
Se abbiamo problemi logoci con l'antivirus, dovremmo averli quindi anche con 
il medico.
Lo strumento dell'oggettivazione, invece, consente di porre anche il 
soggetto come oggetto, ossia gli consentono di "alienarsi" quanto basta per 
potersi curare. E se è fin troppo "alienato" per poter curare se stesso, le 
persone che lo circondano chiamano l'ambulanza.
E si fa un reset a basso livello :-)
 

 (cioè anche se stessa in quanto tale), quindi il paradosso non c'è. [CUT]
Grazie a te ed L per le vostre risposte. Quello che dici non può che
tranquillizarmi come utente informatico anche se, mi sembra di capire, non
si può parlare a rigore di "Analizzare *tutto* il computer" perchè la
funzione può solo controllare un replicato del codice, non riuscendo a
"guardare" se stessa. Il tuo esempio del medico è molto sensato, e
tuttavia nessuno di noi, penso, andrebbe a farsi curare da un medico
pazzo. E' vero che qualcuno, almeno si spera, chiamerà l'ambulanza, ma
saremmo costretti ad uscire, per così dire, dall'autosufficineza del
sistema.
Ciao,


 sistema.
Come dice Davide, è impensabile un essere umano senza un sistema sociale 
seppure minimo.
Perciò qualcuno prima o poi si rende conto che quel medico è pazzo.
Magari te ne rendi conto tu stesso dopo che gli hai chiesto qualcosa per il 
mal di testa e lui ti insegue per lo studio con un trapano elettrico 
gridando "Vieni qui che te lo faccio passare io il mal di testa!" :-)
Ciao.
qf