2014年11月27日木曜日

Windowsのパスワードの保存と不正利用の脅威について

0

Windows のパスワードは LM ハッシュ またはNT LM ハッシュ の形でレジストリに保存されている。

ファイルの実体はSAM(Security Account Manager) ファイルであり、ファイル名は %SystemRoot\system32\config\SAM となっている。そしてレジストリ上の HKLM/SAM にマウントされる。

ActiveDirectory の場合、ドメインユーザー情報は ドメインコントローラ上の ディレクトリデータベース(デフォルト値は DC上の %SystemRoot%\NTDS\ntds.dit ファイル)に格納される。

マシンがオンラインの場合、SAM ファイルは OS が排他的にアクセスをするため、単純にはこのファイルは移動したりコピーすることができないように制御されている。(注1)
ただし、メモリ上にコピーがあり、そこからパスワードのハッシュ値とかまた pwddump などのツールからパスワードそのものが取り出せることも知られている。(注2)

パスワード文字列が分からなくてもパスワードのハッシュ値があれば認証することができる。
このハッシュ値はマシンやユーザー名に依存しないので、同じパスワード文字列を設定している場合には別のドメインでも別のマシンや別のユーザー名でもそのハッシュ値で認証できてしまうことが考慮すべき点である。

注1:
管理者権限で実行してもアクセス出来ないが、システム権限であればアクセスすることができる。
システム権限によるアクセスの仕方は PsExec.exe を使う手法が有名で、ネットで簡単に検索できる。

注2:
ローカルアカウントの全てのユーザーアカウントが脅威になる。
ドメインに参加している共有サーバは、アクセスしている全てのアカウントのユーザー・パスワード(正確にはハッシュ値だが。)がメモリ上に残っており、同様に脅威となる。


万能な対策は私にも分からない。

今は必要最低限の権限でアカウントを作ることと、(どんな些細なことであっても)疑いがあった際にはすべてのアカウントのパスワードを変更することが重要なことである。

0 コメント:

コメントを投稿