NoScript (o NoScript Security Suite) è una estensione libera e open source per il browser Firefox e altri basati su Mozilla. NoScript permette l'esecuzione di script JavaScript, Java, Flash (obsoleto dal 31 dicembre 2020[1]), Silverlight e altri plugin solo da quei siti internet scelti dall'utente e inseriti in una apposita Lista fidata; questo fa aumentare la protezione contro molti attacchi informatici che sfruttano script malevoli per infettare il PC. È possibile permettere l'esecuzione completa di tutti gli script presenti su una determinata pagina, oppure consentirli temporaneamente mentre la si visita. Per gli script provenienti da domini di terze parti si può scegliere quali permettere e quali no selezionando il dominio di provenienza. NoScript fornisce anche una protezione anti-Cross-site scripting e anti-Clickjacking[2][3][4].

Caratteristiche modifica

Blocco attivo dei contenuti modifica

Per impostazione predefinita, NoScript blocca il contenuto web attivo (eseguibile), che può essere completamente o parzialmente sbloccato consentendo di elencare un sito o un dominio dal menu della barra degli strumenti dell'estensione o facendo clic su un'icona segnaposto.

Nella configurazione predefinita, il contenuto attivo è globalmente negato, sebbene l'utente possa capovolgerlo e utilizzare NoScript per bloccare specifici contenuti indesiderati. L'elenco delle autorizzazioni può essere permanente o temporaneo (fino alla chiusura del browser o alla revoca delle autorizzazioni). Il contenuto attivo può essere costituito da JavaScript, caratteri Web, codec multimediali, WebGL e Flash (obsoleto dal 31 dicembre 2020[1]). L'add-on offre anche contromisure specifiche contro gli exploit di sicurezza[5].

Poiché molti attacchi al browser Web richiedono contenuto attivo che il browser normalmente esegue senza dubbio, disabilitare tale contenuto per impostazione predefinita e utilizzarlo solo nella misura in cui è effettivamente necessario riduce le possibilità di sfruttamento della vulnerabilità. Inoltre, il mancato caricamento di questo contenuto consente di risparmiare una notevole larghezza di banda[6] e vanifica alcune forme di web tracking.

NoScript è utile anche per gli sviluppatori per vedere come funziona il loro sito con JavaScript disattivato. Può anche rimuovere molti elementi Web irritanti, come i messaggi pop-up in-page e alcuni paywall, che richiedono JavaScript per funzionare.

NoScript assume la forma di un'icona della barra degli strumenti o di un'icona della barra di stato in Firefox. Viene visualizzato su ogni sito Web per indicare se NoScript ha bloccato, consentito o parzialmente consentito l'esecuzione di script sulla pagina Web visualizzata. Facendo clic o passando il mouse (dalla versione 2.0.3rc1[7]) il cursore del mouse sull'icona NoScript dà all'utente la possibilità di consentire o vietare l'elaborazione dello script.

L'interfaccia di NoScript, accessibile facendo clic con il pulsante destro del mouse sulla pagina Web o sulla casella NoScript distintiva nella parte inferiore della pagina (per impostazione predefinita), mostra l'URL degli script che sono bloccati, ma non fornisce alcun tipo di riferimento per verificare se un determinato script è sicuro da eseguire[8]. Con pagine web complesse, gli utenti possono trovarsi di fronte a ben più di una dozzina di URL criptici diversi e una pagina web non funzionante, con solo la possibilità di consentire lo script, bloccare lo script o consentirlo temporaneamente.

Il 14 novembre 2017, Giorgio Maone ha annunciato NoScript 10, che sarà "molto diverso" dalle versioni 5.x, e utilizzerà la tecnologia WebExtension, rendendolo compatibile con Firefox Quantum[9]. Il 20 novembre 2017, Maone ha rilasciato la versione 10.1.1 per Firefox 57 e versioni successive. NoScript è disponibile per Firefox per Android[10].

Protezione anti-XSS modifica

L'11 aprile 2007 NoScript 1.1.4.7 è stato rilasciato pubblicamente[11] introducendo la prima protezione lato client contro il cross-site scripting di tipo 0 e di tipo 1 (XSS) mai fornita in un browser web.

Ogni volta che un sito Web tenta di iniettare codice HTML o JavaScript all'interno di un sito diverso (una violazione della politica della stessa origine), NoScript filtra la richiesta dannosa, neutralizzandone il pericoloso carico utile (payload)[12].

Funzionalità simili sono state adottate anni dopo da Microsoft Internet Explorer 8 e da Google Chrome.

Application Boundaries Enforcer (ABE) modifica

L'Application Boundaries Enforcer (ABE) è un modulo NoScript integrato[13] pensato per rafforzare le protezioni orientate all'applicazione web già fornite da NoScript, fornendo un componente simile a un firewall in esecuzione all'interno del browser.

Questo "firewall" è specializzato nella definizione e protezione dei confini di ogni applicazione web sensibile rilevante per l'utente (es. Plug-in, webmail, online banking e così via), secondo policy definite direttamente dall'utente, lo sviluppatore web / amministratore o una terza parte fidata[14]. Nella sua configurazione predefinita, l'ABE di NoScript fornisce protezione contro CSRF e attacchi di rebinding DNS mirati alle risorse intranet, come router e applicazioni web sensibili[15].

ClearClick (anti-clickjacking) modifica

La funzione ClearClick di NoScript, rilasciata l'8 ottobre 2008, impedisce agli utenti di fare clic su elementi di pagina invisibili o "corretti" di documenti o applet incorporati, annullando tutti i tipi di clickjacking (ad esempio, da frame e plug-in[16]).

Questo rende NoScript "l'unico prodotto disponibile gratuitamente che offre un ragionevole grado di protezione" contro gli attacchi di clickjacking[17].

Miglioramenti HTTPS modifica

NoScript può forzare il browser a utilizzare sempre HTTPS quando stabilisce connessioni ad alcuni siti sensibili, al fine di prevenire attacchi man-in-the-middle. Questo comportamento può essere attivato dai siti Web stessi, inviando l'intestazione Strict Transport Security o configurato dagli utenti per quei siti Web che non supportano ancora Strict Transport Security[18].

Le funzionalità di miglioramento HTTPS di NoScript sono state utilizzate dalla Electronic Frontier Foundation come base del suo componente aggiuntivo HTTPS Everywhere[19].

Premi modifica

  • PC World ha scelto NoScript come uno dei 100 migliori prodotti del 2006[20].
  • Nel 2008 NoScript ha vinto il premio editoriale di About.com come "Miglior componente aggiuntivo per la sicurezza"[21].
  • Nel 2010 NoScript è stato vincitore del "Reader's Choice Awards" nella categoria "Miglior componente aggiuntivo per la privacy/sicurezza" su About.com[22].
  • Nel 2011, per il secondo anno consecutivo, NoScript è stato vincitore del "Reader's Choice Awards" nella categoria "Miglior componente aggiuntivo per la privacy/sicurezza" su About.com[23].
  • NoScript è stato il vincitore del 2011 (prima edizione) del "Security Innovation Grant" del Dragon Research Group. Questo premio viene assegnato al progetto più innovativo nel campo della sicurezza informatica, come giudicato da un comitato indipendente[24].

Controversie modifica

Conflitti con Adblock Plus e Ghostery modifica

Nel maggio 2009 è stato riferito che una "guerra di estensione" era scoppiata tra lo sviluppatore di NoScript, Giorgio Maone, e gli sviluppatori dell'estensione di blocco degli annunci per Firefox Adblock Plus dopo che Maone aveva rilasciato una versione di NoScript che aggirava un blocco abilitato da un filtro AdBlock Plus[25][26]. Il codice che implementa questa soluzione alternativa è stato "camuffato"[25] per evitare il rilevamento. Maone ha dichiarato di averlo implementato in risposta a un filtro che ha bloccato il suo sito web. Dopo le crescenti critiche e una dichiarazione da parte degli amministratori del sito Mozilla Add-ons secondo cui il sito avrebbe cambiato le sue linee guida riguardo alle modifiche dei componenti aggiuntivi[27], Maone ha rimosso il codice e ha rilasciato scuse ufficiali[25][28].

Immediatamente dopo l'incidente di Adblock Plus[29], è sorto un battibecco tra Maone e gli sviluppatori del componente aggiuntivo Ghostery dopo che Maone ha implementato una modifica sul suo sito Web che ha disabilitato la notifica utilizzata da Ghostery per segnalare il software di tracciamento web[30]. Questo è stato interpretato come un tentativo di "impedire a Ghostery di riferire su tracker e reti pubblicitarie sui siti web di NoScript". In risposta, Maone ha dichiarato che la modifica è stata apportata perché la notifica di Ghostery ha oscurato il pulsante di donazione sul sito NoScript[31]. Questo conflitto è stato risolto quando Maone ha modificato il CSS del suo sito per spostare, anziché disabilitare, la notifica di Ghostery[32].

Note modifica

  1. ^ a b Flash & The Future of Interactive Content | Adobe Blog, su web.archive.org, 2 dicembre 2017. URL consultato il 1º marzo 2021 (archiviato dall'url originale il 2 dicembre 2017).
  2. ^ NoScript Extension Officially Released for Google Chrome, su zdnet.com, ZDNet. URL consultato il 12 aprile 2019.
  3. ^ Meet the NoScript Developer, su addons.mozilla.org, Mozilla. URL consultato il 27 settembre 2011 (archiviato dall'url originale il 9 ottobre 2011).
  4. ^ Mozilla Security Group, su mozilla.org, Mozilla. URL consultato il 29 giugno 2011 (archiviato dall'url originale il 29 giugno 2011).
  5. ^ Scott Orgera, NoScript, su browsers.about.com, About.com. URL consultato il 27 novembre 2010 (archiviato dall'url originale il 20 dicembre 2010).
  6. ^ The effect of Firefox addons on bandwidth consumption :: IANIX, su ianix.com. URL consultato il 14 luglio 2020.
  7. ^ NoScript Changelog 2.0.3rc1, su noscript.net. URL consultato il 16 marzo 2011.
  8. ^ Martin Brinkman, The Firefox NoScript guide you have all been waiting for, su GHacks.net, 10 febbraio 2014. URL consultato il 14 gennaio 2017.
  9. ^ Giorgio Maone, Double NoScript, su hackademix.net, 14 novembre 2017. URL consultato il 15 novembre 2017.
  10. ^ (EN) Cosmetic Changes by Issa1553 · Pull Request #28 · hackademix/noscript, su GitHub. URL consultato il 4 gennaio 2019.
  11. ^ NoScript's first Anti-XSS release Mozilla Add-ons
  12. ^ NoScript Features-Anti-XSS protection NoScript.net. Retrieved April 22, 2008.
  13. ^ https://noscript.net/faq#clearclick
  14. ^ Giorgio Maone, Application Boundaries Enforcer (ABE), su noscript.net. URL consultato il 2 agosto 2010.
  15. ^ Giorgio Maone, ABE Patrols Routes to Your Routers, su hackademix.net, 28 luglio 2010. URL consultato il 2 agosto 2010.
  16. ^ Giorgio Maone, Hello ClearClick, Goodbye Clickjacking, su hackademix.net, 8 ottobre 2008. URL consultato il 27 ottobre 2008.
  17. ^ Michal Zalewski, Browser Security Handbook, Part 2, UI Redressing, su code.google.com, Google Inc., 10 dicembre 2008. URL consultato il 27 ottobre 2008.
  18. ^ NoScript FAQ: HTTPS NoScript.net. Retrieved August 2, 2010.
  19. ^ HTTPS Everywhere, su eff.org.
  20. ^ PC World Award Archiviato il 28 agosto 2011 in Internet Archive. pcworld.com. Retrieved April 22, 2008.
  21. ^ About.com 2008 Best Security Add-On Award Archiviato il 23 marzo 2011 in Internet Archive. about.com. Retrieved August 2, 2010.
  22. ^ Best Privacy/Security Add-On 2010 Archiviato il 4 marzo 2010 in Internet Archive. about.com. Retrieved August 2, 2010.
  23. ^ Best Privacy/Security Add-On 2011 Archiviato il 17 marzo 2011 in Internet Archive. about.com. Retrieved March 20, 2011.
  24. ^ Security Innovation Grant Winner Announcement Archiviato il 12 febbraio 2015 in Internet Archive. Dragon Research Group. Retrieved July 17, 2011.
  25. ^ a b c Dan Goodin, Firefox users caught in crossfire of warring add-ons, in The Register. URL consultato il 19 maggio 2013.
  26. ^ Extension wars – NoScript vs. AdblockPlus, in Ajaxian. URL consultato il 19 maggio 2013.
  27. ^ No Surprises, su blog.mozilla.com, 1º maggio 2009.
  28. ^ Dear Adblock Plus and NoScript Users, Dear Mozilla Community
  29. ^ Attention all NoScript users
  30. ^ Greg Yardley, When blockers block the blockers, in yardlay.ca, 4 maggio 2009 (archiviato dall'url originale l'8 maggio 2009).
  31. ^ NoScript support forum "Re: Latest NoScript version (1.9.2) breaks Adblock Plus", comment #3704, Giorgio Maone (2009-05-04)
  32. ^ NoScript support forum "Re: Additional steps to regain and retain user trust", comment #3935, Giorgio Maone (2009-05-06)

Altri progetti modifica

Collegamenti esterni modifica