アカウント名:
パスワード:
攻撃者がアプリの実行ファイルのあるディレクトリに書き込み権限がある状況で、OSやアプリにできることなんて何もないよ。攻撃者が/usr/binや/usr/libに書き込み権限がある状況で、システムをexploitされたらLinuxの脆弱性だとでもいうのか。素人なの?
アプリケーションやインストーラーがDLLのハッシュ値を調べて改ざんされてないか診断する機構は付いていたほうがいいよねもしくはアプリケーション自体が改ざんされてないかハッシュ値などで自己診断なりOS側で判断する機能が付いているとさらにいいよね
ハッシュ値なんて Windows Update でバイナリが差し替えられたら変わっちゃうんだから確認のしようがない。使い物にならない。少なくとも Vista の時点で既にコード署名があるんだから、そちらを確認れば済む話。
ところが、Windows はシステムのコアコンポーネントですらコード署名されてないバイナリが山のように放置されいる。例えば、explorer.exe は Win10 は署名されてるけど、Win7 は署名がないし、cmd.exe は Win10 も 7 も署名がない。
システムコンポーネントの改竄を容易に確認する手段を用意しておきながら、まじめに運用する気がないとか、正直 Microsoft の神経はおかしいとしか言いようがない。コード署名のないバイナリの実行をすべて禁止せよとは言わないが、Microsoft 公式のバイナリにコード署名がないのはセキュリティに対する怠慢以外の何物でもないだろう。
署名カタログも知らないくせにcmd.exeに署名がないとか言ってる阿保
ごめんなさい。前言撤回します。私が阿呆でした。explorer.exe から cmd.exe のプロパティ見てもデジタル署名付いてないし、sigverif.exe も cmd.exe を検証してくれないけど、PowerShell からGet-AuthenticodeSignature パス名ってやると検証出来るんだね。
でも肝心の署名カタログの場所が分からなかったので、調べる方法知ってたら阿保な私に教えてください。
調べる方法:ググる
賢くなれるチャンス!
この文章を読んで、調べて分からなかったから聞いているのが分からないとか相当だなと思う。
#3574472 [srad.jp] は、口は悪いが、要点となる情報をこの上なく簡潔に与えてくれている一方で、#3574648 [srad.jp] はからは、何一つとして学ぶものがない。
人に賢くなれるチャンスとかボケたこと抜かす前にまず自分が文章の読解力を身に付けるべきだろう。人に何ら有益な情報を提供出来ないくせに、便乗してマウントを取りたいだけの無能なクズは黙ってろと思うね。
文章力をつけろとか煽ってマウント取ってくるヤツも黙ってろと私は思うし、この程度のこともググる能力が無いのに何でこんなに偉そうかね無能なクズなんだからもんちょっと謙虚になったら?
カタログだって自分でいってんじゃん
# メモ帳とかのプリセットアプリならSystem32のcatrootはある情報はなんなんだろうね
なんか20年くらい前のML文化を思い出すなあ。「教えてくれるかどうか」が全て、相手で態度を豹変させる教えて君。
そもそもこの人の言う「学ぶもの」って「答えそのもの」だから、「要点となる情報をこの上なく簡潔に与えてくれ」なきゃ意味が無い。#3574648は「"署名カタログ"でググれば答えに到達する」ことを明確に示してるのに、賢くなる気も学ぶ気もないんだからそりゃ学ぶものは無いでしょう…。
腹立つこと言われて反論するバイタリティで出来ること幾つもあるのに、ほんと勿体ない。
署名カタログ自体は *.cat で検索すれば簡単に見つかるよ。そこ以外にも WinSxS、System32\DriverStore、servicing\Packages、SoftwareDistribution\Download 以下から大量に見つかる。
問題はフォルダの場所ではなくて、署名カタログと検証対象のファイルの対応を見つける方法。少なくとも私の検索能力では見つけられなかった。
sigverif.exe で検証されたファイルは、ログを見ればある程度署名カタログを絞り込めるけど、署名ファイルのファイル名が長いと表示桁数をオーバーしてしまうため特定出来ないし、任意のファイルを検証することも出来ないので検証対象になってないファイル(例えば cmd.exe)に対応する署名ファイルは見つけることが出来ない。PowerShell の Get-AuthenticodeSignature は任意のファイルを検証出来るけど、これも署名ファイルとの対応を表示する方法がない。
Windows 本体に含まれない機能を使ってよければ、Windows SDK 入れることでsigntool.exe verify /a /v 検証対象のファイルとすれば検証対象のファイルに対応する署名カタログを見つけることは出来る。しかし、この逆で署名カタログから検証対象のファイルを見つける方法は見つけられなかった。
署名カタログにはハッシュ値のみ記録されているので、署名カタログ内のハッシュ値を一覧するコマンドさえあればスクリプトを組めそうだけど、ハッシュ値を一覧するコマンドも見つけられなかった。
更に、よくわからないのは署名カタログのハッシュ値。例えば、C:\Windows\System32\cmd.exe はsigntool.exe verify /a /v /hash SHA256 C:\Windows\System32\cmd.exeとするとFile is signed in catalog: C:\WINDOWS\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-Client-Features-Package0011~31bf3856ad364e35~amd64~~10.0.17134.1.catHash of file (sha256): 9F9B267DA808B959A4CD4D5B8FEAC68C4888B932789D26BECB2D65C452273D4Bという結果が得られる。これは、上記の署名カタログを開いてセキュリティカタログのタブを確認してみると確かにこのハッシュ値が見つかる。ところが、Get-FileHash -Algorithm SHA256 C:\Windows\System32\cmd.exeの結果は9A7C58BD98D70631AA1473F7B57B426DB367D72429A5455B433A05EE251F3236なのでハッシュが一致しない。ということは恐らく SALT が付いてるはずなんだけど、これに関するドキュメントも見つけられなかった。
少なくとも署名カタログについては、私は自分の無知を詫びて阿呆であることを認めたよね?口だけならなんとでも言えるけど、無いことの証明はできないだから、是非とも有ることを示して、私の無能を証明してもらいたいのだ。
私は基本的に質問しないんだけど、君らがマウント取ってくるから、ボコってくれって言ってるだけなんだが?ちゃんとボコってくれたのは、最初の#3574472 [srad.jp]だけで他は情報量ゼロじゃん?
こっちは調べた上で白旗上げてるんだ。そして調べた結果は還元している。知ったかはお呼びじゃないんだ。ちゃんと、エビデンスでボコってくれ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家
脆弱性じゃないって何度言わせるのか (スコア:0)
攻撃者がアプリの実行ファイルのあるディレクトリに書き込み権限がある状況で、OSやアプリにできることなんて何もないよ。
攻撃者が/usr/binや/usr/libに書き込み権限がある状況で、システムをexploitされたらLinuxの脆弱性だとでもいうのか。
素人なの?
Re: (スコア:0)
アプリケーションやインストーラーがDLLのハッシュ値を調べて改ざんされてないか診断する機構は付いていたほうがいいよね
もしくはアプリケーション自体が改ざんされてないかハッシュ値などで自己診断なりOS側で判断する機能が付いているとさらにいいよね
疾うの昔に仕組みはあるが、Microsoftの怠慢で機能してない。 (スコア:2)
ハッシュ値なんて Windows Update でバイナリが差し替えられたら変わっちゃうんだから確認のしようがない。使い物にならない。
少なくとも Vista の時点で既にコード署名があるんだから、そちらを確認れば済む話。
ところが、Windows はシステムのコアコンポーネントですらコード署名されてないバイナリが山のように放置されいる。
例えば、explorer.exe は Win10 は署名されてるけど、Win7 は署名がないし、cmd.exe は Win10 も 7 も署名がない。
システムコンポーネントの改竄を容易に確認する手段を用意しておきながら、まじめに運用する気がないとか、正直 Microsoft の神経はおかしいとしか言いようがない。
コード署名のないバイナリの実行をすべて禁止せよとは言わないが、Microsoft 公式のバイナリにコード署名がないのはセキュリティに対する怠慢以外の何物でもないだろう。
uxi
Re: (スコア:0)
署名カタログも知らないくせにcmd.exeに署名がないとか言ってる阿保
本当だ。びっくり。 (スコア:2)
ごめんなさい。前言撤回します。私が阿呆でした。
explorer.exe から cmd.exe のプロパティ見てもデジタル署名付いてないし、
sigverif.exe も cmd.exe を検証してくれないけど、
PowerShell から
Get-AuthenticodeSignature パス名
ってやると検証出来るんだね。
でも肝心の署名カタログの場所が分からなかったので、調べる方法知ってたら阿保な私に教えてください。
uxi
Re:本当だ。びっくり。 (スコア:0)
調べる方法:ググる
賢くなれるチャンス!
びっくり。 (スコア:2)
この文章を読んで、調べて分からなかったから聞いているのが分からないとか相当だなと思う。
#3574472 [srad.jp] は、口は悪いが、要点となる情報をこの上なく簡潔に与えてくれている一方で、
#3574648 [srad.jp] はからは、何一つとして学ぶものがない。
人に賢くなれるチャンスとかボケたこと抜かす前にまず自分が文章の読解力を身に付けるべきだろう。
人に何ら有益な情報を提供出来ないくせに、便乗してマウントを取りたいだけの無能なクズは黙ってろと思うね。
uxi
Re: (スコア:0)
文章力をつけろとか煽ってマウント取ってくるヤツも黙ってろと私は思うし、
この程度のこともググる能力が無いのに何でこんなに偉そうかね
無能なクズなんだからもんちょっと謙虚になったら?
カタログだって自分でいってんじゃん
# メモ帳とかのプリセットアプリならSystem32のcatrootはある情報はなんなんだろうね
Re: (スコア:0)
なんか20年くらい前のML文化を思い出すなあ。
「教えてくれるかどうか」が全て、相手で態度を豹変させる教えて君。
そもそもこの人の言う「学ぶもの」って「答えそのもの」だから、
「要点となる情報をこの上なく簡潔に与えてくれ」なきゃ意味が無い。
#3574648は「"署名カタログ"でググれば答えに到達する」ことを明確に示してるのに、
賢くなる気も学ぶ気もないんだからそりゃ学ぶものは無いでしょう…。
腹立つこと言われて反論するバイタリティで出来ること幾つもあるのに、ほんと勿体ない。
そうじゃない (スコア:2)
署名カタログ自体は *.cat で検索すれば簡単に見つかるよ。
そこ以外にも WinSxS、System32\DriverStore、servicing\Packages、SoftwareDistribution\Download 以下から大量に見つかる。
問題はフォルダの場所ではなくて、署名カタログと検証対象のファイルの対応を見つける方法。
少なくとも私の検索能力では見つけられなかった。
sigverif.exe で検証されたファイルは、ログを見ればある程度署名カタログを絞り込めるけど、署名ファイルのファイル名が長いと表示桁数をオーバーしてしまうため特定出来ないし、任意のファイルを検証することも出来ないので検証対象になってないファイル(例えば cmd.exe)に対応する署名ファイルは見つけることが出来ない。
PowerShell の Get-AuthenticodeSignature は任意のファイルを検証出来るけど、これも署名ファイルとの対応を表示する方法がない。
Windows 本体に含まれない機能を使ってよければ、
Windows SDK 入れることで
signtool.exe verify /a /v 検証対象のファイル
とすれば検証対象のファイルに対応する署名カタログを見つけることは出来る。
しかし、この逆で署名カタログから検証対象のファイルを見つける方法は見つけられなかった。
署名カタログにはハッシュ値のみ記録されているので、
署名カタログ内のハッシュ値を一覧するコマンドさえあればスクリプトを組めそうだけど、
ハッシュ値を一覧するコマンドも見つけられなかった。
更に、よくわからないのは署名カタログのハッシュ値。
例えば、C:\Windows\System32\cmd.exe は
signtool.exe verify /a /v /hash SHA256 C:\Windows\System32\cmd.exe
とすると
File is signed in catalog: C:\WINDOWS\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-Client-Features-Package0011~31bf3856ad364e35~amd64~~10.0.17134.1.cat
Hash of file (sha256): 9F9B267DA808B959A4CD4D5B8FEAC68C4888B932789D26BECB2D65C452273D4B
という結果が得られる。
これは、上記の署名カタログを開いてセキュリティカタログのタブを確認してみると確かにこのハッシュ値が見つかる。
ところが、
Get-FileHash -Algorithm SHA256 C:\Windows\System32\cmd.exe
の結果は
9A7C58BD98D70631AA1473F7B57B426DB367D72429A5455B433A05EE251F3236
なのでハッシュが一致しない。
ということは恐らく SALT が付いてるはずなんだけど、これに関するドキュメントも見つけられなかった。
少なくとも署名カタログについては、私は自分の無知を詫びて阿呆であることを認めたよね?
口だけならなんとでも言えるけど、無いことの証明はできないだから、是非とも有ることを示して、私の無能を証明してもらいたいのだ。
uxi
Re:びっくり。 (スコア:2)
私は基本的に質問しないんだけど、君らがマウント取ってくるから、ボコってくれって言ってるだけなんだが?
ちゃんとボコってくれたのは、最初の#3574472 [srad.jp]だけで他は情報量ゼロじゃん?
こっちは調べた上で白旗上げてるんだ。そして調べた結果は還元している。
知ったかはお呼びじゃないんだ。
ちゃんと、エビデンスでボコってくれ。
uxi