📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

【永久保存版】情報セキュリティの全て|サイバー攻撃,ウイルス,暗号化… 現代の必須知識を2時間で聞き流し【ITパスポート/基本情報/応用情報】

IT HERO2:27:05

Transcription

[音楽] 皆さん、こんにちは。ITヒーローです。

今回は現代社会で生きていく上で避けては通れない、そして皆さんの大切な情報を守るために絶対に知っておきたい情報セキュリティについて、その基礎から応用までをギュッと1本にまとめた総集編をお届けします。

ニュースでサイバー攻撃って聞くけど、結局何が危ないの?うちの会社情報漏洩しないか心配。SNSアカウントの乗っ取りってどうすれば防げるの?このような情報セキュリティに関する不安や疑問はつきませんよね。でも、情報セキュリティの勉強は専門用語が多くて、どこから手をつければいいか分からないと悩んでる方も多いのではないでしょうか。

ご安心ください。この動画1本で、そんなあなたの情報セキュリティに関するモヤモヤを完全解決します。動画を見終わる頃には、あなたはデジタル社会の脅威から身を守るための強力な知識と具体的な対策を身につけているはずです。

それでは、本日のメニューはこちらです。この動画では、こちらの順番で解説を進めていきます。

まずは基礎編です。情報セキュリティとは何かという基本概念から、組織で情報を守るための管理の仕組みであるISMS(情報セキュリティマネジメントシステム)、そしてリスクへの対処法であるリスクマネジメントについて学びます。

次に脅威を知るパートです。悪意あるプログラムの総称であるマルウェア、そして巧妙化するサイバー攻撃の代表的な手口とその対策を深掘りします。

そして守りの技術のパートです。外部からの攻撃を防ぐネットワークセキュリティの仕組み、情報を安全にやり取りするための暗号技術とデジタル署名、さらには電子メールのセキュリティ対策について詳しく見ていきます。

最後に最新の脅威として、AIが産み出すリアルな偽物、ディープフェイクの正体と対策を解説します。

非常に内容の濃い動画になってますので、是非最後までお付き合いください。それでは本編のスタートです。

ここからいよいよ本編です。さて、情報セキュリティと一言で言っても、守るべき範囲は非常に広いですよね。ウイルス、ハッキング、情報漏洩。様々な脅威を理解する前に、まずは全ての土台となる「そもそも情報セキュリティって何?」「私たちは何を何から守るべきなのか?」という最も基本的で最も重要な問いから確認していきましょう。この土台をしっかり固めることで、この後に出てくる様々な攻撃や対策の理解度が全く違ってきます。

それでは最初のテーマ、情報セキュリティについて見ていきましょう。最近、個人情報が流出した、SNSアカウントが乗っ取られた。こんなニュースよく耳にしませんか?自分は大丈夫と思っているかもしれませんが、情報セキュリティはスマートフォンを使う全ての人、インターネットに繋がる全ての人の関わる現代社会の必須知識です。

今回の動画では、情報セキュリティの基本的な考え方をIT初心者の方にも分かりやすく解説していきます。具体的には、情報セキュリティとは何か?脆弱性と脅威、具体的にどんな脅威があるのか?不正のトライアングルについて解説をしていきます。

では早速始めていきましょう。まず、情報セキュリティという言葉ですが、難しく考える必要はありません。一言で言うと、大切な情報を様々な危険から守ることです。情報と言っても、企業にとっては顧客の情報やその企業の今後の戦略。私たち個人にとっては、スマートフォンに入ってる写真や友達とのメッセージ、オンラインショッピングのパスワード、クレジットカード情報。これら全てが守るべき大切な情報ですよね。情報セキュリティはこれらの情報を危険から守ることです。

では、どうやって情報を守るのか?その話をする上で、絶対に欠かせない2つのキーワードがあります。それが「脆弱性」と「脅威」です。この2つはセットで理解するのがポイントです。

脆弱性とは、システムの弱点やセキュリティ上の穴のことです。家で例えるなら、ドアに鍵を忘れることや、窓の鍵が壊れていることが脆弱性です。ITの世界では、ソフトウェアのバージョンが古くてセキュリティ上の欠陥が放置されている状態などがこれにあたります。

一方、脅威とは、その弱点を狙ってくる悪い出来事や攻撃のことです。家で例えるなら、鍵のかかっていない家を狙う空き巣が脅威です。ITの世界では、ソフトウェアの弱点をついてくるコンピューターウイルスや、パスワードを盗もうとするハッカーなどが脅威にあたります。

つまり、脆弱性という弱点があるから、脅威という攻撃に狙われ、情報漏洩などの被害が発生してしまうのです。だからこそ、ソフトウェアを常に最新の状態にアップデートする、パスワードを推測されにくい複雑なものにする。そういった対策で、自分自身でコントロールできる脆弱性をなくしていくことが、セキュリティ対策の基本中の基本であり、非常に重要になります。

では、その脅威には具体的にどんな種類があるのでしょうか?大きく分けて3つに分類されます。

1つ目が「人的脅威」です。これは人が原因で発生する脅威です。悪意がある場合とない場合があります。例えば、メールやFAXのご相談、カフェのフリーWi-Fiで重要な情報を送ってしまうといったうっかりミスから、会社の情報を不正に持ち出すといった意図的な犯罪まで幅広く含まれます。個人のSNSアカウントで会社の内部情報を漏らしてしまうといったセキュリティ意識の欠如も、この人的脅威の1つです。

2つ目が「物理的脅威」です。これはパソコンやスマートフォン、サーバーといったもの、つまりハードウェアが物理的に危険にさらされる脅威です。地震や台風、洪水、火災といった自然災害で機材が壊れてしまうことや、単純な機器の故障、さらにはオフィスからパソコンやUSBメモリが盗まれてしまうことなども物理的脅威にあたります。

3つ目が「技術的脅威」です。これが皆さんがサイバー攻撃と聞いてイメージする、技術的な攻撃による脅威です。ソフトウェアの脆弱性を悪用した不正アクセス、情報を盗み出すコンピューターウイルスやスパイウェア、偽サイトに誘導するフィッシング詐欺など、その手口は日々巧妙になっています。

技術的脅威の中でも、特に私たちが注意すべき手口があります。それが「ソーシャルエンジニアリング」です。これは高度なハッキング技術ではなく、人の心理的な隙や油断、信頼関係に付け込んでパスワードなどの情報を盗み出す手口のことです。まさか自分がと思うような、日々に潜む手口を見ていきましょう。ここでは代表的な手口を3つ紹介します。

1つ目が「フィッシング詐欺」です。銀行や有名企業を装ったメールを送り付け、「パスワードを変更してください」といった嘘のメッセージで偽物のウェブサイトに誘導し、IDとパスワードを盗み取ります。

2つ目が「なりすまし」です。会社のシステム担当者や取引先の社員に成りすまして電話をかけ、「緊急のシステム対応が必要です」であったり、「送金先が変更になりました」などと巧みに嘘をついて、パスワードなどの機密情報を聞き出したり、不正な送金をさせようとしたりします。

3つ目が、古典的ですが「盗み見」という手口もあります。カフェや電車などで、背後から皆さんがスマートフォンやPCにパスワードを入力するのを盗み見る行為です。何気ない日常に潜む、非常に古典的ですが効果的な手口です。

これらの攻撃は、私たちがついうっかり信じてしまう心理を巧みに利用します。対策としては、「緊急」「重要」といった言葉を安易に信じない。メールのリンクから飛ぶ前に、本当に公式サイトかURLを確認する。パスワードを入力する際は、周りに人がいないか確認するなど、一呼吸置いて確認する癖をつけることが、ソーシャルエンジニアリングへの対策になります。

最後に、少し専門的にはなりますが、なぜ人は不正行為に走ってしまうのかを説明する「不正のトライアングル」という有名な理論を紹介します。これを知ることで、組織や個人がどう対策すればいいのかのヒントが見えてきます。

不正行為は、次の3つの要素が揃った時に発生しやすくなると言われています。

1つ目が「機会」です。これは不正ができてしまう環境や状況のことです。例えば、誰にも監視されずに会社の機密情報にアクセスできる、内部のチェック体制が甘く不正がバレにくいといった状況が機会にあたります。

2つ目が「動機」です。これは不正をしたい、あるいはしなければならないと思ってしまう理由のことです。例えば、多額の借金を抱えていたり、会社から過酷なノルマを課されているといった強いプレッシャーが動機になります。

最後3つ目が「正当化」です。これは不正行為を自分の中で納得させてしまう都合の良い言い訳のことです。例えば、「これは会社が悪いんだから当然の報いだ」であったり、「みんながやっていることだから、自分だけが悪いわけではない」といった考えが正当化にあたります。

この機会、動機、正当化の3つが揃うと、人は不正行為へのハードルを超えてしまうと言われています。私たち個人や企業が対策する上で、特に重要なのが1番上の「機会」をなくすことです。個人の欲求である動機や心の中の正当化を直接コントロールするのは難しいですが、機会は仕組みで防ぐことができます。例えば、重要なデータへのアクセス権限を必要最低限の人に絞る。誰がいつデータにアクセスしたかを記録に残すといった対策で、不正ができない環境を作ることが効果的な予防策になります。

情報セキュリティの基本的な考え方、そして脆弱性と脅威、不正のトライアングルについて理解できましたね。では、私たち個人だけでなく、企業や組織として大切な情報を守るには、どのような仕組みが必要になるのでしょうか?次はその情報を守るための管理の仕組み、ISMS(情報セキュリティマネジメントシステム)について見ていきましょう。

今回は、情報セキュリティマネジメントシステムISMSについて解説します。前回の動画では、情報セキュリティを脅かす脆弱性と脅威について学び、私たちの周りにどんな危険があるのかを見てきました。では、それらの脅威から私たちはどうやって大切な情報を守っていけばいいのでしょうか?パスワードを強くする、ウイルス対策ソフトを入れるといった個別の対策はもちろん重要ですが、組織として情報を守るには、もっと大きな仕組み、システムが必要です。

今回は、その情報を守るための管理の仕組みである「情報セキュリティマネジメントシステム(ISMS)」について、イラストで分かりやすく解説していきます。この動画を見れば、情報セキュリティマネジメントシステムISMSとは何か?なぜ必要なのか?ISMSの国際的なルールであるISO/IEC27001とは何か?企業の信頼性を示すISMS適合性評価制度、そして情報セキュリティの土台である3大要素と7大要素がすっきりと理解できます。

では、始めていきましょう。まず、ISMSとは「Information Security Management System」の略で、日本語では「情報セキュリティマネジメントシステム」と言います。最後にシステムとついているので、何かの製品やソフトウェアだと思われがちですが、これは特定の製品やソフトウェアのことではありません。企業などの組織が持っている大切な情報、情報資産を様々な脅威から守るために、組織全体で計画を立ててルールを決め、継続的に運用を改善していくための総合的な仕組みのことです。

例えば、家を守るのに、ただ頑丈な鍵を一つ買うだけだと不十分ですよね。それに加えて、外出時は必ず鍵をかける。窓もチェックする。貴重品を分かりやすいところに置かないといったルールや日々の行動がセットになって初めて安全が保たれます。情報セキュリティも同じで、技術的な対策だけでなく、人的なルール、物理的な管理などを組み合わせた組織全体の管理体制が必要です。まさにそれが今回説明するISMSです。

さて、情報を守るための仕組みがISMSなんだなと分かっていただけたかなと思います。そうすると次に、「じゃあ、うちの会社も自分たちでISMSを作ろう」となりますよね。でも、もし世界中の会社が、それぞれ自分たちの「俺流」のルールでISMSを作ったらどうなるでしょうか?A社とB社で取引をする時に、「うちのセキュリティルールはこうです」。「一方で、うちはこうです」と基準がバラバラだと、お互いに「本当にこの会社信頼していいのかな?」と不安に思ってしまいますよね。

そこで、世界中で共通の信頼できるISMSのルールブックを作りましょうということで生まれたのが、「ISO/IEC27001」という国際規格です。そして、この国際規格を日本語に翻訳し、日本の国家規格としたのが「JIS Q 27001」です。内容は基本的に同じです。JIS Q 27001は、基本情報や応用情報の問題文などでは特に出題されるので、覚えておきましょう。このJIS Q 27001には、組織がISMSを構築し、運用するために何をしなければいけないのかという要求事項が具体的に定められています。ちなみに、この規格シリーズには、他にもJIS Q 27000シリーズで使われる用語の定義がまとめられている、いわば辞書のような規格などがあります。

さて、A社が「私たちはJIS Q 27001のルール通りにちゃんとしたISMSを運用しています」と宣言したとしましょう。でも、それをどうやって証明すればいいでしょうか?自己申告だけでは客観的な信頼性に欠けますよね。そこで登場するのが、第三者によるお墨付きの制度、「ISMS適合性評価制度」です。

ISMS適合性評価制度とは、公平な立場の審査機関が、その組織のISMSが本当にJIS Q 27001の要求事項をちゃんと満たしているかを厳しくチェックする制度です。この審査に合格すると、「ISMS認証」を取得したことになります。この認証を取得している企業は、「私たちは情報資産を適切に管理保護するための仕組みを持っていますよ」ということを客観的に証明できます。これは取引先や顧客からの信頼を勝ち取る上で非常に重要な意味を持ちます。逆に、この認証を持っていない企業は、「この会社に本当に大切な情報を預けて大丈夫かな?」と不安に思われてしまうかもしれません。ちなみに、認証を取得した企業は、ISMS認証センターのウェブサイトなどで公開されているので、誰でも確認することができます。

では、そもそもISMSが守ろうとしている情報セキュリティとは、具体的にどのような状態を指すのでしょうか?その土台となるのが、情報セキュリティの「3大要素」です。これは非常に重要なので、必ず覚えていきましょう。

1つ目が「機密性」です。機密性とは、許可された人だけがその情報にアクセスできることです。例えるなら、鍵のかかった日記です。書いた本人しか中身を見ることができませんよね。IDとパスワードによるアクセス制御などが、この機密性を保つための技術です。

2つ目が「完全性」です。完全性とは、情報が正確であり、改ざんされていないことです。例えるなら、銀行口座の残高。誰かに勝手に書き換えられたり、データが壊れたりせず、常に正しい状態が保たれている必要があります。

3つ目が「可用性」です。許可された人が、必要な時にいつでも情報にアクセスできることです。例えるなら、銀行のATM。お金を引き出したい時に、いつでもちゃんと使える状態であることが重要です。システムがダウンして使えないという事態を防ぐことが、可用性を保つことにつながります。

この3つの頭文字を取って「CIA」と呼ばれることもあります。そして最近では、この3大要素に加えて、さらに4つの要素を加えた「情報セキュリティの7要素」という考え方も重要視されています。追加の4つを見ていきましょう。

「真正性」は、利用者や情報が本物であることが確認できることです。つまり、なりすましができないということです。

「責任追跡性」とは、誰がいつ何をしたかを後から追跡できることです。操作ログの記録などがこれにあたります。

「非否認性」とは、何かをやりました、送りましたという事実を、後から「やっていない」と否定できないようにすることです。これは電子署名などが挙げられます。

最後、「信頼性」は、システムが意図した通りに確実かつ安定して動作することです。

今回は、情報を守るための管理の仕組みであるISMSについて解説しました。ISMSが情報を守るための総合的な仕組みであることが分かりましたね。では、そのISMSの運用において、どのようなリスクがあるかを特定し、どう対処すべきかを判断する最も重要な活動は何でしょうか?次は「リスクマネジメント」という、科学的に危険を管理するアプローチについて詳しく解説します。

今回は、情報セキュリティの世界において、ビジネスを守る上で非常に重要な考え方、「リスクマネジメント」について、完全イラスト解説していきます。リスクと聞くとなんだか危険とか、避けるべきものといったネガティブなイメージがありませんか?でも、リスクはただ怖がるだけのものではありません。その正体を知り、賢く付き合っていくことが、皆さんの大切な情報を守り、ビジネスを成功させるためには不可欠です。

この動画を見れば、そもそもリスクとは何か?リスクを管理するリスクマネジメントの全体像、そしてその中心的なプロセスであるリスクアセスメントの具体的な手順がすっきりと理解できます。

