ホームページ » の仕方 » 64ビット版のWindowsがより安全な理由

    64ビット版のWindowsがより安全な理由

    最近のほとんどの新しいPCは、64ビット版のWindows(Windows 7と8の両方)と共に出荷されています。 64ビット版のWindowsは、追加のメモリを利用するだけではありません。 32ビット版よりも安全性が高い.

    64ビットオペレーティングシステムはマルウェアの影響を受けませんが、より多くのセキュリティ機能を備えています。これのいくつかはLinuxのような他のオペレーティングシステムの64ビットバージョンにも当てはまります。 Linuxユーザーは、自分のLinuxディストリビューションの64ビットバージョンに切り替えることでセキュリティ上の利点を得ます。.

    アドレス空間レイアウトのランダム化

    ASLRは、プログラムのデータ位置をメモリ内にランダムに配置するセキュリティ機能です。 ASLRが登場する以前は、プログラム内のメモリ内のデータ位置は予測可能であり、プログラムへの攻撃ははるかに簡単でした。 ASLRでは、攻撃者はプログラムの脆弱性を悪用しようとするときにメモリ内の正しい場所を推測する必要があります。不正確な推測はプログラムをクラッシュさせる可能性があるので、攻撃者は再び試みることができないでしょう。.

    このセキュリティ機能は、32ビットバージョンのWindowsや他のオペレーティングシステムでも使用されていますが、64ビットバージョンのWindowsでははるかに強力です。 64ビットシステムは、32ビットシステムよりもはるかに大きなアドレス空間を持っているため、ASLRのほうがはるかに効果的です。.

    必須ドライバーの署名

    64ビットバージョンのWindowsでは、必須のドライバ署名が強制されます。システム上のすべてのドライバコードにはデジタル署名が必要です。これには、カーネルモードデバイスドライバとプリンタドライバなどのユーザーモードドライバが含まれます。.

    必須のドライバ署名は、マルウェアによって提供された未署名のドライバがシステム上で実行されるのを防ぎます。マルウェアの作成者は、何らかの理由で起動時のルートキットを介して署名プロセスを回避するか、正規のドライバ開発者から盗まれた有効な証明書を使用して感染したドライバに署名する必要があります。これにより、感染したドライバがシステム上で動作することがより困難になります。.

    32ビット版のWindowsでもドライバの署名を強制することはできますが、そうではありません - 署名されていない可能性がある古い32ビットドライバとの互換性を維持するために.

    64ビット版のWindowsで開発中にドライバの署名を無効にするには、カーネルデバッガを接続するか、システムを再起動しても持続しない特別な起動オプションを使用する必要があります。.

    カーネルパッチ保護

    KPPは、PatchGuardとも呼ばれ、64ビットバージョンのWindowsにしかないセキュリティ機能です。 PatchGuardは、ソフトウェア(カーネルモードで動作しているドライバであっても)がWindowsカーネルにパッチを適用するのを防ぎます。これは常にサポートされていませんが、32ビット版のWindowsでは技術的に可能です。一部の32ビットウイルス対策プログラムは、カーネルパッチを使用してウイルス対策を実施しています。.

    PatchGuardは、デバイスドライバがカーネルにパッチを適用するのを防ぎます。たとえば、PatchGuardは、ルートキットがWindowsカーネルを変更して自分自身をオペレーティングシステムに埋め込むことを防ぎます。カーネルのパッチ適用の試みが検出された場合、Windowsは直ちにブルースクリーンでシャットダウンするか再起動します。.

    この保護は、32ビット版のWindowsにも適用される可能性がありますが、そうではありません - このアクセスに依存する従来の32ビットソフトウェアとの継続的な互換性のために.

    データ実行保護

    DEPでは、オペレーティングシステムが「NXビット」を設定することによって、メモリの特定の領域を「実行不可」としてマークすることができます。データのみを保持するはずのメモリ領域は実行できません。.

    たとえば、DEPのないシステムでは、攻撃者はある種のバッファオーバーフローを使用して、アプリケーションのメモリ領域にコードを書き込むことができます。その後、このコードが実行される可能性があります。 DEPを使用すると、攻撃者はアプリケーションのメモリの領域にコードを書き込むことができますが、この領域は実行不可能としてマークされ、実行されることはできず、攻撃が阻止される可能性があります。.

    64ビットオペレーティングシステムにはハードウェアベースのDEPがあります。最新のCPUをお持ちの場合、これは32ビット版のWindowsでもサポートされていますが、デフォルト設定はより厳しく、DEPは64ビットプログラムでは常に有効になっています。.

    WindowsのDEP設定ダイアログは少し紛らわしいです。 Microsoftのドキュメントにあるように、DEPは常にすべての64ビットプロセスに使用されます。

    「システムDEP構成設定は、32ビット版または64ビット版のWindowsで実行されている場合の32ビットアプリケーションおよびプロセスにのみ適用されます。 64ビットバージョンのWindowsでは、ハードウェアによるDEPが利用可能な場合は常に64ビットプロセスとカーネルメモリスペースに適用され、それを無効にするためのシステム構成設定はありません。」

    WOW64

    64ビットバージョンのWindowsは32ビットWindowsソフトウェアを実行しますが、それらはWOW64(Windows 64ビット上のWindows 32ビット)として知られている互換性レイヤを通してそれを行います。この互換性レイヤは、これらの32ビットプログラムにいくつかの制限を課し、32ビットマルウェアが正しく機能しなくなる可能性があります。 32ビットマルウェアもカーネルモードでは実行できません。64ビットOS上では64ビットプログラムでしか実行できません。そのため、古い32ビットマルウェアが正しく機能しなくなる可能性があります。たとえば、Sonyのルートキットが入った古いオーディオCDがある場合、64ビットバージョンのWindowsに自分自身をインストールすることはできません。.

    64ビットバージョンのWindowsも、古い16ビットプログラムのサポートを終了します。古くからある16ビットウイルスの実行を阻止することに加えて、これにより企業は脆弱で修正されていない可能性のある古くからある16ビットプログラムをアップグレードする必要があります。.

    現在64ビット版のWindowsが広く普及していることを考えると、新しいマルウェアは64ビット版Windows上で実行される可能性があります。ただし、互換性の欠如は、野生の古いマルウェアから保護するのに役立ちます。.


    あなたが奇妙な古い16ビットプログラム、32ビットドライバしか提供していない古いハードウェア、あるいはかなり古い32ビットCPUを搭載したコンピュータを使用しない限り、64ビットバージョンのWindowsを使用する必要があります。使用しているバージョンがわからないが、Windows 7または8を実行している最新のコンピュータを使用している場合は、64ビット版を使用している可能性があります。.

    もちろん、これらのセキュリティ機能のどれも絶対確実というわけではなく、64ビットバージョンのWindowsは依然としてマルウェアに対して脆弱です。ただし、64ビットバージョンのWindowsは間違いなくより安全です。.

    Image Credit:FlickrのWilliam Hook