LAN Managerは、複数のベンダーから提供されていたネットワークオペレーティングシステム(NOS)で、現在は廃止されています。Microsoftが3Com Corporationと共同で開発しました。LAN Managerは、大幅に改良されたMS-DOS上で動作していた3Comの3+Share ネットワークサーバーソフトウェアの後継として設計されました。
LAN Manager OS/2オペレーティングシステムは、 IBMとMicrosoftによって共同開発され、Server Message Block (SMB)プロトコルを採用していました。当初は、NetBIOS Frames (NBF)プロトコル、またはXerox Network Systems (XNS)プロトコルの特殊バージョンをベースにSMBを採用していました。これらのレガシープロトコルは、MS-DOS用のMS-Net 、 MS-Xenix用のXenix-NET 、そして前述の3+Shareといった以前の製品から継承されたものでした。Unixベースシステム向けのLAN ManagerであるLAN Manager/Xも提供されていました。LAN Manager/Xは、Digital Equipment CorporationのOpenVMS、Ultrix、Tru64向けのPathworks製品の基盤となりました。[1]
1989年、PC誌は3Com、IBM、Digital、Digital Communications Associatesからのサポートにもかかわらず、LAN ManagerはNovell NetWareと比較して「市場へのインパクトは極めて小さく、購入者からも冷遇され続けている」と評した。しかし、両社の合併は「大きな潜在的脅威となる」とも同誌は付け加えている。[2] 1990年、マイクロソフトは、 NetBIOS over TCP/IP (NBT)を用いたSMBのトランスポートプロトコルとしてTCP/IPをサポートするなど、多くの改良を加えたLAN Manager 2.0を発表した。LAN Managerの最終バージョンである2.2は、MS-OS/2 1.31ベースのオペレーティングシステムを搭載し、 1993年にWindows NT Advanced Serverがリリースされるまで、マイクロソフトの戦略的サーバーシステムであり続けた。[3]
多くのベンダーがライセンス バージョンを出荷しており、その中には次のようなものがあります。
LMハッシュは次のように計算される: [4] [5]
1010100を挿入します(つまり、になります10101000)。これにより、DES鍵に必要な64ビットが生成されます。(DES鍵は一見64ビットで構成されていますが、アルゴリズムでは実際に56ビットしか使用されません。このステップで追加されたパリティビットは後で破棄されます。)KGS!@#$%」をDES暗号化するために使用され、[注2]、2つの8バイトの暗号文値が生成されます。DES CipherModeはECB、PaddingModeは に設定する必要がありますNONE。LAN Manager 認証は、ユーザーのパスワードをハッシュする特に弱い方法である LM ハッシュ アルゴリズムを使用します。この方法は、フロッピー ディスクで感染するウイルスが大きな懸念事項であった 1980 年代半ばに由来します。[8] LM ハッシュは、十分に研究されたブロック暗号であるDESに基づいていますが、設計上、いくつかの弱点があります。[9]このため、このようなハッシュは、レインボー テーブル を使用して数秒で、ブルート フォースを使用して数分で解読可能になります。Windows NT以降では、これはNTLMに置き換えられましたが、長く予測不可能なパスワードを使用しない限り、レインボー テーブルやブルート フォース攻撃に対して依然として脆弱です (パスワード クラッキングを参照)。NTLM は、ドメイン コントローラーを除くローカル アカウントでのログオンに使用されます。これは、Windows Vista 以降のバージョンでは既定で LM ハッシュが保持されなくなったためです。[8] Kerberosは Active Directory 環境で使用されます。
LAN Manager認証プロトコルの主な弱点は以下の通りである。[10]
LM 暗号化および認証方式に内在するセキュリティ上の弱点に対処するため、Microsoft は1993 年にWindows NT 3.1でNTLMv1プロトコルを導入しました。ハッシュについては、NTLM はを に置き換えてUnicodeサポートを使用します。これにより、キーを簡素化するパディングや切り捨てが不要になります。マイナス面としては、後続の認証手順では56 ビット暗号化のみで同じ DES アルゴリズムが使用され、ソルトは依然として存在しません。さらに、Windows マシンは長年、LM ハッシュと NTLM ハッシュの両方から得られた応答を送受信するようにデフォルトで構成されていたため、NTLM ハッシュを使用しても、より弱いハッシュが存在している間はセキュリティが強化されませんでした。また、ユーザー マネージャーなどの管理ツールにおけるパスワードの長さに関する人為的な制限が解除されるのにも時間がかかりました。
LMhash=DESeach(DOSCHARSET(UPPERCASE(password)), "KGS!@#$%")NThash=MD4(UTF-16-LE(password))
LAN Manager は廃止されていると考えられており、現在の Windows オペレーティングシステムではより強力な NTLMv2 またはKerberos認証方法が使用されていますが、Windows Vista / Windows Server 2008より前の Windows システムでは、従来の LAN Manager およびWindows ME以前のクライアント、または従来のNetBIOS対応アプリケーションとの下位互換性を保つために、LAN Manager ハッシュがデフォルトで有効になっていました。 侵害された LM および NTLMv1 認証プロトコルを不要な場合に無効にすることは、長年、セキュリティ上の優れた習慣とされてきました。[12] Windows Vista および Windows Server 2008 以降、Microsoft は LM ハッシュをデフォルトで無効にしました。この機能は、セキュリティポリシー設定を介してローカルアカウントに対して有効にすることができ、ドメイングループポリシーを介して同じ設定を適用することでActive Directoryアカウントに対して有効にすることができます。同じ方法を使用して、Windows 2000、Windows XP、および NT でもこの機能を無効にすることができます。[12]ユーザーは、少なくとも 15 文字の長さのパスワードを使用することにより、自分のパスワードに対して LM ハッシュが生成されないようにすることもできます。[7] —NTLMハッシュは近年、様々な攻撃に対して脆弱になっており、1998年当時のLanManハッシュと同じくらい脆弱になっています。[要出典]
多くの従来のサードパーティ製SMB実装では、LM ハッシュに代わる Microsoft が作成した強力なプロトコルのサポートを追加するのにかなりの時間がかかりました。これは、これらのライブラリをサポートするオープン ソースコミュニティが最初に新しいプロトコルをリバース エンジニアリングする必要があったためです。SambaがNTLMv2サポートを追加するのに 5 年かかり、JCIFS の場合は 10 年かかりました。
LM ハッシュ機能をサポートするソフトウェア リリースが利用可能になった後のパッチ適用体制が不十分なため、プロトコルがActive Directory自体で簡単に無効にできるにもかかわらず、一部の組織では環境内で LM ハッシュを引き続き使用しています。
最後に、Windows Vista がリリースされる前は、多くの無人ビルド プロセスで、 WINNT.EXE を使用して Windows のインストールを開始するために、 DOSブート ディスク ( Windows PEではなく) がまだ使用されていました。これは、従来の LAN Manager ネットワーク スタックが機能するために LM ハッシュを有効にする必要があるためです。
Vistaはまだリリースされていませんが、このオペレーティングシステムにおけるこれらのプロトコルに関するいくつかの変更点について触れておく価値があります。最も重要な変更点は、Windows Vistaが認証サーバーとして機能する受信認証にLMプロトコルが使用できなくなったことです。