[Перевод] Что такое браузерный сэндбоксинг?

garcien7q_psoszujzkqzl-e9vm.jpeg


В стремительно меняющихся условиях современного цикла веб-разработки одним из самых серьёзных вопросов для разработчиков и тестеров становится безопасность. Сложность создания и развёртывания современных веб-приложений приводит к увеличению количества уязвимостей. Согласно отчёту Cost of Data Breach компании IBM и Ponemon Institute, в 2021 году потери, связанные с утечками данных, выросли с $3,86 миллиона (средние потери в 2019 году) до $4,24 миллиона, что стало самыми высокими средними убытками за семнадцать лет ведения этого отчёта.

Поэтому кибербезопасность становится всё более важной частью жизненного цикла разработки ПО, позволяя усилить защиту и повысить конфиденциальность данных пользователей. Разве не было бы здорово иметь возможность разрабатывать и тестировать веб-сайты, не беспокоясь об уязвимостях безопасности? Одна из техник, позволяющих нам добиться этого, называется сэндбоксингом. Сэндбоксинг — это методика надёжной изоляции приложения, веб-браузера и блока кода. Она не позволяет зловредным или сбойным приложениям атаковать веб-ресурсы и локальную систему, а также шпионить за ними.

В этой статье мы расскажем, что такое сэндбоксинг браузера, объясним преимущества и важность разных типов сэндбоксинга, и поможем в его реализации.
В реальном мире песочница (sandbox) — это игровая площадка для детей, ограниченная стенами. В ней дети могут играть с песком, не разбрасывая его по траве. Аналогично этому браузер с «песочницей» создаёт изолированную среду, в которой пользователи могут скачивать и устанавливать приложения из сторонних источников и безопасно работать с ними, даже если они ведут себя подозрительно. Благодаря этому браузер с «песочницей» защищает компьютер от дополнительных угроз безопасности.

Что такое сэндбоксинг браузера?


Чтобы предотвратить нарушения безопасности в системе или веб-приложении, разработчики должны придумать, как с ними справляться. И тут на помощь приходит сэндбоксинг браузера. «Песочница» браузера предоставляет безопасную виртуальную среду для тестирования вредоносного кода или запуска стороннего ПО без возможности компрометации данных или локальных файлов системы.

Например, если вы скачаете в «песочнице» зловредное вложение, то оно не нанесёт ущерба файлам и ресурсам системы. «Песочница» имеет принцип одного источника, что позволяет JavaScript добавлять или изменять элементы на веб-странице, при этом ограничивая доступ к внешнему файлу JSON.

Сегодня в популярных веб-браузерах наподобие Chrome, Firefox и Edge по умолчанию имеется встроенная «песочница». Главная задача браузера с «песочницей» — защита машины пользователя от рисков, связанных с браузером. Следовательно, если пользователь скачает с веб-сайта зловредное ПО, оно скачается в «песочницу» браузера. После закрытия «песочницы» всё, что находится внутри неё, включая зловредный код, стирается.

Сэндбоксинг в браузере использует две техники изоляции для защиты веб-браузинга пользователей, системного оборудования, локальных PC и сетей:

  • локальная изоляция браузера,
  • удалённая изоляция браузера.


▍ Локальная изоляция браузера


Локальная изоляция браузера — это стандартная техника изоляции браузера, запускающая виртуальные браузеры в «песочнице» или в виртуальной машине в локальной инфраструктуре пользователя. Она помогает в изоляции данных от внешних угроз безопасности и небезопасного браузинга. Например, если в браузер проникнет злонамеренный элемент, его влияние будет ограничено браузером «песочницы» и виртуальной машиной.

▍ Удалённая изоляция браузера


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

В удалённой изоляции браузера используется два способа изоляции локальной инфраструктуры пользователя и веб-контента:

  1. Зеркалирование DOM: при такой технике браузер не полностью изолирован от локальной системы пользователя. Однако техника зеркалирования DOM фильтрует зловредный контент и рендерит остальную часть контента для пользователя.
  2. Визуальный стриминг: эта техника обеспечивает полную удалённую изоляцию браузера. Визуальный стриминг работает аналогично системам VDI (Virtual Desktop Infrastructure), в которых браузер выполняется на облачном сервере, а визуальный вывод отображается на локальной машине пользователя.


