アカウント名:
パスワード:
ファイルの主ストリームだけでなく副ストリーム
OSにセキュリティホールがあれば、ファイルの中身に触れる前に、ヤられます。
また、アプリが読み込んだ部分だけをもとに検査するとなると、かなりのメモリとCPUを食います。しかも、ファイルをメモリにマップされることもあるので、VMにまでフックの手を広げる必要が。
副ストリームを列挙するのは、アプリケーションがアクセスしようとしているストリームに加えて、それ以外についても、チェックするためでしょう。
副ストリームを列挙するのはいいが、主ストリームへのチェックがおざなりになったら意味が無いじゃないか。
それはアプリケーションの振る舞いを変更することになるので潜在的な危険をはらんでいます。
はい? アプリケーションの振る舞いは変更される事はありません。どのみちウィルススキャンはデバイスドライバーでフックを掛けた上で実施されるので
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー
ちゃんとウィルスを検出するAVソフトが良いAVソフト (スコア:5, 興味深い)
.
HSM(階層的ストレージ管理)というものがあります。(英語のWikipedia には説明がありましたが日本語版がまだないようです)
http://en.wikipedia.org/wiki/Hierarchical_storage_management [wikipedia.org]
http://ja.wikipedia.org/wiki/%E8%A8%98%E6%86%B6%E8%A3%85%E7%BD%AE#.E3.... [wikipedia.org]
どうもこの手の技術が利用する「ショートカット」とか「シンボリックリンク」的なものに対応していないAVソフトがあるようで、難儀した事があります。どれとは言いませんし、いまだにそう
Re: (スコア:1, 参考になる)
・ショートカットを踏む前に、有害なものが含まれていないか検査する必要がある。
・ファイルの主ストリームだけでなく副ストリームなども検査する必要がある。(副ストリームの列挙のAPIがないOSでは、バックアップのAPIで代用する。)
・アプリケーションがファイルを触る前に検査を行うので、検査の段階で最終アクセス日時が更新されるべきではない。(バックアップなら更新されない。)
Re: (スコア:1)
1) shortcut や stub などの中身を調べるために backup から始めるのは妥当かもしれないが、そこで終わったら意味が無い。結局アプリケーションが開こうとしているのと同じアクセス属性でファイルを開かなくては、本当は何が読めるのかなど判らない。
2) shortcut や stub を「追跡」する機能は、まさにそれを追跡するマシン上で、結局 stub データを読んでいる。と言うことは、アンチウィルスソフトは「追跡機能」にフックを入れるべきであって、アプリケーションそのものはバックアップモードで開く必要など無い。
3)
fjの教祖様
Re: (スコア:0)
ウィルス等が狙ってくる隙は、そこだけではありません。
OSにセキュリティホールがあれば、ファイルの中身に触れる前に、ヤられます。
また、アプリが読み込んだ部分だけをもとに検査するとなると、かなりのメモリとCPUを食います。
しかも、ファイルをメモリにマップされることもあるので、VMにまでフックの手を広げる必要が。
Re:ちゃんとウィルスを検出するAVソフトが良いAVソフト (スコア:0)
この指摘は非常に良いポイントをついているが、一言で言ってしまえば「それに対応しているウィルスチェッカーは無い」が答だ。
殆どのウィルスチェッカーエンジンは「アプリケーションがファイルに対して 'NT Create andX' コールを Generic Read か Generic Write つきで掛けたとき」に動作がスタートする。
しかし、このコールをかける前に GetAttribute をさんざん仕掛ける。さらにアクセス権限を確認するために NT Create andX を「Read Attribute」モードでファイルに対してかけるものも多い。
Attribute 確認等のために行ったIOのせいでウィルスに感染する事が無い、などとは言うつもりは無い。Extended Attribute などは危険極まりないと思う。しかし、これらをチェックしている間、ウィルスチェッカーは動作しない。つまり、今のウィルスチェッカーは「ファイルの中身に触れた生で感染する」事しか防止していないのだ。
それはようするにチェックしていないと言っているだけだ。
しかしそれはアプリケーションと異なるストリームをチェックするだけでよいとして、Backup intent ビットを立ててチェックするのが正しい、などという理由には全くならない。
.
ウィルスチェッカーが万能的にファイルIOをチェックしているかどうか、は別問題として。アプリケーションが読み込むはずのストリームをチェックしないのはナンセンスだろう。常識的に考えるならば、アプリケーションが作り上げたファイルハンドルを横取りして、ファイルIOを行い、ウィルスをチェックする、と言う動作が正しい。
もちろん、それらとは別にディスクをスキャンしてウィルス入りのファイルを調べる動作は、各種ファイルIOモードで行うべきだ。もっともそれは「1つのモードでまず調べて」「次に別のモードでファイルを開いて見えるものが同じである事を確認する」だけで十分だろうが。
Re: (スコア:0)
それは、話の繋がりが見えないですが、とりあえず、おいといて。
> アプリケーションと異なるストリームをチェックするだけでよいとして
> アプリケーションが読み込むはずのストリームをチェックしないのはナンセンスだろう。
勝手に誤解して、その誤解に対して反論していますよ。
副ストリームを列挙するのは、アプリケーションがアクセスしようとしているストリームに加えて、それ以外についても、チェックするためでしょう。
> 常識的に考えるならば、アプリケーションが作り上げたファイルハンドルを横取りして、ファイルIOを行い、ウィルスをチェックする、と言う動作が正しい。
それはアプリケーションの振る舞いを変更することになるので潜在的な危険をはらんでいます。
一言で言うならば、「行儀が悪い」です。
Re: (スコア:0)
副ストリームを列挙するのはいいが、主ストリームへのチェックがおざなりになったら意味が無いじゃないか。
はい? アプリケーションの振る舞いは変更される事はありません。
どのみちウィルススキャンはデバイスドライバーでフックを掛けた上で実施されるので
Re: (スコア:0)