Встроенный браузер с поддержкой расширенной защиты памяти и атрибута html5 sandbox

Обновлено: 05.07.2024

Современные веб-приложения объединяют новые впечатления в один опыт. Подумайте, виджеты Twitter, показывающие последние твиты о продукте. Или комментарии в Facebook обсуждают статью. Или даже просто встроенные веб-страницы через элемент IFRAME . Эти события могут увеличить нарушения безопасности вашего сайта.

Не волнуйтесь … в блоке есть новый ребенок, который поможет вам: песочница HTML5. Но прежде чем я вернусь к этому, давайте быстро рассмотрим проблемы элементов IFRAME .

Черный ящик

Встраивание контента в IFRAME — это все равно, что публично объявить вечеринку в Facebook. Вы думаете, что знаете, кого пригласили, но на самом деле вы не представляете, кто это передал и кто появится.

То же самое верно для создания контента. Вы знаете, на что ссылаетесь, но понятия не имеете, как будет развиваться сайт в будущем. Содержание или функциональность (или оба) могут измениться в любое время. Без вашего ведома … и без вашего согласия.

Проблемы безопасности при использовании iframe

Браузеры обрабатывают страницы, которые используют IFRAME, как любую другую веб-страницу. Формы могут использоваться для извлечения пользовательского ввода, сценарии могут быть выполнены, страница может перемещаться в окне браузера, и могут быть выполнены плагины браузера. И так же, как нарушители вечеринок, которые выходят из-под контроля, вы не контролируете, что будет делать размещенный контент.

По умолчанию существует один механизм, предотвращающий некоторые виды атак: междоменная политика.

Повторное размещение контента из другого домена

Если размещенный контент поступает из другого домена, вступает в действие междоменная политика, которая запрещает «чужому» контенту доступ к объектной модели документа родителя.

Таким образом, встроенная страница не может читать, например, файлы cookie или локальное хранилище браузера для размещенного домена. Но риски все еще остаются.

Размещенный контент все еще может перемещаться на верхнем уровне. Отображая контент, который может ожидать пользователь, сайт может пытаться получить конфиденциальную информацию от пользователя. Или, используя подобную стилизованную форму, попытайтесь злонамеренно захватить пользовательскую информацию таким образом.

Вот почему даже при наличии междоменной политики все еще существуют большие угрозы безопасности.

Повторный хостинг контента из того же домена

Случай повторного размещения контента с того же домена еще хуже.

Когда контент поступает из того же домена, ограничения безопасности по умолчанию отсутствуют. Встроенный контент может получить доступ ко всему загруженному DOM браузера и манипулировать всем.

Это имеет смысл, что контент в одном домене должен быть безопасным. Риск здесь главным образом связан с пользовательским контентом, который повторно размещается в IFRAME.

Подход с песочницей

Эти действительные проблемы безопасности долгое время не были должным образом рассмотрены органом по стандартизации. Без четкого стандарта W3C было необходимо каким-то образом защитить хост от содержимого в рамке. Например, Microsoft предоставила проприетарную реализацию защиты IFRAME в Internet Explorer 8. Другие взяли ее на вооружение и обсудили как основу для своих браузеров. Но стандарты значительно выросли со времен IE8.

Вот что мы построим сегодня с песочницей. Смотрите демо здесь .

Давайте начнем с применения песочницы. Просто добавьте его как пустой атрибут в элемент IFRAME :

Это оно!

Теперь содержимое песочницы IFRAME повторно размещается в браузере со следующими ограничениями:

  • Плагины отключены. Плагин ActiveX, Flash или Silverlight не будет выполняться.
  • Формы отключены. Размещаемому контенту запрещается отправлять формы на любую цель.
  • Скрипты отключены. JavaScript отключен и не будет выполняться.
  • Ссылки на другие контексты просмотра отключены. Якорный тег, нацеленный на разные уровни браузера, не будет выполняться.
  • Уникальное происхождение лечения. Весь контент обрабатывается с уникальным происхождением. Контент не может проходить через DOM или читать информацию cookie.

Это означает, что даже контент, поступающий из того же домена, обрабатывается междоменной политикой, поскольку каждый контент IFRAME будет рассматриваться как уникальный источник.

Встроенный контент разрешен только для отображения информации. Внутри IFRAME нельзя предпринимать никаких действий, которые могли бы поставить под угрозу хостинг веб-сайт или воспользоваться доверием пользователей.

