lunedì 31 agosto 2009

Disponibile OpenOffice 3.1.1


OpenOffice ha recentemente rilasciato la versione 3.1.1 della suite per ufficio, sotto la versione 3 della GNU Lesser General Public License (LGPLv3). Il download è disponibile sia per Windows che per Linux e Mac OS X. In questa versione sono stati corretti una serie di bug, compreso una potenziale vulnerabilità di sicurezza. Le nuove funzionaltà invece verranno introdotte nella prossima versione 3.2, di cui è prevista l'uscita in novembre.

Il team di OpenOffice raccomanda di non scaricare, almeno per il momento, da siti di terze parti la suite in quando il sito di OpenOffice è temporaneamente non disponibile.

domenica 30 agosto 2009

Multi boot OS su Internet

Il servizio web netboot.me offre un boot loader universale che può essere installato su una chiavetta USB, masterizzato su CD o su un disco floppy. Questo permette agli utenti di iniziare una selezione dei sistemi operativi su Internet utilizzando un unico supporto di avvio. Molti sistemi operativi specialmente i sistemi di installazione delle principali distribuzioni di Linux possono essere avviati direttamente via rete. Netboot.me utilizza il boot loader gPXE recuperando il menu attuale dei sistemi operativi e successivamente permette di avviare il sistema selezionato. È inoltre possibile memorizzare configurazioni personalizzate utilizzando gli URL chainload per avviare il boot loader. Un utente quindi deve solo presentare l'URL del kernel e initrd assiene con i relativi parametri richiesti. Inoltre tutti coloro che hanno preparato una configurazione di avvio interessante, sono pregati di informare gli operatori in modo che possano essere incluse nel menu di avvio e di renderla accessibile a tutti. Per il momento, l'unico diffetto è che il servizio non ha ancora raggiunto la piena maturità.

venerdì 28 agosto 2009

Attacco al protocollo WPA( Wi-Fi Protected Access)

Nel lontano novembre 2008, si è scoperto un metodo "grezzo" che permetteva di effettuare il cracking del protocollo WPA(Wi-Fi Protected Access). Dopo circa un anno i ricercatori giapponesi, Toshihiro Ohigashi e Masakatu Morii, hanno perfezionato la techica di attaco rendendola piu efficace. L'obiettivo dell'attacco è quello di determinare il keystream durante la comunicazione tra l'Access Point (AP) e il client, senza che sia necessario conoscere la chiave originale. Il flusso dei pacchetti che transitano dall'AP al client possono essere decifrati. Se Ad esempio l'aggressore possiede il keystream è possibile crittografare dei pacchetti manipolati, come ad esempio ARP falsificati o pacchetti ICMP, e successivamente trasmetterli ad un cliente. La techica descritta precedenemente è praticamente una variante dell'attacco chopchop sviluppata originariamente da Martin Beck e Erik Tews che non permette di penetrare in una rete wireless, ma comporta la ricostruzione del checksum di un pacchetto intercettato e infine inviato all'AP. Infatti se il calcolo del checksum del pacchetto è corretto viene accettato dall'AP. Il protocollo TKIP(Temporal Key Integrity Protocol) viene generalmente utilizzato con il protocollo WPA, in quanto offre una varietà di misure di sicurezza, tra cui la funzionalità chiamta anti-chopchop. Se ad esempio un client riceve più di due pacchetti con validi Message Integrity Check (MIC) entro i 60 secondi, la connessione wi-fi viene terminata.


Inoltre il TKIP Sequence Counter (TSC) rende anche più macchinoso l'injection dei pacchetti intercettati limitando cosi attacchi di tipo replay. I ricercatori giapponesi hanno sperimentato una techica che permette di includere un attacco di tipo Man-in-the-middle in modo che il client non ha più un collegamento diretto con l'AP. Il PC utilizzato per l'attacco viene quindi usato come un ripetitore.

Durante la fase di attacco, l'attaccante mantiene semplicemente i pacchetti del client prima di inoltrarli alla AP. Questa tecica permette di bypassare i TKIP Sequence Counter (TSC). Ulteriori dettagli possono essere trovati in "A Practical Message Falsification Attack on WPA" reperibile in formato pdf:

http://jwis2009.nsysu.edu.tw/location/paper/A%20Practical%20Message%20Falsification%20Attack%20on%20WPA.pdf

