Резюме: Невидимите заплахи могат лесно да превърнат разширение за Chrome в RCE на ниво хост

Откакто бяха въведени, разширенията за браузър се третират като леки инструменти за продуктивност – безобидни добавки, които се намират някъде между отметките и настройките. Те се инсталират небрежно, актуализират се тихо и рядко се проверяват внимателно, след като станат част от ежедневния работен процес на потребителя.

Освен това, разширенията на браузъра често се възприемат като нискостепенни рискове за сигурността, тъй като са силно изолирани от основната система от браузъра и работят в силно изолирана среда в рамките на уеб браузъра.

Това е остаряло предположение, тъй като това изследване показва как дори разширение без никакви разрешения може да заобиколи пясъчника на браузъра и да доведе до инсталиране на зловреден софтуер директно на компютъра.

Изследователи на LayerX откриха как всяко разширение на браузъра, дори един без никакви разрешения за достъп изобщо може да бъде използва се за инсталиране на зловреден софтуер на целевия хост. Всичко, което трябва да направи един атакуващ, е да добави невидим скрипт към легитимно изтегляне, което се изпълнява, когато изтеглянето се стартира. Това води до заразяване на потребителите със зловреден софтуер за дистанционно изпълнение на код, без дори да забележат. 

Тъй като този вектор на експлоатация изисква без специални разрешения от разширенията, може да бъде използвано от всяко злонамерено разширение, излагане на риск на почти всеки потребител на разширение до експлоатация.

Сляпото петно, с което започнахме

Разширенията на Chrome работят по пренебрегван модел на сигурност. Скриптовете за съдържание, активирани по подразбиране, са проектирани да вършат едно нещо много добре: достъп и промяна на уеб страници. Това не е грешка или неправилна конфигурация, а по-скоро е в основата на начина на действие на разширенията. Всяко разширение, което се изпълнява на страница, има ефективно същото ниво на достъп като собствения JavaScript код на страницата.

На пръв поглед това изглежда разумно. Разширенията трябва да променят страниците, за да добавят функции, да инжектират елементи на потребителския интерфейс или да подобрят работните процеси. Всъщност това е цялата им дизайнерска цел.

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

Когато всяко изтегляне се превръща във вектор на атака

Зададохме един прост въпрос: кое е най-ценното действие, което злонамерен актьор може да предприеме от браузъра, без да изисква разрешения, които биха породили подозрение?

Отговорът, разбира се, е изпълнението на код.

Злоупотребявайки с неограничения характер на скриптовете за съдържание, ние създадохме разширение, което тихо променя всяко изтегляне на файл, инициирано от който и да е уебсайт. Потребителят кликва върху легитимна връзка за изтегляне в надежден домейн, използвайки браузър, на който има доверие. Файлът се изтегля точно както се очаква.

Но това не е единственото нещо, което се случва.

Без да се нарушава оригиналното приложение, без да се задействат предупреждения и без да се изисква всякакви допълнителни разрешения, разширението добавя контролиран от атакуващия код към всеки изтеглен изпълним файл. Оригиналната програма все още работи нормално и потребителят вижда точно това, което очаква. Оттам нататък играта свършва.



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

Въпреки че разширенията на браузъра се предполага, че са изолирани от основната файлова система и са изолирани от браузъра, тази техника позволява на разширението да излезе от тази изолация. В този момент браузърът вече не действа като граница. Разширението ефективно се превръща в троянски кон за отдалечен достъп.

Видеоклип на POC:

Защо това е особено опасно

Това, което прави тази атака обезпокоителна, е нейната невидимост:

  • Не изисква подозрителни разрешения.
  • Не задейства предупреждения на браузъра.
  • Той не променя оригиналния уебсайт по никакъв видим за човека начин.
  • Изтеглянията изглеждат нормални за потребителя.

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

Тази атака не разчита на фишинг или объркване на потребителите. Тя използва слабо звено във веригата на доверие на браузъра. Потребителите се доверяват на браузъра си и на определени уебсайтове, но ако не могат да се доверят на разширенията им, нито браузърът, нито уебсайтът могат ефективно да защитят потребителя. Инсталирането на ненадеждно разширение е функционално еквивалентно на инсталирането на зловреден софтуер.

Освен това, тази атака не може да бъде открита чрез инструменти, базирани на прокси/VPN, тъй като домейнът, до който се осъществява достъп, е изцяло легитимен и не се осъществява контакт с отдалечен сървър за извличане на злонамерения код. Освен това, атаката е изцяло междубраузърна и може да засегне всеки браузър, базиран на Chromium или Mozilla.

Разкриване на информация и реакция на индустрията

Докладвахме нашите открития на Google и Mozilla чрез техните програми за разкриване на уязвимости, съгласно процедурите за „отговорно разкриване“.

Google заяви, че „Атаките чрез социално инженерство са извън обхвата на модела на заплаха за Chrome.“ 

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

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

Настоящият модел за сигурност на разширенията не обяснява правилно на потребителя влиянието, което ненадеждното разширение има върху сърфирането му и сигурността на цялата му система.

Има безброй начини, по които разширенията могат да бъдат използвани, за да се заобиколи доверието на потребителите.

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

Как потребителите и предприятията могат да се защитят

Този тип експлойт показва ограниченията на традиционния подход за сигурност на разширенията, който се основава на външен анализ на параметрите на разширението, базиран на неговите разрешения, репутация и т.н. Тъй като няма никакви разрешения, най-вероятно ще получи нисък риск. 

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


Снимка: Рой Паз и Авиад Гиспан, които допринесоха за това изследване.