まず、リスクという言葉の定義についてです。一般的に「危険」と訳されることが多いですが、リスクマネジメントの世界では、もう少し広く「目標達成に影響を与える不確実な出来事の可能性」と捉えます。これはマイナスの影響である脅威だけでなく、プラスの影響である好機も含む場合もあります。ただ、今回は特にセキュリティの観点から、マイナスの影響を与える可能性、つまり悪いことが起こる可能性として話を進めていきます。

では、リスクマネジメントとは何でしょうか?これは、組織や個人が目標達成する過程で遭遇する可能性があるリスクを事前に特定し、分析・評価し、それに対して適切な対策を講じる一連のプロセス全体のことです。言葉だけだと少し難しく聞こえるかもしれませんが、例えるなら海外旅行の計画と全く同じです。楽しい海外旅行を成功させるという目標にとって、旅行先でのスリや病気、フライトの遅延などはまさしくリスクですよね。

リスクマネジメントは、ただ闇雲に旅行に出かけるのではなく、まず「今回の旅行の予算は何円まで?」「絶対に〇〇だけは見たいから、そこに行く時間は最優先で確保する」といった旅行全体の判断軸となる基準を決めますよね。次に、どんな危険があるかガイドブックやネットで事前に調べ、リスクを特定します。そして、現地の治安状況や流行している病気の情報を集め、どのくらい危ないかを考え、分析します。分析した結果、「このリスクは無視できないな」と対策の必要性を判断し、評価しますよね。そして、「夜道は歩かない」「予防接種を受ける」「海外旅行保険に入る」など、具体的な対策を決めて実行して対応をします。このように、リスクマネジメントは安全で楽しい旅行のための計画的な準備活動そのものです。

今の海外旅行の例で見たように、リスクマネジメントは一般的にこのような流れで進められます。まず最初に「基準の確率」を行い、リスクの特定・分析・評価を経て、最後にリスクの対応を決定します。このリスクマネジメントのプロセスの中でも、リスクの正体を突き止め、その大きさを図る非常に重要なパートが「リスクアセスメント」です。リスクアセスメントは、リスクの特定、リスクの分析、リスクの評価という3つのステップで構成されます。これからこのリスクマネジメント全体の流れを、各ステップごとに詳しく見ていきましょう。

まずは「リスク基準の確率」です。リスクへの対応を考える前に、どの程度のリスクなら受け入れられるか、どの程度のリスクは対策が必要かという判断基準を決めます。この基準を「リスク受容基準」と言います。例えば、「100万円までの損害は許容範囲だが、それ以上の損害が見込まれるリスクは必ず対策を打つ」といった具体的な基準を組織として最初に確立しておきます。この基準があることで、この後の評価や対応の判断がぶれなくなります。

次に「リスクの特定」です。これは自分たちの組織にどんなリスクが存在するのかを洗い出す作業です。「うちの会社ではどんな悪いことが起きる可能性があるのか?」を考え、情報システムに関するリスク、人に関するリスク、災害に関するリスクといった形で、考えられるリスクをリストアップしていきます。

リスクを特定したら、次は「リスク分析」で、そのリスクの大きさを分析します。リスクの大きさは、主に2つの軸で考えます。1つ目が「発生確率」です。そのリスクがどれくらいの頻度で発生する可能性があるのか。2つ目が「影響度」です。もしそのリスクが発生した場合、どれくらいの損害や影響が出るか。この2つで考えていきます。例えば、「社員のメール誤送信は発生確率は中くらいかもしれないが、もし顧客情報が大量に漏れたら影響度は甚大だ」というように分析します。

リスクの分析が終わったら、その結果をもとに各リスクの優先順位付けを行います。これが「リスクの評価」です。分析した発生確率と影響度を掛け合わせて、リスクの深刻度、つまりリスクレベルを算出します。そして、最初に決めたリスク受容基準と照らし合わせ、どのリスクにどのリソースを割いて対策すべきかを判断します。例えば、「発生確率も影響度も高い、最優先で対策すべきリスク」や、「発生確率は低いが、起きたら壊滅的な影響が出るリスク」、「影響は軽微なので、今回は様子を見るリスク」などを明確にしていきます。

さて、リスクアセスメントによって対策すべきリスクの優先順位が決まりました。最後のステップは、それらのリスクを具体的にどう対処するかを決め、実行する「リスク対応」です。このリスクへの対処法は、大きく分けて2つの考え方があります。1つはリスクそのものを直接コントロールしようとする「リスクコントロール」。もう1つは金銭的な側面からリスクに備える「リスクファイナンシング」です。それぞれ見ていきましょう。

まずは、リスクの発生や影響を直接的に制御しようとする「リスクコントロール」です。これには主に3つのアプローチがあります。

1つ目は「リスク回避」です。これは最も抜本的な対策で、リスクの原因となる活動そのものをやめてしまうことです。例えば、「ウェブサイトからの情報漏洩リスクが非常に高いと判断したので、ウェブサイトの運営を完全に停止する」といった、リスクを根源から断つための決断です。

2つ目は「リスク低減」です。これはリスクの発生確率や、発生した場合の影響度を下げるための対策を講じることで、最も一般的で中心的な対応策です。例えば、ウイルス対策ソフトを導入することでマルウェア感染の発生確率を低減し、データのバックアップを定期的に取ることでデータが消えてしまった場合の影響度を低減するといった対策がこれにあたります。

そして3つ目が「リスクの分離・分散」です。これはリスクを1箇所に集中させないように、物理的、論理的に分散させることです。例えば、重要なデータを物理的に離れた複数のデータセンターに分散して保管するといった対策がこれにあたります。これにより、1つのデータセンターが災害などで機能しなくなっても、別の場所でサービスを継続できます。

次に、リスクによる経済的な損失に焦点を当て、金銭的に備える「リスクファイナンシング」です。こちらには2つのアプローチがあります。

1つ目は「リスク移転」です。これはリスクによって発生する損害の補填を、保険などを利用して第三者に移す、つまり肩代わりしてもらうことです。例えば、サイバー保険に加入し、万が一情報漏洩事故が起きた際の損害賠償費用に備えるといった対策がこれにあたります。

2つ目は「リスク保有」です。これは特に対策をせず、リスクによる損害が発生した場合は自分たちで受け入れる、つまり覚悟することを決めることです。もちろん、何でもかんでも受け入れるわけではありません。リスクの影響が非常に小さい場合や、対策にかかる費用が想定される損害額よりはるかに高くなってしまう場合に選択されます。例えば、PC1台が故障するリスクについては、その都度買い換えるための予備費を準備しておくといった判断がこれにあたります。

このように、リスクの特性に合わせて様々な対応策の中から最適なものを選択し、実行していくのがリスクマネジメントの最終段階です。

はい、今回はリスクマネジメントの全体像とその中心となるリスクアセスメントの具体的な手順について解説しました。このリスクマネジメントの考え方は、情報セキュリティだけでなく、ビジネス全般、さらには個人の生活においても応用できる非常に強力なフレームワークです。是非覚えておいてください。

リスクマネジメントによって、どのリスクに優先的に対処すべきかが明確になりました。では、その対処すべきリスクの脅威として、最も身近で多様な形態を持つものの一つが悪意のあるソフトウェア、マルウェアです。次はコンピューターウイルスだけでなく、ランサムウェアやスパイウェアなど、様々なマルウェアの正体に迫っていきます。

今回は、マルウェアの種類と対策について完全イラスト解説していきます。この動画では、マルウェアとは何か?その全体像、コンピューターウイルスやワームなど代表的なマルウェアの種類とそれぞれの違い、そしてそれらから身を守るための基本的な対策方法がすっきりと理解できます。

では、始めていきましょう。最近、ウイルスに感染してパソコンのデータが全て消えてしまった。病院のシステムが攻撃されて患者さんの情報が人質に取られた。有名企業のサイトが一斉に攻撃を受けてサービスが停止してしまった。ニュースなどでこんな怖い話聞いたことはありませんか?私たちのスマートフォンやパソコン、そして社会全体を狙う悪意あるソフトウェアは日々巧妙化しています。これらの悪意あるソフトウェアやプログラムの総称のことをまとめて「マルウェア」と呼びます。マルウェアとは、悪意あるソフトウェアを意味する「Malicious Software」という言葉を短くしたもの。利用者のデバイスに損害を与えたり、情報を盗んだり、利益をもたらすために作られています。

よく「ウイルスに感染した」と言いますよね。そのため、多くの方が「悪さをするプログラム=コンピューターウイルス」と思いがちですが、実は違います。コンピューターウイルスは、このマルウェアという大きなカテゴリーの中の一つの種類に過ぎません。全てのマルウェアがコンピューターウイルスというわけではないんですね。マルウェアには、コンピューターウイルス以外にもワームやランサムウェア、トロイの木馬など、様々な仲間たちがいます。ここはとても勘違いしやすいところなので、しっかりと覚えておきましょう。

では、このマルウェア軍団には具体的にどんな種類のものがあるのか、代表的なものを順番に見ていきましょう。ここからは少し専門用語も出てきますが、一つ一つの違いをイメージで掴んでいきましょう。

まず最も有名なのが「コンピューターウイルス」です。これは人間のインフルエンザのように、他のプログラムファイルの一部にくっついて感染を広げていくタイプのマルウェアです。最大の特徴は、単体では存在できず、何らかのプログラムファイルに寄生しないと活動できない点です。ユーザーがその感染したファイル、例えばメールに添付されたWordファイルやダウンロードした実行ファイルなどを開いたり実行したりすることで、ウイルスが活動を開始し、他のファイルにも次々と感染を広げていきます。メールに添付されたファイルを開いたらウイルスに感染してしまった、などはまさにこのコンピューターウイルスの例ですね。

コンピューターウイルスの中でも特に注意したいのが「マクロウイルス」です。これはMicrosoftのWordやExcelなどに搭載されているマクロ機能を悪用したウイルスです。マクロ機能とは、ファイル上で行う定型操作を自動化するための便利な機能なんですが、攻撃者はこの仕組みを悪用し、悪意あるプログラムをマクロとしてファイルに埋め込みます。ユーザーがそのファイルを開いて「マクロを有効にする」というボタンをクリックすると、ウイルスが活動を開始し、ファイルを破壊したり、他のファイルに感染したり、情報を盗んだりします。請求書や重要なお知らせといった、思わず開きたくなるようなファイル名で送られてくることが多いので注意が必要です。

次に「ワーム」です。ワームとは英語で細長い虫という意味なんですが、その名の通り、ネットワークのケーブルを這うようにして、自力で次々と他のコンピューターに感染を広げていくのが特徴です。コンピューターウイルスとの決定的な違いは、何かのファイルに寄生する必要がなく、単体で活動できるという点と、自己増殖能力が非常に高い点です。ネットワークの弱点、つまり脆弱性を悪用して、ユーザーが何もしなくても勝手にコンピューターに侵入し、そこからまた別のコンピューターへと感染を広げていきます。感染力が非常に高い厄介なマルウェアですね。

次は「トロイの木馬」です。トロイの木馬とは、一見すると便利なソフトウェアや面白そうなゲーム、写真ファイルなど、無害なプログラムになりすましてコンピューターに侵入するマルウェアです。ユーザーが「これは便利そうだ」と思って自らインストールすると、その裏で悪意のあるプログラムが動き出し、情報を盗んだり、コンピューターを乗っ取ったりします。ウイルスやワームのように自己増殖はしませんが、ユーザーを騙して自らを開けさせるというのが特徴です。

次は「ランサムウェア」です。ランサムウェアは、日本語だと「身の代金」という意味の「ランサム」と「ソフトウェア」を組み合わせた言葉で、近年非常に被害が多い悪質なマルウェアです。これに感染すると、コンピューター内のファイルが勝手に暗号化されて開けなくなってしまいます。そして、「ファイルを元に戻して欲しければ身代金を支払え」と要求してきます。しかし、お金を払ってもファイルが元に戻る保証は全くありません。

次は「スパイウェア」です。スパイウェアとは、その名の通りスパイ活動を行うマルウェアです。ユーザーに気づかれないようにコンピューターに潜伏し、入力したIDやパスワード、閲覧履歴、メールの内容といった個人情報をこっそり盗み出し、外部の攻撃者に送信します。

次は「キーロガー」です。キーロガーとは、キーボードの入力内容を全て記録するマルウェアです。これに感染すると、あなたが入力したID、パスワード、クレジットカード番号、メッセージなどが全て筒抜けになり、攻撃者に送信されてしまいます。スパイウェアの一種と考えることもできますね。

次に解説するのは非常に厄介な「ルートキット」です。これを理解するために、「バックドア」という言葉から見ていきましょう。例えば、空き巣で考えてみてください。一度家に侵入した泥棒が、次は鍵を壊さなくてもいつでも簡単に入れるようにしたいと考え、誰にも気づかれない秘密の裏口をこっそり作ったらどうでしょうか?この秘密の裏口のことを、セキュリティの世界ではそのまま「バックドア」と呼びます。ルートキットとは、攻撃者が一度コンピューターに侵入した後、そのバックドアの存在を隠したり、侵入した痕跡を消したりして、いつでも再び侵入できるようにするためのツール群です。例えば、攻撃者が作ったバックドアをコンピューターに設置し、正規のユーザーに気づかれないように、いつでも自由にそのコンピューターを遠隔操作できるようにします。見つけるのが非常に困難なマルウェアです。

最後が「ボット」です。ボットとは、感染したコンピューターを外部の攻撃者が遠隔操作できるようにするためのマルウェアです。攻撃者はC&Cサーバーと呼ばれる司令サーバーから、ボットに感染した多数のコンピューターに一斉に命令を送ります。このC&Cサーバーとボットを合わせて「ボットネット」と呼びます。ボットネットは、特定の企業を一斉に攻撃してサービスを停止させたりするDDoS攻撃や、迷惑メールを大量に送信したりするといった、大規模なサイバー攻撃に悪用されます。

以上が代表的なマルウェアの種類とそれぞれの違いの説明でした。ここまで聞いた皆さんの中には、「こんなにたくさんのマルウェアがあるなんて怖いな」と思った方もいるんじゃないでしょうか。では、どうやって身を守ればいいのでしょうか?その最も基本的な対策が「ウイルス対策ソフト」です。ウイルス対策ソフトは、単にコンピューターウイルスだけを防ぐのではなく、ここまで説明してきた様々な種類のマルウェアを検知し、駆除してくれる総合的なセキュリティ対策ソフトです。

では、ウイルス対策ソフトは何をしているのでしょうか?PCを新しく買う時に、なんとなく店員さんに勧められたから購入してインストールしている方も多いんじゃないかなと思います。今回は、ウイルス対策ソフトは何をしていて、どのようにマルウェアの侵入を防いでいるのかを見ていきましょう。主に2つの方法でマルウェアを検知しています。それが「パターンマッチング法」と「ビヘイビア法」です。

まずは「パターンマッチング法」について説明します。パターンマッチング法とは、ウイルス対策ソフトが持っている既知のマルウェアの特徴を記録したリスト、これを「定義ファイル」や「シグネチャ」と呼ぶんですが、それとコンピューター内のファイルやプログラムを比較する方法です。指名手配犯の写真リストと見比べて、怪しいやつがいないかをチェックするようなイメージですね。この方法は、すでに知られているマルウェアに対しては非常に効果的ですが、リストに載っていない未知の新しいマルウェアを見つけることはできません。そのため、定義ファイルを常に最新の状態にアップデートしていくことが非常に重要です。

このパターンマッチング法の弱点を補うのが「ビヘイビア法」です。ビヘイビアとは「振る舞い」という意味の単語です。ビヘイビア法は、プログラムの見た目(パターン)ではなく、その動きや振る舞いを監視する方法です。「このプログラムは勝手にファイルを暗号化しようとしている」であったり、「許可なく外部と通信しようとしている、危険だ」というように、マルウェア特有の怪しい振る舞いを検知して活動をブロックします。この方法なら、定義ファイルに載っていない未知の新しいマルウェアに対応できる可能性があります。

現代のウイルス対策ソフトは、この2つの方法を組み合わせて、私たちのコンピューターを守ってくれています。

