ウイルス対策の基礎
編集コンピュータに危害を加える悪質なプログラムのことを「コンピュータウイルス」(単に「ウイルス」(virus)と略す場合も多い)または「マルウェア」(malware)と言います。
よく、感染症にたとえられて、コンピュータウイルスに侵入されている場合に、そのコンピュータが「感染」されているとか「寄生」されている、とか表現されることも、良くあります。
コンピュータウイルスの感染の予防と駆除のためのソフトウェアとして、ウイルス対策ソフトウェアというのがあります。
ウイルス対策ソフトウェアのことをアンチウイルスソフトウェア(antivirus software)、またはワクチンプログラム(vaccine program)とも言います(※数研)。
敵を倒すためには、まず敵の情報を知らなければなりません。ウイルス対策ソフトウェアでは、どんなプログラムがウイルスであるかを定義したウイルス定義ファイルまたはパターンファイルという情報データ集があります。
ウイルスに感染した場合、自分が困るだけでなく、ネットワークでつながっている他のコンピュータを自分ノコンピュータから攻撃してしまう場合もあります(※第一学習社)。 そのため、場合によっては損害賠償などを要求されかねません。
なので、普段からウイルス対策ソフトウェアを稼働させたり、またOSなどのセキュリティ・プログラムもアップデートして最新の状態に保たなければなりません。
- ※ 文科省の啓もう動画 文部科学省『教材(12)大切な情報を守るために(全編)』 でも、OSアップデートしろと言ってます。たとえアップデート後の OS のUI仕様の変化などがあって気に食わなくても、それでもセキュリティ上の理由からアップデートしなければなりません。もしアップデートしないと、自分だけでなく他人にも迷惑を掛けます。
パソコン以外のスマートフォンなどにもウイルスは感染します(※ 数研出版)。スマートフォンでも、きちんとセキュリティ対策をしましょう。
- OSなどのセキュリティアップデート
ウイルス対策ソフトウェアは、定期的に自分を雇ってるコンピュータをスキャンして、ウイルスが潜んでないかを警備しています。また、利用者自身がウイルス対策ソフトウェアに、そのコンピュータをスキャンして欲しいと命令を出してスキャンしてもらう事もできます。
ウイルスを作る人は、オペレーティングシステム(OS)などにあるセキュリティ上の欠陥(セキュリティホール(security hole)または「脆弱性」(ぜいじゃくせい)という)を狙ってきます。このため、セキュリティホールが見つかったら、OSなどを作っている人は、セキュリティホールをふさいだ修正プログラム(「パッチファイル」という)をそのOSの購入者などに配布します。(※ 実教Iがパッチファイルを紹介)
OS利用者は、ウイルスを作っている悪人に狙われないうちに、早めに修正プログラムによってOSをアップデートをする必要があります。
- ※ 文科省の啓もう動画でも、OSもアップデートしろと言ってます。
また、このようにOSなどの安全性は、そのOSを作っている企業などによって保たれているので、なのでサポート期間の終了したOSは使用してはいけません(※ 実教Iの見解)。もしサポート切れをしたら早めに新品のサポート中の製品に買い替えなければいけません。
パソコンが古すぎると新しいOSがインストールできないので、その場合はパソコンごと買い替える必要もあります。
- バックアップ
ウイルス対策ソフトウェアである程度は予防でき駆除できる場合もありますが、それでも万が一、感染してしまって駆除できない場合だと、駆除のためにコンピュータを初期化しなければならず、そのコンピュータの内臓データをすべて消さなければならない。
なので、普段から重要なデータは、外付けハードディスクやUSBメモリなどにバックアップしておきたい(※ 第一学習社、および実教I の見解)。
バックアップとは、データをほかの記録メディアにも保存しておくことです。ウイルス感染にかぎらず、コンピュータが衝撃や水濡れなどで故障するような場合もありますので、普段からバックアップによって重要なデータは複数の機器に保管していく必要があります。
なお、もし感染してしまったコンピュータは、基本的にネットワークから切り離して、他のコンピュータに感染が広がらないように隔離(かくり)するべきです(※ 実教 I)。
- その他リテラシー
さて、どんなにOSやウイルス対策ソフトウェアが丈夫でも、利用者がみずからウイルスをインストールしてしまっては、防ぎようがありません。世間には、普通のソフトのふりをした、偽ソフトもあります。なので、信用できないwebサイトで配布されているソフトウェアは、インストールしてはいけません。もちろん、ソフトそのものが信用できない場合も、インストールしてはいけません。
また、電子メールの添付ファイルを使っても、情報を盗んだりできるので、知らない人からのメールは信用してはいけないし、特に知らない人や信用できない人からのメールの添付ファイルは開いてはいけません(※第一学習社、開隆堂)。
- フィッシングなど
フィッシングサイトといって、信頼できるサイトのふりをして、パスワードなどの個人情報を抜き出そうとするサイトもあります。これは少し利用者側で防ぐのは難しいですが、会員制サイトにログインする際にはブックマーク機能などを使ってページに到達するようにして、なるべく検索サイトで会員制サイトを探すのは最低限にしましょう。
フィッシングのメールもあって、金融機関などのフリをしたメールもあり、クレジットカードやキャッシュカードなどの暗証番号など個人情報を盗もうとします。金融機関のメールなどは、実際の店舗に出向いて確認しましょう。
暗号
編集暗号化
編集たとえば「こんにちは」を五十音で1文字ずつ後ろにズラすと、「さあぬつひ」になる。
このような暗号を「シーザー暗号」という。
現代のインターネット上の暗号ではシーザー暗号はまず使われないが、わかりやすいので、シーザー暗号で、暗号化のしくみを説明する。(※ 検定教科書でも、シーザー暗号を例として、暗号化の仕組みを説明している。)
- ・ まず、文字列「こんにちは」に暗号を適用して、文字列「さあぬつひ」にしたことを暗号化(あんごうか、英:encryption)という。
- ・ 「さあぬつひ」という言葉を、五十音で1文字ずつ前にずらすと「こんにちは」に戻る。このように、暗号化した情報をもとに戻すことを復号(ふくごう、英:decryption)という。
暗号化や複合のさいに使われる規則のことを鍵(かぎ、英:key)という。この「こんにちは」⇔「さあぬつひ」の例の場合なら、規則「暗号化では1文字、後ろにずらす。複合では、1文字、前にずらす。」という規則のうちの「1」という数字が鍵である。
上記の例の「こんにちは」など、暗号化する前の文章を平文(ひらぶん、英:plain text)という。
「さあぬつひ」など、暗号化した後の文章を暗号文という。
暗号の原理の例としてシーザー暗号を紹介したが、しかし現代のコンピューターにとっては、シーザー暗号は解読が簡単なため、コンピューター用の暗号としてはシーザー暗号は用いられていない。
暗号化の方式
編集暗号化と復号で同じ鍵をつかう方式を共通鍵(きょうつうかぎ)暗号方式という。
共通鍵の場合、送り手と受け手が、鍵を持っている必要がある。また、第三者には、共通鍵を知られてはならない。
さて、別の暗号方式もある。
暗号化のための秘密鍵と、復号のための公開鍵をつかう公開鍵(こうかいかぎ)暗号方式がある。
公開鍵暗号方式では、共通鍵はネットワーク上に公開されており、一方、秘密鍵は送信者だけが持っている。
公開鍵暗号方式は、特定の受信者だけが復号できるようにするためには、送信者がその受信者の公開鍵で暗号化することである。
また、電子署名(でんししょめい)は、公開鍵暗号方式の技術を利用している。なお、電子署名のことをデジタル署名ともいう。
電子署名では、送信者が秘密鍵で暗号化し、受信者側が公開鍵で復号する。
しかし、電子署名だけでは、送信者を証明できない。なぜなら、たとえば「Bのつくった公開鍵」として公開されている公開鍵が、ほんとうにB本人のつくった公開鍵なのか、それとも悪意のある別人Cがのつくった公開鍵なのか、電子署名だけでは確認のしようがないからである。
なので、電子署名には、信用のおける第三者の証明する電子証明書(デジタル証明書)も必要である。
認証機関
編集さて、もし悪意のある人が、別人Bになりすまして、Bだと名乗って公開鍵を公開したりデジタル署名をしたりすると、その鍵や署名が、なりすまされた被害者Bの鍵や署名として通用してしまいかねない。
そして、悪意ある人物になりすまされたまま、その悪意ある人物によって、いろいろな契約をされたりして損害などが起こりうる。
しかも公開鍵は、設備的には、パソコンさえあれば、誰でも作れてしまう。
なので、なりすましが起きないようにするためには、客観的に公開鍵の持ち主を証明する機関が必要である。
そこで、認証機関(にんしょう きかん)では、第三者的に、公開鍵の持ち主を証明している。
電子署名(デジタル署名)のある送信をしたい人は、この認証機関に登録する必要がある。登録すると、電子証明書(デジタル証明書)の発行を受ける。
従来の印鑑と役所の印鑑証明の登録にたとえると、電子署名と電子証明書の関係は、電子署名=印鑑、電子証明書=印鑑登録および印鑑証明書、というような関係に相当する。
認証機関は、認証サーバをインターネット上に公開しており、受信者は、ウェブブラウザなどから認証サーバに照会することで、証明書を確認できる。
HTTPSとSSL
編集暗号化のプロトコルで、SSL(エスエスエル、Secure Socket Layer)というのがある。
ウェブサイトでは、パスワード入力が必要になるサイトなどで、SSLによる暗号化を行っているサイトがある。 暗号化をする理由は、もし第三者に盗聴や傍受をされても、パスワードを暗号化していれば、パスワードを知られないので安全だからである。
ウェブサイトでSSLによる暗号化を行っている場合、ウェブブラウザに表示されるURLの出だしが「http://」の代わりに、「https://」という文字列が表示される。
また、SSLで保護されたウェブページでは、閲覧中のウェブブラウザのURL欄の横などに、鍵(錠)の絵のマークが表れる(ウェブブラウザの機種にもよる)。
また、SSLの機能は、暗号化だけでなく、認証機関をつうじて電子証明書を確認することによって、偽サイトをふせぐ機能もある。そのため、SSLは、フィッシング詐欺を防いでいる。
フィッシング詐欺とは、悪意のある人が、本物そっくりの偽物のサイト(フィッシングサイト)をつくって、パスワードなどの個人情報を入力させるなどして、個人情報を盗むなどの詐欺行為。悪意のある人が、プロパイダ企業などをかたった電子メールを送りつけて、メールに偽物のWebサイトのURLを書いておいて、偽サイトに誘導するという手口もある。
ファイアウォール
編集- 教科書の範囲
- ※ 教科書では、防火壁のイラストが描いてあるが、ウィキブックス著者がそのイラストを描くのが大変なので、かわりに言葉で説明する。ひょっとしたら間違ってる説明をしてしまってるかもしれないので、読者は、他のより信用できる文献などで確認してください。
インターネットと通信するとき、直接的に通信するのではなく、サーバーなどの代理のコンピューターを仲介して、さらにそのサーバーに、送られてきたパケットなどが不正でないかどうかを判断させて、不正だったら通信を不許可にさせるなどのシステムを仲介して、そしてインターネットとの送受信をする方法によって、セキュリティを高める方法がある。(※ ファイアウォールは、かならずしもサーバーでなくとも、ルーターやソフトウェアなどに、パケットが不正でない事のチェック機能を通過する方式でもいいのだが、説明の簡単化のため、サーバーで説明した。)
つまり
- 自分の使用する通常のコンピューター ⇔ 代理のコンピューター ⇔ インターネット
というふうに、接続する。
そして、自分の通常使用のコンピュータが、インターネットからデータを受信する場合は、まずインターネットからのすべてのパケットを代理コンピュータで受け取らせる。そして、代理コンピュータが安全だと判断したパケットだけを、自分の通常使用のコンピュータに転送させる事により、通常使用コンピュータへの危険なパケットの侵入をふせぐ。
このような手法で用いられる仲介的な代理コンピュータをファイアウォール(fire wall)という。
なお、英語で fire wall とは、もともとは、防火壁という意味である。
- (※ 教科書にない説明: ) 日本人的な感覚で言うと、ファイアウォールは、つまり「関所」(せきしょ)である。時代劇で、江戸時代とかにある、あの関所だ。あやしい人物を通過させないための、あの関所だ。ファイアウォールを関所に例えるなら、つまり関所の番人が「むむ、あやしいヤツめ! お前は通さん!!」とか言ってて、あやしいパケットを通行禁止にしてるわけだ。
さて、ファイアウォールでは、
- 自分の使用する通常のコンピューター ⇔ ファイアウォール ⇔ インターネット
というふうに、ファイアウォールの物理的な位置を、自分の通常のコンピューターとインターネットとのあいだに配置されるように接続する必要がある。
つまり、じつはファイアウォールとは、フィルターの機能を追加してあるサーバーである。
- 備考
ダメな接続の例として、
- (ダメな例) ファイアウォール ⇔ 自分の使用する通常のコンピューター ⇔ インターネット
のように接続しても無駄である。
そして、ファイアウォールの安全判断の基準の設定とは、そのファイアウォールの構成に使われてるサーバーやルーターなどの設定のことである。
また、
- 不正な通信で攻撃を行っているコンピューター ⇔ 自分の使用する通常のコンピューター ⇔ ファイアウォール ⇔ インターネット
のような配置では、ファイアウォールは、不正なコンピューターからの、自分のコンピューターへの攻撃を遮断できない。
- 印刷プリンタなどのファイアウォール (※ 範囲外)
印刷プリンタを使うとき、そのプリンタ用のソフトウェアのメッセージで、「ファイアウォール」の設定するように要求される事もあるかもしれない。この場合のファイアウォールも、「このプリンタから送られてくるパケットはウイルスでないので、ファイアウォールを通過させてください。プリンタからのパケットを、パソコンに入力させてください」的な設定なワケだ・・・のはずだと思う。 (※ あまり私はファイアウォールに詳しくないので、まちがった説明をしてるかもしれません。なので読者は、もしセキュリティの知識が必要になったら、専門書などで確認してください。)