Per il momento, raccomando di utilizzare WPA2 che è supportato nei router Wi-Fi piu moderni.

martedì 25 agosto 2009

Wear leveling statico e dinamico

Nel precedente articolo Wear leveling NAND FLASH ho specificato che la tecnica del wear leveling dinamico, al contrario di quanto possa sembrare a prima vista, non può essere considerata in assoluto una tecnica equa.


Mentre per quando riguarda il wear leveling statico, questa volta vengono utilizzati tutti i blocchi per fare in modo che l’usura si distribuisca uniformemente su tutta la memoria, offrendo di fatto un netto aumento della vita del dispositivo rispetto a quanto previsto dalla tecnica del wear leveling dinamico.

Il principio di funzionamento è semplice: ogni blocco è dotato di un contatore che tiene traccia dei suoi erase count, quindi per ogni operazione di I/O viene scelto di volta in volta quello con il valore più basso.Come sappiamo il wear leveling dinamico non offre un trattamento equo tra i blocchi contenenti dati statici e quelli contenenti dati dinamici; con il wear leveling statico viene introdotta invece una raffinatezza tecnica che consente di rimettere in gioco anche i blocchi che sembrerebbero destinati a una situazione di guasto. Viene quindi fissata una soglia sull’erase count di utilizzo di ciascun blocco, soglia al di sotto della quale un blocco viene dichiarato come riutilizzabile anche se contiene dati statici che non necessiterebbero quindi di essere modificati. Il trattamento di tali dati prevede semplicemente lo spostamento in un’altra locazione con erase count più elevato.Questa tecnica è evidentemente più complessa rispetto al wear leveling dinamico ma bisogna considerare un fattore che in alcuni dispositivi può rivelarsi: il calo di performance dovuto allo spostamento di dati che altrimenti non sarebbero coinvolti nelle normali operazioni di I/O. Tale svantaggio può però essere ben visto nell’ottica di un consistente aumento della vita media del dispositivo. Lo sviluppo dei dispositivi NAND Flash e in continuo sviluppo.




lunedì 24 agosto 2009

Vulnerabilità Denial of Service in Kaspersky anti-virus

Recentemente è stata scoperta una grave vulnerabilità di tipo Denial of Service in Kaspersky Internet Security 2010 e Anti-Virus 2010, che tramite l'invio di un URL appositamente creata è in grado di sovraccaricare la cpu impedendo al browser di accedere a qualsiasi pagina web. Il problema principale è dovuto nel parsing degli indirizzi URL in quando inserendo ad esempio un URL contiene più di 1024 punti(tabella ascii valore decimale 46) consecutivi , provoca un drastico aumento del carico della CPU da parte dell'eguibile avp.exe. La falla può essere attivata tramite un link contenuto in una pagine web oppure inviando una e-mail. Il bug è stato verificato in Kaspersky Internet Security 2010 9.0.0.459 per Windows Vista Enterprise e Kaspersky Anti-Virus 2010 9.0.0.463 per Windows XP Home Edition. Al momento non vi è un aggiornamento per risolvere il problema.

http://esempio.com/.................[ .xY dove 1024< Y]

sabato 22 agosto 2009

Firewall Services Module(FWSM) ICMP Vulnerability

Recentemente è stata scoperta una vulnerabilità(Remotely Exploitable) che colpisce il Firewall Services Module (FWSM) in particolar modo la serie Catalyst 6500 series Switches e Cisco 7600 Series Routers. Tutte le versioni del software 2.x, 3.xe 4.x non aggiornate sono al momento vulnerabili. Security Cisco afferma che malipolando i pacchetti ICMP è possibile far si che il processore mandi in esecuzione tutti i possibili thead con il risultato che il sistma non può inoltrare piu pacchetti(praticamente un Dos)e quinti il FWSM) non è piu in grado di essere raggiuncibile da remoto. Il comando show np 2 stats puo essere usato per verificare se il problema si è gia verificato mostrando il senguente messaggio di errore: np_logger_query request. Per avere maggiori informazioni per quando riguarda l'aggiornamento del software, consultare http://www.cisco.com/en/US/products/products_security_advisories_listing.html oppure:

Solutione:

Upgrade to version 3.1(16), 3.2(13) or 4.0(6)
http://www.cisco.com/public/sw-center/index.shtml