今回は、悪意のあるソフトウェア、マルウェアの全体像とその代表的な手口、そしてウイルス対策ソフトの仕組みについて解説しました。基本情報や応用情報では、今回紹介したようなマルウェアの種類や特徴を問う問題がよく出題されます。用語とそのどんな悪さをするかという特徴をセットで覚えておくだけで得点につながりますので、是非何度も見返してしっかりと正解できるようにしましょう。

マルウェアには本当に様々な種類があることが分かりました。では、そのマルウェアを送り込んだり、ウェブサイトの弱点をついたり、人の心を騙したりと、攻撃者が仕掛けてくる具体的な手口にはどのようなものがあるのでしょうか?次は、より実践的な脅威、サイバー攻撃の種類と対策について徹底的に深掘りしていきます。

今回は、サイバー攻撃の手口とその対策について、代表的なものを20種類厳選し、完全イラスト解説していきます。最近、ニュースなどで「有名企業から個人情報が流出」「SNSや証券口座のアカウントが乗っ取られた」といった事件を本当に頻繁に耳にしますよね。ただ、このような事件を聞いても、「正直、自分には関係ないかな」とどこか他人事だと思っていませんか?でも実は、これらの危険は私たちのすぐそばに潜んでいます。そして、攻撃者は大企業だけでなく、私たち一人一人を狙っています。

では、自分が被害に合わないためにはどうすればいいのでしょうか?その答えは、まず敵の手口を知ること、そして正しい対策を学ぶことです。今回は、ウェブサイトなどを使うユーザーとしての視点と、サイトを運営するサービスを提供する側の視点、その両方から対策を説明していきます。この動画1本で、皆さんの大切な情報を狙う代表的なサイバー攻撃の種類とその基本的な対策を、誰にでも分かるようにすっきり解説します。また、ITパスポートや基本情報、応用情報で頻出の攻撃手法に絞って解説をするので、動画を見終わる頃には試験対策もばっちりです。

ただ、サイバー攻撃の勉強をしようと思っても、正直こんな悩みはありませんか?文字だけの説明じゃどう攻撃をされるのかイメージが分からない。なぜその対策が効果的なのか、理屈がどうも繋がらない。そして何より、「DNSキャッシュポイズニングを理解したいのに、そもそもDNSが分からない」みたいに、前提知識でつまづいて調べるのが面倒になってしまうこと。こんなことありませんか?

ご安心ください。この動画は、そんな皆さんの悩みを全て解決できるように作られています。まず、ITヒーローチャンネルのいつもの特徴である、全てイラスト解説と身近な例え話で、難しい攻撃の仕組みも直感的に「なるほど!」と理解できます。専門用語も身近な出来事に例えながら説明するのでご安心ください。さらに、解説の途中でDNSやのような少し専門的な用語が出てきても心配いりません。そういった攻撃を理解するための前提知識についても、その場で簡単に解説しますし、より詳しい解説動画のリンクを概要欄にも用意しているので、寄り道してから戻ってくるという使い方もできます。

今回は代表的なサイバー攻撃を20種類も紹介するので、少し長めの動画になります。ただ、チャプター機能も設定しているので、気になる所だけ見たり、後から特定の攻撃についても復習したりするのも簡単です。

それでは、始めていきましょう。さて、この動画では、数々の攻撃手法を分かりやすく整理するために、攻撃の目的別に大きく6つのカテゴリーに分けて解説を進めていきます。これにより、この攻撃は一体何がしたいのかが明確になり、それぞれの違いが頭の中でスッキリ整理できるはずです。カテゴリーは、まずは皆さんのIDとパスワードを狙う「パスワードを盗む・破る攻撃」。次に、ウェブサイトのプログラムの穴をつく「ウェブサイトの弱点をつく攻撃」。そして、通信そのものをターゲットにする「通信を盗み聞き・偽装する攻撃」。技術だけでなく人の心を操る「人間を騙す・利用する攻撃」。ウェブサイトを使えなくする「サービスを停止させる攻撃」。最後に、少し高度な「その他の攻撃」です。この中でも、特に資格試験で狙われやすかったり、実際の被害が多かったりする、特に重要な攻撃手法を赤文字にしています。

それでは早速、最初のカテゴリー「パスワードを盗む・破る攻撃」から見ていきましょう。まず最初に、皆さんのアカウントを守る最後の砦であるIDやパスワードを盗んだり、破ろうとする攻撃です。

最初に紹介するのは、最もシンプルで力任せなパスワード解読手法、「ブルートフォース攻撃」です。ブルートフォースとは「力づく」という意味で、日本語では「総当たり攻撃」とも呼ばれます。これは、その名の通り、パスワードとして考えられる全ての文字の組み合わせを手当たり次第試していく、非常に古典的ですが強力な手法です。もちろん、攻撃者がキーボードで一つ一つ手入力しているわけではありません。コンピューターは単純な繰り返し処理が非常に得意なので、専用のツールを使えば1秒間に何万、何百万通りものパスワードの組み合わせを自動で試すことができます。そのため、短くて単純なパスワードはあっという間に破られてしまう危険性があります。

このブルートフォース攻撃の対策としては、試行回数を増やすこと、そして試す隙をなくさせることが有効です。まず、ユーザー側の対策としては、パスワードの文字数を長くし、大文字、小文字、数字、記号を組み合わせた複雑なパスワードを設定することが重要です。これにより、解読に必要な組み合わせの数が指数関数的に増えるため、ブルートフォース攻撃で破ることが非常に困難になります。サービス提供者側の対策としては、ログインを数回連続で失敗したら、そのアカウントを一時的に利用できなくする「アカウントロック機能」や、「私はロボットではありません」のような認証でおなじみの「キャプチャ」を導入して、機械的な連続試行を防ぎます。

次は「リバースブルートフォース攻撃」です。これは、先ほどのブルートフォース攻撃とはまさにリバース(逆)の発想で行われる攻撃です。ブルートフォース攻撃が1つのアカウントに対して色々なパスワードを試すのに対して、リバースブルートフォース攻撃は、1つのよく使われるパスワードを使って、色々なアカウントに対してログインを試みる攻撃です。例えば、攻撃者は「password」という非常によく使われるパスワードを用意し、それを固定します。そして、「user001」「user002」といった大量のユーザーIDに対して順番に、このパスワードでログインを試みます。まさかそんな簡単なパスワードを使ってる人なんていないだろうと思うかもしれませんが、実際にはセキュリティ意識の低いユーザーは、推測されやすいパスワードを使い続けている可能性が多いです。その結果、スライドの例のように「user003」というユーザーがたまたまパスワードに「password」を設定していたために、攻撃者にログインされてしまうというわけです。このように、攻撃者はたくさんのアカウントの中には、きっとこの簡単なパスワードを使ってる人がいるだろうという低い確率に賭ける形で攻撃を仕掛けてきます。

リバースブルートフォース攻撃への対策としては、ユーザー側としては何よりもまず、ローマ字のパスワードであったり、誕生日、電話番号など、範囲でよく使われるパスワードを避けることが非常に重要です。私たちがそのような推測されやすいパスワードを使っていなければ、この攻撃のターゲットになることはありません。サービス提供者側としては、攻撃特有のパターンを検知して、それをブロックする仕組みを導入します。具体的には、「特定のIPアドレスから3時間以内に多数のアカウントへのログインが失敗する」といった異常な動きを検知し、そのIPアドレスからのアクセスを一時的にブロックするという仕組みが有効です。IPアドレスとは、インターネットに接続された機器、例えばあなたのスマホやパソコンに割り当てられる、インターネット上の住所のようなものです。普通の人がログインする際に、1つのIPアドレスから何百、何千もの別々のアカウントに短時間でログインを試みるなんて、まずありえませんよね。そういった異常な動きを検知したら、「リバースブルートフォース攻撃に違いない」と判断して、そのIPアドレスからのアクセスをシャットアウトするという対策です。

次は「辞書攻撃」について説明します。皆さんもパスワードを設定する時に、こんな風に思ったことはありませんか?「色々なサイトで別々のパスワードを作るのって本当に大変」「かと言って忘れたら再発行するのが面倒だから、覚えやすい単語にしちゃおう」。例えば、「apple」とか「baseball」とか「summer」とか、ついつい辞書に載っているような身近な単語をパスワードにしてしまっている人、多いのではないでしょうか。辞書攻撃は、まさにそういった心理を狙った攻撃です。攻撃者はあらかじめ辞書に載っている単語や、「123456789」といったよく使われるパスワードのリストを用意しておきます。そして、そのリストにある単語を片っ端から試してログインを試みる攻撃です。闇雲に全ての組み合わせを試すブルートフォース攻撃と違って、ありそうなものから効率的に試していくので、単純な単語のパスワードはあっという間に破られてしまう可能性があります。辞書攻撃への対策はシンプルです。辞書に載っているような単純な単語をパスワードにしないこと。そして、複数の単語を組み合わせたり、記号や数字を混ぜたりして、推測されにくいパスワードにすることが非常に重要です。

次は、現代において非常に被害が多く、私たちにとって最も身近な脅威の一つと言える「パスワードリスト攻撃」について説明します。パスワードリスト攻撃は、どこかのサービスから流出したIDとパスワードのリストを使い、別のサービスでログインを試みる攻撃です。多くの人が複数のサービスで同じIDとパスワードを使い回している心理をついています。攻撃のステップは次のようになります。まず、攻撃者は何らかの方法で、あるサービスAから流出した大量のIDとパスワードのリストを不正に入手します。次に、攻撃者はそのリストを使って、全く別のサービスB、C、Dといった他のサイトで片っ端からログインを試みます。もしあなたがサービスAと同じIDとパスワードをサービスBでも使い回していたらどうなるでしょうか?攻撃者はサービスBでもあなたのパスワードを知っていることになるので、もはや簡単に不正ログインに成功してしまいます。これがパスワードリスト攻撃の恐ろしさです。例えあなたが使っているサービスが非常に安全でも、全く関係ない別のサービスから情報が流出するだけで、あなたのアカウントが危険にさらされてしまいます。

では、パスワードリスト攻撃から身を守るにはどうすればいいでしょうか?1つ目は、パスワードを使い回さないことです。これが最も重要で、最も基本的な対策です。管理が面倒でも、サービスごとに異なるユニークなパスワードを設定しましょう。パスワード管理ツールなどを使うのも一つの手です。2つ目が、「多要素認証」を設定することです。パスワードが突破されたとしても、最後の砦となるのが多要素認証です。スマートフォンへの通知やSMSコードなど、パスワード以外の認証要素を組み合わせることで、不正ログインを防ぐことができます。3つ目は、流出情報をチェックすることです。自分のメールアドレスなどが過去に流出したことがあるかどうかをチェックできるサービスもあります。もし流出したリストに含まれていた場合は、関連するサービスのパスワードをすぐに変更しましょう。

ここで少し「多要素認証」について説明します。多要素認証とは、ログイン時に複数の異なる認証要素を組み合わせて本人確認を行う、より厳重な認証の仕組みのことです。MFAや2段階認証とも呼ばれます。この認証要素、つまり認証の種類には、大きく分けて3つの種類があります。

1つ目が「知識情報」です。これは本人だけが知っているはずの情報です。皆さんが普段使っているパスワードや、スマートフォンのPINコード、母親の旧姓といった秘密の質問の答えなどがこれにあたります。

2つ目が「所持情報」です。これは本人だけが持っているはずのものです。例えば、スマートフォンに届くSMS認証コードや、Google Authenticatorのような認証アプリ、USBポートに挿して使う物理的なセキュリティキー、あるいはICカードなどがこれに当てはまります。ログインしようとすると「スマホに認証してください」と通知が来て、それをタップする。あれがまさに所持情報を使った認証です。

3つ目が「生体情報」です。これは本人自身の身体的な特徴で、他人には真似できない情報です。スマホのロック解除などでおなじみの指紋認証や顔認証が代表的ですね。

そして、多要素認証では、これら知識、所持、生体という3種類のうち、2つ以上の異なる要素を組み合わせて本人確認を行います。例えば、パスワードでログインをした後に、さらにスマートフォンで届くワンタイムコードの入力を求められるというのが、最も一般的な多要素認証です。攻撃者はあなたのスマートフォンそのものであったり、あなたの指紋を持っているわけではありません。そのため、この2つ目の認証の壁を突破することができず、不正ログインを諦めざるを得ないというわけです。皆さんが利用している重要なサービスで多要素認証が提供されていたら、必ず設定しておくことを強くお勧めします。

次は「レインボー攻撃」について説明します。これを理解するために、まずWebサービスにパスワードを登録する際の仕組みを知る必要があります。私たちが使用している多くの安全なサービスでは、入力されたパスワードそのものをデータベースに保存するわけではありません。パスワードを「ハッシュ関数」という特殊な計算にかけて、「ハッシュ値」という元に戻せない文字列に変換してからデータベースに保存します。レインボー攻撃はこのハッシュ化されたパスワードに対する攻撃です。攻撃者は、よく使われるパスワードとそれに対応するハッシュ値をあらかじめ大量に計算しておき、巨大な対応表を作成しておきます。これを「レインボーテーブル」と呼びます。そして、何らかの方法でデータベースからハッシュ値を盗み出した後、その値とレインボーテーブルを照らし合わせることで、元のパスワードを高速に探し出します。

レインボー攻撃の対策としては、サービス提供者側の対応が非常に重要になります。パスワードをハッシュする際に、2つの重要な一手間を加える必要があります。1つ目は「ソルトを付与する方法」。2つ目は「ストレッチングという方法」です。それぞれ順番に説明します。

まず「ソルト」です。料理で使う塩と同じ言葉ですね。ソルトとは、パスワードをハッシュする前に付け加える、ユーザーごとに異なるランダムな文字列のことです。レインボー攻撃は、よく使われるパスワード、例えば「password」というハッシュ値が誰が使っても同じ値になるという前提で成り立っていました。そこでこのソルトの出番です。パスワードをハッシュする際に、元のパスワードにユーザー固有のソルトを足してからハッシュをします。こうすることで、例えAさんとBさんが同じパスワードを使っていても、ソルトが違うのでデータベースに保存されるハッシュ値は全く異なるものになります。これにより、仮に攻撃者がAさんやBさんのソルトが付与されてハッシュされたパスワードを取得しても、攻撃者が持っているソルトなしで計算されたレインボーテーブルは全く役に立たなくなるというわけです。

次に「ストレッチング」です。ストレッチとは英語で「引き延ばす」という意味ですね。ストレッチングとは、ハッシュの計算を意図的に何千回、何万回と繰り返し行うことです。そんなに計算を繰り返し たら、ログインが遅くならないのかと心配になるかもしれませんが大丈夫です。コンピューターにとってこの計算にかかる時間は一瞬なので、普通のユーザーがログインする際にはほとんど気づきません。しかし、攻撃者にとってはこれが致命的になります。攻撃者が総当たり攻撃を仕掛けてきたり、レインボーテーブルを作る際には、何億、何十億というパスワードのハッシュを事前に計算しておく必要があります。この計算1回1回に、このストレッチングによる時間稼ぎが加わることで、レインボーテーブルを作成するのに指数関数的な時間がかかるようになります。これにより、攻撃者はレインボーテーブルを作ること自体を諦めざるを得なくなるんです。

このように、サービス提供者側はソルトでハッシュ値をユニークにし、ストレッチングで計算を遅くするという2段構えの対策で、私たちのパスワードをレインボー攻撃から守ってくれています。

ここからは、ウェブサイトやウェブアプリケーションの弱点をつく攻撃です。まずは「SQLインジェクション」について説明します。これはWebアプリケーションの脆弱性をつく攻撃の中でも特に有名で、非常に危険な攻撃です。SQLインジェクションは、入力フォームなどにデータベースを不正に操作する悪意ある命令部SQLを注入する攻撃です。普通のユーザーだと、IDやパスワードの入力欄には自分のIDとパスワードしか入れないですよね。しかし、攻撃者はこの入力欄にSQLのクエリを入れます。しかも、「アプリケーションの全ユーザー情報 を削除する」といったような悪意のあるSQLです。そうすると、脆弱性のあるアプリケーションだと、そのSQLを実行してしまい、全ユーザー情報を削除してしまうというようなことが起こり得ます。これがSQLインジェクションです。

