Исследователи советуют не доверять авторам расширений для Firefox

На конференции Black Hat Asia исследователи Ахмед Бюйюккайхан (Ahmet Buyukkayhan) и Уильям Робертсон (William Robertson) продемонстрировали новый вектор атак. Исследователи рассказали, что популярные расширения для браузера Firefox могут представлять опасность для пользователей.

Последние два года Бюйюккайхан и Робертсон изучали механизм так называемого «повторного использования расширений» (extension reuse). Данная техника подразумевает, что вредоносное расширение обращается с подозрительными запросами к другим разрешениям и эксплуатирует их уязвимости. Так как все запросы от разрешений, сделанные через Firefox, исполняются с высокими привилегиями, перед атакующим открывается очень широкий спектр возможностей. Хуже того, подобные вредоносные разрешения могут легко попасть в официальный каталог Mozillaсообщает xakep.ru.

 

6735483795675675

 

Дело в том, что само вредоносное дополнение не обращается к внутренним механизмам браузера с подозрительными запросами и не привлекает к себе внимания, используя для атак баги в других расширениях. В качестве эксперимента исследователи создали собственный опасный аддон ValidateThisWebsite, который на первый взгляд был абсолютно безвреден, но на деле мог использоваться для атак extension reuse. Расширение содержало всего 50 строк кода, и разработчики не применяли обфускацию, чтобы не затруднять сотрудникам  Mozilla доступ к исходникам. Вредоносный аддон, тем не менее, успешно прошел все автоматические и ручные проверки и был добавлен в каталог.

Бюйюккайхан и Робертсон рассказали, что для атак extension reuse уязвимы многие популярные расширения, к примеру: GreaseMonkey (1,5 миллиона активных установок), Video DownloadHelper (6,5 милионов активных установок), NoScript (2,5 миллиона активных установок). Для поиска уязвимых аддонов исследователи использовали фреймворк Crossfire.

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

«Чем большими мощностями обладает расширение, тем легче будет вредоносному аддону с ним работать, — добавляет Бюйюккайхан. — Детальная проверка — это высший уровень безопасности Mozilla».

В итоге исследователи, конечно, сообщили о проблеме разработчикам Mozilla и даже предоставили им исходные коды Crossfire. Выяснилось, что из 10 самых популярных расширений только Adblock Plus не содержит уязвимостей, остальные аддоны можно использовать для атак.

 

top-10-firefox-addons

 

Проблема уходит корнями к недостаточной изоляции расширений в Firefox. Бразуер позволяет любым JavaScript расширениями использовать одно и то же пространство имен (namespace), и из-за этого один аддон может влиять на работу другого.

Вице-президент Mozilla уже прокомментировал выступление исследователей и сообщил, что разработчики проекта стараются улучшить безопасность браузера. В частности, он сообщил, что новый API для разработки дополнений — WebExtensions более надежен, и расширения, созданные с его помощью, нельзя использовать для атак extension reuse. Также, в рамках перевода Firefox на мультипроцессовую архитектуру, позже в текущем 2016 году в браузере должна заработать песочница для расширений, чтобы дополнения не могли делить код друг с другом.

Anti-Malware Яндекс ДзенПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.

Новый способ перепрограммирования NES Tetris, не выходя из игры

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

Ранее в этом году стало известно, что один из игроков классического «Тетриса» впервые нажал на «kill screen» игры, активировав «аварийный режим» после невероятного 40-минутного прохождения 1 511 строк.

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

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

Ещё с 2021 года было известно о базовом методе внедрения внешнего кода в NES Tetris, когда игроки исследовали декомпилированный код игры.

Совсем недавно Displaced Gamers выложили видео, где подробно рассказывается, как перепрограммировать «Тетрис», играя в него, с помощью кодирования в таблице высоких результатов.

 

Сбой в NES Tetris происходит, когда обработчик очков в игре слишком долго подсчитывает баллы между кадрами, что может произойти после 155-го уровня. При данной задержке часть управляющего кода прерывается процедурой записи нового кадра, что заставляет его переходить в непредусмотренную часть оперативной памяти игры в поисках следующей инструкции.

Зачастую именно это неожиданное прерывание является причиной перескакивания кода в самую глубь оперативной памяти, где «мусорные» данные считываются как код, что приводит к ошибке в игре.

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

Японская Famicom оснащается двумя контроллерами, подключаемыми к устройству, в отличие от американской Nintendo Entertainment System (NES). Через порт расширения на передней панели системы игроки могут подключить контроллеры сторонних производителей.

Код игры Tetris считывает входные данные с этого «дополнительного» порта контроллера, к которому можно подключить два дополнительных стандартных контроллера NES с помощью адаптера.

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

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

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

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

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

Displaced Gamers удалось написать короткий фрагмент кода, который можно перевести в данные таблицы высоких результатов. Эта простая процедура ставит два нуля в верхних цифрах счета игры, уменьшая время обработки счета, которое в противном случае привело бы к сбою.

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

Ограниченное пространство в таблице высоких результатов также не оставляет места для прямого кодирования сложных программ поверх реального кода Tetris.

Anti-Malware Яндекс ДзенПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.

RSS: Новости на портале Anti-Malware.ru