Adium 1.3.6 risolta vulnerabilità criticha

Gli sviluppatori di Adium, hanno annunciato il rilascio della versione 1.3.6 del loro popolare Instant Messenger per Mac OS X. L'aggiornamento consente di risolvere la vulnerabilità critica segnalata nella libreria libpurple(Bug in Pidgin Instant Messenger). Questa libreria come sappiamo, viene utilizzata da Adium e altri client di messaggistica istantanea, tra cui Pidgin e Meebo. Adium supporta una vasta gamma di servizi, come AIM, MSN, Yahoo!, Jabber, ICQ, Facebook e MySpace IM chat. La release 1.3.6 implementa il plug-in aggiornato che permette di chattare con Facebook senza la necessità di collegarsi al sito. L'aggiornamento del plug-in di facebook permette ad ad esempio di bloccare le notifiche e-mail indesiderate. Gli sviluppatori stanno gia lavorando per la prossima release di Adium 1.4, con una carrelata di novità come ad esempio il supporto al social network Twitter. Il ramo di Adium 1,4 richiede Mac OS X 10.5 o superiore e gli utenti interessati a testare l'attuale versione beta possono aderire al beta testing consentendo 'Update per le versioni beta quando disponibile' nella loro attuale installazione di Adium, oppure è possibile scaricare direttamente dalla pagina del download. Maggiori informazioni circa il rilascio può essere trovato nel changelog. Adium 1.3.6 è disponibile per il download per Mac OS X 10.4 o superiore ed rilasciato sotto la licenza GNU General Public License (GPLv2).

giovedì 20 agosto 2009

Bug in Pidgin Instant Messenger

CoreSecurity ha recentemente scoperto una vulnerabilità critica nel client Pidgin Instant Messenger. La causa del problema è un bug nella libreria libpurple utilizzati da Pidgin che gestisce i messaggi Msn Slp: una sequenza di messaggi appositamente creati può provocare un buffer overflow ed esporre il sistema all'esecuzione arbitraria di codice, sovrascrivendo i segmenti di memoria. L'attacco consiste nel mandare due messaggi consecutivi MSNSLP. Il primo è utilizzato per memorizzare un slpmsg con i nostri ID di sessione, e la seconda per attivare la vulnerabilità. Il nostro obiettivo è quello di raggiungere è invocare la funzione memcpy () in msn_slplink_process_msg. Prima di tutto, abbiamo bisogno di inviare un messaggio MSN SLP con un offset pari a zero, che costruisce praticamente un oggetto slpmsg, in modo che Libpurple è in grado di memorizzarla in memoria. Il seconda messaggio MSNSLP deve avere un valore di offset diverso da zero. infine la chiamata alla funzione msn_slplink_message_find () ritorna l'oggetto precedente, invece di NULL. Ciò significa che siamo in grado di scrivere il contenuto dei dati in una posizione arbitraria inferiore ad esempio all'indirizzo 0x01ffffff(dimensione del pacchetto inviato con il primo messaggio) - len, che consente l'esecuzione di codice arbitrario in quasi tutte le piattaforme. Infine sono stati scoperti altri due bug minori: il primo in grado di mandare in crash il sistema nel caso di un trasferimento di file le cui dimensioni eccedano la memoria disponibile, e il secondo che porta ad analoghe conseguenze a causa di un denial of service causabile da un messaggio Msn Slp creato appositamente. La vulnerabilità è stata fissata in Pidgin / libpurple 2.5.9. Se volete stare al sicuro dovete semplicemente installare la versione più recente. L'ultima versione per Windows rimane, comunque, la versione 2.5.8. Altre applicazioni, come Adium sono interessati dalla vulnerabilità.

Wear leveling NAND FLASH

