***注意***
初心者を対象としたページですので、中級以上のユーザーは読んでも退屈するだけですよ〜

 

コンピュータ・ウィルスは迷惑で鬱陶しいものです。
随分昔からあるように思いますが、減るどころかむしろ増えているようです。
ウィルスには数えきれないほどの種類があり、しかも次から次へと新種が出現するので完全な防御は難しいかも知れませんが、ある程度の防御は可能であると思います。
ちょっとした理解でたいていのウィルスは防げるように思われるので、このページを作ってみました。
以下に理屈から述べますが、「能書きはいらんから、はよ結論を書かんかい!」という方はこちらへどうぞ。→

 

■ウィルスとは?

戦うには、まず敵を知らなければなりません。
ウィルスとは何でしょうか?
ウィルスとは、基本的にはコンピュータ・プログラムです。さまざまな団体・個人がさまざまな定義付けをしていますが、「悪意のあるプログラム」、「使い手が意図しないことを行い、使い手もしくはその周辺のユーザーに迷惑をかけ、実害をお与えるプログラム」がウィルスと言えるでしょう。
一般には、トロイの木馬・ワーム・マクロウィルスは通常のウィルスとは区別されていますが、こうした分類には大して意味はないように思います。(あくまで個人的意見です)

たまに現実世界の病原菌ウィルスと混同している人を見かけますが、コンピュータ・ウィルスが直接影響を与えられるのはコンピュータのデータに対してだけです。
コンピュータ・ウィルスは人間が作り出したプログラム、つまり特定の CPU が特定の環境の下で実行できる命令で、コンピュータの中でのみ活動できます。
「活動できる」と言ってもそれ自体が生命や意識や意志を持っている訳ではありません。(当たり前のことですが・・・)
それはただプログラムの内容を機械的に実行してゆくだけです。機械から期待できるのは機械的な動きだけです。
一方病原菌ウィルスは自然界が作り出した生命であり、微生物です。
両者は全く別のもので、関連すらありません。
当然ここで扱うのはコンピュータ・ウィルスの方です。

 

■コンピュータの仕組み・構造

ウィルスとはプログラムである、と言いましたが、これは重要なことです。
ウィルスに感染しないようにするには、ある程度コンピュータの知識が必要です。
極論を言ってしまえば、コンピュータの仕組みを勉強して理解しないのであれば、多少なりとも快適に使うのはあきらめるしかありません。
しかし、隅から隅まで学ぶ必要はなく、基本的なことだけ押さえればよいのです。
そして基本的なことはそれほど難しくありません。
コンピュータは外面的には機械装置ですから、まずハードウェアを知る必要があります。
とりあえず重要な4つのパーツを覚えましょう。CPU とメモリとハードディスクとビデオです。

・CPU (Central Processing Unit)
CPU は小型トランジスタの集まりで、メモリ上のプログラムを読み込んで実行する装置です。
実際にさまざまな処理を行うのはこの CPU ですから、これの性能でパソコンの性能の大半が決定されてしまう、という重要なパーツです。
従って、パソコンの価格も CPU の性能によって上下しています。

←2005年現在の代表的な CPU である Pentium4

パソコン用の CPU には大きく2種類あり、x86系と PowerPC 系です。
x86系にはインテル社の Pentium(ペンティアム)シリーズや AMD 社の Athlon(アスロン)シリーズ等があります。
Windows が搭載されているパソコンにはこの x86系の CPU が使われています。
PowerPC 系は IBM 社と Motorola 社が作っており、パソコン用途では Apple 社の Macintosh に使われています。
CPU が実行するプログラムは実際には機械語と呼ばれる2進数の羅列で、x86系と PowerPC 系では理解できる機械語が異なるため互換性がありません。
従って、Windows 用のウィルス・プログラムは Macintosh の環境では何の影響も及ぼしません。
これは PowerPC が x86 用のプログラムをプログラムとして認識しない為です。
逆もまた同様です。

・メモリ(メインメモリとか RAM とも呼ばれます
メモリは小型コンデンサの集まりで、非常に高速にデータを読み書きできます。
実際にプログラムやデータはこのメモリに読み込まれて初めて動作できるのですから、大変重要なパーツです。
メモリの特徴は電源が入っている間だけデータを保持できる、ということです。
外観上はメモリ・チップや抵抗等が載った細長い基板の形をとっています。

←実際のメモリ

・ハードディスク
アルミ合金やガラス製の円盤の表面に磁性体を塗り、その磁気をヘッドで読み書きする装置です。
パソコン用には、3.5インチ(デスクトップ用))と2.5インチ(ノート用)の2種類があります。
メモリほどではありませんが、かなり高速にデータの読み書きが可能です。
ハードディスクの大きな特徴は、記録できる容量が大きいこと、ディスクの取り替えができないこと、電源を落としてもデータが消えないことなどです。
接続の規格に S-ATA(シリアル ATA)、IDE、SCSI(スカジー)があります。