SQLインジェクション攻撃に対しては、主にサービス提供者側の対策が重要です。代表的なものを3つ紹介します。1つ目は、以前のネットワークセキュリティの動画でも登場した「WAF(Web Application Firewall)」を導入することです。WAFは通信の中身をチェックしてくれる専門の警備員です。SQLインジェクション特有の攻撃パターンを検知して、データベースに届く前にブロックしてくれます。2つ目は、アプリケーションのプログラムで行う対策、「サニタイジング」です。詳細はこの後説明します。そして3つ目が、現在最も安全で推奨されている対策である「プリペアドステートメント」の仕様です。これは、あらかじめSQL文の型枠を用意しておき、後からユーザーの入力値を安全なデータとしてその型枠にはめ込む仕組みです。

SQLインジェクションへの対策として、アプリケーション側で行う非常に重要な処理が「サニタイジング」です。サニタイジングとは、英語で「消毒する」「無害化する」という意味です。では、具体的にどのようにして悪意のある入力を無害化するんでしょうか?SQLインジェクション攻撃で、入力フォームに「DELETE FROM users」という文字列が注入された場合を例に、サニタイジングがどのように機能するのか、その流れを説明します。まず、この攻撃で最も危険なのは、実は先頭にあるシングルクォートです。この1文字があるせいで、ウェブアプリケーションが意図していたSQL文の構造が破壊され、それに続くDELETE文が不正な命令として実行されてしまいます。そこでサニタイジングの出番です。アプリケーションは、攻撃者が入力した「DELETE FROM users」という文字列を受け取ると、危険な文字列である先頭のシングルクォートを無害化します。具体的には、シングルクォートを「シングルクォート2つ」に置き換えます。SQLの世界では、シングルクォート2つは「文字としてのシングルクォート1つ」という意味になります。命令文の区切りとしての特殊な意味を失わせるんです。これがサニタイジング処理です。無害化された文字列を使ってSQL文を組み立てると、データベースに渡される命令は、「ユーザーIDの値がDELETE FROM users」という、ただの検索処理として正しく解釈されます。もちろん、そんなユーザーIDのユーザーはいないので何も起こりません。危険なDELETE文は、ただの検索キーワードの一部として扱われるため、実行されることはありません。このように、例え悪意のある文字列が入力されても、サニタイジングによってそれがデータベースへの命令文として実行されるのを防ぐことができます。このサニタイジングは、SQLインジェクションだけでなく、この後説明するクロスサイトスクリプティングなど、多くのWebアプリケーションへの攻撃を防ぐ上で非常に重要で基本的な対策です。

次に解説するのは「OSコマンドインジェクション」です。これは先ほど学んだSQLインジェクションと名前も手口もよく似ていますが、攻撃のターゲットが異なります。SQLインジェクションがデータベースを狙う攻撃だったのに対し、

OSコマンドインジェクションは、Webアプリケーションが動いているWebサーバー自体、その土台となっているOS(オペレーティングシステム)を直接狙う攻撃です。ウェブサイトの入力フォームなどを悪用し、サーバーのOSに対する不正なコマンドを注入し、実行させてしまいます。

スライドの例では、フォームに本来入力すべき値の後ろに、セミコロンで区切って「パスワードファイルを表示しろ」というOSのコマンドを注入しています。もしこの攻撃が成功すると、サーバー内のファイルを不正に閲覧されたり、改ざん・削除されたり、最悪の場合サーバーを完全に乗っ取られてしまう可能性があります。

OSコマンドインジェクションの対策は、基本的な考え方はSQLインジェクションの対策とよく似ています。1つ目はWAFを導入することです。WAFはコマンドインジェクション特有の攻撃パターンを検知し、サーバーに届く前にブロックしてくれます。2つ目はサニタイジングすることです。セミコロンやパイプといったコマンドを区切るために使われる特殊な記号を、プログラム側で無害化します。3つ目は外部からの入力をOSのコマンドとして実行させないことです。そもそもユーザーからの入力値をOSのコマンドとして直接実行できるようなプログラムの作り方を避けるべきです。やむを得ず外部のプログラムを呼び出す場合は、安全な関数を使用するなど慎重な実装が求められます。

次に解説するのはクロスサイトスクリプティング(略してXSS)と呼ばれる攻撃です。クロスサイトスクリプティングは、脆弱性のあるウェブサイトの掲示板などに悪意のあるスクリプトを書き込み、ページを訪れた他のユーザーを攻撃します。この攻撃の最大の特徴は、Webサーバー自体を直接狙うのではなく、そのウェブサイトを訪れた一般のユーザーをターゲットにするという点です。主に次のような流れで実行されます。

まず、攻撃者が脆弱性のあるウェブサイト、例えば誰でも書き込みできる掲示板やブログのコメント欄などに、悪意のあるスクリプト(つまりプログラム)を書き込み、罠を仕掛けます。このスクリプトは一見すると普通のコメントのように見えたり、あるいは全く目に見えなかったりします。

次に、何も知らない一般のユーザーがその罠が仕掛けられたページを閲覧します。ユーザーはいつも利用している信頼できるサイトだと思っているので、何の疑いもなくページを開きます。すると、ユーザーのWebブラウザはその悪意のあるスクリプトを、サイトの正規のプログラムの一部だと信じ込んでしまい、何の疑いもなく実行してしまいます。

このスクリプトが実行されると、一体どんな恐ろしいことが起こるのでしょうか?代表的なものを2つ紹介します。1つ目はアカウントの乗っ取りです。スクリプトはブラウザに保存されているあなたのクッキー情報を盗み出し、攻撃者に送信します。これにより、攻撃者はあなたになりすましてサイトにログインし、アカウントを乗っ取ってしまいます。2つ目はマルウェア感染です。スクリプトはあなたを、マルウェアが仕掛けられた別の危険なサイトに強制的に移動させることも可能です。

このように、クロスサイトスクリプティングはウェブサイトの信頼性を逆手に取り、サイトを訪れたユーザー自身を攻撃する、非常に巧妙で危険な手口です。クロスサイトスクリプティングの対策としては、主にサービス提供者側の対応が重要です。1つ目がWAFを導入することです。WAFはクロスサイトスクリプティング特有の攻撃パターンを検知してブロックしてくれます。2つ目が、ユーザーからの入力に含まれるスクリプトタグのような、スクリプトとして特別な意味を持つ危険な文字や記号をサニタイジングすることが最も基本的な対策となります。これらを徹底することで、例え悪意のあるスクリプトが書き込まれても、それがプログラムとして実行されるのを防ぎます。

次に解説するのはクロスサイトリクエストフォージェリ(略してCSRF)と呼ばれる攻撃です。これを理解するためには、まず皆さんがウェブサイトにログインした後に裏側でどのようなやり取りが行われ、ログイン状態が保持されるのか、というセッション管理について知る必要があります。

まずはセッション管理について簡単に説明します。皆さんが一度ログインしたサイトでは、ページを移動するたびにパスワードを再入力しなくてもログイン状態が保持されていますよね。これは、ログインに成功した証として、ウェブサーバーがあなたのブラウザに対してセッションIDという一時的な許可証のようなものを発行しているからです。ブラウザはそのサイトにアクセスするたびに、リクエストと共にこのセッションIDを自動的に送信します。サーバーはそれを見て、「さっきログインしたユーザー本人だな」と判断し、ログインが必要なページの表示を許可してくれています。

CSRFはこの便利なセッション管理の仕組みを悪用します。CSRFは、ログイン中のユーザーを巧みに操り、本人が意図しないリクエストを偽のウェブサイトから強制的に実行させる攻撃です。フォージェリとは英語で「偽造」といった意味です。

CSRFの流れを説明します。まず、攻撃者は悪意のあるサイト、例えば罠が仕掛けられた掲示板などを用意し、罠を仕掛けます。そして、あなたがあるECサイトにログインしている状態で、その罠サイトを閲覧してしまいます。すると、罠サイトに仕込まれたプログラムがあなたのブラウザを操り、あなたがログイン中のECサイトに対して、商品の購入やパスワードの変更といったリクエストを、あなたになりすまして勝手に送信してしまいます。あなたのブラウザはECサイトへの正規のセッションIDを持っているので、この不正なリクエストと一緒にセッションIDも送ってしまいます。そのため、ECサイト側は正規のユーザーからのリクエストだと信じ込んでしまい、意図しない購入やパスワードの設定変更がされてしまいます。

このクロスサイトリクエストフォージェリへの対策としては、サービス提供者側の対応が重要です。正規のページからのリクエストであることを証明するための、推測困難な秘密の文字列であるトークンをフォームに埋め込むことが有効です。攻撃者が用意した偽のサイトからのリクエストには、この正しいトークンが含まれていないため、サーバー側で不正なリクエストとして拒否することができます。

次はディレクトリトラバーサル攻撃について説明します。まずこの攻撃を理解するために、言葉の意味から整理しましょう。ディレクトリとは、皆さんが普段使っているパソコンのフォルダーと全く同じだと思ってください。ウェブサイトのファイルも、サーバーの中では様々なディレクトリに整理されて格納されています。次に、トラバーサルとは英語で「横断する」「生きする」といった意味です。つまり、ディレクトリトラバーサル攻撃は、Webサーバーのディレクトリを不正に横断し、本来は公開されていないはずのファイルに不正にアクセスしようとする攻撃です。

もう少し深掘りしていきましょう。Webサーバーは通常、「このフォルダーの中のファイルだけを外部に公開していいですよ」と設定されています。これをドキュメントルートと呼びます。つまり、それ以外のディレクトリやファイルは基本的に非公開です。しかし、攻撃者はURLを巧みに操作してこの制限を乗り越え、上の階層のフォルダーに不正にアクセスしようと試みます。その際によく使われるのが「../」という文字列です。これはコンピューターに「1つ上の階層のフォルダーに移動しろ」と命令する特殊な記号です。例えば、攻撃者はウェブサイトのURLの末尾に「../../../../etc/passwd」のように「../」を何度も繋げた文字列を入力します。これはWebサーバーに対して、フォルダーを1つ上がって、また1つ上がって、という命令を繰り返し、最終的にサーバーの非常に重要な設定ファイル、今回だと「/etc/passwd」というパスワードが書かれたディレクトリ内のファイルを盗もうとしています。

なぜそんなフォルダーの中身を見たいのかと思いますよね。もしこの攻撃が成功すると、攻撃者はパスワードファイルやシステムの設定ファイル、ウェブアプリケーションのプログラムコードそのものといった、絶対に外部に見せてはいけない機密情報を盗み出すことができてしまいます。そして、その情報を元にさらに深刻な攻撃を仕掛けてくるわけです。

ディレクトリトラバーサル攻撃への対策としては、サービス提供者側がリクエストされたファイルパスが、公開を許可されたディレクトリの範囲内にちゃんと収まっているかを厳しくチェックすることが重要です。そして、外部からの入力に含まれる「../」のような危険な文字列をサニタイジングすることが基本的な対策となります。

次はディレクトリリスティングについて説明します。ディレクトリリスティングは、Webサーバーの設定ミスが原因で、ディレクトリの中身が丸見えになってしまう状態のことです。通常、フォルダーのURLにアクセスすると、index.htmlのようなデフォルトのページが表示されます。しかし、そのページがなく、かつ設定が間違っていると、サーバーが親切にフォルダーの中にあるファイルやサブフォルダーの一覧を全て表示してしまいます。普段は隠されている設定ファイルやバックアップファイルの名前が知られてしまい、より深刻な攻撃のヒントを与えてしまうことになります。

ここで少し、先ほど説明したディレクトリトラバーサルとの違いを簡単にまとめると、ディレクトリトラバーサルはプログラムの脆弱性をつき、非公開のフォルダーへ不正に侵入し、特定のファイルの中身を盗むことを目的とした、より積極的な攻撃です。例えるなら、警備員を騙して立ち入り禁止の役員室に忍び込むような行為です。一方、ディレクトリリスティングはサーバーの設定ミスをつき、公開されているフォルダーの中身の一覧を見ることを目的とした情報収集の段階です。例えるなら、鍵の開いた部屋に入ったら、壁に設計図が張ってあったというような状況です。

ディレクトリリスティングの対策は非常にシンプルです。サーバー提供者側がWebサーバーの設定で、このディレクトリの一覧表示機能を無効にすることが基本的な対策となります。

次はバッファーオーバーフローについて説明します。バッファーオーバーフローは、プログラムが用意したメモリ領域(これをバッファーと呼びます)に対して、その容量を意図的に超える巨大なデータを送り付けることで、システムを誤作動させる、古典的ですが非常に強力な攻撃です。例えば、プログラムが32バイトまで入るバッファーを用意しているのに、攻撃者がそこに1000バイトもの大量のデータを無理やり注ぎ込むようなものです。当然、コップから水が溢れて周りに影響を与えるように、メモリ領域から溢れ出したデータが、意図しない場所に悪意のあるプログラムコードを書き込んでしまいます。これにより、システムがダウンしたり、最悪の場合、攻撃者にシステムを乗っ取られたりする可能性があります。

バッファーオーバーフローの対策は、主にプログラム開発者側の対策が重要です。入力されるデータのサイズを必ずチェックし、用意したバッファーを超えるデータは受け付けないように、プログラムを安全に実装することが基本となります。ちなみに、最近のプログラミング言語の多くは、このようなバッファーオーバーフローを防ぐための仕組みが言語レベルで備わっているため、昔に比べてこの脆弱性を作り込んでしまうことは少なくなっています。

ここからは、ネットワーク上の通信そのものをターゲットにする攻撃です。ネットワーク上の通信そのものをターゲットにする攻撃の代表例がスニッフィングです。スニッフィングとは、ネットワーク上を流れるデータを特殊なツールを使って盗み聞きする、古典的ですが今なお有効な攻撃です。スニフとは英語で「くんくん匂いを嗅ぐ」という意味です。その名の通り、攻撃者はネットワークを流れる情報、つまりパケットを特殊なツールを使って盗み聞きします。皆さんがログイン画面などで入力したIDとパスワードが、暗号化されずにネットワークを流れていると、その通信を傍受されてしまいます。例えるなら、電話回線を盗聴器で盗み聞きしているようなイメージですね。

スニッフィングの危険がある行為を2つ紹介します。1つ目は、信頼できないフリーWi-Fiの利用です。カフェやホテルなどの公共のフリーWi-Fiの中には、通信が暗号化されていない、セキュリティが非常に甘いものがあります。このようなネットワークでは、同じWi-Fiに接続している攻撃者に盗み取られてしまう可能性があります。2つ目は、HTTPで始まる暗号化されていない通信です。URLがHTTPで始まるウェブサイトとの通信は暗号化されていません。つまり、IDやパスワードは平文、誰でも読めるむき出しのテキストデータのままネットワークを流れます。これでは攻撃者に「どうぞ盗んでください」と言っているようなものです。

スニッフィングへの対策は非常にシンプルですが、とても重要です。通信を暗号化すること。これにつきます。まずは、ウェブサイトを閲覧する際は、URLがhttpsで始まっているかを必ず確認しましょう。httpsは通信が暗号化されていることを示します。2つ目は、信頼できないフリーWi-Fiの利用は避けることです。どうしても利用する必要がある場合は、個人情報やパスワードの入力は避けましょう。最後3つ目は、VPNを利用して通信を保護することです。もし信頼できないネットワークを使う場合は、VPNという仮想的な暗号化されたトンネルを作る技術を使って通信を保護することが非常に有効です。

次に解説するのはIPスプーフィングです。スプーフィングとは「成りすまし」「偽装」という意味です。つまり、IPアドレスをスプーフィング(成りすまし)する行為です。IPスプーフィングは、ネットワーク上の通信データである通信パケットについている送信元IPアドレス、つまり差し出し人の住所を偽装することです。ドラマや映画でハッカーが自分の正体を隠すために、全く関係ない場所からアクセスしているように見せかけるシーンってありますよね。まさにあれがIPスプーフィングのイメージです。