Il wear leveling è una tecnica che aiuta a mantenere il corretto funzionamento delle celle di memoria NAND Flash ottimizzando il loro sfruttamento nel tempo. Per saperne qualcosa in piu, leggetevi DISPOSITIVI FAMOS (CELLE DI MEMORIA FLASH) . Il wear leveling limita i cicli di scrittura e cancellazione delle celle di memoria NAND Flash, ormai diffuse nei Solid State Disk. L’uso continuo in scrittura di un numero limitato di blocchi porta quindi ad un malfunzionamento generale della memoria, in quanto i cicli di scrittura sono limitati e si danneggiano prima degli altri. La gestione del wear leveling è a carico del controller NAND Flash in quanto esso gestisce tutte le operazioni di I/O tra il sistema host e le celle di memoria. Nella maggior parte dei casi il controller si avvale di una tabella di traduzione degli indirizzi per generare di volta in volta le più opportune corrispondenze tra gli indirizzi LBA (Logical Block Address) utilizzati dal sistema host e gli indirizzi PBA (Physical Block Address) utilizzati per mappare fisicamente le celle come mostrato nell’immagine. Esistono diversi approcci per implementare il wear leveling e normalmente più il metodo è complesso e raffinato, più lunga sarà la vita della memoria NAND Flash in cui è utilizzato. Prima di trattare in modo dettagliato i metodi di wear leveling è bene fare una breve premessa sui tipi di dati memorizzati in una memoria di massa. Essi possono essere suddivisi in due categorie:

* Dati statici: informazioni aggiornate raramente per le quali si può affermare che risiederanno in determinate locazioni di memoria per l’intero ciclo vita del dispositivo. A titolo d’esempio, si possono citare la maggior parte dei file del sistema operativo.

* Dati dinamici: file soggetti a continui cambiamenti, cancellazioni e riscritture. A tale categoria appartengono per esempio i file temporanei del sistema, cache di programmi frequentemente utilizzati, file personali di lavoro soggetti a frequenti modifiche.

Allo stesso modo andiamo quindi a identificare due principali implementazioni del wear leveling da parte del controller NAND Flash:

* Wear leveling dinamico: il controller scrive nei blocchi vuoti disponibili contraddistinti dal più basso tasso di cancellazione, ovvero in quei blocchi che sono stati cancellati meno volte rispetto a tutti gli altri;

* Wear leveling statico: il controller seleziona un blocco di destinazione con il più basso tasso di cancellazione, lo cancella se necessario, scrive i dati ricevuti dal sistema host e si assicura che gli eventuali dati precedentemente presenti nel blocco di destinazione siano spostati in un’altra locazione caratterizzata da un tasso di cancellazione inferiore ad una certa soglia. Nel wear leveling dinamico ogni cella di memoria è caratterizzata da un parametro denominato erase count, ovvero il numero totale di cancellazioni a cui è stata sottoposta la cella.Questo parametro influenza la scelta delle celle da parte del controller NAND Flash per le successive operazioni di scrittura e riscrittura, in quanto vengono scelte le celle con erase count più basso. L’algoritmo di wear leveling dinamico fa crescere l’erase count in modo costante su tutte le celle utilizzate nei processi di cancellazione e scrittura.


Esaminando un’ipotetica memoria contenente dati statici e dinamici ripartiti nelle percentuali indicate in figura. La tecnica del wear leveling dinamico sarà nettamente efficace sul 25% dei blocchi, ma cosa succede al restante 75%? A lungo andare l’erase count di quel 25% di blocchi crescerà uniformemente fino al limite fisico della memoria, mentre il restante 75% resterà con un erase count praticamente insignificante, vista la natura statica di dati ivi memorizzati. È evidente quindi che la tecnica del wear leveling dinamico, al contrario di quanto possa sembrare a prima vista, non può essere considerata in assoluto una tecnica equa, come dimostrato da questo particolare scenario di utilizzo.

DISPOSITIVI FAMOS (CELLE DI MEMORIA FLASH)



