LLVM è un progetto in continua evoluzione: benché non sia proprio la sua prima applicazione, è facile averci a che fare compilando i driver per la scheda video. Più in generale, per chi ancora non lo sapesse, si tratta di una macchina virtuale per compilare disparati linguaggi: C/C++, CLang, ecc. anche come plugin per GCC 4.5 o, superiore. Come tale è potenzialmente soggetto all’inserimento di codice malevolo.
Ed è così che ClamAV, popolare antivirus open source, ha pensato d’inserire nell’ultima versione il supporto al compilatore LLVM JIT. ClamAV 0.96 può ora indagare anche i sorgenti in C gestiti da LLVM alla ricerca di pericoli per il sistema. Per ottenere il supporto occorre necessariamente rimuovere ogni versione di ClamAV installata e compilarne i sorgenti. Un’ottima guida è presente sul blog di Sourcefire.
Un passo avanti importante per ClamAV. Certo, LLVM non è un’infrastruttura di massa e pure tra gli sviluppatori stenta a decollare perché ancora (parzialmente) instabile. Eppure il fatto che un’applicazione come ClamAV presti attenzione alle vulnerabilità di LLVM è un aggiornamento degno di nota. Molto bene così.
Via | LLVM
sherpya
08 set 2010 - 12:21 - #1recente come notizia forse saranno due anni
clangUnLinguaggio-.-
08 set 2010 - 12:34 - #2“per chi ancora non lo sapesse, si tratta di una macchina virtuale per compilare disparati linguaggi: C/C++, CLang, ecc”
evidentemente, ti riferisci pure a te stesso. clang è il compilatore che sfrutta llvm per compilare c/c++ e object-c, e non un linguaggio di programmazione.
per quanto riguarda la preparazione di chi cura questo blog non mi cito, psuedo-informatici del ca-ts-o -.-
aCaB
08 set 2010 - 16:20 - #3Invito quanti interessati a leggere il link originale, in lingua inglese.
L’autore del post non ci ha evidentemente capito nulla.
sherpya
08 set 2010 - 17:23 - #4questa non l’ho capita:
“ClamAV 0.96 può ora indagare anche i sorgenti in C gestiti da LLVM alla ricerca di pericoli per il sistema”
Conte Zero
08 set 2010 - 21:40 - #5Sigh…
Ragazzi su, capisco voler far notizia, ma da un blog comunque per gente “del settore” come questo certe castronerie… tolto (per così dire) il fatto che l’artcolo originale non dice minimamente niente del genere ci sono, oltre a una difficoltà nel tradurre dall’inglese, vari errori indice di poca conoscenza del settore e inabilità ad usare anche solo wikipedia.
L’articolo originale parla del supporto a LLVM per compilare direttamente da C al volo, becera traduzione di JIT, Just In Time, pezzi di ClamAV stesso, tipo i filtri e le definizioni dei pericoli, ‘zzo centra analizzare i sorgenti per virus? Come poi se io, scrittore di virii, dopo aver scritto il mio nuovo scintillante virus controllassi per sicurezza il sorgente… non si sa mai mi sia preso un virus nel virus!!! (E per la cronaca virus che attaccano file sorgenti: 0).
Poi appunto Clang un linguaggio… signori miei, quando ne va della qualità del vostro operato, non dico www.llvm.org, ma it.wikipedia.org è fatto per salvarvi sapete? LLVM, prende una forma intermedia semidigerita del codice sorgente (l’Intermediate Representation, o IR) e la compila ottimizzandola in codice binario eseguibile per la particolare architettura (es.: x86 o arm). Cosa produce dal codice sorgente in C (o C++, ObjC, etc etc) questa IR? Un amanuense (non sapeste cosa sia cogliete il suggerimento di Wikipedia qui sopra ;) ) con molta memoria e pazienza? Nooo, un programma! E quale? Fino a un annetto fa, almeno per C++ ancora era un pezzo di GCC, che però essendo sviluppato su precetti ben diversi offriva un IR molto povero di informazioni aggiuntive su cui ottimizzare l’eseguibile, poi, dopo anche l’”acquisizione” e patrocinio di LLVM da parte di Apple è stato portato a stabile e funzionante il vero e proprio frontend di LLVM, Clang appunto, che ora si mastica C, C++ e ObjectiveC e li passa in IR a LLVM che li trasforma in binario… ben lontano da un linguaggio di programmazione direi, no?
E infine, questa che ancora non aveva precisato nessuno “Certo, LLVM non è un’infrastruttura di massa e pure tra gli sviluppatori stenta a decollare perché ancora (parzialmente) instabile”… Solo per sapere qual’è la percentuale di gente che usa Mac OS X 10.6? Un po’ più di una percentuale che “stenta a decollare” o usa programmi “(parzialmente) instabili” no? Beh, questo potrà sconvolgervi, ma con XCode 4, l’ultima versione rilasciata con Snow Leopard (Mac OS X 10.6 appunto) Clang+LLVM è l’infrastruttura di compilazione di default, non più GCC! Hai usato un’applicazione su Snow Leopard con una versione più recente di un annetto? 90% è stata compilata con Clang+LLVM… notevole per un progettino di nicchia, ignorato dagli sviluppatori, che stenta a decollare eh? ;)
Nessuno nasce onniscente… ma nel portarsi verso quell’obiettivo Google e Wikipedia sono vostri amici… amici cari che vi salvano da magre figure! ;)
Ciao, per il resto (di solito) bel sito.
Ric
Fabiooo
09 set 2010 - 09:42 - #6Lo scettro di Lpt on fire! con sto Moretti è seriamente a rischio…
sherpya
10 set 2010 - 01:10 - #7da windows e’ ancora una tragedia :D
ASSURDO
11 set 2010 - 18:27 - #8Capolavoro di castroneria e ignoranza, Federico Moretti fai meglio a cambiare nome, o a scappare all’estero oppure sei un genio e lo hai fatto per avere pubblicità…… che risate…..
come mai così pochi commenti
questa è veramente colossale, è il monumento di come uno si butta a fare cose di cui non ha capito una mazza, e di come le cose si fanno alla carlona, di come i raccomandati rubano il posto a quelli bravi… vai a zappare vergognati tu, ma vergonatevi ancora di più voi che avete accettato di fargli fare una cosa per cui non aveva la competenza…. e poi ci lamentiamo dei politci