View Full Version : Programma per recuperare portatili rubati
ziobleed
25-10-2004, 16:31
Ciao a tutti
Ho acqusistato un portatile...
Vorrei scrivere un programma in C che mi permettesse di recuperare informazioni utili alla localizzazione del mio portstile nel caso mi venisse rubato.
Vorei avere quindi il vostro aiuto e consigli per scrivere un programma che avra' queste caratteristiche :
1) Il programma e' invisibile all utente ( ma richiamabile con un combinazione di tasti non naturale : es ctrl k w r )
2) Il p. controlla periodicamente se e' attiva la connessione a internet ed in tal caso controlla una certa casella email es cucu@yahoo.it alla ricerca di una mail col subjet "Rubato"
se non la trova non fa nulla , ogni tanto ricontrollera' questa email
3) se trova la mail con subjet rubato cambia stato ed inizia :
keylogging
prende immagini del desktop in modo periodico
raccoglie ip della macchina
altre info utili ( qualche suggerimento ? )
spedisce il tutto alla mail in modo frequente
cerca di telefonare col modem ( altoparlante disinserito ) al numero di telefono prestabilito (apparira' il numero del chimnate)
il problema piu grande e' il fatto che se il ladro formatta il programma non serve a nulla...
comunque ho visto che il MBR resiste alla formattazione (NON DI BASSO LIVELLO PERO) : si puo sfruttare questo fatto in qualche modo ?
oppure creare un comando format fake cioe finto che simuli una formattazione ma non cancelli tutti i dati ?
sono ben accetti consigli di qualsiasi genere e su qualunque aspetto del progetto ...
ovviamente se esistono programmi che fanno giaà queste cose potreste indicarli?
grazie
ciao!!!
Non sarebbe niente male come idea...potresti fare una piccola partizione e salvare il prog dalla formattazione ,sempre nel caso il ladro sia mooolto sprovveduto e non si accorga di nulla.Rimane il problema di come far partire il programma una volta che su c hai un nuovo S.O....
Fenomeno85
25-10-2004, 17:56
l'unico modo è implementare una scheda ... lì si che sei + sicuro dato che il ladro deve anche saper smontare e dissaldare una scheda ;)
~§~ Sempre E Solo Lei ~§~
Originariamente inviato da Fenomeno85
l'unico modo è implementare una scheda ... lì si che sei + sicuro dato che il ladro deve anche saper smontare e dissaldare una scheda ;)
~§~ Sempre E Solo Lei ~§~
Cioè?che scheda sarebbe e dove la salderesti?
Come funziona?
repne scasb
25-10-2004, 21:45
Originariamente inviato da repne scasb
Se il portatile dispone di un BIOS Award/Phoenix 6.00 (Medallion), sarei in grado in via del tutto "teorica" di implementare (sarebbe meglio dire agganciare) un servizio BIOS32 che possa essere chiamato al bootd dal sistema operativo (Windows 2000 o XP) e divenire parte integrante del sistema operativo stesso.
Un simile servizio viene "caricato" automaticamente dal sistema operativo e risiede integralmente nel BIOS del portatile. Anche cambiando hard-disk il servizio continuerebbe a funzionare; inoltre se si riuscisse a ridurre le dimensioni del servizio a meno di 1.5Kbytes potrebbe essere inserito nel PBL, in questo modo neanche con l'aggiornamento del BIOS del portatile sarebbe possibile "eliminare" il servizio.
Mi chiedo perche' i produttori di portatili non abbiano gia' implementato quanto sto dicendo (in effetti lo sto dicendo da almeno 4 anni).
interessante...anche se mi sembra difficile da realizzare a livello "casalingo"...
repne scasb
25-10-2004, 22:40
repne scasb
25-10-2004, 22:42
asp
il tuo post di prima me lo salvo, lo rileggerò quando sarò ingegnere (difficile dato che non sono neanche iscritto all'università :asd: ), così forse ci capirò qualcosa :asd:
ziobleed
26-10-2004, 15:36
grazie per le risposte di tutti...
In particolare
per la risposta di pgggpp : avevo pensato anch'io ad una partizione magari modificata in modo che a windows appaia come danneggiata ( e quindi non formattabile giusto? o no ? )
nel mbr si mette il progrmamma di boot che sapra' leggere questa partizione e fara' partire il programma di sorveglianza e quindi windows : sapete se tutto cio' e' possibile...?
interessante anche l 'intervento sul bios di repne scasb
in effetti alcuni produttori stanno implementando questa funzionalita' nei loro bios : quindi tu dici che i servizi BIOS32 vengono chiamati di default da windows?
Magari se non c'e' spazio sul bios si puo installare nel bios un servizio che punti alla partizione pseudo danneggiata e dica a win come accedervi per caricare il programma di sporveglianza
Come soluzione momentanea ho trovato su internet un sevizio di dns dinamico su www.no-ip.com
praticamente si installa sul propio pc un programma ( che puo essere mantenuto invisibile ) che nel momento in cui ci si collega a internet comunica al sito mionome.no-ip.com l 'ip (anche dinamico) che sta utilizzando il mio computer in quel momento
avevo pensato anche a back orifice 2000 di cui sono disponibili i sorgenti , il problema era di renderlo invisibile all antivirus e renderlo piu leggero ... comunbque me lo studiero'
ovvio che non ho risolto il problema della formattazione ...
fatemi sapere cosa ne pensate... grazie a tutti....
ciao!!!!
Originariamente inviato da repne scasb
Mi chiedo perche' i produttori di portatili non abbiano gia' implementato quanto sto dicendo (in effetti lo sto dicendo da almeno 4 anni).
L'idea di un sistema che notifichi un notebook rubato l'ho già sentita da un amico...
La tua soluzione secondo me è quella più robusta fattibile senza modificare fisicamente il portatile. Le partizioni "fantasma" o altri trucchi possono ingannare il ladro poco esperto ma possono essere aggirate, sostituendo l'HD ad esempio, o con una formattazione a basso livello.
Nel caso di servizio nel PBL, deve essere il costruttore a inserirlo?
Altra domanda.. il servizio via BIOS ha bisogno di opportuno codice nel sistema operativo (si può chiamare driver?) per poter funzionare. Non basta ad esempio, reinstallare il sisitema senza il supporto, eludendo il controllo?
Ad esempio nel mio portatile posso impedire che il touchpad funzioni. E la notifica dell'IP è un servizio di cui il ladro farebbe volentieri a meno...
repne scasb
27-10-2004, 13:56
Piccola nota: ho fatto le domande perchè la mia conoscenza del funzionamento del BIOS sono molto superficiali :p
Originariamente inviato da repne scasb
PBL, Protected Boot Loader. E' la porzione del BIOS (da 2 a 32Kb) che contiene il codice di BOOT che viene richiamato nel caso che il BIOS fallisca il checksum (BIOS danneggiato - BIOS non valido - Fallito aggiornamento....).
[cut]
Il modulo di sistema dialoga con il modulo di controllo (secondo un protocollo proprietario e non noto). Se il modulo di sistema non e' ingrado di dialogare con il modulo di controllo il modulo di sistema "potrebbe" non enumerare alcuni device PCI "critici" (modem PCI, scheda di rete, contoller firewire1394....)
Quindi si potrebbe pensare a un modulo di sistema il cui unico scopo è controllare il caricamento del modulo di controllo, e così potrebbe stare nei 2-32K del PBL. L'unico modo per aggirarlo è costruire un falso modulo di controllo che usi lo stesso protocollo, come hai detto più avanti.
Per evitare del tutto questa eventualità si può pensare a un servizio firmato digitalmente (digest crittato) e inserire nel protocollo di comunicazione una fase di verifica del digest. In questo modo per costruire un servizio hacked sarebbe necessaria la conoscenza della chiave privata che è un problema NP completo, nota la chiave pubblica.
Problema: tutte le informazioni personali dell'utente (email da verificare ad esempio) devono essere inserite preventivamente nel servizio firmato altrimenti sono modificabili a discrezione del ladro.
Si può pensare di passare per i server dell'azienda (che a sua volta controlla che il portatile non sia stato segnalato come rubato). Se non erro già adesso ogni portatile ha un codice di identificazione unico. Funzionerebbe in maniera simile ai cellulari.
Può essere fattibile?
repne scasb
27-10-2004, 16:50
repne scasb...
:eek: :eek: :eek:
Grandiosa...mi hai aperto ad una nuova conoscenza!
...davvero interessante la cosa!
Grazie1K
ziobleed
27-10-2004, 18:47
vediamo se ho capito....
praticamente si riprogramma il bios e vi si aggiunge un servizio che fa inviare l ip attreaverso internet apppena possibile...
ammettiamo di avere un bios non modificabile...
abbiamo pero ' un bios che mappa alcuni device , magari poco utili, come ad esempio il lettore di schede.
Si puo modificare il modulo di controllo in modo tale che :
il modulo di controllo crede di gestire il lettore di schede
in realta' spedisce l ' ip via internet
fatemi sapere
ciao!!!
Una cosa che mi è venuta in mente... ma non basta mettere un firewall che blocca tutte le comunicazioni "sospette" del portatile per rendere inefficace tutto il sistema?
abbiamo pero ' un bios che mappa alcuni device , magari poco utili, come ad esempio il lettore di schede.
L'idea di repne scasb mi pare che fosse di indirizzo opposto.. evitare il mapping di periferiche abbastanza importanti (come il modem o scheda ethernet) in modo da rendere obbligatorio l'invio delle informazioni, nel caso il portatile dialoghi con l'esterno.
Originariamente inviato da repne scasb
Chiamai le specifiche IDRA e il file system su cui si poggiavano le specifiche IFS (IDRA File System). Se a qualcuno interessasse come realizzare un sistema RAID 0+1 con due dischi, chieda pure, anche se credo che l'idea non sia piu' nuova come lo era una "volta" (l'IFS consentiva anche equivalenti RAID 0+1 da 2 a n dischi con vari criteri di rischio/prestazioni, con dischi di grandezza diversa (senza sprechi) e con velocita' diverse (senza perdita di prestazioni), oltre a stripe a dimensione variabile per massimizzare le prestazioni). Ormai credo che sia soltanto storia.
Questa è stata realizzata parzialmente, se non sbaglio, da Intel... In pratica lo spazio disponibile è metà dei due dischi in striping in una partizione e 1/4 dello spazio disponibilile in mirroring in un'altra partizione... La tua idea sarebbe stata simile...ma ogni HD avrebbe replicato l'altra metà dei dati dello stripe memorizzati sull'altro disco... Comunque avrebbe avuto le prestazioni di un Raid 1 in scrittura e di un Raid 0 in lettura...se non erro...
Era Quantum per caso ?
Originariamente inviato da Banus
Una cosa che mi è venuta in mente... ma non basta mettere un firewall che blocca tutte le comunicazioni "sospette" del portatile per rendere inefficace tutto il sistema?
Infatti...
repne scasb
28-10-2004, 08:27
repne scasb
28-10-2004, 09:19
:eek: caspita...nn ho parole...e continuo a chiedermi una cosa, ma questo sistema alla fine lo hai messo in opera...o è rimasto nel cassetto?!:confused: ...
:eek:
repne scasb
28-10-2004, 18:32
Originariamente inviato da repne scasb
L'ho venduto, e ora e' nel cassetto di chi l'ha comprato.
E magari è già coperto da qualche brevetto ;)
Riguardo al sistema di notifica del portatile rubato, un altro modo è andare via proxy e intercettare il traffico uscente per sostituirlo con falsi messaggi (più o meno come il caso della comunicazione fra BIOS e servizio di controllo, ma sula rete). Ma è sufficiente prevedere un meccanismo di autenticazione (con firma digitale ad esempio). Tutte le comunicazioni sicure su internet funzionano sullo stesso principio, non è neppure necessario sviluppare un'architettura ad hoc.
Altra modalità di attacco è la sostituzione al volo del servizio di controllo con una versione modificata, dopo che è stato riconosciuto dal servizio di sistema. Non conosco abbastanza bene il funzionamento di Windows o di altri SO per dire se sarebbe possibile, ma credo di sì.
Un sistema che controlla la firma digitale di un programma prima di eseguirlo mi fa pensare a sistemi come Palladium. Il fatto che Palladium richieda hardware progettato appositamente mi fa credere che con gli attuali sistemi sia possibile in qualche modo aggirare le protezioni sul codice.
Parlando con un amico ho trovato un'altra magagna.
Esistono programmi come WPcredit (http://www.vr-zone.com/guides/wpcredit/) che permettono di modificare anche l'immagine del PBL in RAM, come mi pare di capire da qui:
http://www.nokytech.net/forum/archive/index.php/t-5076.html
Sarebbe possibile prima di connettersi sostituire il PBL con una versione modificata, chiudere il servizio di controllo e poi connettersi.
Originariamente inviato da repne scasb
L'ho venduto, e ora e' nel cassetto di chi l'ha comprato.
non ho parole :sbavvv:
veramente complimenti...:D
repne scasb
01-11-2004, 09:14
Originariamente inviato da repne scasb
Non c'entrano nulla con il PBL, non cancellano ne modificiano la memoria flash su cui e' depositato il BIOS, modificano i registri PCI di un particolare device PCI.
Questo per me era chiaro ;)
Non mi è chiaro invece se in RAM viene copiato il contenuto del BIOS (PBL compreso) oppure c'è solo uno spazio di indirizzamento riservato per la comunicazione.
Dalle tue parole ho capito la seconda, quindi si può solo intervenire sulla comunicazione.
Fenomeno85
01-11-2004, 16:04
ammazzate :eek:
~§~ Sempre E Solo Lei ~§~
Tortellone
01-11-2004, 17:09
Signori costei è veramente una Donna da sposare ;)
Se ci è dato saperlo in cosa sei laureata ??
repne scasb Madò na mente!
Cmq non c'è niente da fare chi ha delle buone idee spesso non viene compreso... o almeno chi ha delle buone idee è una specie di veggente che sfida il MarKeting
Ciao e buona fortuna con la protezione Notebook ;)
ps toglietemi una curiosità: mi sembrava e dico mi sembrava che alcuni portatili dell'Acer ordinati da una banca xyz avessero vicino al touchpad un piccolo scanner per le impronte digitali... insomma una password bioQualcosa ... secondo voi tale dispositivo è bypassabile? (ovviamente intendo non aprendo il portatile) e se si non vi sembra il metodo più sicuro?
:confused: :confused: :confused: :confused:
Dello scanner delle impronte digitali ne ho sentito parlare anche io...
credo che sia l'equivalente della password all'avvio. Se non sei autenticato, non parte nulla.
Per bypassarlo... dipende da dove memorizza le impronte.
Comunque senza aprire il portatile direi che è impossibile :D
repne scasb
01-11-2004, 18:22
repne scasb
01-11-2004, 18:42
A me interessa :D
Mi incuriosisce perchè i metodi di cui si parla solitamente fanno uso di dizionari di password comuni + metodi statistici per tentare prima le password più probabili. In pratica, forza bruta con qualche trucco, e richiede molta potenza elaborativa.
repne scasb
02-11-2004, 08:40
Si Repne scasb bel metodo, ma che ci ci può fare con questo?
Per tornare all'argomento principale del post vorrei aggiungere:
- Se il computer rubato non verrà mai collegato in internet, potete fare qualsiasi programma ma risulterà inutile.
- Chi RUBA il computer non è colui che lo usa solitamente.
- Nella maggior parte dei casi il computer passa da mani esperte prima di essere venduto.
- I sistemi che avete proposto "ANTI-FURTO" non penso siano fattibili a livello produttivo (ad una persona a cui viene rubato il portatile che lo usa per lavoro che fa? Corre a comprarne un altro, questo è mercato e le case produttrici ne traggono vantaggi...)
- Supponiamo il caso che invece si inizino a produrre sistemi "ANTI-FURTO", bhe si metterebbero in moto gli "Hacker" del settore trovando soluzioni... (vedi tutti i giochi e programmi crakkati tra gli ultimi persino lo STARFORCE3, vedi i vari sistemi di decodifica satellitari bucati, tra gli ultimi il SECA 2, ecc ecc...)
- C'è la soluzione, magari se montassero una scheda SATELLITARE :D si potrebbe intercettare il computer.... :asd:
Ciao
Goffredo
02-11-2004, 11:29
Originariamente inviato da repne scasb
Chissa' se a parte Banus, tutto cio' interessera' qualcun'altro. Bah...
certo che mi interessa :ave: :ave:
non sono nuovo, facico finta :D
Al sistema che hai illustrato, in verità avevo già pensato, nel senso, io ho sempre pensato che la decriptazione delle password potesse essere fatta come nei lucchetit delle bici, che ogni numeor "indovinato" fa tlak ( :D ) . Non avrei mai creduto che quetso potesse essere messo in pratica :eek: e non avevo nemmeno pensato al delay :eek: .
avrei però 2 o 3 domande da farti....
1) ma la precisione del duble (nell esempio di C) non è troppo bassa ?
2) hai mai dato uno sguardo al software LC5 (o 4) di @stake (adesso symantec) ? come funziona?
3) ma quetso metodo come può funzionare se, per esempio la password è criptata (in md5 per esempio) ?
grazie mille
saluti Swisstr.... ehm Goffredo :D :D :sofico:
ilsensine
02-11-2004, 11:45
Originariamente inviato da repne scasb
<...>
Mi ricorda questo :D
http://www.zone-h.com/advisories/read/id=5954
(è un caso differente, ma c'è in comune l'utilizzo del "tempo di risposta").
Il tuo metodo è applicabile se le pwd sono memorizzate in chiaro; nei sistemi di autenticazione "decenti" però è memorizzato un hash della password.
Molti (troppi) sistemi confrontano ancora le password in chiaro.
repne scasb
02-11-2004, 11:52
Goffredo
02-11-2004, 11:56
Forse e' il caso che non risponda a questa domanda.
grazie per le risposte esaurienti come sempre... ma come mai non mi rispondi a questa? come dice anche ilsensine se una password è memorizzata come hash, come si può usare il tuo metodo? l'asch di "a" non inizia nello stesso modo che l hash di "alfredo", per esempio
Originariamente inviato da djdavid
- Se il computer rubato non verrà mai collegato in internet, potete fare qualsiasi programma ma risulterà inutile.
Difficile al giorno d'oggi. Basterebbe collegarlo a una qualsiasi rete, ad esempio sul lavoro. O può comunicare, e segnala la sua presenza, oppure blocca l'accesso alla rete.
- Chi RUBA il computer non è colui che lo usa solitamente.
Aiuterebbe il tracciamento ;)
- Nella maggior parte dei casi il computer passa da mani esperte prima di essere venduto.
Infatti stiamo parlando di un sistema che è impossibile manomettere senza spendere più soldi di quanti ne vale il portatile.
- I sistemi che avete proposto "ANTI-FURTO" non penso siano fattibili a livello produttivo (ad una persona a cui viene rubato il portatile che lo usa per lavoro che fa? Corre a comprarne un altro, questo è mercato e le case produttrici ne traggono vantaggi...)
C'è anche il discorso della privacy. Da quello che dice repne scasb, non ci sono ostacoli tecnologici. Se non è stato implementato è perchè non c'è interesse a farlo :p
- Supponiamo il caso che invece si inizino a produrre sistemi "ANTI-FURTO", bhe si metterebbero in moto gli "Hacker" del settore trovando soluzioni... (vedi tutti i giochi e programmi crakkati tra gli ultimi persino lo STARFORCE3, vedi i vari sistemi di decodifica satellitari bucati, tra gli ultimi il SECA 2, ecc ecc...)
Infatti ho cercato di trovare possibili punti di attacco della soluzione proposta. Un sistema del tuttoinattaccabile non credo sia possibile, al max si può dumpare una comunicazione con il BIOS e riciclarla con un servizio hacked...
D'altra parte non sono sicuro di volere un simile sistema, come puoi bloccare un computer considerato rubato puoi limitare l'esecuzione di programmi, bloccare computer "non trusted" o i programmi/documenti da loro prodotti. Palladium nel peggiore degli scenari, insomma :p
- C'è la soluzione, magari se montassero una scheda SATELLITARE :D si potrebbe intercettare il computer.... :asd:
Facciamo che se non trova la scheda satellitare non parte :D
E se non spendi almeno 20 € al mese con la scheda ti dimezza il clock del processore :D
ilsensine
02-11-2004, 12:01
Originariamente inviato da repne scasb
Forse e' il caso che non risponda a questa domanda.
Hai in mente qualcosa utilizzabile nel caso di algoritmi hash?
repne scasb
02-11-2004, 12:03
ilsensine
02-11-2004, 12:08
Originariamente inviato da repne scasb
Il codice che ho postato e' valido se le password sono "linearmente" codificate nel sistema di protezione. Non ho postato il codice C che crea la distribuzione statistica dei tempi di risposta del sistema di protezione. Nota tale distribuzione (se tracci il grafico della distribuzione dei tempi di risposta) quale password stara' "fuori" gaussiana"? (non e' chiaramente una gaussiana, e una distribuzione che "dipende" dal sistema di codifica non lineare).
Direi "interessante", ma se osservi un simile comportamento, hai trovato una falla dell'algoritmo di hash utilizzato.
Che io sappia non puoi, in generale, applicare simili metodi ai sistemi hash (se non andando a scavare nell'algoritmo utilizzato -- e se l'algoritmo è buono, ad es. sha, non dovrebbe essere possibile una mera analisi statistica sui tempi di risposta).
repne scasb
02-11-2004, 12:10
repne scasb
02-11-2004, 12:21
Originariamente inviato da ilsensine
Direi "interessante", ma se osservi un simile comportamento, hai trovato una falla dell'algoritmo di hash utilizzato.
Che io sappia non puoi, in generale, applicare simili metodi ai sistemi hash (se non andando a scavare nell'algoritmo utilizzato -- e se l'algoritmo è buono, ad es. sha, non dovrebbe essere possibile una mera analisi statistica sui tempi di risposta).
Matematicamente hai ragine, e infatti si pone l'accento sulle proprietà statistiche delle funzioni di hash per impedire attacchi di questo tipo.
Ma anche nel caso dell'hash di una password ci sarà una fase di verifica che segue le regole indicate da repne scasb (in genere) e quindi con un'analisi accurata dei tempi di risposta sarebbe ancora rivelabile.
ilsensine
02-11-2004, 12:24
Originariamente inviato da repne scasb
Mi autoquoto solo per aggiungere: la password protetta in un sistema di protezione non lineare e "vicina" a quella che nella distribuzione statistica dei tempi di risposta e' "fuori distribuzione".
Capisco dove vuoi arrivare, ma c'è un problema. Anche se conosci esattamente il valore hash ricavato dalla password, questo non è sufficiente ad autenticarsi: occorre fornire la password (o una delle password!) che producono lo stesso hash. Avere a disposizione l'hash (o una o più password che generano un hash simile, che potremmo chiamare "vicine" usando la tua terminologia) non aiuta, se l'algoritmo è buono (l'md4 ad es. possedeva delle vulnerabilità in questo senso).
Se hai trovato un metodo generale, sarei molto interessato a sapere su cosa si basa...
ilsensine
02-11-2004, 12:27
Originariamente inviato da Banus
Ma anche nel caso dell'hash di una password ci sarà una fase di verifica che segue le regole indicate da repne scasb (in genere) e quindi con un'analisi accurata dei tempi di risposta sarebbe ancora rivelabile.
I tempi di risposta in questo caso sono il tempo di calcolo dell'hash (che puoi conoscere a priori) e il tempo di confronto degli hash. Puoi misurarlo per conoscere delle password che generano hash simili a quello corretto, ma questo non è affatto sufficiente, in generale (a meno di casi come l'md4), per ottenere una password che genera l'hash corretto (come ho accennato, gli algoritmi di hash si presuppone che non siano invertibili anche se conosci l'algoritmo completo e l'hash esatto della password che stai cercando).
repne scasb
02-11-2004, 12:40
repne scasb
02-11-2004, 12:46
repne scasb
02-11-2004, 12:52
repne scasb
02-11-2004, 13:28
ilsensine
02-11-2004, 13:41
Originariamente inviato da repne scasb
La domanda e': Su suppongano validi i punti segnati con (*), il tutto convrge? Aspetto confutazioni valide.
Il tuo ragionamento fila, il problema è qui:
Il punto importante e' il "simile", una volta definito "simile" hai un metodo generale.
ovvero la ricerca di una "metrica" che ti consenta di stabilire la "vicinanza" tra due password. Fermo restando che una tale metrica esiste per forza, gli algoritmi di hash basano la propria "forza" sulla difficoltà (tutta umana) di trovare tale metrica.
Originariamente inviato da repne scasb
2) Si generino un numero elevato di password casuali e si sottopongano al sistema non lineare di cifratura.
[cut]
5.1) Per ogni classe si costruisca la distribuzione dei tempi di risposta del sistema non lineare.
Questi due passaggi richiedono un'analisi statistica delle password. Il passo 2) in casi particolari potrebbe essere calcolato a priori conoscendo l'algoritmo di hash, calcolando ad esempio la distribuzione degli hash data la distribuzione della password.
Il punto 5.1) non può essere applicato a tutte le password possibili perchè si avrebbe il caso della forza bruta. La distribuzione dipende dai rappresentanti della classe scelti e si discosta da quella "reale" di un certo valore con una certa probabilità. Si dovrebbe controllare che a livelli di confidenza abbastanza alti (99 % ad esempio) questo errore sia minore degli eventuali scostamenti.
Originariamente inviato da ilsensine
ovvero la ricerca di una "metrica" che ti consenta di stabilire la "vicinanza" tra due password. Fermo restando che una tale metrica esiste per forza, gli algoritmi di hash basano la propria "forza" sulla difficoltà (tutta umana) di trovare tale metrica.
Il metodo proposto da repne scasb cerca di approssimare questa metrica. Il punto oscuro è come definire le classi. Un metodo è il clustering, ma senza altre assunzioni è necessario elaborare tutte le password, cosa che annulla i potenziali vantaggi.
Penso che su algoritmi di hashing che lavorano su stream di dati dovrebbe essere possibile effettuare misurazioni sul tempo di risposta. ma per algoritmi di un certo spessore come md/sha/... che lavorano a blocchi di byte e aggiungono del padding se mancano dei dati non dovrebbe piu essere possibile. Ad esempio in haval per calcolare l'hash di una password di 2 caratteri impiega lo stesso tempo di una password di 100 caratteri.
cio ;)
Originariamente inviato da VICIUS
ma per algoritmi di un certo spessore come md/sha/... che lavorano a blocchi di byte e aggiungono del padding se mancano dei dati non dovrebbe piu essere possibile.
Infatti l'eventuale differenza sta nel confronto. Il tempo di calcolo può dipendere anche dai dati passati, e si deve considerare.
Piuttosto sto pensando... è possibile scrivere una funzione di confronto che controlla tutti i caratteri di una stringa (o i bit) rimandando la sentenza solo alla fine. Costruita opportunamente (esempio fa un assegnamento ad ogni test) è possibile rendere il tempo di test indipendente dalla correttezza della password.
Originariamente inviato da Banus
Infatti l'eventuale differenza sta nel confronto. Il tempo di calcolo può dipendere anche dai dati passati, e si deve considerare.
Piuttosto sto pensando... è possibile scrivere una funzione di confronto che controlla tutti i caratteri di una stringa (o i bit) rimandando la sentenza solo alla fine. Costruita opportunamente (esempio fa un assegnamento ad ogni test) è possibile rendere il tempo di test indipendente dalla correttezza della password.
Secondo me è impossibile misurare con precisione il tempo impiegato da un confronto di questo tipo. risultarebbe influenzato da troppi fatori.
Inoltre scrivere una funzione che impiega sempre lo stesso tempo a confrontare due hash è molto semplice.
ciao ;)
Originariamente inviato da VICIUS
Secondo me è impossibile misurare con precisione il tempo impiegato da un confronto di questo tipo. risultarebbe influenzato da troppi fattori.
Il metodo basa la sua efficacia sulla possibilità di misurare precisamente (al ciclo di clock) il tempo impiegato nel controllo della password.
Inoltre scrivere una funzione che impiega sempre lo stesso tempo a confrontare due hash è molto semplice.
Infatti ;)
repne scasb
02-11-2004, 14:23
repne scasb
02-11-2004, 14:32
repne scasb
02-11-2004, 14:34
ilsensine
02-11-2004, 14:35
Originariamente inviato da repne scasb
Supponi che abbia risolto questo punto (non da sola ma in un gruppo di quattro persone); ossia circa un anno orsono, un gruppo di cui ho fatto parte trovo' una metodica per confrontare due "segnali" digitali (sto tentando di applicare la stessa cosa alla sequenze genetiche per differenziare esoni da introni da intergenico (ho l'hard-disk pieno di sequenze di DNA di funghi e batteri)).
Se il precedente paragrafo e' vero, cosa ne deduci?
Che hai teoricamente risolto il "problema", ovviamente
repne scasb
02-11-2004, 14:36
repne scasb
02-11-2004, 14:41
Posto che tu sappia come identificare tutte o gran parte delle password la cui impronta MD5/SHA-1 è vicina, allora il tuo metodo funziona...ma...è possibile ?
Gli algoritmi come MD5/SHA-1 sono progettati per:
1) rendere molto difficile andare dall'hash al testo (testi diversi danno lo stesso hash, ma probabilmente limitando il campo di ricerca con la lunghezza della password avrai una sola password che dà un dato hash)
2) rendere molto difificile che due testi vicini (binario) abbiano hash vicine
Se non risolvi questi problemi, rendendo obsoleto l'algoritmo di fingerprinting, ritorneresti alal forza bruta...anche se probabilmente con quelache vincolo temporale più piccolo...
Diciamo che ti prepari tutte i possibili hash di testi finoa 16 caratteri su un supercomputer...ti ordini il risultati per l'hash...proponi al sistema di autenticazione l'hash (o meglio il testo corrispondente) come se fosse una password in chiaro...tentativi per la risoluzione al max 36 * lunghezza in byte dell'hash....
ilsensine
02-11-2004, 14:48
Originariamente inviato da repne scasb
Con l'esclusione del concetto di "vicinanza", non vedi falle logiche da qualche parte? (due teste ragionano sempre meglio di una).
Il punto critico è proprio questo.
Personalmente ritengo un problema di questo tipo affrontabile nel campo del processamento neurale, vista la forte non linearità del sistema (e l'oggettiva impossibilità di esprimerlo in forma matematica, viste le complicazioni). L'unico mio dubbio è la dimensione del sistema di elaborazione necessario, non so se sia abbordabile allo stato attuale.
repne scasb
02-11-2004, 14:51
ilsensine
02-11-2004, 14:52
Originariamente inviato da cionci
2) rendere molto difificile che due testi vicini (binario) abbiano hash vicine
E' il discorso della "vicinanza" che facevamo. Due stringhe non sono necessariamente "vicine" solo se presentano una certa parte dei simboli in comune; la metrica che puoi definire è arbitraria.
Se riesci a concepire un sistema di elaborazione che, in base a ripetute misure, riesce a capire "a priori" (quindi solo in base alle misure effettuate) che le stringhe "abcdef" e "h&!@a" sono "vicine", hai rotto il sistema. Ancor meglio, se la tua metrica consente di "enumerare", secondo qualche regola, le stringhe in ordine di "vicinanza".
repne scasb
02-11-2004, 14:57
L'oggetto che si chiama ufficialmente "Discriminatore di tipologie d'informazione" ed ha il nome di una stella, non e' piu' basato sugli studi di Zipf.
Nel corso degli studi siamo (un gruppo che si e' allargato a 4 persone) giunti a qualcosa di "realmente" innovativo. Il termine "innovativo" e' realmente abusato, ma in questo caso i risultati ottenuto sono assolutamente impressionanti, e tali che in questi mesi mi hanno fatto cambiare idea sul concetto di "IA".
Ancora non ci credo ma funziona. Difficilmente mi crederete, ma tale oggetto sa:
1) Riconoscere documenti contenenti informazioni diverse, scritte in lingue diverse (Aneddoto: ci ha diviso 26.000 documenti in cinese in 22 categorie (clusterizzatore) senza che noi conoscessimo nulla del cinese e senza indicargli le categorie, gli abbiamo solo detto: Ho 26.000 documenti me li dividi in 22 categorie? Abbiamo dovuto contattare un Cinese per scoprire se il software aveva compiuto correttamente il proprio lavoro).
2) Sa riconoscere "formati". Ossia e' in grado di riconoscere file GIF, JPEG, TIF, PCX, BMP a parita' di contenuto (non serve a nulla ma dimostra la bonta' del "motore") (Aneddoto: e' stato in grado di riconoscere file compressi con RAR in modalita' alta-compressione/media-compressione/bassa-compressione al 100%)
3) Sa riconoscere lo spam dalla posta "vera", con un efficienza fino al 99,9936% (testato su un campione di 301.117 mail ne ha "sbagliate" 19).
4) Sa riconoscere lo stile di un autore, riuscendo a riconoscere al 100% i sui scritti in mezzo ad altri scritti (a parita' di argomentazione trattata)
5) A parita' di autore/stile sa riconoscere un opera dalle altre (Aneddoto: nel caso di heinlein sono stati spezzati in blocchi di 1000 bytes 101 libri di questo autore, il software e' stato in grado di attribuire il pezzo di 1000 bytes al libro giusto con una efficienza del 100%.
Ora le cose per cui mi prenderete sicuramente per "squilibrata":
1) Sa riconoscere una persona in base ai file audio che genera
2) Sa riconoscere canzoni di Mina da canzoni di Celentano (IN FORMATO MP3)
3) Sa riconoscere FOTOGRAFIE di persone di cose, di citta', di paesaggi, indipendentemente dall'angolazione e dall'illuminazione con cui viene scattata la fotografia. Curiosamente, Devilman aveva "ragione", anche se Zipf non c'entra piu' nulla.
4) E' in grado di fare ricerche in un database per parole chiave, senza trovare la parola chiave. Mi spiego: in un database formato da 4446 articoli giornalistici tratti da Repubblica e' stato chiesto al software di trovare 10 articoli che avessero una qualche attinenza con il vocabolo DNA; il software ha trovato 10 articoli che trattavano di genetica ma nessuno degli articoli conteneva la parola DNA.
5) Il software e' stato in grado di riconoscere articoli giornalistici (di repubblica) anche quando ognuno di essi e' stato singolarmente compresso in formato ZIP.
6) Il software e' stato in grado di fare previsioni E QUI MI FERMO.
Finito il lavoro lo scorso Novembre sono state contattare varie aziende: Microsoft, IBM, Xerox, HP, Intel, Motorola, Autonomy ed altri, e devo dire come tutte le aziende siano state avide di informazioni e leste nel rispondere (mi ha incuriosito HP che a loro detta esamina solo 5/6 richieste di questo tipo l'anno (innovazioni), io pensavo migliaia l'anno).
Microsoft e' stata la piu' lesta di tutti.
:sbavvv: :sbavvv: :sbavvv: :sbavvv: :sbavvv: :sbavvv:
repne scasb
02-11-2004, 15:14
Originariamente inviato da repne scasb
Alla fine ci deve essere da qualche parte un "JNE label_001", 3 cicli di clock se preso, 1 se non preso.
Non è possibile costruire una funzione che restituisce 0 se e solo se le due stringhe confrontate sono uguali?
Ad esempio calcolando la somma dei quadrati della differenza dei caratteri presi come interi a 8 bit ( la stessa cosa si può fare bit per bit o a gruppi di bit). Il test è un JNE sul risultato e l'unica differenza di tempo si ha se il test passa. Non è possibile ottenere un tempo diverso tranne nel caso si conosca la password corretta.
Originariamente inviato da Banus
Non è possibile costruire una funzione che restituisce 0 se e solo se le due stringhe confrontate sono uguali?
Ad esempio calcolando la somma dei quadrati della differenza dei caratteri presi come interi a 8 bit ( la stessa cosa si può fare bit per bit o a gruppi di bit). Il test è un JNE sul risultato e l'unica differenza di tempo si ha se il test passa. Non è possibile ottenere un tempo diverso tranne nel caso si conosca la password corretta.
Sì ;)
L'oggetto che si chiama ufficialmente "Discriminatore di tipologie d'informazione" ed ha il nome di una stella, non e' piu' basato sugli studi di Zipf.[cut]
Da quello che mi descrivi avete sviluppato un algoritmo che esegue pattern matching in casi molto disparati e con una confidenza addirittura migliore dell'uomo in certi casi...
repne scasb
02-11-2004, 16:36
Ma come tutte le reti neurali avrà bisogno di apprendimento...ed il peso dell'algoritmo di apprendimento (quale che sia) non è minimo...
A questo punto mi domando quanti siano gli input necessari per rompere MD5 o SHA1...considera che sono rispettivamente a 128 e 192 bit (se non erro)...
Credo che l'unico limite del tuo metodo sia comunque il tempo...
Certo che una volta terminato l'apprendimento qualsiasi password che viene verificata lettera per lettera potrebbe sempre essere scovata in pochi passaggi...
repne scasb
02-11-2004, 17:38
non riesco ad aprire lo zip...è solo 1 mio problema?
cmq repne, m'hai lasciato a bocca aperta :sbavvv: :sbavvv: :sbavvv:
repne scasb
02-11-2004, 19:16
Originariamente inviato da repne scasb
Ho il vizio di fare gli ZIP in deflat-64, te lo riallego in formato .RAR.
perfetto...
denghiu :D :D
ilsensine
03-11-2004, 09:32
Originariamente inviato da repne scasb
Forse qualche chiarimento potrebbe essere tratto dalla seguente discussione avuta in un altro forum (spero sia "politicamente" corretto linkare un altro forum): http://www.forumzone.it/topic.asp?whichpage=1&Forum_Title=3dfx+Hardware+e+Software+%2D+Discussioni&Topic_Title=A+proposito+di+antialiasing&CAT_ID=25&FORUM_ID=40&TOPIC_ID=6533
dal 21° post (non vorrei ripetere la discussione), si parla di Zipf (lunga discussione ma interessante).
Finito di leggere, è molto interessante.
Se posso permettrermi, è un peccato che non abbiate divulgato i dettagli dei vostri studi: potrebbero essere applicati in campi a cui non avete pensato, in modi limitati solo dalla fantasia dei ricercatori.
Non ve ne faccio una colpa, dico solo..."peccato" ;)
Originariamente inviato da ilsensine
Finito di leggere, è molto interessante.
Se posso permettrermi, è un peccato che non abbiate divulgato i dettagli dei vostri studi: potrebbero essere applicati in campi a cui non avete pensato, in modi limitati solo dalla fantasia dei ricercatori.
Non ve ne faccio una colpa, dico solo..."peccato" ;)
Proviamo a lavorare un po' di immaginazione ;)
- I dimostratori automatici attuali sofffono del problema della non terminazione. O si obbliga le formule logiche a seguire determinate regole (che ne limitano l'espressività), oppure si dimostra che non è possibile trovare un dimostratore che termini sempre (è una conseguenza del teorema di Godel se non canno).
Nonostante questo gli esseri umani dimostrano teoremi e con un'efficenza maggiore dei computer, semplicemente perchè non le provano tutte. Un sistema che invece di tentare stupidamente tutte le combinazioni di formule seguisse certe regole di sostituzione di pattern ricavate dalla tipologia di dato "dimostrazione" potrebbe selezionare le combinazioni migliori per approssimazioni successive provando solo le soluzioni "promettenti". Più o meno come nel tentativo di indovinare una password.
Un sistema simile sarebbe utilissimo ad esempio nel controllo di proprietà formali dei programmi, per dimostrazione di alcuni teoremi matematici e così via.
- Dal post di repne vedo che il sistema riesce a riconoscere molto bene le canzoni distinguendole per autore. Se è altrettanto efficente con i fonemi, distinguendoli dal contesto in cui si trovano, sarebbe un ottimo sostituto degli attuali sistemi di riconoscimento vocale.
Nel post l'accento è sulle capacità di analisi del sistema, ma mi colpisce molto la capacità di previsione. Per ora penso si limiti a prevedere alcune caratteristiche dei dati passati.
Sto pensando a un sistema che sia capace di generare pattern di un certo tipo con un alto livello di confidenza (per l'essere umano). Un software capace di generare pattern con le caratteristiche volute (che può essere voce, testo scritto, codice di un programma) sarebbe una vera rivoluzione.
repne scasb
03-11-2004, 10:30
Premessa: non ho la preparazione sufficiente a capire tutto quello che si è detto finora, ma mi interessa molto l'argomento e, per citarti, quello che c'è nei seguenti paragrafi è 'a naso'.
Originariamente inviato da repne scasb
Ossia: si potrebbe organizzare un "test cieco". In cosa consiste:
1) Supponiamo di avere un certo numero di file (molto grande), e che questi file siano divisibili in caegorie (per esempio A,B,C,D,E....) chiamiamo tale quantita: file da testare.
Quanto e come influisce sul rendimento la dimensione dei singoli file?
2) Mi si fornisca un campione delle categorie (A,B,C,D,E...) sottoforma di una sessantina di Kb di dati (sottoforma di file).
Posso generare le categorie da sottoporre a verifica in maniera casuale? E, in relazione alla precedente domanda, la dimensione del campione di apprendimento quanto dipende dalla dimensione dei singoli file?
maxithron
03-11-2004, 10:50
Finora ero nella confusione più totale, ma il link che hai riportato sull'altro forum, è stato illuminante, quando hai citato gli esempi musicali. Se non ho inteso male quindi, il problema sarebbe di interpretare "gli intervalli" che caratterizzano le diverse categorie che noi "umani" utilizziamo per esprimerci. Riferendomi proprio all'esempio musicale, il progetto è quindi in grado di riconoscere cosa è jazz e cosa non lo è proprio perchè in quello stile gli intervalli e le risoluzioni armoniche che vengono utilizzate, sono un'impronta caratteristica di quello stile e a prescindere dal musicista che sta suonando, come dire, un accordo semidiminuito si potrà trovare molto difficilmente in un brano di musica leggera, ma, allo stesso tempo, nonostante NON sia un accordo caratteristico della musica Jazz, ma invece della musica classica, in un contesto jazz, porta quasi inevitabilmente ad una "risoluzione" del tipo 2, 5, 1 (inteso come sviluppo di accordi sul 2°, 5° e 1° grado della scala diatonica relativa). Quindi, questi (li chiamo semplicemente intervalli), avete ipotizzato (probabilmente a ragione) che esistano e "risolvano" anche per quasi tutte le forme di comunicazione che utilizziamo.
Quindi, dato che anche tutte le forme di scritto, seguono delle regole ben precise (un romanzo è diverso da un trattato come un trattato è diverso da un giallo, etc...) credo che risulti abbastanza chiaro come si possano "intercettare" bit dello stesso "tipo" anche se in linguaggi completamente differenti.
Aggiungo che mi auguro che il VS lavoro vada a buon fine e che possa essere pubblicato in forma libera, perchè sarebbe davvero un ottimo patrimonio per futuri studi.
P.S.[OT]
Ecco, se il programma per rintracciare i portatili rubati fosse già pronto sarei il primo ad acquistarlo, dato che ho subito un furto in casa ed oltre ai miei due pc si son ciullati pure il portatile :incazzed:
repne scasb
03-11-2004, 11:14
Originariamente inviato da repne scasb
Ossia: si potrebbe organizzare un "test cieco". In cosa consiste:
1) Supponiamo di avere un certo numero di file (molto grande), e che questi file siano divisibili in caegorie (per esempio A,B,C,D,E....) chiamiamo tale quantita: file da testare.
2) Mi si fornisca un campione delle categorie (A,B,C,D,E...) sottoforma di una sessantina di Kb di dati (sottoforma di file).
3) Mi si forniscano i file da testare (devono essere molti in modo che mi risulti impossibile dividerli a mano).
4) Sono disponibile a produrre un file di testo che permetta di associare ogni file da testare alla propria categoria d'appertenenza.
Apprendimento supervisionato insomma. La cosa stupefacente (e difficile da credere come ammetti) è l'affidabilità con cui le categorie vengono assegnate. Tutti i sistemi di quel tipo soffrono di due problemi difficili da aggirare:
- dimensione del training set, cioè degli esempi che servono ad addestrare al riconoscimento. Due esempi (come nel caso dello spam) sono quasi sempre insufficienti se si vogliono buone prestazioni.
- overfitting, in pratica se si esagera con gli esempi, o se sono scelti male, il sistema si tara su quelli e tende a sbagliare l'assegnamento alla categoria.
A quanto pare avete trovato il modo di superare questi limiti. Di solito le prestazioni si aggirano sul 90-95%, oltre è difficile andare senza overfitting.
Il tuo sistema mi sembra comunque molto flessibile. E' stato capace di dividere in cluster dei testi (apprendimento non supervisionato). E' capace di eseguire calcoli di ottimizzazione: minimizzare la distanza hash-stringa / hash-password con l'ottimo che coincide con password trovata.
Sistemi così flessibili in ambiti così disparati spesso fanno uso di algoritmi genetici. All'università ho visto un'architettura possibile per sistemi a classificatori che seleziona ad ogni passaggio le regole in base a un algoritmo genetico. Con questo non dico che sicuramente sono stati usati ;)
repne scasb
03-11-2004, 11:38
Originariamente inviato da repne scasb
...
(se hai due categorie storia ed economia la probabilita' che un file da testare sia ambiguo (parli di storie ed economia), aumenta statisticamente all'aumentare delle dimensioni di un file (anche un umano avrebbe problemi a classificare un simile file)).
Ok, tutto quadra con le mie sensazioni. Ma queste sono le stesse sensazioni che mi portano a riflettere su quell'ipotesi di poter utilizzare finite classi di password finite: premesso che ho studiato argomenti simili solo all'esame di algebra ad ingegneria, mi sa che possa funzionare in generale solo a condizione di predire all'inizio qualitativamente e quantitativamente una o più caratteristiche peculiari della password: la grandezza, ad esempio.
Altrimenti come si fa ad affermare che, per 'raffinamenti successivi', si arriverà alla conclusione giusta se il punto di partenza è sbagliato?
repne scasb
03-11-2004, 11:58
repne scasb
03-11-2004, 12:11
L'esempio del segmento mi è chiaro, ma non capisco come un sottosegmento, che a sua volta è costituito da infiniti punti, possa essere paragonato ad una classe di password con le caratteristiche da te citate:
Originariamente inviato da repne scasb
4) Nota la distribuzione (che puo' essere anche una costante), si supponga
di suddividere tutte le "infinite" password pensabili in un numero "finito" di
"classi" ognuna costituita da un numero finito di password (*).
Magari è solo un errore di scrittura.
Altrimenti provo a citarti ancora:
Originariamente inviato da repne scasb
Nota la distribuzione, prendi una "classe" di password (un gruppo di password
che godono di una proprieta' di cui non vorrei discutere)
Se così fosse, ti credo sulla parola e non ti chiederò di discuterne :)
Originariamente inviato da repne scasb
Mi pare di capire che "giochi" poco con gli infiniti. Faro' un esempio "riduttivo" per spiegare:
Molto interessante l'esempio ;)
Dividendo in 2 il segmento ogni volta si individua univocamente un punto dell'insieme (non numerabile) in un'infinità numerabile di passi.
Comunque l'insieme delle possibili password è solo molto grande... avendo abbastanza informazioni a disposizione (e il sistema proposto cerca di ricavarle dal tempo di elaborazione del tentativo) si può ridurre parecchio il numero di potenziali password, fino a ottenerne una sola.
Abbiamo risolto il problema della sovrassaturazione
Questa è una bella novità perchè ci hanno insegnato che è una conseguenza del modo di procedere (training set).
Partendo da Zipf, abbiamo per cosi' dire trovato un "legge universale di Zipf"
Questo basterebbe per passare tutto il tempo a fare conferenze per il mondo ;)
Inaspettatamente, in quanto fa quello che il "buon senso" non consiglierebbe di fare (da qui tutta una serie d'implicazioni tipo: ma in questi anni di studio cosa abbiamo capito dei meccanismi di cio' che chiamiamo intelligenza?)
Infatti molti metodi classici seguono questa falsariga, come l'esplorazione dell'albero degli stati nel gioco degli scacchi.
Nel riconoscimento delle immagini di solito si ricorre alla ricostruzione 3D (la mia università ha depositato un brevetto recentemente a riguardo), ma siamo tutti d'accordo che per riconoscere un amico non stiamo a fargli la telemetria :p
Secondo me invece avete trovato un modo molto efficiente per riconoscere la regolarità che probabilmente è già stato "inventato" dal cervello.
Originariamente inviato da Banus
Comunque l'insieme delle possibili password è solo molto grande...
già...
...
si può ridurre parecchio il numero di potenziali password, fino a ottenerne una sola.
E qui in generale io direi: fino ad ottenerne un certo numero che poi saremo costretti a provare con la forza bruta.
...
avendo abbastanza informazioni a disposizione (e il sistema proposto cerca di ricavarle dal tempo di elaborazione del tentativo)
La domanda sarebbe quindi: le informazioni su una black-box digitale, che possiamo ricavare esaminandone solo il tempo di risposta, sono (possono essere) generalmente sufficienti per ricavare sempre un insieme di password papabili la cui dimensione non scoraggi un brute-force?
Secondo me invece avete trovato un modo molto efficiente per riconoscere la regolarità che probabilmente è già stato "inventato" dal cervello.
Io penso qualcosa di simile: hanno trovato un modo per riconoscere una classe di regolarità inaspettatamente molto simile a quella riconoscibile da ciò che chiamiamo intelligenza umana.
Originariamente inviato da Angus
E qui in generale io direi: fino ad ottenerne un certo numero che poi saremo costretti a provare con la forza bruta.
La domanda sarebbe quindi: le informazioni su una black-box digitale, che possiamo ricavare esaminandone solo il tempo di risposta, sono (possono essere) generalmente sufficienti per ricavare sempre un insieme di password papabili la cui dimensione non scoraggi un brute-force?
Per un computer provare 1000 password o provarne 1 non fa differenza... In teoria il metodo si può applicare finchè le classi sono composte da un singolo elemento. Che sia conveniente fermarsi prima dipende dal contesto. In caso di accesso a un login linux, dopo ogni tentativo si aspetta un certo tempo (per evitare attacchi DoS) e quindi è meglio fare meno tentativi possibili.
Le informazioni ricavabili dal tempo di risposta sono sufficienti se la password è "in chiaro". Nel caso di funzioni di hash il problema è molto più difficile, ma repne sostiene che il suo sistema dovrebbe essere in grado ancora di guidare i tentativi con sufficiente accuratezza.
Riguardo all'applicabilità sul DNA (se ne parlava in un post precedente):
http://www.letteratour.it/altro/A01dna01.htm
Anche le sequenze non codificanti del DNA seguono la legge di Zipf e probabilmente si prestano bene a un'analisi con l'algoritmo di repne. Chissà che non si facciano scoperte rivoluzionarie :D
Idea: se l'algoritmo è così buono da riuscire a compensare gli effetti della funzione di hash, non potrebbe allo stesso modo guidare la ricerca di una chiave privata nota la chiave pubblica in un sistema di crittazione asimmetrico?
Sei ti codificassi tipo 10.000 stringhe di 100 caratteri l'una con un algoritmo di criptazione...
Ti fornirei le 10.000 stringhe codificate...posto che solamente io possa conoscere la chiave...saresti in grado di determinare quali delle stringhe in chiaro sono composte da lettere esclusivamente maiuscole e quali da lettere esclusivamente minuscole ?
Ovviamente non possono esistere stringhe in chiaro che contengono sia lettere maiuscole che lettere minuscole...
Se ho capito bene il tuo programma potrebbe riconoscere situazioni del genere...
repne scasb
03-11-2004, 14:20
repne scasb
03-11-2004, 14:26
Originariamente inviato da repne scasb
Questo e' l'intento. Tutto sta a capire se funziona e "quanto" funziona (in base a quanto detto fino ad adesso, intravedi qualla falla logica?).
L'unica cosa che mi lascia perplesso (ma non so quanto può essere influente, non so come funziona il tuo algoritmo) è l'influenza che possono avere errori nel calcolo della distribuzione dei valori nella funzione di hash (ottenuta con password generate casualmente) e alla scelta delle password delle classi. Credo che si possa riformulare come "rumore" aggiunto ai dati e quindi a una valutazione della "robustezza al rumore" nel particolare caso, ovvero se l'incertezza introdotta dalla scelta dei campioni è inferiore alle differenze dovute al test della password.
Se supera questo test l'unica alternativa è usare per il test della password (hash) una funzione che richiede un unico test (JNE ad esempio) e che impiega lo stesso tempo (al clock) per ogni password. La somma dei quadrati delle differenze sembra avere queste caratteristiche (non ho controllato i dettagli).
E un'interpretazione che mi ha fatto "ponderare" per lungo tempo su: cos'e' intelligente a questo punto?
Io me lo sono chiesto vedendo algoritmi genetici raggiungere risultati incredibili pur in presenza di input molto scarsi. Un esempio è un algoritmo di selezione di circuiti elettronici analogici con l'obiettivo di realizzare una certa funzione. L'algoritmo ha generato un circuito che esegue il cubo di un segnale con una precisione maggiore di tutti i cricuiti esistenti, e non si è ancora capito come funziona...
Risposta salomonica: è intelligente quello che non capiamo :p
repne scasb
03-11-2004, 14:39
repne scasb
03-11-2004, 14:40
ilsensine
03-11-2004, 14:46
Originariamente inviato da repne scasb
E un'interpretazione che mi ha fatto "ponderare" per lungo tempo su: cos'e' intelligente a questo punto?
<sarcasm>
Dicesi intelligenza quella cosa che ti fa credere che il contenuto di un CD musicale sia per sua natura "diverso" da (ad esempio) il numero 15 ;)
Basta altrimenti mi prendono per matto a me :D
repne scasb
03-11-2004, 14:49
Originariamente inviato da repne scasb
Il sistema e' stato in grado di ricostruire "l'albero genetico" di un paleo-batterio con un affidabilita' del 100% (non so quanti anni di lavoro fatti dal "discriminatore di tipologie.........." in (mi pare di ricordare) 22.76 secondi).
:eekk:
i campi di applicabilità del tuo algoritmo non hanno proprio confini...
(anche se a me pare strano che il 96% del codice genetico in genere "non serve" (ameno stando a quanto dicono i genetisti)).
Infatti si è scoperto recentemente che il codice ridondante è capace di modificare i geni creando delle varianti:
http://www.lescienze.it/specialarchivio.php3?id=9748
E' come se parte del codice genetico fosse "compresso" per codificare struttura e funzione delle proteine in maniera molto più efficiente.
Un passo alla volta.
:p
E' molto facile avere idee, difficile invece verificarle e trovare qualcosa che funzioni... ;)
Suggerimenti sull'algoritmo di codifica ?
repne scasb
03-11-2004, 15:13
Non sarei in grado di inventare un algoritmo solido... Ne ho già uno sotto mano...
maxithron
03-11-2004, 15:34
Originariamente inviato da ilsensine
<sarcasm>
Dicesi intelligenza quella cosa che ti fa credere che il contenuto di un CD musicale sia per sua natura "diverso" da (ad esempio) il numero 15 ;)
Basta altrimenti mi prendono per matto a me :D
ogni riferimento al "numero primo" è puramente casuale aggiungerei :fiufiu:
ilsensine
03-11-2004, 15:35
Originariamente inviato da maxithron
ogni riferimento al "numero primo" è puramente casuale aggiungerei :fiufiu:
Dopo millenni di storia l'unica cosa che siamo in grado di "inventare" sono...numeri.
Disarmante.
Recupero un vecchio post:
Originariamente inviato da repne scasb
3) Questa metodologia non sia adatta a sistemi di risposta non sistematici (non va bene per ottenere una password da internet (ma ci sto lavorando; internet sembrerebbe avere un tempo di risposta secondo una distribuzione "tipica")).
La distribuzione tipica che si trova nella stragrande maggioranza dei casi è quella di Pareto, che per caso è pure l'equivalente continuo della legge di Zipf... infatti hanno lo stesso andamento rettilineo lineare nel grafico log/log.
repne scasb
03-11-2004, 15:54
maxithron
03-11-2004, 16:00
repne scasb, se (come spero) riuscirete in questo vostro lavoro, con un pò di fantasia si potrebbe applicarne il principio al mondo della criminologia......nascerebbe di fatto la pre-crimine :D
repne scasb
03-11-2004, 16:03
:eek: mi fate paura :D :D
Non oso pensare a cosa potrebbe realizzare la Microsoft... :p
Originariamente inviato da maxithron
repne scasb, se (come spero) riuscirete in questo vostro lavoro, con un pò di fantasia si potrebbe applicarne il principio al mondo della criminologia......nascerebbe di fatto la pre-crimine :D
Qualcuno ha visto troppi film :D
Ciao ;)
repne scasb
03-11-2004, 16:12
maxithron
03-11-2004, 16:12
Originariamente inviato da repne scasb
Per non parlare del "traduttore universale" alla star trek, proposto da uno dei componenti del "team".
ma il vero "target" sarebbe quello di trovare "l'impronta" dell'immaginazione. Credo che anche l'immaginazione (soggettiva) di ognuno di noi sia il risultato di schemi più o meno delineati.
Mi spiego meglio:
Un determinato avvenimento (culturale, naturale, visivo, uditivo) è in grado di provocare più o meno la stessa reazione in molti soggetti (es. un film drammatico difficilmente susciterà risate in chi lo vede) e questo perchè anche i sentimenti possono essere prevedibili in virtù di alcune forme di input.
Forse quella che crediamo essere la nostra "complessità intellettiva", potrebbe anche rivelarsi meno prodigiosa di quel che immaginiamo. (intendevi questo quando ti chiedi del'intelligenza?")
maxithron
03-11-2004, 16:13
Originariamente inviato da cionci
Qualcuno ha visto troppi film :D
Ciao ;)
dici a me? :mbe:
:D
repne scasb
03-11-2004, 16:13
I file li devo fare di 112 byte... Per te va bene uguale ?
Ciao ;)
Originariamente inviato da repne scasb
In effetti, anche tu hai ragione.
Non lo dicevo per smontare quello che diceva...lo dicevo perchè la pre-crimine è una citazione da Minority Report...un film veramente bello ;)
repne scasb
03-11-2004, 16:19
repne scasb
03-11-2004, 16:20
maxithron
03-11-2004, 16:23
Originariamente inviato da cionci
Non lo dicevo per smontare quello che diceva...lo dicevo perchè la pre-crimine è una citazione da Minority Report...un film veramente bello ;)
Che tra () ho "letto" per la prima volta circa vent'anni fa su un libricino della serie "urania". Il titolo era lo stesso ma in italiano:
"Rapporto di Minoranza".
Però....con l'algoritmo di repne si risparmierebbe la fatica a 3 sfigati di vivere costantemente in un liquido simil-amniotico :D
Originariamente inviato da repne scasb
Si, spero che per ogni file ci siano sufficienti dati per superare la fase di consistenza (112 byte per ogni file da testare sono pochi, sono invece ottimi per costruire il campione).
Dammi te il numero...basta che sia un multiplo di 16 ;)
repne scasb
03-11-2004, 16:31
Originariamente inviato da maxithron
"Rapporto di Minoranza".
Invece a me ricorda ancora di più un racconto di Schekley.
Grazie a un chip di apprendimento estremamente flessibile si costruiscono degli "uccelli da guardia" che volano sopra le città per individuare potenziale criminali in base al loro tracciato cerebrale. Il chip intanto cerca di trovare le caratteristiche che individuano un criminale al 100%. Il sistema funziona così bene che gli uccelli generalizzano il concetto di "vita da salvare" agli animali e alle piante, fino a rendere impossibile la vita agli uomini...
ho letto tutto e sono molto interessato!
a parte i complimenti d'obbligo a repne scasb, in sostanza il concetto alla base di tutto (semplificato in modo superficiale) sta nell'individuare affinità tipologiche su un qualsivoglia insieme di dati digitali (omogenei e quindi comparabili) considerando la ricorrenza di "parole chiave", ovvero entità (numeriche) individuabili a partire dalla particolare densità statistica riscontrabile nel contesto (il dato esaminato) e che risultano caratterizzanti del contesto stesso.
In pratica in qualche modo una generalizzazione della legge di zipf, dico bene?
ma allora perchè, repne scasb, in un tuo reply dici di andare al di là di questa legge, e che non c'entra quasi più niente? in che senso siete andati "oltre"? a me, da quello che ho capito, pare che il concetto sia fondamentalmente lo stesso, ma può benissimo essere che abbia capito male io...
ad ogni modo, pur ritenendo queste ipotesi del tutto ragionevoli e sensate, mi chiedo quanto effettivamente l'algoritmo possa essere efficace in termini percentuali (naturalmente una catalogazione esatta al 100% non è ottenibile, neppure da un'essere umano come tu stessa hai sostenuto), cioè mi domando fino a che punto questi rapporti numerici (perchè di questo si tratta) possano risultare caratterizzanti della tipologia, visto che non sono condizioni nè necessarie nè sufficienti a priori, pur ammettendo che nella maggior parte dei casi ci azzeccano.
chiudo facendoti ancora i complimenti e gli in bocca al lupo per il tuo lavoro, speranzoso di non vederlo finire chiuso nella polvere di un cassetto....
ciao! :)
repne scasb
03-11-2004, 17:00
Originariamente inviato da repne scasb
Sto insistendo, ancora, affinche' si pubblichi il tutto.
Appunto. Adesso o mi prendi nel team (sono disposto a fare il caffè) o pubblichi tutto.
:sofico:
Originariamente inviato da repne scasb
Una tipologia d'informazione non e' definita tramite rapporti numerici ottenuti dalle code di distribuzione della legge di Zipf (non piu').
capisco, quindi avete scoperto qualcosa di veramente innovativo! per quanto mi scervelli non riesco neanche lontanamente a immaginare qual'è il criterio alla base del vostro algoritmo, veramente complimenti!! ora mi rodo dalla curiosità ;)
Sto insistendo, ancora, affinche' si pubblichi il tutto.
se ciò succedesse e i risultati corrispondessero alle aspettative anche solo in piccola parte sareste probabilmente da nobel. pensateci 10^100 volte prima di vendere la VOSTRA idea!!
ancora in bocca al lupo!
Daniele.
Originariamente inviato da Krammer
se ciò succedesse e i risultati corrispondessero alle aspettative anche solo in piccola parte sareste probabilmente da nobel. pensateci 10^100 volte prima di vendere la VOSTRA idea!!
ancora in bocca al lupo!
Microsoft si è comprata i diritti di usarla :eek:
Non avranno depositato nessun brevetto altrimenti si sarebbe sicuramente saputo :D
Credo che non permetteranno pubblicazioni finchè non avranno depositato un brevetto per coprirsi. Poi la portata dell'idea è veramente enorme... pensa solo all'intercettazione di comunicazioni terroristiche o riconoscimento di volti ai check-in degli aereoporti... capisco la prudenza di repne.
repne scasb
03-11-2004, 17:44
Mandamelo in posta...ci penso io...
Ti invio un PVT con la mia mail...
repne scasb
03-11-2004, 18:00
Sto uppando su Lycos il test che mi hai mandato...
Ti sono arrivati i dati per il test ?
Se volete vedere il test su riconoscimento visivo: http://utenti.lycos.it/ci0nci/TEST_DOC.RAR
repne scasb
03-11-2004, 19:15
repne scasb
03-11-2004, 19:29
repne scasb
03-11-2004, 19:49
Originariamente inviato da cionci
Se volete vedere il test su riconoscimento visivo: http://utenti.lycos.it/ci0nci/TEST_DOC.RAR
:eek: :eek: :eek: :eek: :eek:
complimenti!!
Originariamente inviato da repne scasb
Direi: ancora no....per poco (mi pare di aver capito).
Allora ho capito male :p
Sto osservando le immagini, soprattutto i casi in cui ha sbagliato almeno una volta. In alcuni casi ha azzeccato il materiale, come nei test 25 e 30, oppure il colore, come 28 e 31. Ma in altri casi non ho proprio idea del perchè abbia fatto certe associazioni, ad esempio 26.
Interessante...
Posso sapere quante immagini conteneva il database usato per l'image retrieving?
:)
repne scasb
03-11-2004, 20:57
repne scasb
03-11-2004, 20:59
repne scasb
03-11-2004, 21:31
Originariamente inviato da repne scasb
Allora il database conteneva 34 oggetti con 2 immagini per oggetto (68 immagini), le due immagini per oggetto sono chiaramente diverse sotto vari aspetti (distanza, angolo, iluminazione....).
Scusa, non voglio assolutamente sminuire il vostro lavoro (mentre leggevo la discussione credo di aver assunto in viso l'espressione di un bambino che vede per la prima volta qualcosa di nuovo
:D ), ma non vi sembrano un po' pochine 68 immagini ?
Un banalissimo algoritmo basato sul color histogram può dare risultati ottimi su database di qualche centinaio di immagini (diciamo che arriviamo al migliaio).
Utilizzando una tecnica a joint histograms si possono processare tranquillamente archivi di centinaia di migliaia di immagini, ottenendo dei risultati molto buoni (i primi hit sono sempre azzeccatissimi, a meno che l'immagine di partenza non sia "unica" nel suo genere).
Del fatto che quanto avete creato era per i testi / suoni, e funziona anche con le immagini , beh di questo tanto di cappello :)
repne scasb
03-11-2004, 21:49
Originariamente inviato da repne scasb
Di piccolo ho solo questo test visuale, ci sono test specifici fatti con "visi" di persone, consistenti in migliaia di immagini (tipo foto tessera).
Già meglio ;)
Certo, ma: prendi due immagini identiche, scomponi la prima come un puzzle e ricomponile in modo errato. Le due immagini sono diverse, ma la distribuzione del colore sara' identica. Il software le "percepira" correttamente come "diverse".
Infatti qui cade miseramente l'utilizzo del singolo istogramma...è per quello che ho tirato in ballo il joint histograms che non prende in esame solo il colore, ma anche altri elementi come gli edge, il gradiente e chi più ne ha più ne metta.
Abbiamo "creato" ad arte, immagini monocromatiche con la medesima distribuzione della luminosita' (le abbiamo riprocessate affinche' la distribuzione di luminosita' fosse identica), il software riconosce correttamente le immagini; da cui abbiamo "desunto" che non vede la "luminosita" o meglio che non utilizza la distribuzione di luminosita' (neanche locale) per discriminare un'immagine.
Infatti il software non può e non deve basarsi su una unica metrica per valutare la similarità... Può darsi che la luminosità non venga valutata (i criteri possono essere moltissimi) o che non sia l'unica cosa che viene valutata.
La cosa si fa sempre + interessante :)
B|4KWH|T3
10-11-2004, 12:22
Salve, a tutti.
Ho letto con attenzione il topic e devo dire che sono rimasto notevolmente affascinato dall'argomento. Mi sono venute in mente mille cose (diciamola tutta, stanotte nn ci ho dormito).
Tra l'altro studio biotecnologie quindi mi ha interessato particolarmente l'applicazione di questo programma allo studio dei genomi.
Volevo scrivere 2 cose a repne (nel primo punto scriverò cazzate perchè parlo di cose che nn conosco, nel secondo sarò già più a mio agio):
1) Ti poni problemi su cosa sia l'intelligenza. Io non la farei così drammatica :) Mi sembra che abbiate creato un programma straordinario, in grado di "discrimanare" (così pare, ma con certe forti limitazioni, poi mi spiego) ad un livello pressochè uguale a quello dell'uomo.
Per quel poco che posso aver capito del vostro programma, esso è capace di "catalogare" i segnali digitali in base al grado di differenza in array multidimensionali, valutare la distanza (o qualcosa del genere), e infine discriminare i risultati. (probabilmente nn ci ho capito niente). Dimmi con parole povere che fa perchè mi sto rodendo !!!! :P
Nell'esempio delle fotografie in formato tessera mi è venuto in mente un articolo di qualche tempo fa che parlava di uno studio proprio sul riconoscimento del viso di altre persone da parte dell'essere umano. Lo studio dimostrava come tale riconoscimento avvenisse in base a pochi "punti caldi" che venivano presi in considerazione delle persone. Immagino che il programma non operi in modo molto diverso :) Ha però rispetto all'uomo il vantaggio di una memoria decisamente migliore.
Volevo chiederti, per cercare di capire meglio come funziona, come si comporta il sistema in situazioni "limite"o ambigue. Mi sono venuti in mente dei test che si possono fare (e che sicuramente avrete fatto, quindi potrai rispondere). Ad esempio:
uso come apprendimento 10 foto di un cavallo nero e 10 foto di un orso polare, come si comporta con la foto di un cavallo bianco (o magari di un orso bruno)? Come si comporta se uso nell'apprendimento vari tipi di illuminazione? vari tipi di sfondi? Se nelle foto uso illuminazioni e sfondi diversi da quelli usati nell'apprendimento? Quando combino questi elementi?.
In definitiva, quanto è "flessibile" il sistema?
Se poi non lo è così tanto diciamo che possiamo ancora dare un po' di fiducia al nostro cervello, O no? :)
2) Qui entriamo in un argomento che conosco fortunatamente. Che tipo di approccio usate per la ricerca su introni ed esoni? Cercate le ORF? Usate la regola del GT/AG? Usate i frammenti spezzettati delle genoteche o li riunite?
Avete mai pensato ad usare questo sistema per la predizione della struttura secondaria/terziaria delle proteine o della struttura secondaria degli RNA?
A me invece è venuto un modo di funzionamento tipicamente informatico...
Perchè non usarlo come disassemblatore ?
Gli proponi come training set...sorgenti e rispettivi programmi compilati...
Chiaramente deve ricostruire il sorgente a partire dal prgoramma compialto...che te ne pare ? E' fattibile ?
repne scasb
10-11-2004, 13:49
repne scasb
10-11-2004, 13:58
Originariamente inviato da B|4KWH|T3
Avete mai pensato ad usare questo sistema per la predizione della struttura secondaria/terziaria delle proteine o della struttura secondaria degli RNA?
Cioè il folding delle proteine?
Proprio ora sul mio PC sta girando un programma di calcolo distribuito che esegue computazioni sul ripiegamento delle proteine. Richiede calcoli estremamente complessi.
In un altro post repne scasb ha detto che il suo programma ha mostrato alcune capacità di previsione. Potrebbe funzionare.. ovviamente non darebbe risultati certi, ma nemmeno i modelli matematici dei legami li danno :p
Mi sembrava di averteli già divisi per directory... 60 erano maiuscoli e 60 minuscoli... oppure parli dei 10mila file di risultato ?
repne scasb
10-11-2004, 14:36
Ok...però poi ti invio altri 10000 campioni da testare ;)
Ti ho alegato un file zip che contiene un file ace...altrimenti se lo zippavo e basta non mi rientrava nel limite dei 25 Kb...che differenza :cool:
repne scasb
10-11-2004, 15:08
B|4KWH|T3
10-11-2004, 15:09
Originariamente inviato da Banus
Cioè il folding delle proteine?
Esatto, avevo pensato a una prova sui file pdb (protein data bank).
Dopo tutto, sono file di testo con una sequenza di amminoacidi (e molto altro in verità).
Un test potrebbe essere strutturato così:
Si costruiscono a partire dai file pdb file di testo con la struttura primaria. Negli stessi file pdb è descritta anche la struttura secondaria, si può quindi correlarla in qualche modo alla struttura primaria e istruire il programma.
Gli si danno in pasto file di altre proteine la cui struttura è nota e si verifica se ci azzecca.
Per la struttura terziaria diventa un po' complesso o_O
repne scasb
10-11-2004, 15:16
Originariamente inviato da B|4KWH|T3
Per la struttura terziaria diventa un po' complesso o_O
Quello che stavo pensando. Per la struttura secondaria da quello che so ci sono pochi possibili arrangiamenti, mentre nella struttura terziaria la complessità è paurosamente alta.
Il programma di repne è in grado di riconoscere testi o musica o immagini perchè bastano relativamente pochi parametri per discriminare due testi o due immagini. La struttura 3d di una proteina ha tantissime configurazioni possibili... il programma in base alla propria "esperienza" potrebbe trovare al massimo una struttura probabile.
B|4KWH|T3
10-11-2004, 16:45
Sempre a proposito di genomi et similia, mi è venuta in mente una cosa che avevo pensato tempo fa.
Mi rendo conto che non c'entra nulla, ma dato che siamo OT, ne approfitto, soprattutto perchè vi vedo molto ferrati in statistica (io sono solo un povero studentello :P )
Come già detto in altri post, la maggior parte del genoma eucariotico è detto "spazzatura" perchè non sembra avere alcun ruolo funzionale.
Ora, assumendo che sia effettivamente così (escludendo quindi qualsiasi tipo di ruolo anche solo struttururale o regolativo), è possibile dimostrare che la dispersione del genoma è evolutivamente favorevole?
Mi spiego meglio, assumiamo che le mutazioni siano eventi assolutamente casuali e restringiamo il caso alle mutazioni puntiformi (per semplificare). Sappiamo che nella replicazione la DNA polimerasi ha una fedeltà dell'ordine di 10^(-9). Il fatto che le unità funzionali siano "disperse" in un mare di DNA non funzionale, abbassa in qualche modo la probabilità che il DNA funzionale subisca mutazioni? Cioè, si può dimostrare statisticamente che questa dispersione contribuisce a "stabilizzare" il genoma?
B|4KWH|T3
10-11-2004, 16:48
Originariamente inviato da Banus
Quello che stavo pensando. Per la struttura secondaria da quello che so ci sono pochi possibili arrangiamenti, mentre nella struttura terziaria la complessità è paurosamente alta.
Il programma di repne è in grado di riconoscere testi o musica o immagini perchè bastano relativamente pochi parametri per discriminare due testi o due immagini. La struttura 3d di una proteina ha tantissime configurazioni possibili... il programma in base alla propria "esperienza" potrebbe trovare al massimo una struttura probabile.
Ci ho pensato anche io.
Sarebbe un bel casino anche solo l'apprendimento.
Però sarei davvero curioso di vedere che cosa riesce a tirare fuori! :)
Originariamente inviato da B|4KWH|T3
Come già detto in altri post, la maggior parte del genoma eucariotico è detto "spazzatura" perchè non sembra avere alcun ruolo funzionale.
Ora, assumendo che sia effettivamente così (escludendo quindi qualsiasi tipo di ruolo anche solo struttururale o regolativo), è possibile dimostrare che la dispersione del genoma è evolutivamente favorevole?
Una notizia (http://www.lescienze.it/specialarchivio.php3?id=9748) recente di Le Scienze riportava che influenzano l'espressione di altri geni. Leggo qui (http://www.letteratour.it/altro/A01dna01.htm#3) che probabilmente gli introni sono tutt'altro che spazzatura. Considerando sequenze di tot basi (da 3 a 8) si osserva una distribuzione delle frequenze che rispetta la legge di Zipf. Quindi è probabile che gli esoni codifichino un "linguaggio ad alto livello" ancora sconosciuto.
Dal momento che il programma di repne sfrutta una "legge universale" di Zipf sarebbe uno strumento di indagine ancora più valido, probabilmente.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.