このIPスプーフィングには主に2つの狙い目的があります。1つ目は、自分の正体を隠すことです。攻撃者は攻撃パケットの送信元IPアドレスを、全く無関係な第三者のものに偽装します。これにより、攻撃を受けた側は誰が本当の攻撃者なのか特定することが非常に困難になります。2つ目は、相手を信用させて防御を突破することです。こちらの方がより深刻です。例えば、ある会社のファイアウォールが「A社からの通信は安全だから通してよし」というルールを持っていたとします。攻撃者はそれを知ると、悪意なるパケットを送り付ける際に、送信元IPアドレスを信頼されているA社のものに偽装します。ファイアウォールはパケットの宛先書き、つまりIPアドレスしか見ていないため、「これは信頼できるA社からの通信だな」と勘違いし、本来ブロックすべき危険な通信を社内ネットワークに通してしまいがちです。

IPスプーフィングへの対策としては、サービス提供者側が設定を強化することが主な対策になります。例えば、社内ネットワークに属するはずのIPアドレスが、なぜか外部から送られてくるのはおかしい、といった矛盾した通信を検知してブロックするフィルタリング。これをイングレスフィルタリングと呼びますが、これらが有効です。

次に解説するのはDNSキャッシュポイズニングです。これを理解するために、まずDNSとは何かを簡単に説明します。DNSとはドメインネームシステム(Domain Name System)の略で、私たちが普段使っているwww.example.comのような人間が読みやすいドメイン名を、コンピューターが通信に使う192.0.2.1のようなIPアドレスに変換してくれる、インターネット上の電話帳のような仕組みです。

DNSがどのようにドメイン名をIPアドレスに変換しているのか、流れを見てみましょう。私たちがウェブサイトを見る時、PCはまず近くのキャッシュDNSサーバー(一時的にIPアドレスの情報を記憶しておくサーバー)に「example.comのIPアドレスは?」と問い合わせます。もしキャッシュDNSサーバーがそのIPアドレスを知らなければ、大元の権威DNSサーバーに聞きに行き、その答えをPCに教えてくれます。

DNSキャッシュポイズニングはこの便利なキャッシュDNSサーバーに偽のDNSレコードをキャッシュさせ、利用者のアクセスを攻撃者が用意したサーバーに誘導する攻撃です。スライドで流れを見てみましょう。先ほどの通常の流れのうち、攻撃者はキャッシュDNSサーバーが権威DNSサーバーに問い合わせているわずかな隙を狙って、本物の答えが返ってくるよりも先に偽のIPアドレス情報を送り付けます。すると、キャッシュDNSサーバーは先に届いた偽の情報を本物だと信じてしまい、その偽のIPアドレスをキャッシュしてユーザーに送信してしまいます。その後、一般ユーザーが同じサイトにアクセスすると、キャッシュDNSサーバーは汚染された偽の情報を返してしまうため、ユーザーは知らず知らずのうちに攻撃者が用意したフィッシングサイトなどに誘導されてしまうというわけです。

この巧妙なDNSキャッシュポイズニング攻撃には、主にサービス提供者側で対策を行います。1つ目はDNSSEC(DNS Security Extensions)という仕組みを導入することです。DNSの応答にデジタル署名をつけ、その応答が本当に正しい管理者から来たか、改ざんされていないものであるかを確認できるようにする、より安全な仕組みです。2つ目は、キャッシュDNSサーバーのソフトウェアを常に最新に保つことです。DNSサーバーのソフトウェアの脆弱性を突かれることもあるため、常に最新のバージョンにアップデートしておくことが重要です。

ここからは、人間を騙す、悪用する攻撃について見ていきましょう。技術だけでなく、人間の心理的な隙をつく攻撃もたくさんあります。まずはフィッシングについて解説します。フィッシングは、銀行や有名なECサイト、宅配業者などを装ったメールやSMS(ショートメッセージ)を送り付けてきます。その後、本物そっくりに作られた偽のウェブサイトに誘導し、IDやパスワード、クレジットカード情報などを入力させて盗み取る、まさに「釣りのような詐欺」です。

最近では、非常に巧妙な手口が多発しています。例えば、宅配便の不在通知を装うパターンがあります。「お荷物のお届けに上がりましたが、ご不在のため持ち帰りました。詳細をご確認ください」といったSMSを送り付け、偽の再配達依頼サイトへ誘導します。また、アカウントのセキュリティ警告を装うパターンもあります。「Amazonアカウントに異常なログインがありました」「Apple IDがロックされました」といった緊急性を煽る件名でメールを送り、パスワードなどを再設定させようと偽サイトへ誘導します。

なぜ多くの人がフィッシングにかかってしまうのでしょうか?フィッシング詐欺は非常に引っかかりやすい攻撃と言えます。その理由の1つ目は、緊急性と恐怖心を煽ってくるからです。「重要アカウント停止」といった言葉でユーザーを焦らせ、冷静な判断をさせないように仕向けてきます。2つ目は、本物と見分けがつかないからです。届いたメールやウェブサイトの見た目が、ロゴやデザインを含めて本物と見分けがつかないように作られており、一見しただけでは偽物だと見破ることが非常に困難です。

フィッシングへの対策の基本は、送られてきたメッセージを疑うことです。まずは、メールやSMS内のリンクは絶対に安易にクリックしないことです。心当たりがある内容でも、必ずブックマークや公式アプリなど、普段使っている方法で公式サイトにアクセスし、本当にそのような通知が来ているかを確認する癖をつけましょう。そして、万が一IDとパスワードが盗まれてしまっても、不正ログインを防ぐための最後の砦が出口、先ほど説明した多要素認証です。重要なサービスでは必ず設定しておきましょう。

次は、数あるサイバー攻撃の中でもユーザー側が最も気づきにくく、防ぎにくい攻撃の1つ、ドライブバイダウンロードです。この攻撃の最も恐ろしい点は、悪意のあるウェブサイトをただ閲覧しただけで、ユーザーが何もクリックしなくても自動的にマルウェアがダウンロードされ実行されてしまうところです。説明を聞くだけでも怖いですよね。

では、攻撃者はどうやって私たちにそんな危険なサイトを閲覧させるのでしょうか?そこでよく悪用されるのが「水飲み場攻撃」という手法です。これは、ライオンがオアシス、つまり水場で獲物を待ち伏せする様子に例えられてこの名前がついています。まず、攻撃者は特定の企業や組織の社員がよく閲覧するウェブサイト、例えば業界ニュースサイトや関連企業のブログなどを事前に調査し、そのサイトをハッキングしてドライブバイダウンロードの罠を仕掛けます。そして、ターゲットとなる社員がいつも通りそのサイトを訪れた瞬間に、ドライブバイダウンロードによってマルウェアに感染させてしまいます。

この攻撃は、特定の企業を狙った標的型攻撃の入り口として使われることが多いです。また、最近ではこの後説明する攻撃のための準備段階として、ドライブバイダウンロードが利用されるケースも増えています。つまり、たくさんのPCをマルウェアに感染させて、ボットネットと呼ばれる遠隔操作できるゾンビPC軍団を作り上げるために、この手口が使われるのです。

ドライブバイダウンロードは、OSやブラウザ、プラグインの脆弱性を悪用します。そのため、私たちユーザーにできる最も重要で効果的な対策は、OSやブラウザ、ウイルス対策ソフトを常に最新の状態にアップデートし、脆弱性を放置しないことです。

次はSEOポイズニングについて説明します。これを理解するために、まずSEOという言葉から説明します。皆さんも何かを調べる時、検索結果の1ページ目や、より上の方に表示されたサイトを信頼できる情報だと思ってクリックしますよね。わざわざ10ページ目まで見に行く人は少ないと思います。そのため、企業などのサイト運営者は、自分のサイトが検索の上位に表示されるように日々努力しています。SEOとはSearch Engine Optimization(検索エンジン最適化)の略で、特定のウェブサイトをGoogleなどの検索結果の上位に表示させるための技術のことです。

SEOポイズニングはこのSEO技術を悪用し、ウイルスを仕込んだり、偽情報を掲載したりする悪意のあるサイトを検索結果の上位に表示させる手口です。ポイズニングとは「汚染する」「毒を入れる」という意味ですね。攻撃者は、皆さんが検索エンジンの上位サイトを信頼してクリックする、その心理を巧みに利用します。話題のニュースや人気のキーワードで検索したユーザーを、巧妙に偽サイトやマルウェア配布サイトへ誘導し、ウイルスに感染させたり、個人情報を盗んだりします。

SEOポイズニングの対策として、もちろんGoogleなどの検索エンジン側も、このような悪質なサイトを検索結果から排除するために、日々アルゴリズムを改善し、24時間体制でパトロールを行っています。しかし、攻撃者とのいたちごっこになっているのが現状です。そのため、最終的には私たちユーザー自身の注意深さが重要になります。検索結果からサイトにアクセスする際は、特に緊急性の高い情報を探している時ほど、一呼吸置いて、表示されたURLやサイト名が本当に信頼できるものか、少し意識して確認することが大切です。

次に解説するのはセッションハイジャックです。これはWebサービスにログインしているユーザーに完全になりすます、非常に危険な攻撃です。セッションハイジャックを理解するために、CSRFの時にも少し触れたセッション管理の仕組みをもう一度簡単に説明しましょう。皆さんがウェブサイトにログインすると、サーバーはログイン成功の証としてセッションIDという一時的な許可証のようなものを発行します。ブラウザはそのサイトにアクセスするたびにこのセッションIDを自動的に提示することで、私たちは何度もパスワードを入力することなくサービスを使い続けることができたんでしたね。セッションハイジャックはこの非常に便利な許可証であるセッションIDそのものを、攻撃者が横から盗み出す行為です。

攻撃者はスニッフィングや、先ほど説明したクロスサイトスクリプティングといった他の攻撃手法を使い、ネットワーク上を流れているあなたのセッションIDを盗み取ります。そして、その盗んだセッションIDを使ってWebサーバーにアクセスします。サーバー側は正しいセッションIDを提示されたため、「本物のユーザーだな」と勘違いし、攻撃者をあなたとして扱ってしまいます。これにより、攻撃者はあなたに完全に成りすまし、アカウント内の個人情報を閲覧したり、不正な投稿をしたり、勝手に商品を購入したりすることが可能になってしまいます。

セッションハイジャックへの対策として、まずサービス提供者側の対策としては、HTTPSによる通信の暗号化は必須です。これにより、通信途中でセッションIDが盗み見られるのを防ぎます。また、ユーザーのブラウザに保存される情報、つまりクッキーを、暗号化通信の時だけ送信するように指示する「セキュア属性」を付与するなど、が対策として有効です。一方、私たちユーザー側の対策は、カフェやホテルなどの公共のフリーWi-Fiは通信が暗号化されていない場合があり、セッションIDを盗まれるリスクが高まります。信頼できないネットワークの利用は避けることが重要です。また、サービスを使い終わったらこまめにログアウトする癖をつけましょう。これにより、セッションIDが無効になり、リスクを減らすことができます。

ここからは、企業のサービスそのものを停止させる攻撃について説明します。まず説明するのは、サーバーに大きな負荷をかけてサービスを停止に追い込むDoS攻撃です。DoSとはDenial of Service Attack(サービス妨害攻撃)という意味です。この攻撃は、特定のサーバーに対して1台のコンピューターから大量の処理要求やデータを送り付け、サーバーを負荷状態にしてサービスを停止させる攻撃です。例えるなら、人気のお店の電話に1人がひっきりなしにいたずら電話をかけ続けて、他の本当のお客さんが電話をかけられない状態にするようなものです。

そして、このDoS攻撃をさらに強力に悪質にしたのがDDoS攻撃です。Distributed Denial of Service(分散型サービス妨害攻撃)と呼ばれ、これはマルウェアなどに感染させて乗っ取った多数のコンピューター(これをボットネットと言います)これらを利用して、たくさんの場所から一斉に特定のサーバーに対して攻撃を仕掛ける方法です。先ほどの例えで言うなら、いたずら電話を何千、何万人もの人たちが一斉にかけるようなものです。これでは電話回線は完全にパンクしてしまいますよね。このように、攻撃が1台なのがDoS。多数のコンピューターから分散して一斉に行うのがDDoSです。攻撃が分散しているため、DDoS攻撃は防御が非常に困難です。

では、DoS、DDoS攻撃のような大量のアクセスによる攻撃にどう対応するんでしょうか?これは主にサービス提供者側での対応が中心となります。まずはファイアウォールや不正侵入防止システムであるIPSで、異常な量のトラフィックを検知し遮断します。例えば、「普段はこのサイト1分間に100人くらいしか来ないのに、急に10万リクエストが飛んできたぞ。これはDDoS攻撃に違いない」といった動きを検知し、その通信をブロックします。また、より高度な攻撃に対応するために、専門のDDoS攻撃対策サービスを導入することもあります。

最後にその他の攻撃について説明します。次は攻撃の中でも特に防御が難しいゼロデイ攻撃について説明します。ゼロデイ攻撃は、OSやソフトウェアに未知の脆弱性が発見されてから、その開発元が対策となる修正プログラムを提供するまでの、わずかな時間差を狙って行われる攻撃です。開発元が脆弱性に気づき、急いで修正プログラムを作り始めたとしても、それが完成し、私たちユーザーに提供されるまでにはどうしても時間がかかります。その期間は攻撃に対して無防備です。攻撃者はまさにその対策が存在しない無防備な期間を狙って攻撃を仕掛けてきます。修正プログラムが提供された日を「1日目」とすると、それより前、つまり対策が存在しない「0日目」の段階で行われる攻撃なので、ゼロデイ攻撃と呼ばれています。

では、まだ修正プログラムが存在しないこの攻撃に、私たちはどう立ち向かえばいいんでしょうか?完全な防御は困難ですが、被害を軽減するために有効な対策がいくつかあります。1つ目が、IPSやWAFで不審な通信を検知・ブロックすることです。ゼロデイの脆弱性をつく攻撃であっても、その通信のパターンが明らかに異常な場合があり、不正侵入防止システムであるIPSやWAFはそのような不審な通信の振る舞いを検知してブロックすることで、攻撃を防げる可能性があります。2つ目は、ウイルス対策ソフトの振る舞い検知です。パターンマッチングでは検知できなくても、マルウェアの怪しい動きを検知する振る舞い検知が、ゼロデイ攻撃によって送り込まれた未知のマルウェアの活動を食い止めてくれる場合があります。このように、特定の弱点をピンポイントで防ぐパッチだけに頼るのではなく、多層的な防御の仕組みを整えておくことが、ゼロデイ攻撃への備えとなります。

お疲れ様でした。今回は様々な種類のサイバー攻撃について、その目的、手口、そして対策を解説しました。今回解説した内容は、基本情報や応用情報のセキュリティ分野で品質の知識ばかりです。それぞれの攻撃が何をするものか、そして基本的な対策は何かをセットで覚えておくだけで、試験の得点力アップに直結しますので、是非この動画を何度も見返して学習に活用してください。敵の手口を知ることは、自分の組織の情報を守るための第一歩です。まずはどんな危険があるのかを知り、基本的な対策を実践することが大切です。

サイバー攻撃には、パスワードを狙うものからウェブサイトを狙うものまで、本当に多くの手口があることが分かりましたね。では、それらの攻撃から私たちのPCやサーバーを防御するために、ネットワークの出入り口ではどんな警備が行われているんでしょうか?次はオフィスビルの警備に例えて、ネットワークセキュリティの仕組みを解説します。

今回はネットワークセキュリティの基本について、完全イラスト解説していきます。ファイアウォールって何?プロキシとかWAFとか、似たような言葉が多くてよくわからない。そんな悩みをこの動画1本ですっきり解決していきます。皆さんは会社のオフィスや大学からインターネットをたくさん使ってますよね。その時、このネットワークって本当に安全なのかな、なんて考えたことはありますか?正直、そんなネットワークのセキュリティなんて、なんだか横文字が多くて難しそう。そういうのは専門家でしょう、と感じる方が多いんじゃないかなと思います。その気持ち、とても分かります。ネットワークセキュリティと聞くと、とっつきにくいイメージありますよね。でも、ネットワークセキュリティの基本的な考え方は、実はとても身近なものです。例えば、自分の家の大事なものを守るために、ドアに鍵をかけたり、窓を閉めたりしますよね。また、オフィスだと警備の人を配置したりすると思います。ネットワークセキュリティも、それと全く同じです。会社や大学のネットワークを悪い人たちから守るための、戸締まりやオフィスビルの警備システムととても似ています。