La più recente evoluzione delle EEPROM è la flash memory, un tipo di EEPROM che non permette di indirizzare singoli bit, ma viene scritto a blocchi proprio come un disco fisso. Questo, fra l'altro, accelera il processo naturale di deterioramento dell'isolante che assicura ai transistor la loro proprietà di mantenere lo stato per lungo tempo, e accorcia di molto la longevità delle flash rispetto alle EEPROM in termini di numero di cicli di cancellazione sopportabili (dell'ordine del milione di cicli per le flash memory).In compenso, le flash memory risultano molto più economiche da fabbricare delle EEPROM e hanno riscosso uno straordinario successo, come tutti sanno, come memorie di massa per tutti i tipi di dispositivi digitali. Esistono due tipi di flash memory, a seconda del tipo di porta logica usata per implementare una cella da un bit: i chip NOR e i chip NAND.I chip NAND, i più usati, hanno migliori prestazioni, maggior densità, minor costo e maggior durata ma, a differenza dei NOR, non si prestano bene ad accessi non sequenziali. Pertanto, nelle applicazioni in cui il chip flash deve ospitare un programma da eseguire direttamente senza trasferirlo prima in RAM, come il BIOS di una motherboard, è necessario usare flash memory basate su chip NOR. Per poter meglio capire come fisicamente funzionano le memorie flash, occorre precisare che esse sono realizzate in tecnologia FAMOS (Floating-gate Avalance-injection MOS), che non sono altro che transistor MOS a doppio gate: il primo gate, detto control gate, è un gate tradizionale, il secondo, chiamato floating gate, è immerso in uno strato di polisilicio, isolato tramite l’ossido di silicio e accoppiato capacitivamente con l’elettrodo relativo al gate di controllo. (Per una migliore comprensione di questi argomenti occorre, comunque, avere una certa conoscenza di cosa è un semiconduttore e di come funzionano i dispositivi MOS). In tali memorie il dato binario è rappresentato dalla presenza o meno di una carica di elettroni nel floating gate. La soglia del MOS cambia a seconda della carica immagazzinata. Durante la programmazione si controlla l’iniezione di carica nel Floating-Gate in maniera da variare la tensione di soglia VT della cella e provocare uno spostamento della caratteristica corrente-tensione IDS/VGS del transistor. All’assenza di carica nella Floating-Gate viene associato il livello logico “1” (transistor spento = cella cancellata), mentre alla presenza di carica è associato il livello logico “0” (transistor acceso = cella programmata). Durante la programmazione si porta la soglia del transistore a valori tali da non permettergli la conduzione, impiegando il meccanismo di iniezione a valanga di elettroni caldi “hot electron” (CHE: Channel Hot Electrons), che consiste in un processo energetico che fornisce agli elettroni energia sufficiente per superare la barriera di potenziale che nasce tra Floating-Gate, ossido sottile e Bulk. Per la cancellazione invece viene sfruttato l’effetto tunnel Fowler-Nordheim. Ma spieghiamo in dettaglio in cosa consistono questi due effetti, iniziando con il CHE. Le tensioni applicate ai morsetti di gate e drain regolano i campi elettrici nella zona in prossimità del drain in cui è maggiore la presenza di portatori caldi (ossia più energetici) ed è più probabile l'iniezione di questi verso il gate. Tale potenziale può favorire o meno un'iniezione di portatori di carica (elettroni o lacune) attraverso l'ossido. Per permettere l'iniezione delle cariche libere del canale verso il gate sono necessarie più condizioni. Per prima cosa è indispensabile una significativa popolazione di portatori con valori di energia elevati e superiori, nel caso degli elettroni, ai 3.1 eV della barriera nell'ossido. Affinchè questo accada il campo elettrico laterale deve raggiungere intensità elevata. Inoltre la tensione di gate non deve essere così elevata da portare il transistore in zona lineare, ma neppure così basso da rendere la popolazione di cariche libere nel canale troppo esigua per produrre correnti misurabili. Con l’applicazione di una tensione di polarizzazione sul Control-Gate, viene creato attraverso l’ossido un campo elettrico elevato, che permette agli elettroni di guadagnare energia, divenire “caldi”, e superare la barriera di ossido, causando l’iniezione a valanga dei portatori, che vengono intrappolati nel polisilicio del gate flottante, che essendo isolato può conservare tale carica per un tempo infinitamente lungo. La programmazione di una cella viene quindi realizzata applicando una tensione elevata ai terminali di gate e di drain, mentre il terminale di source viene mantenuto a massa. Gli elettroni, divenuti caldi ed intrappolati nel polisilicio del gate flottante, vanno a ridurre il potenziale dell’elettrodo. Questo meccanismo è quindi un processo autolimitato in quanto la carica negativa accumulata nel gate flottante riduce il campo elettrico e di conseguenza è più difficile rendere “caldi” e iniettare gli elettroni. Essendo il biossido di silicio, SiO2, un ottimo isolante, la carica intrappolata nella gate flottante può essere mantenuta per molti anni e senza che il circuito venga alimentato. La scrittura della cella per Channel-Hot-Electrons può portare all’intrappolamento di elettroni ad alta energia nell’ossido sovrastante la drain e ciò impedisce l’ulteriore accumulazione di elettroni nella Floating Gate, provocando un aumento della tensione di soglia ed un aumento del tempo di scrittura. Secondo il fenomeno quantistico del tunnelling Fowler-Nordheim, gli elettroni con contenuto energetico inferiore alla barriera di potenziale possono attraversare l’ossido di silicio purché questo sia sufficientemente sottile e siano verificate opportune specifiche condizioni di campo elettrico. La cancellazione viene realizzata mantenendo il gate a massa e applicando al source una tensione elevata, che permette agli elettroni di uscire dalla gate flottante ed iniettarsi nel source, grazie al meccanismo di tunnel Fowler-Nordheim. I tempi tipici per l’esecuzione dell’operazione di cancellazione variano da 100 ms a 1 s. Durante la cancellazione, la giunzione di source, sotto l’ossido, si piega per azione del campo elettrico verticale e si formano coppie elettrone-lacuna per tunnel di elettroni; gli elettroni fluiscono nella source mentre le lacune nel subtrato, ma non tutte, perché alcune, guadagnando energia per azione del forte campo elettrico verticale, passano la barriera di potenziale dell’ossido e si intrappolano nell’ossido stesso. Queste cariche positive intrappolate nell’ossido rendono più lenta la cancellazione e degradano la cella. L’intrappolamento di cariche nell’ossido per Band-to-Band Tunnel (BBT), durante la cancellazione, o l’intrappolamento di cariche nell’ossido per Channel-Hot-Electron(CHE) producono problemi macroscopici come la perdita di dati (Data Retention) per degradazione della qualità dell’ossido e problemi di Endurance, cioè resistenza della cella al numero di cicli di scrittura/cancellazione.

martedì 18 agosto 2009

Linux da zero


La comunità LFS ha comunicato la disponibilità della release 6.5 di Linux From Scratch, la distribuzione che consente di costruire una macchina linux partendo praticamente dal nulla e compilando ogni parte del sistema operativo(mi ricorda la mia gentoo). Questa nuova versione infatti include il Linux kernel 2.6.30.2, il GCC 4.4.1 le glibc 2.10.1., udev 1.45 e infine bash 4.0.A mio parere, l'idea di base è che installare i singoli pacchetti uno per uno porterà ad una comprensione dei meccanismi interni di un sistema Linux funzionante La guida per LFS 6.5 è disponibile come libro sul sito ufficiale.

Kernel Mode Settings


Cosa è il Kernel Mode Setting? “Il Kernel Mode Setting è una funzionalità che consente di impostare la risoluzione dello schermo e la profondità del colore (il numero di bit utilizzati per rappresentare un singolo pixel grafico), così come altri parametri che hanno a che fare con l’inizializzazione della parte grafica.” Implementare il KMS nel Kernel Linux significa configurare all’avvio della macchina la scheda grafica secondo le impostazioni indicate dai parametri di boot. Come sappiamo lo stack grafico utilizzato per anni è diviso su più livelli, e non tutti interni al kernel: vga driver (kernel), framebuffer driver (kernel), DRM driver (kernel), X drivers (userspace), DRI e DDX driver (userspace), e altre librerie di gestione (userspace). Il Kernel Mode Setting implica lo spostare funzionalità dal layer userspace dell’X Server in quello interno al Kernel Linux. Il Kernel Linux 2.6.31 attualmente in fase di sviluppo potrebbe avere “un Kernel Mode Setting molto più maturo”. Già a partire dalla Release Candidate 1, infatti, è stato reso noto che si stanno stabilizzando il più possibile i driver ATI e nVidia in merito proprio all’utilizzo del KMS. I driver Intel invece sono stati fin da subito capaci di gestire il KMS (ndr almeno su Moblin).

I vantaggi del KMS. Il Kernel Mode Setting apporterà vantaggi a diversi livelli. Ecco i principali:

* Il controllo delle impostazioni verrà spostato e “centralizzato” nel Kernel Linux. Un solo modulo sarà coinvolto con conseguente minore ridondanza di codice, snellimento e uniformità delle procedure di gestione, nonché riduzione dei livelli software “attraversati”;

* Sarà possibile implementare “un processo di boot più fluido”, con un’unica splash grafica dall’avvio del kernel fino all’entrata nel desktop grafico, e senza reset del monitor o riscalature grafiche;

* La gestione “del suspend e del resume” dell’hardware grafico avverà tutta nel kernel, anche in questo caso il tutto risulterà più veloce e snello;

* Sarà possibile eseguire un “Server X come utente non privilegiato” (No-Root X), e questo a tutto vantaggio della sicurezza del sistema;

* Si potrà ipotizzare la scrittura di “un nuovo driver del framebuffer”, più veloce e funzionale;

* Il Kernel Linux potrà gestire delle “splash grafiche di diagnostica”, per mostrare agli utenti in maniera più semplice eventuali messagi di warning (”blue penguin of death”).

Parlare tecnicamente di Kernel Mode Setting non è banale, bisogna prima di tutto sapere come il Kernel e X Server interagiscono tra di loro. Un buon punto di partenza può essere la documentazione del modulo DRI, e in particolare il Control Flow Diagram riportato sul sito ufficiale del progetto. Questo diagramma mostra i componenti che vengono usati quando l’X Server, o più in generale un applicativo grafico che usa l’infrastruttura X.Org, disegna un oggetto grafico.

I blocchi in alto corrispondono agli applicativi utente, il blocco in basso rappresenta il kernel e l’hardware grafico, nel mezzo trovate una serie di blocchetti che corrispondo alle librerie e ai demoni coinvolti nell’operazione di Rendering. Tipicamente il server X può accedere all’hardware grafico in due modi: passando per il modulo DDX o per quello DRI/DRM (Direct Rendering). Nel caso dell’accesso DDX il server X usa questo modulo come intermediario, passandogli i comandi e i dati di rendering. Il modulo DDX a sua volta accede all’hardware grafico passando o meno per il kernel. Nel caso dell’accesso DRI/DRM invece il server X, o chi per esso, comunica direttamente con l’hardware grafico, eliminando un passaggio e accelerando il tutto (meno copie di dati, e accesso diretto alla RAM mappata). In questo caso la libreria DRI in userspace si interfaccia col driver DRM in kernel space che gli fornisce l’accesso desiderato. Il principale componente che lavora sul KMS è il driver DRM, che ora implementa delle nuove IOCTL per l’accesso da user space, cioè da parte degli applicativi grafici. La riscrittura del driver DRM ha comportato una revisione delle librerie in user space, è nata così la libreria DRI2. Il modulo DDX, come si può apprendere anche dal Wiki di X.Org, è stato snellito di molto. Il processo di boot cambia. All’avvio la gestione dell’inizializzazione grafica verrà fatta dal Kernel, mentre l’X Server dovrà eventualmente preoccuparsi solo di impostare i corretti parametri, cioè risoluzione, profondità di colore, frequenza di refresh, e così via. Ovviamente se i parametri impostati dal Kernel Linux sono gli stessi usati dall’X Server allora la reimpostazione non sarà necessaria e questo a vantaggio dell’utente finale che non accuserà il passaggio dall’uno all’altro gestore grafico. Un’altra piccola rivoluzione che il Kernel Mode Setting si porta dietro ed è quella del No-Root X, ovvero dell’X Server eseguito come utente non privilegiato. Da quel che sembra l’X Server ha bisogno dei diritti di root per 5 motivi:

1. I/O probing;
2. tty/VT probing e controllo;
3. invocazione di IOCTL del driver DRM;
4. PCI probing;
5. Gestione input;

Di questi cinque punti quelli che più bloccano l’esecuzione di X come utente non root sono il primo, il terzo e il quarto; il KMS sembra sbloccarli. Per i punti 2 e 5 esistono delle soluzioni alternative a quelle attuali, e che passano per librerie wrapper e il sistema di sicurezza PAM. Per saperne di piu , vi rimandiamo alla documentazione del Kernel Linux per una comprensione piu approfondita. Gli utenti Ubuntu al momento possono seguire due strade. Possono provare ad installare un kernel 2.6.30 secondo quanto indicato sul Wiki, e questo dovrebbe andare bene per chi ha una scheda grafica Intel. Gli utenti che hanno una scheda grafica nVidia o ATI possono invece utilizzare una delle due spanshot di Ubuntu 9.10 rilasciate dal team “xorg crack pushers” sui canali PPA di Canonical. Occhio, Ubuntu non ha ancora un supporto completo al KMS. Chi invece vuole usare il KMS di Moblin deve semplicemente allinearsi all’ultima versione di questa distribuzione e installarla ovviamente su un dispositivo compliant, il che vuol dire su una macchina con Intel Atom e processore grafico Intel.

lunedì 10 agosto 2009

Firefox 3.5.2

È disponibile per il download la versione 3.5.2 di Firefox. Questa nuova release risolve vulnerabilità critiche. Gli utenti che già utilizzano la versione 3.5.1 riceveranno automaticamente l’aggiornamento in queste ore; ricordiamo che è comunque possibile avviare manualmente la ricerca degli aggiornamenti attraverso l’apposito comando nel menu Aiuto.Per quando riguarda il ramo 2.0, non vengono più rilasciati aggiornamenti di sicurezza e stabilità, mentre per il ramo 3.0.x non saranno più rilasciati aggiornamenti di sicurezza a partire dal gennaio 2010. Consiglio di effettuare quanto prima il passaggio alla versione 3.5 (dopo aver verificato i requisiti di sistema).

Windows
Sistemi operativi

* Windows 2000
* Windows XP
* Windows Server 2003
* Windows Vista

Requisiti hardware minimi

* Pentium 233 MHz (Consigliato: Pentium 500MHz o superiore)
* 64 MB RAM (Consigliato: 128 MB RAM o superiore)
* 52 MB di spazio libero su disco

Mac
Sistemi operativi

* Mac OS X 10.4 e successivi

Requisiti hardware minimi

* computer Macintosh con processore Intel x86 o PowerPC G3, G4 o G5
* 128 MB RAM (Consigliato: 256 MB RAM o superiore)
* 200 MB di spazio libero su disco

Linux
Requisiti software

Alcune distribuzioni Linux potrebbero fornire pacchetti specifici con requisiti diversi.

* Firefox non potrà funzionare in assenza delle seguenti librerie o pacchetti:

* GTK+ 2.10 o successivo
* GLib 2.12 o successivo
* Pango 1.14 o successivo
* X.Org 1.0 o successivo

* Per una funzionalità ottimale, raccomandiamo le seguenti librerie o pacchetti:

* NetworkManager 0.7 o successivo
* DBus 1.0 o successivo
* HAL 0.5.8 o successivo
* GNOME 2.16 o successivo

venerdì 7 agosto 2009

L'open source come una minaccia?

Con l’ultimo bilancio Microsoft si è resa conto di una caduta dei profitti. Fra le cause viene citato anche il movimento open source tra cui Red Hat e Canonical, sono tra i motivi che hanno causato una perdita di profitti di una buona fetta di mercato. Il «pinguino» Linux gira su milioni di personal computer, telefoni cellulari, console per videogiochi. Lo usano i governi perché costa meno e le aziende perché è più solido di Windows. Per Steve Ballmer (il grande capo di Microsoft) è «un cancro», ma molti imprenditori ormai ne sfruttano le possibilità. Alla fine si chiude affermando che più l’open source guadagna mercato e più calano le vendite per Microsoft. Forse questa è la volta buona per una netta vittoria della comunità opensource contro Windows che regna incontrastato gia da diversi decenni?

martedì 4 agosto 2009

Manga giapponese dedicato a Ubuntu


Ubunchu è un manga dedicato interamente alla distribuzione Ubuntu realizzato da Hiroshi SEO, un fotografo e manga artist giapponese nonchè appassionato di open-source e utente di Ubuntu. Il fumetto tradotto in diverse lingue tra cui l'italiano, parla di tre ragazzi (Akane, Masato e Risa) appartenenti a un club di system-admin che fanno la loro conoscenza della distribuzione litigando durante l’installazione di un nuovo computer. Il senso di lettura per il primo episodio è stato mantenuto come quello Giapponese ( quindi da destra verso sinistra ). Mentre per il secondo episodio ( e per i successivi che verranno tradotti) il senso di lettura è da sinistra verso destra come per i normali fumetti.

1° episodio: www.yougeek.it/userfiles/Ubunchu-Episodio1.pdf
2° episodio: www.yougeek.it/userfiles/ubunchu-italiano-episodio-2-YouGeek.pdf

Spettacolare eheheheh.