link もっと前
   2010年 3月 31日 -
      2010年 3月 31日  
link もっと後

link 未来から過去へ表示(*)
link 過去から未来へ表示

日々

link permalink

ウイルスチェック高速化(予想)

先日(2010年 3月 30日の日記参照)の続き。

ファイルに対してできるアクセスは、読み(実行は読み込みを伴うので読み込みの一種)、書き(削除は書き込みの一種)のどちらかです。ウイルスが悪さするアクセスパターンは下記の通りです。

既存読み書きチェック必要性起きうる悪意
× 既存ファイルからウイルスを読み出す
× 既存ファイルを消す、ウイルスを書き込む
× × × なし(誰も触らないファイル)
× × × なし(存在しないファイル、つまり読めない)
× × 新規ファイルにウイルスを書き込む
× × × × なし(存在しないファイル)

既存ファイルの読み出し、既存ファイルへの上書きは即時にチェック(チェックの必要性が ○)しますが、新規ファイルへの書き込みはスキップ(チェックの必要性が △)できます。

理由は全読み込みアクセスをチェックできれば、後の読み込み時のチェックで「十分」であるため、ですが…説明になっていないので、ウイルスを新規作成したときの動作で考えてみましょう。

ウイルスファイルが新規作成されても、それだけで悪さはできません。悪さをするには、ウイルスファイルを実行するか、既存ファイルにウイルスデータを混ぜて良いファイルのふりをして実行する必要があります。

実行にせよ書き込みにせよ、一度は新規作成したウイルスファイルの読み込みを経なければなりません。つまり新規作成されたウイルスファイルが悪さをするには、新規作成されたウイルスファイルの読み込みが必要です。

新規作成されたウイルスが読み込まれる時にチェックできれば、新規作成されたウイルスが悪さするのを十分阻止できる、といえます。

ローカルドライブへのコピーが速いわけ(予想)

先の結論をまとめると、

  1. ウイルスが新規作成されただけならば、ウイルスは悪さできない
  2. 新規作成されたウイルスが悪さするには、読み込みが必要
  3. 全読み込みをチェックできれば、悪さできない

要は全読み込みをチェックできるなら、新規作成時のウイルスチェックは不要であり、「新規作成時にウイルスチェック」をサボって「後に読み込む時にウイルスチェック」(これこそ遅延評価ですね!)をすると速くなることが予想されます。

さて懸案のローカルドライブへのファイルコピーを先ほどの表に当てはめてみると、下記のようになります。

既存読み書きチェック必要?起きうる悪意コピー動作に当てはめると
× 既存ファイルからウイルスを読み出す(発生しない)
× 既存ファイルを消す、ウイルスを書き込む上書きコピー
× × × なし(誰も触らないファイル)(発生しない)
× × × なし(存在しないファイル、つまり読めない)(発生しない)
× × 新規ファイルにウイルスを書き込む新規コピー
× × × × なし(存在しないファイル)(発生しない)

確認すると、私が実行するコピー作業の 9割以上が新規コピーで、上書きコピーはほとんどありませんでした。新規コピーファイルのチェック遅延が効果的に効くため、ローカルドライブへのコピー作業は非常に速いのだと思われます。

ネットワークドライブへのコピーが遅いわけ(予想)

ローカルドライブでは遅延評価により高速化が望めましたが、ネットワークドライブに関しては「3. 全読み込みをチェックできれば、ウイルスは悪さできない」が成立しないため、遅延評価ができません。下記にローカルドライブとの違いを挙げます。

ローカルドライブ
自身しかアクセスする可能性がないため、全読み出しをチェック可能。
ネットワークドライブ
他者からアクセスされる可能性があるため、全読み出しをチェック不可能。

このため新規作成のファイルも全てチェックする必要があります。だからネットワークドライブへのコピーは非常に遅いのです。

[編集者: すずき]
[更新: 2010年 3月 31日 00:12]
link 編集する

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
   2010年 3月 31日 -
      2010年 3月 31日  
link もっと後

管理用メニュー

link 記事を新規作成

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDF ファイル RSS 1.0
QR コード QR コード

最終更新: 10/16 01:37

カレンダー

<2010>
<<<03>>>
-123456
78910111213
14151617181920
21222324252627
28293031---

最近のコメント 5件

  • link 18年10月12日
    すずき 「なるほど!\n京急、京成はヤバそうですね...」
    (更新:10/15 23:02)
  • link 18年10月12日
    ちかふみ 「閉会式直後の出国ラッシュ対策のためだそう...」
    (更新:10/15 20:43)
  • link 18年10月12日
    すずき 「あー、なるほど!閉会式の次にくっつけたん...」
    (更新:10/14 15:44)
  • link 18年10月12日
    hdk 「2020年の東京オリンピックが8月9日ま...」
    (更新:10/14 10:45)
  • link 18年09月07日
    すずき 「ありがとう!\nこちらこそ、楽しみにして...」
    (更新:09/11 19:30)

最近の記事 3件

link もっとみる
  • link 18年10月14日
    すずき 「[ROCK64 の I2S とクロック] また忘れてしまいそうなの...」
    (更新:10/16 01:37)
  • link 18年10月13日
    すずき 「[Welcome back ROCK64] やっと ROCK64 ...」
    (更新:10/15 23:20)
  • link 18年10月11日
    すずき 「[俺たちの引っ越しはまだ終わらない] 引っ越しの荷物は、終盤にヤケ...」
    (更新:10/15 23:19)

こんてんつ

open/close wiki
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報