この動画では、ネットワークセキュリティをオフィスビルの警備に例えながら、ファイアウォールとWAF、DMZ、プロキシとリバースプロキシ、ペネトレーションテストとファジングについて、全てイラストで解説していきます。この動画を見れば、これまで難しいと思っていたファイアウォールやDMZといった単語も、「ああ、ただの入り口の警備員さんのことか」というように、すっきりと理解できるはずです。今回も少しでも分かりやすそうと感じていただけたら、是非今のうちにチャンネル登録をお願いします。それでは始めていきましょう。

今回はネットワークセキュリティの様々な基本を、1つの大きなオフィスビルの警備に例えて考えてみましょう。この例えを使うと、難しい専門用語もグッと身近に感じられるはずです。まず、私たちが守るべき社内ネットワーク。これは、社員だけが働く安全なオフィス内部だと考えてください。この中には、会社の重要な情報や社員のPCといった大切な資産があります。一方で、私たちが日々接続しているインターネットは、誰でも自由に生ききできる、街のようなものです。とても便利ですが、中にはオフィスに侵入しようとする悪い人も紛れています。このシナリオで、街にいる悪い人たちからどうやってオフィスビルとその中の大切な資産を守るのか、という警備員の視点で、様々なセキュリティ技術がどのような役割を果たしているのかを、1つ1つ見ていきたいと思います。

まずは、このビルの入り口を守る、最も基本的な警備の仕組みから解説していきます。ネットワークセキュリティを考える上で、まず最初に設置する最も基本的で重要な防御壁、それがファイアウォールです。これをオフィスビルの例えで考えてみましょう。あなたの会社が入っているこのオフィスビル。現時点では、外部の街と内部のオフィスを隔て立てる壁はありますが、誰でも自由に出入りできてしまう状態です。これでは不審な人物が勝手に入ってきて、会社の機密情報を盗んだり、設備を壊したりするかもしれません。非常に危険ですよね。そこで、まず皆さんなら何をしますか?そうです。ビルの入り口に警備員を配置して、入ってくる人と出ていく人をチェックしますよね。このネットワークの世界における最初の警備員の役割を果たすのが、ファイアウォールです。

ファイアウォールは日本語にすると「防火壁」という意味で、その名の通り、外部のネットワークからやってくる不正な通信やサイバー攻撃が社内ネットワークに侵入するのをブロックする、まさに防御の壁です。内部である社内ネットワークと外部であるインターネットの間に立ち、やってくる通信を監視して、許可されていない通信を遮断する。これがファイアウォールの基本的な役割だと、まずはしっかりイメージしてください。

では、このファイアウォールはどうやって安全な通信と怪しい通信を見分けているんでしょうか?その基本的な仕組みがパケットフィルタリングです。そもそもパケットという言葉ですが、これはネットワーク上を流れる通信を扱いやすいように小さく分割したデータの塊のことです。オフィスビルの例えで言うなら、外部からビルに届く荷物の1つだと考えてください。そして、パケットフィルタリングとは、この荷物が安全か危険かを判断して、通すか通さないかをフィルタリングする作業のことです。

オフィスビルで例えてみると、まず警備員さんは「通していい荷物の条件」が書かれた通行許可リストを持っています。このリストには主に3つの項目があります。「どこから来た荷物か」「誰宛ての荷物か」「どの入り口から入ろうとしているのか」といった、通していい荷物の条件が書かれています。警備員さんは、やってきた荷物の宛先書きだけを見て、このリストと照合します。そして、「よし、許可されてる人からの荷物だな。通してよし」とか、「ん、この宛先はリストにないぞ。通せない」といった判断をするわけです。

実際のファイアウォールもこれと全く同じことをします。ファイアウォールが通行許可リストにあたる「フィルタリングテーブル」というものを持っています。そして、パケットのヘッダー情報、つまり宛先書きの部分を見て、フィルタリングテーブルの「どこから来たのか」を表す送信元IPアドレス、「どこへ向かうのか」を表す宛先IPアドレス、「どの種類の通信か」を表すポート番号といった情報を照合します。そして、ルールに合致したパケットだけを通し、合致しないものはブロックするというわけです。これがファイアウォールの基本的なお仕事、パケットフィルタリングです。まずはこの入り口の警備員で、明らかに怪しい通信をブロックするというわけです。

ここまでで、ビルの入り口に警備員を配置して、荷物の宛先書きをチェックできるようになりました。しかし、ここに1つ大きな落とし穴があります。警備員が見ているのは、あくまで荷物の外側に貼られた宛先書きだけです。その荷物の中身までは見ていませんでした。もし、許可された相手先から届いた、見た目は普通の荷物でも、中身に爆弾や盗聴器のようなものが仕込まれていたらどうしますか?大変なことになりますよね。その通信の中身までを専門的にチェックしてくれる、超優秀な専門家、それがWAF(Web Application Firewall)です。

WAFはその名の通り、特にWebアプリケーション、皆さんが普段使っているウェブサイトやウェブサービス、これらを狙った攻撃から守ることに特化しています。ファイアウォールが通してしまった通信の、その中身を1つ1つ丁寧に検査します。オフィスビルの例えで言うなら、社長室などの入り口に立つ、用心棒のプロ、つまりSPのようなものです。部屋に入る人の持ち物や書類の中身までを隅々までチェックして、危険がないかを最終確認してくれるわけです。

では、WAFは具体的にどのような危険な荷物の中身を見つけてくれるんでしょうか?代表的なWebアプリケーションへの攻撃には次のようなものがあります。SQLインジェクション、OSコマンドインジェクション、クロスサイトスクリプティング、クッキーの改ざんなどです。WAFはこれらの巧妙な攻撃パターンを熟知しており、通信内容にこれらのパターンが含まれていないかを常に監視してくれるわけです。通常、守るべき対象であるWebサーバーの直前に配置します。

まとめると、外部からの通信はまずファイアウォールが宛先をチェックし、次にWAFが中身を厳しく検査し、安全だと判断された通信だけがようやくWebサーバーに届く。この2段構えの警備体制で、ネットワークをより安全に守ります。

さて、ここまではネットワークの入り口を守る機器や仕組み、いわば守りの壁を見てきましたが、次はネットワークの区画整理、つまり安全なエリアの作り方について見ていきましょう。それがDMZです。例えば、あなたの会社が多くの人が訪れる人気のウェブサイトを運営しているとします。このウェブサイトを動かすWebサーバーは、外部の人がアクセスしてくるので、インターネットに外部公開する必要がありますね。一方で、顧客情報や売上データなど、会社の重要な情報が入っているデータベースサーバーや、社内業務で使うアプリケーションサーバーはどうでしょう?これらは絶対に外部からアクセスされたくないので、外部公開しないですよね。社内の人間だけが触れるようにしたいです。もしWebサーバーと重要なデータベースサーバーが同じエリアにあったら、Webサーバーが攻撃された勢いでデータベースサーバーまで侵入されてしまう可能性があります。この外部に公開する必要があるものと、絶対に内部に隠しておきたいものを安全に分離するために作るのがDMZです。

DMZとはDemilitarized Zone(非武装地帯)の略で、日本語では「非武装地帯」と呼ばれます。これは、インターネットと絶対に守りたい社内ネットワークの間に、ファイアウォールを置いて作られた中間的なエリアのことです。オフィスビルで例えるなら、誰でも入れるロビーやスペースのような場所のイメージです。このDMZにWebサーバーやメールサーバーといった、外部との窓口になるサーバーを置きます。これを聞くと、DMZという特別な機器があるのと思うかもしれませんが、そうではありません。DMZは、ファイアウォールを使ってネットワークを区切ることによって作られる、論理的なエリアです。例えば、1台のファイアウォールに3つの接続口を用意します。1つはインターネット(外部)につなぐ口。1つはDMZにつなぐ口。最後3つ目は社内ネットワークにつなぐ口、というようにです。そして、このファイアウォールに「どこからどこへの通信を許可し、どこを禁止するのか」というルールを設定することで、DMZという区画が作られるわけです。まさに、警備員が立つことによって、ただの空間がロビーやホールという役割を持つエリアに区切られるのと同じですね。

このDMZの最大のポイントは、通信できる経路を厳しく制限できることです。具体例で見ていきましょう。社内ネットワークには顧客情報などがあるDBサーバーを、DMZには外部に公開するWebサーバーを置いているとします。この構成で、ファイアウォールは以下のように通信を制御します。まず、外部のインターネットから内部の社内ネットワークへの直接の通信はもちろんブロックしますね。DBサーバーに直接アクセスできてしまうと、顧客情報などが盗まれてしまうからです。次に、インターネットからDMZへの通信は許可します。ウェブサイトを見てもらうためには、Webサーバーにアクセスしてもらう必要があります。そのため、ここの通信は許可する必要があります。そして、最後に最も重要なのが、DMZから社内ネットワークへの通信です。ここは厳しくブロックします。ただし、WebサーバーがDBサーバーの情報を参照する必要がある場合など、WebサーバーからDBサーバーへの特定の通信だけを例外的に許可するといった、細かな制御をします。

この厳格な区画整理によって、何が嬉しいのでしょうか?こうすることで、万が一DMZにあるWebサーバーがサイバー攻撃を受けて乗っ取られてしまっても、その攻撃者が内部ネットワークへ侵入することを、もう1枚の壁、ファイアウォールのルールで防ぐことができるんです。ロビーで不審者が暴れても、社長室には入れないように、厳重なセキュリティゲートがあるというイメージですね。このように、DMZは公開サーバーを安全に設置しつつ、内部ネットワークのセキュリティを確保するための、非常に重要な設計パターンです。

では、ここまで学んだ知識を組み合わせて、応用情報の午後問題などでよく問われる、非常に安全なネットワーク構成を見ておきましょう。外部からのリクエストは以下の順番で処理されます。まず、インターネットからの通信は、一番外側のファイアウォールに届きます。ここで宛先情報、つまりIPアドレスやポート番号を元にした基本的なチェックが行われます。そして、許可された通信はDMZに入ります。このDMZの中にWebサーバーとその手前にWAFが設置されています。通信は次にWAFに届きます。WAFは復習にもなりますが、通信の中身を厳しく検査し、SQLインジェクションのようなWebアプリケーションへの攻撃が含まれていないかをチェックします。WAFの検査をクリアした安全な通信だけが、ようやくWebサーバーに到達します。もしWebサーバーが顧客情報などのデータを必要とする場合は、Webサーバーから社内ネットワークにあるDBサーバーへ、特別に許可された経路を通って問い合わせを行います。

この構成のポイントは主に2つあります。1つ目は、段階的な防御。ファイアウォールで大まかに、WAFで詳細にと、2段構えでチェックしています。2つ目は、役割の分離。公開するWebサーバーはDMZに、最重要データを持つDBサーバーは内部ネットワークにと、役割に応じて置き場所を分離し、リスクを限定しています。これにより、非常に安全性の高いセキュリティを実現しています。

次にプロキシサーバーとリバースプロキシサーバーについて説明します。まずはプロキシサーバーです。これもオフィスビルに例えてみましょう。あなたは社内ネットワークの中にいる社員です。仕事で調べ物するために、外部のウェブサイトを見ようとしています。もちろん、そのためにはインターネットに接続する必要があります。ただ、会社の管理がないまま社員1人1人が自由に直接インターネットに接続してしまうと、危険なサイトにアクセスしてウイルスを社内に持ち込んでしまう、会社の内部情報が意図せず外部に漏れてしまう、誰がどんなサイトを見ているのか会社として把握できなくなる、といったような危険性があります。そこで登場するのがプロキシサーバーです。

プロキシサーバーは、内部ネットワークと外部ネットワークの間に設置され、内部のクライアントPCに変わって外部のサーバーへ接続要求を中継するサーバーのことです。プロキシとは「代理」という意味で、オフィス内部の社員が外部とやり取りする際の代理人や秘書のような存在だとイメージしてください。通常、社員のPCは直接インターネットに接続できますが、プロキシサーバーを置くと、社員はまずこのプロキシに「このサイトが見たいです」とお願いをします。すると、プロキシサーバーがあなたに変わって外部のサイトにアクセスし、その結果をあなたに渡してくれます。

プロキシサーバーの流れは分かったけど、「え、そんな1手間かけるのは何のため?」と思いますよね。このプロキシサーバーを1度挟むことには、主に2つの大きなメリットがあります。まず1つ目は安全性 の向上です。プロキシがまず行き先を確認し、「このサイトは危険ですよ」とアクセスをブロックしてくれます。そのため、社員が直接外部とやり取りをしないので、自分の身元(つまりIPアドレス)を相手に知られることなく安全な通信ができます。2つ目が管理と統制ができることです。誰がいつどのサイトにアクセスしたかをプロキシが全て記録してくれます。これにより、会社は業務に関係ないサイトへのアクセスを禁止するといったルールを適用したり、問題が発生した際に原因を調査したりできるわけです。このように、社内ネットワークから外部インターネットへの通信を代理で中継するのが、プロキシサーバーの役割です。この形式のプロキシを特にフォワードプロキシと呼ぶこともあります。

次はリバースプロキシサーバーについて説明します。先ほど解説したプロキシサーバーと名前がとても似ていて混乱しやすいポイントなので、違いをしっかりイメージしましょう。先ほどのプロキシが社内の人が外に通信する時の、内部の人の代理人だったのに対し、リバースプロキシはその名の通り役割がリバース、つまり逆になります。リバースプロキシは、Webサーバーなどの手前に設置され、外部のクライアントからのリクエストを代理で受け取るサーバーです。外部の人が社内のサーバーにアクセスしてくる時の、いわばお客さんを適切な担当者へ案内する、総合受付というような役割を果たします。

これを聞いたとしても、「リバースプロキシって本当に必要なの?Webサーバーがあれば良くない?」と思った方もいるかもしれません。では、リバースプロキシがないとどうなるのかを具体例で見ていきましょう。例えば、あなたの会社が多くの人が訪れる人気のウェブサイトを運営していたとします。すると突然、日々たくさんの外部の人がそのウェブサイトのサーバーにアクセスしてきますよね。ただ、たくさんのアクセスが1度に集中すると、サーバーはパンクしてしまい、サイトが表示されなくなってしまうかもしれません。いわゆるサーバーダウンですね。そこで、この総合受付であるリバースプロキシの出番です。リバースプロキシは、やってきたアクセスを一旦全て受け止めて、「あなたの窓口はこちらです」「あなたはこちらです」というように、複数のサーバーに仕事をうまく分散してくれます。これを負荷分散と言います。このように、リバースプロキシはサーバーへの負荷を分散し、サーバーダウンを防止してくれます。また、セキュリティの向上にも重要な役割を果たします。外部のユーザーはリバースプロキシとしかやり取りをしないので、その奥にいるサーバーのIPアドレスなどを直接知られることはありません。これにより、ウェブサーバーを外部からの直接的な攻撃から守ってくれます。

さて、ここまでプロキシサーバーとリバースプロキシサーバーについて、それぞれ解説してきまし た。名前が似ているので、ここで一度両者の違いをしっかりと整理しておきましょう。この表に2つのプロキシサーバーの違いをまとめてみました。後で動画を止めてじっくりと見直す際などに活用してください。1番の重要なポイントは通信の方向です。プロキシサーバーは、オフィス内部の人が外部のインターネットを見に行く、内側から外側の通信を代理する役割です。一方で、リバースプロキシサーバーは、外部のお客さんが社内のウェブサイトにアクセスしてくる、外側から内側の通信を受け付ける役割でした。このように、誰を代理保護して、どちらの向きの通信を扱うのかが全くの逆になっているということを抑えておきましょう。

さて、ここまでで鉄壁の守りを築き上げてきました。でも、このセキュリティ体制で本当に大丈夫か?セキュリティの安全性ってどう評価するの?と不安になることもありますよね。そこで、実際にセキュリティ安全性評価手法がいくつかあります。最後にそこの部分を見ていきましょう。代表的なものを2つ紹介します。それがペネトレーションテストとファジングです。

まず、ペネトレーションテストについて説明します。ペネトレーションテストとは、セキュリティの専門家があえてハッカーになりきって、システムに侵入を試みるテストです。ペネトレーションとは日本語で「侵入」という意味です。オフィスビルで言えば、警備会社に頼んで、実際に泥棒役としてビルに侵入できるか試してもらうようなものです。プロの視点で弱点を見つけてもらう、非常に実践的なテストですね。

