domenica 19 giugno 2011

Internet Explorer non supporterà WebGL, per Microsoft non è sicura


Internet Explorer 9 non supporterà la tecnologia grafica WebGL. Secondo il team Security Engineering di Microsoft, WebGL non è ancora sufficientemente sicuro. Anche se Internet Explorer 9 ha fatto grandi passi avanti nel migliorare il supporto standard, la versione 10 di Internet Explorer è impostata in modo simile per includere tutta una serie di nuove caratteristiche, ma una cosa che Microsoft non ha nemmeno toccato è WebGL, una specifica che permette di creare pagine web in grafica 3D utilizzando API basate sulle OpenGL. In In un post sul blog di TechNet i tecnici di sicurezza della società hanno spiegato che non credono che ci sia un modo per implementarlo in modo sicuro. 

Tre preoccupazioni principali sono elencati nel post: WebGL espone il codice privilegiato ad attacchi esterni; dipende troppo pesantemente dal codice di terze parti per la sicurezza, ed è troppo suscettibile di attacchi denial of service. Il primo di questi è forse il più significativo. L’implementazione di WebGL non dipende solo dagli sviluppatori dei browser, ma anche dai produttori di schede video. I driver video sono notoriamente instabili e presentano bug, e gli sviluppatori di software 3D devono sforzarsi per garantire ai loro programmi un uso dell'hardware 3D in modo tale da non causare problemi. Le pagine web contengono spesso codice ostile, volutamente scritto per provocare bug e difetti nel software. 

Per combattere questo, i browser si sono tipicamente irrobustiti, attraverso l'uso di sandboxing, la riduzione dei privilegi, e altre tecniche, per minimizzare l'impatto dei difetti. In passato, i driver video non hanno mai dovuto affrontare questo tipo di minaccia, e così non sono mai stati scritti per far fronte a questo tipo di problema. WebGL cambia questo quadro, e dà accesso a pagine web ostili relativamente libere di attaccare i driver vulnerabili. Questo porta al secondo punto, molti di questi difetti non esistono nella specifica WebGL in sé, ma piuttosto nei driver video scritti da ATI, NVIDIA e Intel. Anche se gli attacchi possono essere forniti dal browser, questo rende difficile per un produttore di browser combatterli efficacemente, perchè non è il browser ad essere sfruttato. 

Il meglio che il browser può fare è mettere in blacklist i driver vulnerabili noti, ma questo porta a sua volta ad una esperienza utente molto irregolare. WebGL non è stata scritta nel vuoto, e alcuni di questi problemi sono stati considerati nella sua progettazione. OpenGL ha avuto anche funzioni aggiuntive che consentono ai driver di base di eseguire la più rigorosa validazione del codice 3D, con il preciso intento di rendere più sicuri gli scenari WebGL. Terzo punto di Microsoft è che queste tecniche non sono provate e sono ancora incomplete (estensioni esistenti ma che non sono sufficientemente robuste). 

Anche se per una volta l'idea di Microsoft di rifiutare qualcosa per motivi di sicurezza può essere considerata ridicola, i notevoli sforzi nella creazione di nuove metodologie di sviluppo software e l'incorporamento di sicurezza in ogni aspetto del design di un prodotto e lo sviluppo hanno dato i suoi frutti. Windows Vista e Windows 7 hanno entrambi avuto un track record sostanzialmente migliore rispetto a Windows XP per quanto concerne falle di sicurezza, presentandone meno rispetto a Windows XP. La riluttanza di implementare una specifica che non rispetti le linee guida di sicurezza è comprensibile. 

I cinici potrebbero sostenere che l'argomento sicurezza è una cortina di fumo e che questo è semplicemente il fatto che Microsoft ancora una volta, rifiuta uno standard aperto a favore del suo, di proprietà, Direct3D. Tale interpretazione è più difficile da difendere in un contesto che ha visto Microsoft partecipare attivamente allo sviluppo di HTML5 e promuovere vigorosamente l'uso di HTML5 standard aperto anche a scapito della sua tecnologia proprietaria. La società sembra sforzarsi in buona fede per la giusta causa, almeno per quanto riguarda le specifiche HTML5 e affini. Microsoft, inoltre, non è il solo ad avere un problema con la qualità dei driver video. Firefox 4, come Internet Explorer 9, utilizza Direct2D e Direct3D per accelerare il disegno e l'animazione delle pagine web. 

Queste API, sia l'accelerazione hardware, sono fortemente dipendenti dalle qualità dei driver. Sebbene l'uso di queste API è per molti versi molto controllato e limitato, è Firefox che li chiama Javascript, piuttosto che WebGL, e gli sviluppatori di Firefox hanno ancora dovuto mettere in blacklist un gran numero di driver, soprattutto anziani, a causa di problemi con i crash e la corruzione dello schermo. Semplicemente non sono sufficientemente prevedibili, e quando si bloccano, gli effetti possono essere disastrosi. 

Redmond può affrontare un problema simile con, Silverlight 5, che sarà utilizzato per applicazioni basate su browser, e tra l'altro, includerà un supporto per la grafica Direct3D. Questo potrebbe aprire ai browser gli stessi problemi WebGL, almeno per quei sistemi con Silverlight 5 installati e attivati. WebGL è per molti versi una controparte naturale per l'API Canvas 2D che molti browser sostengono, incluso Internet Explorer 9, estendendo la grafica del browser nella terza dimensione. Il post sul blog riconosce l'opportunità di WebGL come tecnologia simile, ma dice che l'azienda non implementerà nulla che non soddisfi le sue esigenze di sicurezza.

Nessun commento:

Posta un commento