Проверка атрибута песочницы

Мы знаем, что IFRAME — это открытые ворота. Мы знаем, что атрибут sandbox блокирует безопасность размещенного контента. Решение очевидно: используйте элементы IFRAME только с атрибутом sandbox!

Вы можете подтвердить, что браузер поддерживает атрибут песочницы IFRAME с помощью простой проверки в JavaScript:

Настройка Песочницы

Есть случаи, когда вам понадобится некоторый уровень настройки ограничений, что абсолютно возможно.

Большинство популярных браузеров поставляются с собственными песочницами, чтобы обеспечить безопасность вашего компьютера. В этом посте рассказывается о том, что такое песочница браузера , как ее использовать или как полностью отключить ее в Google Chrome, Microsoft Edge и Mozilla Firefox.

Что такое песочница браузера?

Firefox Sandbox

Пользователи могут изменить уровень песочницы в Firefox, чтобы сделать его более строгим или простым. На 0 Firefox является наименее ограничительным; уровень 2 сбалансирован и актуален; уровень 3 будет очень ограничительным. Чтобы увидеть, какой уровень использует Firefox, введите следующую строку в адресную строку и нажмите клавишу Enter:

Значение, возвращаемое функцией - это текущий уровень песочницы, используемый Firefox.

Chromium Browser Sandbox

Chromium используется браузерами Microsoft Edge и Google Chrome. По сути, их песочница тоже работает, как описано выше в разделе Firefox.

Есть две части - процесс браузера и целевой процесс. Процесс браузера - это процесс посредника, в то время как дочерние процессы называются целевыми процессами. Все коды, запускаемые целевыми процессами, запускаются в песочнице. Другая часть называется процессом посредника, поскольку она действует между дочерним процессом и другими ресурсами компьютера, чтобы обеспечить дочерние процессы теми ресурсами, которые они хотят.

В выпусках Windows 10 Pro и выше вы можете использовать Windows Sandbox для запуска Microsoft Edge.

Как отключить Google Chrome Sandbox?

Добавьте следующее в путь к приложению, отображаемому в цели:

Отныне всякий раз, когда вы нажимаете значок Chrome, он загружает Chrome без песочницы.

Использование Microsoft Edge в песочнице

Вы можете запустить Edge из этой изолированной среды Windows 10 для просмотра с максимальной безопасностью. После того, как вы закроете песочницу, поработав некоторое время над Edge, никто не сможет отследить, что вы делали в Интернете. Ваш провайдер может создать журнал того, что вы сделали, но никто не может проверить те действия, которые вы выполняли, используя Edge в песочнице.

Выше объясняется, что такое песочница браузера и как ее использовать и отключать. Какие ваши взгляды и идеи, связанные с песочницей браузера и безопасностью, комментируйте ниже

Браузер с поддержкой HTML5 - Pale Moon 28.8.2 + Portable

Браузер с поддержкой HTML5 - Pale Moon 28.8.2 + Portable


Браузер с поддержкой HTML5 - Pale Moon 28.8.2 + Portable

Pale Moon - веб-браузер, созданный на базе популярного браузера Mozilla Firefox. Pale Moon отличается быстротой и стабильностью. Поэтому, если у вас есть опыт использования браузера Firefox, вы не испытаете трудностей при его использовании. Оптимизация исходного кода только под нужные функции наряду с сохранением совместимости с тысячами расширений Firefox позволила получить высокую стабильность работы и немалый прирост скорости (около 25%, по результатам теста SunSpider) по сравнению со своим прообразом.

Системные требования:
Windows Vista / 7 / 8 / 8.1 / 10 (32/64-bit)

Торрент Браузер с поддержкой HTML5 - Pale Moon 28.8.2 + Portable подробно:
Особенности:
·Оптимизирован для современных процессоров
·Привычный, эффективный, полностью настраиваемый интерфейс (не Australis от Firefox!)
·Основан на исходниках Firefox ESR предыдущей версии
·Повышенная стабильность - ещё меньше случаев падения браузера
·Высокая скорость отрисовки страниц и обработки скриптов
·Масштабная и расширяемая поддержка HTML5 and CSS3
·Поддержка кодека VP9 и Opus
·Поддерживает множество расширений и тем браузера Firefox
·Поддержка эксклюзивных расширений и тем для Pale Moon
·Множество опций для персонализации и конфигурирования
·Улучшена система закладок из меню закладок и функция Drag&Drop
·Отдельные версии для 32 и 64 битных ОС
·Версии для x64 битных ОС оптимизированы под процессоры с нативной x64 разрядной архитектурой (двойная оптимизация под х64 битный код)

