Essay 73

Windows10の一段と高度なセキュリティ設定

和戸川の関連書籍「サイバー世界戦争の深い闇
2021年4月18日(更新2024年4月8日)
和戸川 純
抜本から見直されたWindowsのセキュリティ

サイバー攻撃が日々進化し、より巧妙かつ大規模になっている。ネット空間では、防御側よりも攻撃側のほうが有利な立場に立つ。被害を受けるまで、私たちは手をこまねいているわけにはいかない。被害が拡大する一方になってしまう。知らない間に、攻撃者に手を貸すことが起こり得る。

システムやアプリケーションのソフトウェアがなければ、デジタル・デバイスは動かない。サイバー攻撃においては、これらのソフトウェアの脆弱部が、攻撃の入り口として利用される。不正なコードが埋め込まれたり、マルウェアのインストールなどが行われる。その結果、コンピューターやスマホが、悪意のある攻撃者によって好きなように操作されてしまう。

マイクロソフト社が、Windowsのセキュリティ設定をよりシステミックにできるようにした。このセキュリティ・システムは、新しいマルウェアからソフトウェアを防御したり、新たに見つかったぜい弱個所からマルウエアが侵入する、ゼロデイ攻撃に対処が可能だ。Essay 46「Windows10のセキュリティ設定」との関連で、Exploit Protection(エクスプロイト保護)の設定法をここで述べる。なお、私のWindows10のバージョンは、20H2であることをお断りしておく。バージョンによっては設定法が異なる。

図1.新ウイルスやゼロデイ攻撃を阻止するエクスプロイト保護
* * * * * * * *

通常のセキュリティ対策ソフトは、データ・ベースを参照して、システムやアプリケーションへの感染の有無を判断する。このデータ・ベースには、様々なマルウェアの情報が、パターン化されて収められている。新しいマルウェアが誕生するたびにデータ・ベースが更新される。この対策では、ゼロデイ攻撃のように、セキュリティ・パッチが作成される前に攻撃が実行されると、被害が限りなく拡大する。既存の攻撃情報をもとにした防御には、このような深刻な弱点がある。

攻撃の突破口になる、ソフトウェアのぜい弱性をなくすだけでは足りない。侵入してもマルウエアが足場を築けないようにする対策が、理想的だ。このような防御を目的にして、マイクロソフトがセキュリティ・ツールのEMETを提供していた。EMETは、10年ほど前から開発され使用されてきたが、Windowsに統合されていない後づけのツールだった。堅牢性に欠け不安定だったばかりか、システムやアプリケーションのパフォーマンス低下を招くことがあった。EMETのサポートは2018年に終了。

以前のWindows Defenderは、防御ツールとしては軽量級だった。Microsoft Defender Smartscreenが、アクセスしたWebページを分析し、報告されているフィッシング詐欺サイトと、悪意のあるソフトウェア・サイトの一覧と照合する。疑わしいと判断した場合、警告ページを表示して注意を促す。基本的に、それまでのセキュリティ対策ソフトと同じだった。EMETの機能がDefenderに受け継がれた。

Defenderに、EMETの後継ツールであるエクスプロイト保護が追加され、Windowsの防御能が抜本的に強化された。エクスプロイト保護は、デバイスに密かに感染してデバイスを乗っ取るマルウェアから、感染初期の段階でソフトウェアを防御する。マルウェアに活動する余裕を与えない(図1)。

エクスプロイト保護の設定

エクスプロイト保護の設定メニューへ次のようにして辿り着くことができる。

画面下のタスクバーの左にある「スタート」を左クリック>歯車のようなアイコン「設定」>「更新とセキュリティ」> 「Windowsセキュリティ」>「アプリとブラウザーの制御」>「アプリとブラウザーコントロール」>「Exploit protection」の下にある「Exploit Protectionの設定」(図2)>「システム設定」。

図2.Exploit Protectionへのアクセス
Exploit Protection

下の図3のウインドウが表示される。右側のメニューに設定項目が7つあるが、デフォルトでは「既定値を使用する(オン)」か「既定値を使用する(オフ)」になっている。ここの設定で、既定の構成に応じて防御を有効または無効にできる。

図3.防御オン、オフの設定
オン、オフ設定

ソフトウェアによっては、レジストリ値が有効にならないことがある。OSを含む全てのソフトウェアを、常にもれなく防御するために設定を変更したい。各設定項目をクリックすると、現れたメニューで「既定でオンにする」か「既定でオフにする」を選択できる(図3)。全項目を「既定でオンにする」にする。コンピューターを再起動すれば設定が完了する。以上の設定で不具合が生じた場合は、デフォルトの設定に戻す。

各セキュリティ項目の機能は次の通りだ。

エクスプロイト保護の機能
制御フローガード(CFG) アドレス空間配置のランダム化(ASLR) によって、データ領域 が無作為に配置される。攻撃者が標的箇所を絞りずらくなる。ASLRがバイパスされて不正コードが挿入された場合、ソフトウェアのコードの流れと連続性を監視しているCFGが、不正と判断する。コードがハイジャックされる前にソフトウェアを終了する。
データ実行防止(DEP) 正規のプログラムによって予約されている、システム・メモリの領域に潜伏して、不正コードを実行するマルウェアがある。DEPは、プログラムがシステム・メモリを安全に使用しているかどうかを監視し、コードが実行されるのを防ぐ。
イメージのランダム化を強制する(必須ASLR) 必須ASLRは、コンパイルされていないアドレス領域を強制的に再配置するので、特定アドレスの書き換えが困難になる。これによって、メモリ内にあるプログラムの各部を標的にし、大量の不正データを送りつけて誤動作を起こさせる、バッファ・オーバーフロー攻撃からソフトウェアを防御。
仮想メモリの割り当てをランダム化する(ボトムアップASLR) ヒープ(動的に確保できるメモリー領域)やスタック(コンパイラやシステムが管理するメモリー領域)など、ボトムアップ型メモリーの割り当てを行う際のベース・アドレスをランダム化し、攻撃を困難にする。
高エントロピ(ASLR) ボトムアップASLR使用時のメモリの可変性を向上させる。プログラムのアドレスをランダムに変え、ウイルスに的を絞らせない。
例外チェーンを検証する(SEHOP) プログラムの異常時に起動される例外処理機能が、正当か否かを判定する。例外チェーンを操作するウイルスに有効。
ヒープの整合性を検証する データ領域の整合性・正当性をチェックし、破損が見つかれば実行を停止する。

広告(Googleアドセンス)