Chrome виправляє 24 пробоїни в безпеці, включає систему безпеки «Sanitizer» PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Chrome латає 24 пробоїни безпеки, включає систему безпеки «Sanitizer».

Найновіший браузер Google Chrome, версія 105, вийшов, хоча повний номер версії сильно відрізняється залежно від того, чи використовуєте ви Windows, Mac чи Linux.

У Unix-подібних системах (Mac і Linux) ви хочете 105.0.5195.52, але в Windows ви шукаєте 105.0.5195.54.

За даними Google, ця нова версія включає 24 виправлення безпеки, хоча жодне з них не повідомляється як «в дикій природі», що означає, що цього разу не було виправлень нульових днів.

Тим не менш, є одна вразливість, дубльована Критичний, а ще вісім оцінили Високий.

З недоліків, які було виправлено, трохи більше половини з них пов’язані з неправильним керуванням пам’яттю, дев’ять яких зазначено як використання після безкоштовно помилок, а чотири як переповнення буфера купи.

Пояснення типів помилок пам'яті

A використання після безкоштовно це саме те, що там сказано: ви повертаєте пам’ять, щоб звільнити її для іншої частини програми, але все одно продовжуєте її використовувати, таким чином потенційно перешкоджаючи правильній роботі вашої програми.

Уявіть, наприклад, що частина програми, яка думає, що тепер має одноосібний доступ до блоку пам’яті з порушенням, отримує деякі недовірені дані та ретельно перевіряє, чи безпечно використовувати нові дані…

…але потім, за мить до того, як він почне використовувати цей підтверджений вхід, ваш помилковий код «використання після звільнення» втручається та вводить застарілі, небезпечні дані в ту саму частину пам’яті.

Раптом вільний від помилок код в інших частинах програми поводиться так, ніби він сам має помилки, завдяки недоліку у вашому коді, який просто зробив недійсним те, що було в пам’яті.

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

І а переповнення буфера купи відноситься до помилки, через яку ви записуєте більше даних у пам’ять, ніж поміщається в простір, який вам спочатку було виділено. (купа це жаргонний термін для колекції блоків пам’яті, якими зараз керує система.)

Якщо якась інша частина програми має блок пам’яті, випадково опинилася поруч із вашою у купі, тоді зайві дані, які ви щойно виписали, не переповнюватимуть невикористаний простір.

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

Система «Санітайзер».

На щастя, окрім виправлення недоліків, яких взагалі не повинно було бути, Google оголосив про появу нової функції, яка додає захист проти класу недоліків браузера, відомих як міжсайтовий сценарій (XSS).

Помилки XSS викликані тим, що браузер вставляє ненадійні дані, наприклад, із веб-форми, надісланої віддаленим користувачем, безпосередньо на поточну веб-сторінку, без попередньої перевірки (і видалення) ризикованого вмісту.

Уявіть, наприклад, що у вас є веб-сторінка, на якій пропонується показати мені, як виглядає текстовий рядок за моїм вибором у вашому дивовижному новому шрифті.

Якщо я введу зразок тексту Cwm fjord bank glyphs vext quiz (вигадана, але нечітко значуща комбінація англійської та валлійської мов, яка містить усі 26 літер алфавіту лише у 26 буквах, якщо вам було цікаво), тоді ви можете безпечно розмістити саме цей текст на веб-сторінці, яку ви створюєте.

У JavaScript, наприклад, ви можете переписати тіло веб-сторінки таким чином, вставивши наданий мною текст без жодних змін:

document.body.innerHTML = " Cwm fjord bank glyphs vext quiz"

Але якби я обдурив і попросив вас «відобразити» текстовий рядок Cwm fjord<script>alert(42)</script> замість цього, тоді було б необачно з вашого боку робити це...

document.body.innerHTML = " Cwm фіорд alert(42) "

…оскільки ви дозволили б мені вставити ненадійний код JavaScript my вибір безпосередньо в ваш веб-сторінки, де мій код міг читати ваші файли cookie та отримувати доступ до даних, доступ до яких інакше був би заборонений.

Отже, щоб зробити те, що відомо як очищення введених даних легше, тепер Chrome офіційно ввімкнув підтримку нової функції браузера під назвою setHTML().

Це можна використовувати для просування нового вмісту HTML за допомогою функції під назвою Sanitizer по-перше, так що якщо ви замість цього використовуєте цей код...

document.body.setHTML(" Cwm фіорд alert(42) ")

…тоді Chrome спочатку просканує запропонований новий рядок HTML на наявність проблем із безпекою та автоматично видалить будь-який текст, який може становити загрозу.

Ви можете побачити це в дії через Інструменти для розробників запустивши наведене вище setHTML() код на Консоль запит, а потім отримання фактичного HTML, який було вставлено в document.body змінна, як ми зробили тут:

Зверніть увагу на те, як виділений тег сценарію було «очистено» від HTML-коду, остаточно вставленого на сторінку.

Незважаючи на те, що ми явно поставили a <script> у вхідних даних, які ми передали в setHTML() код сценарію було автоматично видалено зі створених виводів.

Якщо вам справді потрібно додати потенційно небезпечний текст до елемента HTML, ви можете додати другий аргумент до setHTML() функція, яка визначає різні типи небезпечного вмісту для блокування або дозволу.

За замовчуванням, якщо цей другий аргумент опущено, як зазначено вище, Sanitizer працює на максимальному рівні безпеки та автоматично очищає весь небезпечний вміст, про який йому відомо.

Що ж робити?

  • Якщо ви користувач Chrome. Переконайтеся, що ви оновлені, натиснувши Три крапки > Документи > Про Google Chromeабо перейшовши за спеціальною URL-адресою chrome://settings/help.
  • Якщо ви веб-програміст. Дізнайтеся про нове Sanitizer та setHTML() функціональність за допомогою читання поради від Google і Веб-документи MDN.

До речі, якщо ви використовуєте Firefox, Sanitizer доступний, але ще не ввімкнено за замовчуванням. Ви можете ввімкнути його, щоб дізнатися про нього більше, перейшовши на сторінку about:config і перемикання dom.security.sanitizer.enabled варіант до true.


Часова мітка:

Більше від Гола безпека