Почему важен сэндбоксинг браузера?


Современные веб-технологии стремительно развиваются, позволяя пользователям без проблем разрабатывать и выпускать веб-сайты и веб-приложения. В то же время беспрецедентными темпами растёт потребность в веб-приложениях. Согласно опросу Imperva, веб-приложения были источником 50% утечек данных. Следовательно, критически важно иметь безопасную, контролируемую среду, например, браузер с «песочницей», чтобы выполнять операции, не подвергая риску локальную инфраструктуру и системные ресурсы.

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

Преимущества сэндбоксинга


Внедрение «песочниц» в процесс веб-разработки имеет множество преимуществ. Вот некоторые из них:

  • Сэндбоксинг защищает устройство и операционную систему от потенциальных угроз.
  • При работе с неавторизованной стороной или поставщиком лучше использовать среду сэндбоксинга. Перед развёртыванием можно использовать «песочницу» для тестирования подозрительного кода или ПО.
  • Сэндбоксинг может помочь в предотвращении атак нулевого дня. Так как разработчики не могут мгновенно разработать патч от эксплойтов, атаки нулевого дня опасны по определению. Поэтому сэндбоксинг устраняет урон, скрывая зловредное ПО от системы.
  • Среда «песочницы» обеспечивает карантин от вирусов и угроз. Это помогает специалистам кибербезопасности в исследовании и анализе тенденций рисков. Среда позволяет предотвращать вторжения в будущем и выявлять уязвимости сети.
  • Приложения сэндбоксинга — это гибридное решение, подразумевающее, что их можно развёртывать локально или удалённо (на облачном сервере). Гибридные системы более надёжны, безопасны и экономичны, чем традиционные решения.
  • Системы сэндбоксинга и RDP (remote desktop protocol) помогают компаниям обеспечивать безопасное подключение к внешним сетям.
  • Сэндбоксинг может использоваться совместно с антивирусами или другими средствами безопасности и политиками для усиления всей экосистемы безопасности.


Какие ресурсы помещают в «песочницу»?


В «песочницу» попадает большинство ресурсов, используемых нами в повседневной работе, включая онлайн-браузеры, веб-страницы, PDF, мобильные приложения и приложения Windows.

Ниже перечислены помещаемые в «песочницу» ресурсы:

  • Веб-браузеры: потенциально уязвимые браузеры запускаются в средах «песочниц».
  • Плагины браузеров: при загрузке контента плагины браузеров работают в «песочнице». Некоторые плагины браузеров, например, Java, более уязвимы перед атаками, а потому помещаются в «песочницу».
  • Веб-страницы: браузер загружает веб-страницу в режиме «песочницы». Так как веб-страница является встроенным JavaScript, она не может получить доступ к файлу на локальном компьютере.
  • Мобильные приложения: мобильные ОС, например, Android и iOS, выполняют свои приложения в режиме «песочницы». Если им нужно получить доступ к вашему местоположению, контактам и другой информации пользователя, они отображают всплывающее окно с запросом разрешения.
  • ПО и программы для Windows: прежде чем вносить изменения в системные файлы, User Account Control (UAC) в Windows запрашивает разрешения у пользователя. UAC работает аналогично «песочнице», хоть и не обеспечивает полную защиту. Однако его не стоит отключать.


Различные типы сэндбоксинга


Сэндбоксинг разделён на три категории:

  1. Сэндбоксинг приложений.
  2. Сэндбоксинг браузеров.
  3. Сэндбоксинг безопасности.


▍ Сэндбоксинг приложений


В «песочницах» приложений можно запускать приложения, которым вы не доверяете, чтобы они не могли повредить локальной системе или украсть данные. Это помогает в создании защищённой среды, в которой приложения могут выполняться без риска повреждения системы. Изолируя приложение от локального компьютера пользователя, сэндбоксинг приложений повышает целостность приложения.