←実際のハードディスク(3.5インチ)

・ビデオ
画面の描画は CPU だけに負担させるのではなく、専用のビデオ装置にも負担させるのがふつうです。
2D 表示に関しては数年前既に飽和点に達したと言われており、最近のマシンは VRAM、描画速度ともにオンボード・ビデオのマシンでも十分すぎる性能を持っていますが、一昔前までは少し重い画像ファイルを扱うと描画がもたついたり、解像度を上げるとフルカラーで表示できないマシンは珍しくありませんでした。
オンボード・ビデオとは、マザーボードにビデオチップが直付けされたタイプで、大手メーカー製は大抵このタイプです。
オンボード・ビデオは、メインメモリの一部(最近のものは32MB が多い)をビデオメモリとして使用するのが難点です。

←実際のビデオ・カード(アイオー・データ)

・まとめ
以上に述べた4つのパーツのうちビデオ以外の3つが特に重要です。
それぞれの関係は以下のようになります。

この構造、データの流れを把握しておけば、今まで分からなかったさまざまなことが見えてくると思います。
例えば[パプリカ.jpg]という JPEG ファイルを開く場合を考えてみます。

左は Windows 2000 まで標準で付いていた[イメージング]というソフトで開いたところです。
これは実際には kodakprv.exe (イメージング プレビュー)というプログラムがまずメモリに読み込まれ、そのプログラムがハードディスク上の[パプリカ.jpg]という JPEG ファイルをメモリに読み込んで展開しているのです。

JPEG は圧縮フォーマットなので、この[パプリカ.jpg]の場合、ファイル自体は約217KB ですが、メモリ内部で約4倍に伸長されます。

Windows でファイルをダブルクリックすると、まずそのファイルの拡張子に関連づけられたアプリケーション・プログラムがメモリにコピーされ、次にそのプログラムが該当のファイルをメモリに読み込んで開き、その結果を画面描画しているのです。

 

 

■理解のカギはメモリの役割の把握

恐らく大半の方は、このページを Internet Explorer というプログラムを使って見ていると思います。(もちろんその他のブラウザの方もいることでしょう。)
また、Windows ユーザーなら左下に[スタート]ボタンがあり、そこから別のソフトを起動させることができると思います。これは背後で WINDOWS というプログラムが動いているから可能なのです。
プログラムは実際にどのように動いているのでしょうか?
パソコンの場合、たいていはハードディスクに記録されているプログラムをメモリに読み込んで、CPU が実行しているのです。
「たいていは」と言ったのは、もちろんハードディスク以外の媒体(フロッピー・ディスク、MO、CD-ROM 等)のプログラムでも同じことだからです。
ハードディスクは、大容量で読み書きの速度もそこそこ速く、しかも安価なのでプログラムの収納場所として適している訳です。

「たちあげ」、「起動」といった言葉はよく使われる割にはあまり理解されていませんが、実際にはプログラムをメモリに読み込むことを意味しているのです。「読み込む」とはハードディスクからプログラムをメモリにコピーし、それを CPU が実行している、ということです。
電源を入れて見慣れたデスクトップの画面になるまでに Mac も Windows も少し時間がかかります。
これはハードディスクから OS をメモリに読み込んでいるのです。(OS もプログラムです。)
このコンピュータの基本構造、つまり何らかの記憶媒体(たいていはハードディスク)からプログラムをメモリに読み込んで CPU がそのプログラムを実行する、という仕組みを理解することが重要です。
これこそが全ての基礎だからです。

では CPU はなぜわざわざメモリにプログラムをメモリに読み込むのでしょう?
それは書き換えのスピードがメモリだと非常に高速だからです。
いくらハードディスクの読み書き速度が速くなったとは言え、メモリの速度にはとうてい及びません。

■ウィルスの正体

普通に私たちが毎日使うプログラムもウィルス・プログラムも本質的には何の違いもありません。
上述のとおり、いったんメモリにコピーされそのプログラムの内容を CPU が実行してゆくだけです。
プログラマーがもし一見ただのテキスト・エディタにしか見えないが、背後で Windows の起動に必要なファイルを削除する機能を追加したり、*@*という文字列をディスクから検索してそこに自身のコピーを添付してメール送信する、という機能を付けたりすれば、それがウィルスとなります。
つまりプログラムの内容次第でウィルスと呼ばれたり呼ばれなかったりする訳です。

 

 

次のページへ
SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送