Chrome は 24 のセキュリティ ホールにパッチを当て、「サニタイザー」安全システム PlatoBlockchain Data Intelligence を有効にします。 垂直検索。 あい。

Chrome は 24 のセキュリティ ホールにパッチを当て、「サニタイザー」安全システムを有効にします

Google の最新の Chrome ブラウザ、 バージョン105、出ていますが、完全なバージョン番号は、Windows、Mac、または Linux のいずれを使用しているかによって厄介なほど異なります。

Unix ライクなシステム (Mac および Linux) では、 105.0.5195.52、しかしWindowsでは、あなたが探している 105.0.5195.54.

Google によると、この新しいバージョンには 24 のセキュリティ修正が含まれていますが、「実際に」報告されたものはありません。つまり、今回パッチが適用されたゼロデイはありませんでした。

それにもかかわらず、ダビングされた脆弱性が XNUMX つあります。 クリティカル、さらに XNUMX つの定格 ハイ.

修正された欠陥のうち、半分強がメモリの不適切な管理によるもので、XNUMX つが次のようにリストされています。 使用-後フリー バグ、および XNUMX つの as ヒープ バッファ オーバーフロー.

メモリ バグの種類の説明

A 使用-後フリー プログラムの別の部分のためにメモリを解放するためにメモリを返しますが、とにかくそれを使い続けると、アプリの正しい動作に干渉する可能性があります。

たとえば、問題のあるメモリ ブロックへの唯一のアクセス権を持っていると考えるプログラムの一部が、信頼できない入力を受け取り、新しいデータが安全に使用できることを慎重に検証するとします。

…しかし、その検証済みの入力を使用し始める前の瞬間に、バグのある「use-after-free」コードが干渉し、古くて安全でないデータをメモリのまったく同じ部分に挿入します。

突然、プログラムの他の場所にあるバグのないコードが、それ自体がバグであるかのように動作します。これは、メモリ内のコードを無効にするコードの欠陥のおかげです。

コードの予期しない介入のタイミングを操作する方法を見つけた攻撃者は、プログラムを意のままにクラッシュさせるだけでなく、プログラムから制御を奪うこともできます。 リモートコード実行.

そして、 ヒープ バッファ オーバーフロー 最初に割り当てられたスペースに収まるよりも多くのデータをメモリに書き込むバグを指します。 (ヒープ システムによって現在管理されているメモリ ブロックの集合を表す専門用語です。)

プログラムの他の部分に、メモリ ブロックがたまたまヒープ内のメモリ ブロックの近くまたは隣にある場合、書き出された余分なデータが無害に未使用の領域にオーバーフローすることはありません。

代わりに、他の場所でアクティブに使用されているデータを破損します。これは、use-after-free バグについて説明したものと同様の結果になります。

「サニタイザー」システム

幸いなことに、まったく存在しないはずだった不具合を修正するだけでなく、Google は新しい機能の登場を発表しました。 保護を追加します として知られているブラウザの欠陥のクラスに対して クロスサイトスクリプティング (XSS)。

XSS バグは、ブラウザーが信頼できないデータを挿入することによって発生します。たとえば、リモート ユーザーによって送信された Web フォームから、危険なコンテンツを最初にチェック (および削除) することなく、現在の Web ページに直接挿入します。

たとえば、私が選んだテキスト文字列がファンキーな新しいフォントでどのように表示されるかを教えてくれる Web ページを持っていると想像してみてください。

サンプルテキストを入力すると Cwm fjord bank glyphs vext quiz (不自然ではあるが漠然と意味のある英語とウェールズ語のマッシュアップで、アルファベットの 26 文字すべてが 26 文字だけに含まれています)、この正確なテキストを作成する Web ページに挿入しても問題ありません。

たとえば、JavaScript では、Web ページの本文を次のように書き換えて、私が提供したテキストを変更せずに挿入することができます。

document.body.innerHTML = " Cwm フィヨルド バンク グリフ vext クイズ"

しかし、私がだまされて、テキスト文字列を「表示」するように頼まれたら Cwm fjord<script>alert(42)</script> むしろ無謀ですよね…。

document.body.innerHTML = " CWMフィヨルドalert(42) "

…信頼できない JavaScript コードを挿入することを許可するからです。 my 直接選択する 私のコードがあなたの Cookie を読み取り、他の方法では立ち入り禁止のデータにアクセスできる Web ページ。

だから、として知られているものを作るために あなたの入力を消毒する Chrome では、新しいブラウザ機能のサポートが正式に有効になりました。 setHTML().

これは、 Sanitizer 最初に、代わりにこのコードを使用すると…

document.body.setHTML(" CWMフィヨルドalert(42) ")

…次に、Chrome は最初に提案された新しい HTML 文字列をスキャンしてセキュリティ上の問題を探し、リスクをもたらす可能性のあるテキストを自動的に削除します。

これは、 開発者ツール 上記を実行することで setHTML() コード 領事 プロンプトを表示し、次に挿入された実際の HTML を取得します。 document.body ここで行ったように、変数:

強調表示されたスクリプト タグが、最終的にページに挿入された HTML から「サニタイズ」されていることに注意してください。

明示的に <script> に渡した入力のタグ setHTML() スクリプト コードは、作成された出力から自動的に削除されました。

潜在的に危険なテキストを HTML 要素に追加する必要がある場合は、XNUMX 番目の引数を setHTML() ブロックまたは許可するさまざまな種類の危険なコンテンツを指定する関数。

デフォルトでは、上記のようにこの XNUMX 番目の引数が省略されている場合、Sanitizer は最大のセキュリティ レベルで動作し、認識しているすべての危険なコンテンツを自動的にパージします。

何をするか?

  • Chrome ユーザーの場合。 をクリックして、最新の状態であることを確認してください 3つの点 > カスタマーサービス > GoogleのChromeについて、または特別な URL を参照して chrome://settings/help.
  • あなたがウェブプログラマーなら。 新しいについて学ぶ Sanitizer および setHTML() 読み取りによる機能 Google からのアドバイスMDN Web ドキュメント.

ちなみにFirefoxなら Sanitizer 利用できますが、デフォルトではまだオンになっていません。 オンにすると、詳細を確認できます。 about:config そしてトグル dom.security.sanitizer.enabled オプション true.


タイムスタンプ:

より多くの 裸のセキュリティ