次に、ファジングについて説明します。ファジングとは、予期せぬデータ(これをファズと言います)を大量にシステムに送り付けて、誤作動や不具合が起きないかを確認するテストです。例えるなら、ドアの鍵穴にあらゆる形のものを手当たり次第突っ込んでみて、壊れないか試すような、ちょっと乱暴なテストです。開発者が想定しなかったような、隠れた弱点を見つけるのに役立ちます。

今回はネットワークセキュリティをオフィスビルの警備に例えて解説しました。今回の内容は、特に応用情報の午前だけでなく、セキュリティ分野の午後問題に出されることが多い内容ですので、何度も見返してその仕組みを理解しましょう。ファイアウォールやWAF、DMZといったネットワークの防御システムが、どのように私たちの情報を守っているかが理解できました。では、そのネットワーク上を流れる大切な情報そのものが盗まれたり、改ざんされたり、成りすまされないように守るにはどうすればいいでしょうか?次は暗号技術とデジタル署名という守りの技術に迫っていきます。

私たちは日々、ネットショッピングでクレジットカード番号を入力したり、友人とメッセージをやり取りしたり、インターネット上でたくさんの情報を操縦しています。でも、その通信が誰かに盗まれたり、内容を書き換えられたり、あるいは知らない誰かに成りすまされたりしたらと考えると、少し怖いですよね。今回 は、そんなインターネットに潜む危険から私たちの情報を守る、非常に重要な仕組みをじっくり学んでいきましょう。今回の動画は少し専門用語が多く、流れが複雑です。より具体的でイメージしやすくするために、1つのシナリオを使っていきましょう。登場人物は、とても恥ずかしがり屋のA君と、A君が思いを寄せるBさんです。A君はネットワーク通信を使って、「好きです」というラブレターをBさんに安全に送りたいと考えています。このA君の恋を様々な危険から守るために、これから学ぶ暗号技術やデジタル署名がどう役立つのか、一緒に見ていきましょう。

まず、ネットワーク通信をする上で常に意識しなければならない3つの危険があります。A君がBさんにラブレターを送る際は、これらの危険があります。1つ目は盗聴です。盗聴とは、通信の途中で第三者がデータを不正に盗み見て、内容を読み取ってしまう危険です。具体例で言うと、A君のラブレターを途中でライバルのC君にこっそり盗み見られてしまう状況ですね。2つ目は改ざんです。改ざんとは、通信されているデータを第三者が途中で捉え、その内容を不正に書き換えてしまう危険性です。送り手が意図したものとは違う情報が受け手に届いてしまいます。具体例で言うと、C君がA君のラブレターの内容を「嫌いです」に書き換えてBさんに届けてしまうような状況です。これは大問題ですよね。3つ目は成りすましです。成りすましとは、悪意のある第三者が信頼できる他人のふりをして通信を行う危険性です。受け手側は正しい相手とやり取りしていると信じ込んでしまいます。具体例で言うと、C君がA君のふりをして、「実は別に好きな人がいるんだ」といった嘘のラブレターを送ってしまうような状況です。BさんはそれをA君からのメッセージだと信じ込んでしまいます。

A君の純粋な思いを、正しい形で誰にも知られずにBさんへ届けるには、この盗聴、改ざん、成りすましという3つの脅威全てを防ぐための技術が必要です。まずは、前のパートで見た3つの危険性のうち、最も基本的な脅威である盗聴を防ぐための技術、暗号化について見ていきましょう。A君がBさんに安全にラブレターを送るという流れで、暗号化の基本的な用語と仕組みを説明します。まず、A君がBさんに送りたい「好きです」というメッセージ。このように、誰にでも分かってしまう元のデータのことを、専門用語で平文と呼びます。A君のこの大切なメッセージは、他の人には絶対見られたくないですよね。ただ、このまま送ってしまうと、途中で盗み見、つまり盗聴されてしまうかもしれません。そこで、A君はこの平文を暗号化します。暗号化された後の一見すると意味不明なデータのことを、暗号文と呼びます。そして、この平文から暗号文への変換、そしてその逆の変換を行うために必要不可欠なのが「鍵」というものです。鍵とは、データを変換するための秘密のルールや情報のことです。例えば、今回はシンプルな暗号化の鍵として、元の文字を日本語の50音で2つ後の文字にずらすというものを考えてみましょう。

この2つずらすというルール自体が鍵です。この鍵を使って「好きです」という平文を暗号化すると「セクト」になり、意味の分からない暗号文が出来上がります。A君はこの暗号文をBさんに送信します。

この暗号文を受け取ったBさんは、A君とあらかじめ共有しておいた「2つずらす」という同じ鍵を使って逆の操作、つまり2つ前の文字に戻すという複合化を行います。そうすることで元の「好きです」という平文を正しく読むことができるわけです。もしこの「2つずらす」という鍵を知らないC君が「セクト性」という暗号文を見ても、意味を理解することはできませんよね。

実際のコンピューターの世界では、もっと複雑で巨大な数字の組み合わせなどが鍵として使われます。正しい鍵がなければ、暗号文を元の平文に戻すことは事実上不可能です。

まとめると、平文を暗号化して暗号文にし、それを受け取った側が複合して平文に戻す。この一連の流れを行うことで、例え通信の途中で第三者にデータを盗みられても、内容を漏らされることがなくなり、盗聴を防ぐことができます。

そして、この鍵をどのように扱うかによって、暗号方式には大きく2つの種類があります。次のパートでは、その違いについて見ていきましょう。

まず1つ目が共通暗号方式です。これは暗号化と複合化に全く同じ鍵を使う方式です。A君とBさんが事前にこっそり交換した、世界に1つだけの同じ「相合鍵」を使うイメージですね。先ほど説明したこちらの流れは、暗号化と複合化に使用している鍵が同じなので、まさに共通暗号方式を使った通信の流れです。

この共通化式には良い点と注意しなければならない点があります。まずメリットは何と言っても処理速度が非常に早いことです。暗号化と複合化の計算がシンプルなので、大きなデータを扱う場合にも向いています。一方、デメリットはスライドにもあるように、鍵の管理と配送が大変なことです。「どうやって安全に相手に共通の鍵を渡すのか」という鍵配送問題が常に突きまといます。もしA君がBさんに鍵を渡す途中でライバルのC君にその鍵を盗まれてしまったら、その後のラブレターは全て解読されてしまいます。

この鍵配送問題を解決するためにもう1つの暗号方式である公開鍵暗号方式が考え出されました。

共通暗号方式の鍵配送問題を解決するのが公開鍵暗号方式です。これは暗号化に使う鍵と複合化に使う鍵が異なるペアになっている方式です。まず秘密鍵とは、作成者だけが秘密に持っておく鍵です。公開鍵暗号方式では、この鍵で複合化を行います。次に公開鍵とは、みんなに公開してもいい鍵です。公開方式では、この鍵で暗号化をします。なぜ公開しても問題ないのかは、この後説明します。

それでは公開暗号方式での通信の流れを見ていきましょう。まず暗号化と複合化で使用する鍵が必要です。公開鍵暗号方式では、まず受信者が自分の公開鍵と秘密鍵のペアを作ります。今回の場合、Bさんが作成します。Bさんは公開鍵だけをA君に渡し、A君が受け取ったBさんの公開鍵でラブレターを暗号化します。そして暗号化した後、Bさんに送信します。次にBさんが自分だけが持っている秘密鍵で、その暗号文を複合して読みます。

ここで、この公開鍵が他のC君に見られたらまずいんじゃないかと疑問に思うかもしれませんが、実は問題ありません。なぜなら、この公開鍵でできるのは暗号化だけで、複合化はできないからです。そのため、中身を見ることはできません。

公開鍵暗号方式のメリットは、鍵の配送が安全に行えることです。一方で、共通暗号方式に比べて処理速度が遅いです。ただ、この方式なら秘密を誰にも渡す必要がないので、鍵配送問題が解決できます。

ここで一旦、2つの暗号方式を整理しましょう。共通暗号方式は、暗号化と複合化に同じ鍵を使用します。メリットは処理速度が非常に早いことです。一方でデメリットとしては、鍵の配送が大変で、鍵配送問題が発生します。共通暗号方式を使用している暗号化アルゴリズムの代表例としてはAESです。「DES」というのもありますが、これは古いです。

一方、公開鍵暗号方式は、暗号化と複合化に異なる鍵のペア、公開鍵と秘密鍵を使用します。メリットとしては、鍵の配送が安全に行えることです。一方デメリットは、共通暗号方式に比べて処理が遅いです。公開暗号方式を使用している暗号化アルゴリズムの代表例としてはRSAや楕円曲線暗号があります。

さて、暗号化で盗聴は防げるようになりました。ただ、暗号化だけでは改ざんやなりすましを防ぐことはできません。それでは、次の改ざんはどうやって防ぐのでしょう か?そこで使われるのがハッシュ関数です。

ハッシュ関数とは、どんなに長いデータでも計算すると、常に同じ長さの全く異なる短い文字列を生成する関数です。この生成される文字列のことをハッシュ値と言います。また、生成することをハッシュ化と言います。例えるなら、ハッシュ値はデータの指紋のようなものです。

そして、非常に重要な特徴が2つあります。1つ目は、元のデータが1文字でも違うと、全く異なるハッシュ値が生成されるということです。例えば、「好きです」から「X3Y3」という文字列が生成されたとすると、「嫌いです」からは「ABce」という文字列が生成されたりします。少し文字が違うだけですが、全然違う文字列になります。2つ目が、ハッシュ値から元のデータを復元することはできないということです。例えば、「好きです」から「X3Y3」という文字が生成されたとして、逆に「X3Y3」から「好きです」という文字を生成することはできません。このような性質のことを不逆性と言ったりします。

では、ハッシュ関数でどのように改ざんを防ぐのか、その流れを見ていきましょう。まずA君がラブレターを送る前にハッシュ化をします。そして、ラブレターの平文とそのハッシュ値を2つともBさんに送信します。Bさんはまず、受け取ったラブレターを同じ関数でハッシュ化します。そして、送られてきた方のハッシュ値と自分でハッシュしたハッシュ値を比べれば、改ざんがされていないかを検知できます。もし一致している場合は、改ざんされていないことが分かります。

このように、ハッシュ関数は改ざん検知に優れることと、不可逆性によりパスワードの安全な保管に利用できるという2つの大きなメリットがあります。代表的なハッシュ関数には、古いものでMD5やSHA-1などがあります。ただ、これらは現在脆弱性が見つかっています。現在はSHA-2ファミリーであるSHA-256などが主流です。このハッシュ関数の不逆性という強力なメリットは、実務で非常に重要な役割を果たします。例えば、皆さんがサイトに登録するパスワードを新規登録した時に、データベースにはパスワードそのものではなく、パスワードをハッシュ化したハッシュ値が保存されています。そしてログイン時に、入力したパスワードをハッシュし、保存されているハッシュ値と一致するかを比べることで、パスワードそのものを保存せずに認証ができるわけです。

ここまでで、盗聴は暗号化で、改ざんはハッシュ関数で防止や検知ができるようになりました。さらに、最後の脅威であるなりすましも防ぎたいですよね。それを実現するのがデジタル署名です。

デジタル署名は、ハッシュ化と公開鍵暗号方式を逆向きに使って、「このラブレターは間違いなく私が作成し、改ざんされていません」ということを証明する技術です。それでは、デジタル署名の流れを見ていきましょう。

まず、最初から公開鍵暗号方式と流れが違う部分があります。公開鍵暗号方式では、秘密鍵と公開鍵を受信者であるBさんが作成していましたね。しかし、デジタル署名では公開鍵暗号方式と逆向きなので、送信者のA君が作成します。その後、A君は送りたいラブレターのハッシュ値を計算します。次に、そのハッシュ値をA君自身の秘密鍵で暗号化します。これがデジタル署名です。その後、元のラブレターにこのデジタル署名をくっつけて、Bさんに送信します。

無事に元のラブレターとデジタル署名がBさんの元に送られてきました。この受け取った2つを使用して、Bさんはどのようにラブレターが改ざんされていないのか、となりすましされていないのかを確認するかを説明します。まず、このラブレターが改ざんされていないかを確認します。受け取ったラブレター本体を、A君が使用したのと同じハッシュ関数で改めてハッシュ値を計算します。次に、受け取ったデジタル署名をA君の公開鍵で複合します。すると、元のハッシュ値が得られます。その後、この2つのハッシュ値を比較します。もし2つのハッシュ値がぴったり一致すれば、改ざんされていないことが分かりますね。途中でメッセージが変わっていたら、ハッシュ値が一致しないわけですから。

そして、A君の秘密鍵でしか作れない署名を、A君の公開鍵で復元できたということは、間違いなくA君本人から送られたものであることが証明できますよね。これでなりすましがされていないということも分かりました。

ただ、ここで1つ問題があります。Bさんは受け取ったA君の公開鍵が、本当にA君本人のものか。それをどうやって確認するのでしょうか?C君が「僕がA君だよ」と偽って偽の公開鍵を渡してくるかもしれません。そこで登場するのが、信頼できる第三者機関である認証局(CA)です。A君は自分の公開鍵と一緒に身分証明書を認証局に送ります。すると、認証局は公開鍵の持ち主が本当に本人であることを審査・保証し、デジタル証明書を発行します。デジタル証明書は、この公開鍵は間違いなくA君のものですよ、ということを認証局が保証してくれた、いわばインターネット上の身分証明書です。この認証局や証明書発行の仕組み全体を公開基盤(PKI)と呼びます。

さて、ここまでで盗聴は暗号化で、改ざん・なりすましはデジタル署名で防止や検知ができるようになりました。

君の恋を成功させるために、これまでの技術の全てを組み合わせ、最強のセキュリティでラブレターを送る方法をステップバイステップで見ていきましょう。これが盗聴、改ざん、なりすましの3つの危険性を全て防ぐ安全な通信の流れです。この方法は、暗号化技術の公開鍵暗号方式とデジタル署名の合わせ技です。少し流れが複雑ですが、これまでの復習にもなるので、最後までついてきてください。

まずA君は秘密鍵と公開鍵を作成します。そして、デジタル署名をつけるために、A君はラブレターのハッシュ値を計算します。次に、そのハッシュ値をA君自身の秘密鍵で暗号化します。これがデジタル署名でしたね。これで、ラブレターが改ざんされていないことと、A君本人であること、つまりなりすまし防止の準備ができました。

ここからがデジタル署名と流れが少し変わってきます。デジタル署名では、この後平文とデジタル署名をまとめて、そのままBさんに送信してましたよね。ただ、それだと平文であるラブレターをそのまま送っているので、盗聴を防ぐことができません。そこで今回、A君は盗聴を防ぐためにメッセージ全体を暗号化します。

そのため、まず受信者であるBさんに秘密鍵と公開鍵を作成してもらいます。これは公開鍵暗号方式の流れと同じですね。そしてA君は、元のラブレターと先ほど作成したデジタル署名を1つにまとめます。そして、そのラブレターとデジタル署名の全体をBさんの公開鍵で暗号化します。これで、Bさんの秘密鍵を持っているBさん本人しか開けられない安全な暗号文が完成しました。A君はこれをBさんに送信します。そうすると、C君が通信の途中で盗聴をしようとしても、暗号化されているので見ることはできませんよね。

メッセージを受け取ったBさんは、まず暗号化されたラブレターを開封します。送られてきた暗号文をBさん自身の秘密鍵で複合します。Bさんが作成した公開鍵で暗号化されているので、これは複合できますね。これで、中から元のラブレターとA君のデジタル署名が出てきます。

次に、Bさんはこのラブレターが本当にA君からのもので、途中で改ざんされていないかを確認します。ここからはデジタル署名の時と同じ流れです。まずは改ざんから確認します。Bさんはラブレター本体のハッシュ値を、A君が使ったのと同じハッシュ関数で自分も計算します。次に、取り出したデジタル署名をA君の公開鍵で複合します。そして、この2つが完全に一致するかを比較します。ここで一致すれば、改ざんの脅威もクリアです。もし途中でラブレターの内容が1文字でも書き換えられていたら、ハッシュ値が全く異なるものになるため、すぐに改ざんが検知されます。