О Portable-версии:
• Портативная версия от разработчика, работает без установки в систему.

Русификация:
1. Запустите установку pm-langpack-ru-28.8.2 двойным кликом ЛКМ и разрешите установку
2. В адресной строке наберите аbout:config
3. На появившейся странице в строке фильтрации найдите параметр general.useragent.locale
4. Измените значение с "en-US" на "ru-RU", дважды кликнув по строке с параметром
5. Перезапустите браузер
Примечание: если Pale Moon не является браузером по умолчанию, то при запуске установки ru.xpi назначьте его приложением на открытие данного типа файлов

Скриншоты Браузер с поддержкой HTML5 - Pale Moon 28.8.2 + Portable торрент:

В этой теме обсуждаем браузеры, созданные на основе проекта Chromium

Chromium Google Chrome * SRWare Iron *

Настоятельные просьбы ко всем присутствующим:
1. Уважайте предпочтения других участников и не устраивайте здесь ненужный холивар.
2. Если правите шапку - сообщите* в теме о сделанных изменениях и обязательно* сделайте бэкап!
* В противном случае - не обижайтесь на то, что шапка будет принудительно восстановлена из предыдущей резервной копии.
Бэкап шапки можно сделать прямо в своём посте или в этой теме.

почему ругается хромиум и иже - хз, 360-й не ругается..)
как понимаю - это просто предупреждение о небезопасном режиме, только перевод (или сама мессага) не совсем корректны..
может быть - для упрощения здесь использован некий "стандартный алерт отлупа", не вкурсах..

кстати, в 360-м, возможно, ключик --дизабле-инфобар по дефольту используется, но за это я тоже не поручусь..

Что касается проверки, то можно на chrome://gpu посмотреть Sandboxed: true или не true. Там правда, только про песочницу GPU-процесса, но --no-sandbox отключает все. На этой же странице приведён перечень задействованных ключей в "Command Line", произвольные, неправильные, не существующие там отображены не будут.


попутно - добавил в шапку ссыль на выдиралку паролей из хрома, может делать экспорт/импорт через Login Data..
проверил на 31/49 утюгах - работает..

камраду Viktor_Kisel за наводку - спасибы и пивас!

тогда получается - в гпу показывает то, что в принципе конкретная версия поддерживает (из заданного в ком.строке)..
т.е. смотрим в версион - что прописано, сравниваем в гпу - что осталось и для пущей точности ищем вхождение в длл..
ок, раз уже второй человек об этой разнице говорит, пойду заносить в "анналы"..)

Вот --no-sandbox - однозначно работает, так как лечит пропадание шрифтов без DirectWrite, плюс выдаётся грозное предупреждение о его использовании, плюс Sandboxed становится False на chrome://gpu, ну и естественно он присутствует в chrome.dll

нащёт "нужен ли" - ну ты ведь тоже не сразу стал "крутым спецом" по хардверу, и тоже, поди, методом "проб и ошибок" шёл..

Добавлено:
..вот, кстати, про политики хороший пример - всё сразу чётко и понятно - мол, иди лесом, работать не будет..)

Добавлено:
..на всякий случай - я говорю не о конкретном "ноу-сандбокс", а о принципиальной проверке валидности любых ключей..

* принципиально непонятно, как можно БЕЗ копания в потрохах проверить валидность ключа в конкретной версии..
то там, понимаешь, поотломали, то тут позапретили.. короче, без пузыря по-быстрому не получится..//(

Добавлено:
про "я же сказал" - правка поста ПОСЛЕ "запутывания" была..

по аналогии - хрен бы с ними, с ключами, но зачем служебные страницы отламывать - я ваще не понимаю..
столкнулся с такой фигнёй ещё в 11-й версии 360-го, в начальных 12-х - тоже..
в текущей 12-й, правда, просто поубирали с хроме-урлс.. но "осадочек остался"..

Добавлено:
Китайцы, что с них взять.

Problems Detected
Some drivers are unable to reset the D3D device in the GPU process sandbox
Applied Workarounds: exit_on_context_lost

про "редкоземельные" - еррор.зип = кастомная стандартная страница ошибок, оформление - не в счёт..)

Читайте также: