Введение
Расширение для веб-браузеров на основе Mozilla и Chromium
HTML-элемент `<noscript>`
the <noscript> HTML element
NoScript (или NoScript Security Suite) — это бесплатное расширение с открытым исходным кодом для Firefox и веб-браузеров на основе Chromium, написанное и поддерживаемое Джорджио Маоне, разработчиком программного обеспечения и членом группы безопасности Mozilla.
Блокировка активного контента
По умолчанию NoScript блокирует активный (исполняемый) веб-контент, который можно полностью или частично разблокировать, добавив сайт или домен в список разрешений через меню панели инструментов расширения или нажав на значок-заполнитель. В конфигурации по умолчанию активный контент блокируется глобально, однако пользователь может изменить это и использовать NoScript для блокировки конкретного нежелательного контента. Список разрешений может быть постоянным или временным (до закрытия браузера или отзыва разрешений пользователем). Активный контент может включать JavaScript, веб-шрифты, медиакодеки, WebGL и Flash. Расширение также предлагает специальные средства защиты от уязвимостей в системе безопасности. Поскольку многие атаки на веб-браузеры требуют активного контента, который браузер обычно запускает без вопросов, отключение такого контента по умолчанию и использование его только при необходимости снижает риск эксплуатации уязвимостей. Кроме того, отказ от загрузки этого контента позволяет значительно сэкономить трафик и предотвратить некоторые виды веб-отслеживания. NoScript полезен разработчикам для проверки работоспособности их сайта при отключенном JavaScript. Он также может удалять многие раздражающие веб-элементы, такие как всплывающие сообщения на странице и некоторые платные подписки, требующие JavaScript для функционирования. NoScript отображается в виде значка на панели инструментов или в строке состояния Firefox. Он появляется на каждом веб-сайте, показывая, заблокировал ли NoScript, разрешил или частично разрешил выполнение скриптов на просматриваемой странице. Нажатие или наведение (начиная с версии 2.0.3rc1) курсора мыши на значок NoScript предоставляет пользователю возможность разрешить или запретить обработку скрипта. Интерфейс NoScript, доступный через контекстное меню на веб-странице или в характерном окне NoScript в нижней части страницы (по умолчанию), отображает URL-адреса заблокированных скриптов, но не предоставляет ссылок для проверки безопасности запуска конкретного скрипта. На сложных веб-страницах пользователи могут столкнуться с более чем дюжиной различных непонятных URL-адресов и неработающей страницей, имея лишь возможность разрешить скрипт, заблокировать его или разрешить временно. 14 ноября 2017 года Джорджио Маоне объявил о выпуске NoScript 10, который будет "значительно отличаться" от версий 5.x и будет использовать технологию WebExtension, обеспечивая совместимость с Firefox Quantum. 20 ноября 2017 года Маоне выпустил версию 10.1.1 для Firefox 57 и выше. NoScript доступен для Firefox для Android.
Защита от XSS
11 апреля 2007 года NoScript версии 1.1.4.7 был представлен публике, обеспечив первую в истории веб-браузеров клиентскую защиту от межсайтового скриптинга (XSS) 0-го и 1-го типов. Каждый раз, когда веб-сайт пытается внедрить HTML или JavaScript код на другой сайт (что является нарушением политики одного источника), NoScript фильтрует вредоносный запрос и нейтрализует его опасный код. Аналогичные функции были реализованы спустя несколько лет в Microsoft Internet Explorer 8 и Google Chrome.
Применение границ Enforcer (ABE)
Application Boundaries Enforcer (ABE) — это встроенный модуль NoScript, предназначенный для усиления защиты веб-приложений, уже обеспечиваемой NoScript, за счет предоставления компонента, работающего внутри браузера, подобного брандмауэру. Этот "брандмауэр" специализируется на определении и защите границ каждого критически важного веб-приложения, используемого пользователем (например, плагинов, веб-почты, онлайн-банкинга и т. п.), в соответствии с политиками, заданными непосредственно пользователем, веб-разработчиком/администратором или доверенным третьим лицом. В конфигурации по умолчанию ABE от NoScript обеспечивает защиту от CSRF-атак и DNS-ребайдинга, направленных на ресурсы внутренней сети, такие как маршрутизаторы и конфиденциальные веб-приложения.
ClearClick (противодействие угонщику кликов)
Функция ClearClick в NoScript, выпущенная 8 октября 2008 года, предотвращает нажатие пользователями на невидимые или "замаскированные" элементы страницы во встроенных документах или апплетах, эффективно противодействуя всем типам clickjacking (то есть, осуществляемым через фреймы и плагины). Это делает NoScript "единственным свободно доступным продуктом, обеспечивающим разумную степень защиты от атак clickjacking".
Улучшения HTTPS
NoScript может принудительно заставить браузер использовать HTTPS при установлении соединений с некоторыми конфиденциальными сайтами, чтобы предотвратить атаки типа «человек посередине». Такое поведение может быть инициировано самими веб-сайтами посредством отправки заголовка Strict Transport Security, либо настроено пользователями для тех сайтов, которые ещё не поддерживают Strict Transport Security. Функции усиления безопасности HTTPS в NoScript были использованы Фондом электронных рубежей в качестве основы для его расширения HTTPS Everywhere.
Награды
PC World выбрал NoScript одним из 100 лучших продуктов 2006 года. В 2008 году NoScript получил редакционную премию About.com в номинации "Лучшее расширение для безопасности". В 2010 году NoScript стал победителем премии "The Reader's Choice Awards" в категории "Лучшее расширение для конфиденциальности и безопасности" на About.com. В 2011 году NoScript во второй раз подряд стал победителем премии "The Reader's Choice Awards" в категории "Лучшее расширение для конфиденциальности и безопасности" на About.com. В 2011 году (первое издание) NoScript стал обладателем "Гранта на инновации в области безопасности" от Dragon Research Group. Эта награда присуждается самому инновационному проекту в сфере информационной безопасности, по мнению независимой комиссии.
Конфликт с Adblock Plus
В мае 2009 года сообщалось о возникновении "войны расширений" между разработчиком NoScript Джорджио Маоне и разработчиками расширения для блокировки рекламы Firefox Adblock Plus, после того как Маоне выпустил версию NoScript, обходящую блокировку, установленную фильтром AdBlock Plus. Код, реализующий этот обход, был "замаскирован". Маоне удалил код и принес полные извинения.
Конфликт с привидениями
Сразу после инцидента с Adblock Plus между Маоном и разработчиками расширения Ghostery возник спор, после того как Маон внедрил изменение на своем сайте, которое отключало уведомление, используемое Ghostery для сообщения об обнаружении программного обеспечения для отслеживания в интернете. Это было расценено как попытка "предотвратить информирование Ghostery о трекерах и рекламных сетях на сайтах NoScript". Конфликт был разрешен, когда Маон изменил CSS своего сайта, чтобы сдвинуть, а не отключить уведомление Ghostery.