なりすましについても確認します。A君の公開鍵で正しく複合できたということは、この署名がA君の秘密鍵でしか作れない本物の署名だと証明されたので、なりすましもされていないということが分かりますね。

この一連の流れによって、Bさんの秘密鍵で盗聴を防ぎ、ハッシュ値で改ざんを防ぎ、A君の秘密鍵でなりすましを防ぐという、3つの脅威全てに対応した非常に安全な通信が実現できました。A君の思いは誰にも邪魔されず、正しい形でBさんに届けることができましたね。これが、私たちが普段安全にインターネットを使うために、裏側で行われている暗号通信の基本的な仕組みです。

今回は情報を守るための暗号技術とデジタル署名について解説しました。少し難しい内容だったかもしれませんが、基本情報や応用情報での出題頻度が高い部分ですので、何度も見返してその仕組みを理解しましょう。共通鍵から公開鍵方式、そしてデジタル署名によって、情報が盗聴、改ざん、なりすましから守れる仕組みが理解できましたね。

では、私たちが日々最も頻繁に利用する情報伝達手段の1つである電子メールには、どんなセキュリティ上の弱点があり、どう対策されているんでしょうか。次は電子メールのセキュリティの仕組みを詳しく見ていきましょう。

有名企業を名乗る怪しいメールが届いた。自分のメールアドレスから勝手に迷惑メールが送られている。そんな経験や話を聞いたことありませんか?これって本当に怖いですよね。私たちが毎日当たり前のように使っている電子メールやメッセージアプリは非常に便利なツールですが、その裏側には実はなりすましがされやすいという古からの弱点が潜んでいます。

この動画を見れば、なぜメールが送られてしまうのかという素朴な疑問から、それを防ぐためのSPFやDKIMといったメールサーバーの裏側で動いている重要な技術、さらにメールそのものを暗号化するS/MIME、最後に第三者中継やサブミッションポートといったその他のメールのセキュリティに関する重要なキーワードがすっきり理解できます。

電子メールのセキュリティを理解するために、まず皆さんがメールを送信ボタンで送ってから相手が受信するまでの裏側の基本的な流れを見ていきましょう。この流れではSMTPとPOPという2つのプロトコル、つまり通信の約束ごとが重要な役割を果たします。

まずはSMTPから説明します。あなたがメールを作成し、送信ボタンをクリックしたとします。そのメールはまずSMTPサーバーに送られます。SMTPサーバーは例えるなら郵便ポストや郵便局の発送窓口のようなものです。あなたのメールソフトはこのSMTPサーバーに、「このメールをこの宛て先に送ってください」とお願いします。SMTPサーバーはそのメールを受け取り、インターネットを通して相手のメールサーバーまで届ける役割を担います。つまり、SMTPはメールを送信するためのプロトコルです。

次にPOPの説明をします。SMTPサーバーによって送信されたメールは、相手のPOPサーバーに到着します。POPサーバーは例えるなら相手の家の玄関にある郵便受けや宅配ボックスのようなものです。届いたメールは受信者がメールソフトで確認しにくるまで、そのPOPサーバーに保管されてます。受信者がメールソフトで「新着メールを受信」などをクリックすると、メールソフトがPOPサーバーにアクセスし、「私宛ての新しいメールは届いてますか?」と確認します。そして、届いているメールを自分のパソコンにダウンロードしてきて初めて、メールを読むことができます。つまり、メールサーバーに届いたメールを自分の手元のPCやスマホに受信するためのプロトコルです。

このように、メールはSMTPという仕組みで送信され、POPという仕組みで受信するという基本的な流れをまずはイメージしておきましょう。ざっくりと、SMTPサーバーが手紙を出すための郵便ポスト、POPサーバーが手紙を受け取るための郵便受けだとイメージしてください。

さて、この古くからあるメールの仕組みには1つ大きな問題がありました。それは、メールの差し出し、つまり「From」の部分のアドレスを誰でも自由に書けてしまうということです。例えるなら、悪意のある人が有名企業用の社長の名前を書いても、そのまま送れてしまうようなものです。これにより、なりすましメールが簡単に送れてしまうという大きなセキュリティホールが存在してました。

この問題を解決するために、様々なセキュリティ技術が開発されました。ここから、その技術を1つずつ解説していきます。

まず1つ目のなりすまし対策がSPF(Sender Policy Framework)です。SPFとは、「このメール本当にその差し出し人から送られてきているか?」というのを確認するための仕組みです。悪意のある人があなたの会社のメールアドレスを使って偽のメールを取引先に送ってしまうかもしれません。受け取った側はそれが偽物だと気づきません。SPFはこの問題を、送信メールサーバーのIPアドレスをチェックすることで解決します。

まず、送信者であるあなたが会社に所属しているとします。そして、あなたの会社がメールを送信するために使っている正規のメールサーバーのIPアドレスが1.2.3.4だとしましょう。まず、あなたの会社は自社のDNSサーバーに、「うちの会社のメールは、このIPアドレスを持つメールサーバーからしか送りませんよ」という情報をあらかじめ宣言し、SPFレコードとして登録しておきます。今回の場合、自社のメールサーバーのIPアドレスは1.2.3.4なので、それをSPFレコードとしてDNSサーバーに登録します。

そして、あなたがメールを送信すると、そのメールは正規のメールサーバーから相手に送られます。メールを受け取った相手のメールサーバーはまず、このメールがどのIPアドレスから送られてきたかを確認します。そして、メールの差し出し人アドレスのDNSサーバーに、「今このIPアドレスからメールが届いたが、これって正規のサーバーですか?」と問い合わせをします。DNSサーバーに登録されている正規のIPアドレスと一致すれば、本物からのメールだと判断し、一致しなければなりすましの疑いがある怪しいメールだと判断します。例えるなら、事前に「うちの会社の社員はこの社員証を持っています」と登録しておき、訪問者が本当にその社員証を持っているかを受付で確認するようなイメージですね。

SPFで送信元サーバーの正当性を確認できるようになりました。しかし、もし通信の途中でメールの中身が改ざんされていたらどうでしょうか?そこで登場するのが2つ目の対策であるDKIM(DomainKeys Identified Mail)です。DKIMは、デジタル署名の技術を利用して、「このメールは間違いなくこの差し出し人が作成したもので、途中で改ざんされていません」ということを証明する仕組みです。

流れを見ていきましょう。まずは、先ほどのSPFと異なり、送信者は公開鍵をDNSサーバーに登録します。そして、送信側のメールサーバーはメールの内容を元に計算したデータ、つまりハッシュ値を秘密鍵で暗号化します。これがデジタル署名ですね。そして、このデジタル署名をメールに添付して送信します。受信側のメールサーバーは、メールに添付されたデジタル署名を取り出します。そして、送信側のDNSサーバーにアクセスし、公開されている公開鍵を使って、改ざんされていないこととなりすましされていないことを確認します。これは前の動画で解説したデジタル署名と全く同じ仕組みですね。これがDKIMの仕組みです。

SPFやDKIMは、メールの配送経路におけるなりすましや改ざんを防ぐ、サーバー間の非常に重要な技術でした。では、メールの中身そのものを第三者から完全に守るにはどうすればいいでしょうか?例えば、機密情報が含まれたメールを特定の相手だけに、誰にも見られずにかつ確実に本人と証明しておりたいという時ですね。そんな要望に答えるのがS/MIMEという技術です。

S/MIMEは、公開鍵暗号方式を利用して、メールの改ざん、なりすましを防ぐ技術です。S/MIMEができることは大きく分けて2つあります。1つ目はメール本文の暗号化です。メールを送信相手の公開鍵で暗号化します。これにより、正しい秘密鍵を持っている本人しかメールを読むことができなくなり、盗聴を防ぎます。例えるなら、手紙を本人しか開けられない鍵付きの箱に入れて送るようなものです。

2つ目はデジタル署名です。メールを送信者自身の秘密鍵で署名します。受信者は送信者の公開鍵を使ってその署名を検証することで、なりすましや改ざんがないことを確認できます。先ほど説明したDKIMもデジタル署名を使うので、少し混乱しますよね。DKIMはメールサーバーが自動的に行い、送信元ドメインが本物であることを証明するものでした。一方でS/MIMEは、メールソフトを使っているユーザー自身が、個人のデジタル証明を使ってメール一通一通に対して暗号化や署名を行い、本人が作成したことを証明します。より高いレベルでメッセージそのものの機密性と完全性を保証する技術です。

最後に、自分たちが意図せず迷惑メールを送るための踏み台にされてしまうのを防ぐ対策です。昔はメールサーバー、つまりSMTPサーバーの設定によって、認証などを行わず誰でも自由にそのサーバーを使ってメールをどこへでも送信できてしまうものがありました。これを第三者中継(オープンリレー)と呼びます。攻撃者はこの設定が甘いサーバーを見つけると、それを大量の迷惑メールを送り付けるための中継地点、またの名を「踏み台」として悪用します。すると、あなたやあなたの会社のメールサーバーから身に覚えのない迷惑メールを世界中にばらまかれてしまいます。その結果、あなたの会社のサーバーがブラックリストに登録され、正規のメールまで相手に届かなくなってしまったり、あなたの会社の社会的信用が大きく失墜してしまうといった非常に深刻な被害につながります。

この誰でも使えてしまうという問題を解決するのが、次の2つの対策です。まず対策の1つ目がサブミッションポートの利用です。ポートとは、通信の種類を識別するためのドア番号のようなものだと考えてください。通常、メールサーバー同士がメールをリレーする際には25番ポートというポートが使われます。一方、サブミッションポートは、私たち正規のユーザーがメールソフトから自分のメールサーバーへ「このメールを送ってください」と最初に依頼、つまりサブミッションする時だけに使う専用の受付窓口です。それは587番が使われます。メールサーバーはこの窓口を分けることで、25番ポートに来た通信は他のメールサーバーからの転送だなと判断し、587番ポートに来た通信は正規のユーザーからの送信依頼だなと、通信の目的を区別しやすくなります。これにより、不正な中継を制限する第一歩となります。

そして、サブミッションポートと組み合わせて使われる、より強力な対策がSMTP認証です。認証とは、ユーザー名とパスワードによる本人確認という意味ですね。これは、先ほどのサブミッションポート587番でメールを送信する際に、ユーザーIDとパスワードによる本人確認、つまり認証を必須にする仕組みです。例えるなら、社員専用受付で「社員証を見せてください」と要求するようなものです。このサブミッションポートとSMTP認証の対策を組み合わせることで、まず587番ポートという社員専用の受付窓口を設け、さらにその窓口で本人確認を行うという2段階のチェックが実現できます。これにより、そのメールサーバーを利用する権限のある正規のユーザーしかメールを送信できなくなり、第三者による不正な中継を確実に防ぐことができます。

はい、今回は電子メールのセキュリティについて解説しました。電子メールにおけるなりすまし対策、そして安全なメールのやり取りの仕組みが理解できましたね。

さて、最後のテーマ、AIが生み出す新たな脅威ディープフェイクです。見た目は本物と見分けがつかず、プロの目でも見分けるのが困難なこの技術の正体と、私たちにできる対策を学んでいきましょう。

最近ニュースやSNSなどで、有名人がありえない発言をしている動画や、海外の選挙で政治家が言ってもいないことを喋っている偽の演説動画や音声など、そんなまるで本物としか思えない映像や音声がニュースやSNSで話題になっているのを見たことはありませんか?「いやいや、自分はそんな偽物すぐに見分けられるよ」そう思っているあなた、実は逆に一番危険かもしれません。なぜなら、最近のディープフェイクはプロの目で見ても本物との区別がほとんどつかないほど恐ろしい進化を遂げているからです。

今回の動画では、その驚くべきAI技術の正体と、その裏に潜む本当の怖さについて皆さんと一緒に深掘りしていきましょう。この動画を見れば、ディープフェイクとは何か?どんな仕組みで動いているのか?なぜ危険なのか?具体的な悪用例と気をつけるべきこと、対策方法がすっきり理解できます。それでは始めていきましょう。

まず、ディープフェイクとは何でしょうか?これは、ディープラーニング(深層学習)というAI技術と、「フェイク(偽物)」という言葉を組み合わせた造語です。一言で言うと、AIを使って非常にリアルな偽の映像や音声を作り出す技術のことです。ディープフェイクでできることとしては、特定の人物の顔を別の人物の顔と入れ替えたり、写真の人物をまるで生きているかのように自然に動かしたり、さらにはその人の声をそっくり真似て言ってもいないことを喋らせたりすることができてしまいます。

では、AIはどうやってこんなにリアルな偽物を作り出すのでしょうか?その心臓部にあるのがディープラーニングです。ディープラーニングとは、まずAIにターゲットとなる人物の大量の画像や動画、例えばある有名人の写真などを学習させます。AIはその人の顔の輪郭、目や鼻の形、笑った時の口の動き、喋る時の表情の癖などを徹底的に学びます。次に、学んだ特徴を元にして、全く別の映像や写真にその人の顔を違和感なく合成したり、テキストを読み上げさせて、その人そっくりの声で喋らせたりします。昔の雑な合成画像とは違い、ディープラーニングを使ったAIは光の当たり方や影のつき方、微妙な表情の変化まで再現できるため、非常に本物と見分けるのが難しい、リアルな偽物が出来上がると いうわけです。

このディープフェイクの技術は、映画制作で俳優を若返らせたり、歴史上の人物を再現したりと、良い目的にももちろん使えます。しかし、そのリアルさゆえに悪用された場合の危険性も非常に高くなっています。例えば、1つ目がフェイクニュース・情報操作です。政治家や企業のトップが実際には言っていない過激な発言をする偽の動画を作り、社会的な混乱を引き起こしたり、株価を操作したりする可能性があります。2つ目が詐欺です。家族や友人の顔と声を真似たディープフェイク動画を作って、「例えば事故にあったからお金を振り込んで」といった巧妙な振り込め詐欺などに使われる危険性があります。3つ目が名誉毀損・ポルノグラフィーへの悪用です。個人の顔を本人が全く関与していない不適切な映像に合成し、その人の社会的な信用や尊厳を著しく傷つける、非常に悪質な犯罪も発生しています。

これだけリアルだと、私たちが見分けるのは非常に困難です。しかし、気をつけるべきポイントと私たちにできる対策はあります。まずは映像や音声から違和感を探すことです。AIが作った顔は、瞬きの回数が不自然に少なかったり、逆に多すぎたりすることがあります。また、顔の輪郭部分や髪の毛の際、耳の形などに不自然な歪みやぼやけがないか注意深く見たり、肌の質感や声と口の動きで、喋っている声のトーンや表情と口の動きが微妙に合っていない場合もあったりするので、その辺りの違和感を確認しましょう。

2つ目は情報の出所を確認することです。衝撃的な動画や情報に接した時は、すぐに信じて拡散するのではなく、その情報はどこから出てきたのかを必ず確認しましょう。信頼できる大手ニュース機関や公式サイトなどが報じているか、また複数の情報源を比較検討することが非常に重要です。

3つ目は情報リテラシーを高めていくことです。何よりも大切なのは、私たち一人ひとりがインターネット上の映像や情報は必ずしも本物とは限らないという意識を持つことです。特に感情を煽るような、あまりにもセンセーショナルな内容は、一度立ち止まって冷静に考える癖をつけましょう。

はい、今回はAIが生み出すリアルな偽の映像・音声技術、ディープフェイクについて解説しました。ディープフェイクは私たちの社会に大きな影響を与える可能性のある技術です。その仕組みと危険性を正しく理解し、賢くメディアと付き合っていくことが、これからのデジタル社会ではますます重要になります。

はい、お疲れ様でした。この動画で学んだ知識は、皆さんのデジタルライフを安全に過ごすため、そして企業や組織の情報を守るために非常に重要な土台となります。それぞれの攻撃が何をするものか、そして基本的な対策は何かをセットで覚えて、是非日々の生活や学習、そして資格試験に役立ててください。

もしこの動画が少しでも役立ったと思っていただけたら、是非コメントや高評価、そしてチャンネル登録をしていただけると、今後の動画制作の大きな励みになります。今回も最後までご視聴いただき、誠にありがとうございました。また次回の動画でお会いしましょう。