▍ Сэндбоксинг браузеров


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

▍ Сэндбоксинг безопасности


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

Сэндбоксинг при помощи встроенной «песочницы» браузера


«Песочницы» уже реализованы во многих популярных браузерах, например, в Chromium, Firefox и Edge: они защищают систему пользователя от уязвимостей, связанных с браузингом. Давайте рассмотрим, как работает сэндбоксинг в разных браузерах:

▍ Сэндбоксинг браузеров Chromium


Google Chrome и Microsoft Edge разработаны на основе браузера Chromium. «Песочница» браузера Chromium состоит из двух процессов: broker и target. Target — это дочерний процесс, а процесс браузера — это процесс broker. Код процесса target исполняется в среде «песочницы». Процесс broker функционирует между дочерним процессом и аппаратными ресурсами, предоставляя дочернему процессу ресурсы.

▍ Сэндбоксинг браузера Firefox


Для защиты локальной системы от угроз Firefox исполняет ненадёжный код в «песочнице». Браузер Firefox реализует «песочницу» при помощи родительских и дочерних процессов. При пользовании браузером потенциально зловредные программы работают в «песочнице». Родительский процесс — это посредник между дочерним процессом и остальными системными ресурсами при сэндбоксинге.

В браузерах Firefox можно изменять степень сэндбоксинга, делая её низкой, средней или высокой:

  • Уровень 0: с наименьшим количеством ограничений.
  • Уровень 1: умеренный.
  • Уровень 2: с большими ограничениями.


Для проверки уровня «песочницы» браузера Firefox нужно ввести в адресную строку следующую команду:

about:config


После этого отобразится страница с настраиваемыми переменными Firefox. Далее нужно нажать на странице конфигурации CTRL+F, ввести в поле поиска нужную команду и нажать на Enter.

▍ Сэндбоксинг браузера Edge


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

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

Отключение «песочницы» Google Chrome


В процессе тестирования сэндбоксинга Chrome может возникнуть ситуация, когда функция «песочницы» вызывает в браузере следующую ошибку: The Application Has Failed to Initialize.

В этом случае может понадобиться отключить «песочницу» браузера Chrome. Сделать это можно так:

  1. Создать ярлык «песочницы» Google Chrome, если его ещё нет.
  2. Нажать правой клавишей мыши на ярлык и выбрать «Свойства».
    vxk1mztk8yvmuv_sjxqjqmyn1-s.png
  3. Ввести следующую команду в путь к приложению, указанный в поле «Объект»:
    --no-sandbox

    aykuxiidg-7jwrhl25q4ufdrts8.png
  4. Нажать на «Применить», а затем на «OK».


Сэндбоксинг браузеров: полностью ли он безопасен?


«Песочница» используется в большинстве веб-браузеров. Однако интернет всё равно остаётся источником вирусов и других зловредных программ. Уровень сэндбоксинга в разных браузерах отличается. Браузеры реализуют сэндбоксинг по-разному, поэтому сложно разобраться, как они работают. Однако это не значит, что все веб-браузеры небезопасны. С другой стороны, «песочница» может повысить их безопасность.

Но если вы спросите, обеспечивают ли они стопроцентную защиту, ответ будет отрицательным. Некоторые компоненты браузеров могут выходить за пределы «песочницы», если они используют Flash и ActiveX.

Подведём итог


Компании подвергаются постоянным серьёзным угрозам, и сэндбоксинг может их защитить. Видя, что ждёт впереди, можно подготовиться к неизвестным атакам. Можно тестировать и разрабатывать приложения в изолированной среде без компрометации ресурсов локальной системы. На рынке есть Sandboxie, BitBox и другие инструменты сэндбоксинга. Однако для подготовки и установки браузеров в «песочнице» требуется время.

Играй в наш скролл-шутер прямо в Telegram и получай призы!

© Habrahabr.ru