mercoledì 21 aprile 2021

I controlli ActiveX sono stati l’errore più grande del Web

Introdotti nel 1996, i controlli ActiveX di Internet Explorer si sono rivelati una pessima idea per il web. Hanno causato seri problemi di sicurezza e hanno contribuito a cementare il dominio di Internet Explorer su Windows, che ha portato alla stagnazione del Web prima di Firefox.

Cosa erano i controlli ActiveX?

I controlli ActiveX sono un tipo di programma che può essere incorporato in altre applicazioni. Microsoft li ha utilizzati per diversi scopi, ad esempio è possibile incorporare controlli ActiveX nei documenti di Microsoft Office. Tuttavia, qui ci stiamo concentrando su ActiveX per il Web. A partire da Internet Explorer 3.0 nel 1996, Microsoft consente agli sviluppatori Web di incorporare controlli ActiveX nelle loro pagine Web.

Allora, quando visitavi una pagina web, Internet Explorer ti chiedeva di scaricare ed eseguire tutti i controlli ActiveX che la pagina web specificava.

I plug-in più diffusi di Internet Explorer come Adobe Flash, Adobe Shockwave, RealPlayer, Apple QuickTime e Windows Media Player sono stati implementati utilizzando i controlli ActiveX.

La sicurezza era un problema sin dall’inizio

I ’10 sono stati un tempo diverso, che ci ha portato anche macro pericolose nei documenti di Office. In origine, i controlli ActiveX erano come qualsiasi altro programma sul tuo computer. Quando hai avviato un controllo ActiveX, aveva accesso completo a tutto sul tuo computer.

In altre parole, potresti visitare una pagina Web in Internet Explorer e visualizzare un messaggio che indica che la pagina Web desidera eseguire un gioco o un altro programma. Se sei d’accordo, il controllo ActiveX sarebbe in grado di fare tutto ciò che vuole con tutti i file e programmi sul tuo computer. È facile vedere come questo fosse l’ideale per un malware.

Questo era in netto contrasto con la tecnologia Java di Sun. All’epoca, Java veniva utilizzato anche per eseguire programmi su pagine web all’interno dei browser web. Tuttavia, Java ha tentato di limitare ciò che questi programmi potevano fare attraverso l’uso di una sandbox. Java nel browser Web alla fine aveva una lunga storia di falle di sicurezza, ma almeno Java stava cercando di limitare ciò che le applicazioni potevano fare.

Un articolo di CNET da 1997 cattura l’atteggiamento di Microsoft in quel momento:

“Sebbene la sandbox Java imponga un alto grado di sicurezza, non consente agli utenti di scaricare ed eseguire entusiasmanti giochi multimediali o altri programmi completi sui loro computer “, si legge in una dichiarazione sul sito di sicurezza di Microsoft. “Di conseguenza, gli utenti potrebbero voler scaricare codice che ha pieno accesso alle risorse dei loro computer.”

L’articolo prosegue spiegando che Microsoft includeva un sistema di “responsabilità” denominato Authenticode. Gli sviluppatori di software potevano scegliere di timbrare i loro controlli ActiveX con una firma digitale, ma non era obbligatorio. Gli sviluppatori che hanno creato controlli ActiveX dannosi potrebbero essere rintracciati più facilmente, se scegliessero di firmare i loro controlli.

Con Microsoft che inizialmente si affidava al sistema dell’onore, è facile vedere come ActiveX sia diventato un modo popolare per fornire malware e spyware agli utenti di Internet Explorer.

ActiveX è stato progettato per il vecchio Web

C’è stato un tempo in cui le tecnologie web non erano molto potenti. Se volevi qualcosa di più avanzato del testo e delle immagini, anche se volevi semplicemente incorporare un video in una pagina web, avevi bisogno di una sorta di plug-in del browser.

ActiveX è stato progettato per un mondo in cui non è possibile creare applicazioni complesse e complete utilizzando HTML, JavaScript e altre tecnologie moderne, come è possibile oggi.

Molte organizzazioni si sono rivolte ai controlli ActiveX per aggiungere funzionalità ai propri siti web. Molte aziende hanno utilizzato internamente anche i controlli ActiveX per distribuire rapidamente i programmi ai propri PC aziendali. Quando accedi a una di queste pagine web con Internet Explorer, ti verrà chiesto di scaricare un controllo ActiveX e avresti eseguito il programma.

Bello e facile, troppo facile. Forse ciò sarebbe volato sulla rete interna di un’azienda (intranet) dove tutto era affidabile. Ma sul Web selvaggio, questo ha causato molti problemi.

ActiveX era un disastro per la sicurezza

Concettualmente, ActiveX aveva due grossi problemi di sicurezza. Innanzitutto, un sito Web dannoso potrebbe richiedere di installare un controllo ActiveX dannoso ed è stato molto facile per gli utenti di Internet Explorer accettare il prompt e installarlo.

In secondo luogo, un bug in un controllo ActiveX legittimo potrebbe essere un problema. Se fosse installata una versione obsoleta di Adobe Flash, ad esempio, un sito Web dannoso potrebbe trarne vantaggio e ottenere l’accesso all’intero computer, poiché i controlli ActiveX come Flash avevano accesso all’intero computer.

Questo è stato davvero un grosso problema, poiché i controlli ActiveX spesso non avevano sistemi di aggiornamento automatico.

Nel tempo, Microsoft ha continuato a rafforzare le impostazioni di sicurezza e ad aggiungere una protezione aggiuntiva come “Modalità protetta” e “Modalità protetta avanzata”. Ad esempio, Internet Explorer dispone di un elenco predefinito di controlli ActiveX obsoleti che rifiuta di caricare. Internet Explorer fornisce ulteriori avvisi prima di scaricare e caricare i controlli ActiveX. Sono state introdotte altre impostazioni di sicurezza che consentono ai creatori di controlli ActiveX di limitare l’esecuzione dei controlli ActiveX solo su determinati siti Web, ad esempio.

Caso in questione: il sito Web di Microsoft una volta richiedeva un controllo ActiveX “Download Manager” di Akamai per scaricare determinati file. Questo Download Manager richiedeva l’accesso completo all’intero computer e, naturalmente, funzionava solo in Internet Explorer. Non sorprende che questo programma Download Manager avesse le proprie vulnerabilità di sicurezza. Sembra davvero una buona soluzione per scaricare file invece di fare affidamento sul downloader di file integrato nel tuo browser web?

 

I controlli ActiveX non erano multipiattaforma

ActiveX era una tecnologia Microsoft che funzionava meglio in Internet Explorer su Windows. C’erano alcuni plug-in che aggiungevano il supporto ai browser concorrenti, come Netscape Navigator (l’antenato di Mozilla Firefox), ma in realtà era tutto su Internet Explorer.

Tecnicamente, ActiveX era multipiattaforma. Microsoft ha aggiunto il supporto ActiveX a Internet Explorer per Mac. Tuttavia, a differenza di Java (che era multipiattaforma), i controlli ActiveX scritti per Windows non funzionavano su un Mac. Gli sviluppatori dovrebbero creare controlli ActiveX per Mac.

Ad esempio, la Corea del Sud ha standardizzato un controllo ActiveX necessario per accedere a siti Web finanziari e governativi protetti nel “90S. È stato completamente spento solo in 2020 e la dipendenza da ActiveX ha costretto le persone a utilizzare quella tecnologia antica e obsoleta per molto tempo. Come scrisse una volta il Washington Post, “La Corea del Sud [was] si è bloccata con Internet Explorer per gli acquisti online” in 2013. L’articolo descrive come gli utenti Mac dovevano fare affidamento su computer desktop nei loro uffici, Internet café, vecchi computer o Boot Camp per effettuare acquisti online.

Situazioni simili si sono verificate in modi simili in altri luoghi: le aziende che standardizzavano ActiveX per la fornitura di applicazioni interne erano bloccate a seconda di Internet Explorer su Windows fino a quando non si lasciavano dietro ActiveX.

Come il Web moderno è migliore

Dal punto di vista della sicurezza, il Web moderno è molto migliore. Quando si carica una pagina Web, il browser Web carica ed esegue quella pagina Web nella propria sandbox isolata. Il browser web non si basa su ActiveX, Java, Flash o qualsiasi altro tipo di programma di terze parti che esegue parte della pagina web.

Non c’è modo per un sito web di fornire codice che abbia pieno accesso a tutto sul tuo computer, non senza scaricare un file EXE che viene eseguito interamente al di fuori del browser su Windows, ad esempio.

Il tuo browser web si aggiorna automaticamente, quindi non c’è il rischio che codice antico rimanga in giro e resti accessibile alle pagine web senza ottenere patch di sicurezza, come accadeva con ActiveX.

Prima che fosse completamente eliminato a favore delle tecnologie web alla fine del 2020, anche il contenuto Flash era più sicuro di ActiveX . Google Chrome, ad esempio, ha eseguito Flash in una sandbox. Un’applet Flash dannosa dovrebbe utilizzare un difetto per sfuggire alla sandbox in Adobe Flash stesso, quindi utilizzare un altro difetto per sfuggire alla sandbox del plug-in in Google Chrome per ottenere l’accesso completo al computer.

E, naturalmente, il web moderno è multipiattaforma. Puoi utilizzare qualsiasi browser tu scelga su qualsiasi piattaforma tu voglia. Non sei bloccato utilizzando Internet Explorer su Windows perché i siti web che utilizzi richiedono un controllo ActiveX che funziona solo su Windows in quel browser.

E certo, la maggior parte delle estensioni del browser che installi ha accesso a tutto ciò che fai nel tuo browser web, ma almeno non hanno accesso all’intero computer.

Controlli ActiveX su Windows 10

A partire dal 2021, i controlli ActiveX sono ancora supportati nelle versioni moderne di Windows 10. È necessario utilizzare il browser Internet Explorer legacy 11, tuttavia, Microsoft Edge non lo fa supporta i controlli ActiveX.

Alcune aziende e altre organizzazioni utilizzano ancora i controlli ActiveX oggi, quindi Microsoft non ne ha ancora rimosso il supporto.