Edited at

「【イラスト図解】情報セキュリティの基礎知識」本の感想を書きます。

イラスト図解満載のセキュリティが学べる本

image.png

【イラスト図解満載】情報セキュリティの基礎知識

技術評論社「【イラスト図解満載】情報セキュリティの基礎知識」という本が少し前に発売されました。取っ付きにくいと思われがちなセキュリティのあれこれをイラストや図解を使用して、分かりやすく丁寧に解説しています。そのため、セキュリティに詳しくない一般の方や、セキュリティをこれから学ぼうとしているセキュリティの初学者の方にお勧めの本です。

◇感想


Chapter 1 情報セキュリティ

脆弱性と脅威の関係について書かれています。例えば、システムに A という脆弱性が存在することによって、B という脅威にさらされてしまう。そのため、脆弱性を迅速になくす必要があるので、セキュリティパッチを適宜適用する必要がある。ただ、本番環境のシステムにすぐに適用してしまうと、誤作動などを起こし、業務に影響が出る可能性があるため、事前の検証が必要になるといった、脅威から身を守るため脆弱性をどう塞ぐのかといったプロセスが記載されていました。

Chapter 2 最新技術を取り巻くセキュリティのリスク

普段よく使用しているスマートフォン、SNS、クラウドなどに潜んでいる脅威について書かれています。スマートフォンは提供元不明のアプリケーションからのマルウェア感染、SNS は乗っ取りやプライバシー侵害などの危険が潜んでいます。特に気になったのが、クラウドの課題として挙げられていた「シャドー IT 問題」です。シャドー IT 問題とは企業において従業員が許可なく業務に Google ドライブなどのクラウドサービスを使用することです。つまり、従業員はクラウドサービスを使用して自由に個人情報などを持ち出せるようになったわけです。この問題を防ぐために会社のポリシーとしてクラウドサービスの利用は禁止としても、利用しようと思えば利用できるわけなので、クラウドサービスへのアクセスを制限するといった対策を行っていない企業は迅速に対応すべきだと感じました。

Chapter 3 情報セキュリティを理解するために知っておきたい技術

この章では、基礎的なプロトコルである TCP/IP 、DNS、SMTP、POP、IMAP、HTTP がどのような役割を担っているのが書かれています。プロトコルの内容については、まぁそうだよね、といった感じでした。ただ、プロトコルの内容だけでなく、それらのプロトコルが悪用されると、DNS キャッシュポイズニング、オープンリレー、セッションハイジャックといった攻撃を受ける可能性があることについても触れています。攻撃に対してどのような対策が有効かを考え、対策を実行する、といったプロセスを回していくことが重要だと思います。

Chapter 4 情報セキュリティを理解するために知っておきたい技術

不正アクセスからシステムを守るための技術として、SSH、IDS/IPS 、WAF について書かれています。今まで知らなかった SSH を使用したポートフォワーディングの流れや、IDS/IPS で起こりうるフォールスネガティブとフォールスポジティブ、WAF はアプリケーション層レベルでセキュリティを実現していることが分かりました。IDS/IPS のポリシー設定は、フォールスネガティブとフォールスポジティブの発生を減少させるために、定期的に見直す必要がありそうですね。

Chapter 5 パスワードを理解する

パスワードの種類や、パスワード攻撃の種類について書かれていました。辞書攻撃やブルートフォース攻撃など様々な種類のパスワード攻撃の種類がありますが、攻撃に対する対策として、パスワードを長くする、様々なサービスでパスワードを使いまわさない、ランダムで意味を持たないパスワードを設定するなどの対策があげられそうです。ただ、あまりにもパスワードが増えてしまうと管理しにくくなったり、分かりやすいパスワードを設定しがちになってしまうので、その際はパスワード管理ソフトを使用することも検討した方が良いと思います。

Chapter 6 暗号の基本を理解する

そもそも暗号化とは何なのか、暗号化の種類にはどのようなものがあるのか、暗合鍵の交換方法はどのようにして行うのかについて書かれています。同じ暗号化でも共通鍵暗号方式や公開鍵暗号方式といった異なる方式が存在し、それらの暗号化を組み合わせたハイブリット暗号方式なるものがあることが分かりました。ハイブリット暗号方式は共通鍵を公開鍵で暗号化して受け渡し、受け渡した共通鍵を使って暗号化を行うので、共通・公開鍵暗号双方のメリットをうまく活用した暗号方式だと思いました。

Chapter 7 暗号を利用する技術

暗号を使用したプロトコルや技術について紹介されています。例えば、HTTP は暗号機能を持たないプロトコルに SSL/TLS を組わせた HTTPS についてや、認証を行うための電子証明書、VPN、無線 LAN 技術などについて解説されています。VPN を使用して自宅から仕事をするテレワークといった働き方が出てきていますが、その裏では暗号化の技術が活用されているのですね。私の会社でテレワークが導入されることを期待します!(笑)

Chapter 8 サイバー攻撃のしくみ①

サーバー攻撃の種類とその仕組みについて書かれています。例えば、サイバー攻撃としてフィッシング詐欺がありますが、その流れとしては、メール開封 > URL クリック > 偽サイトにアクセス > 情報入力 > フィッシング完了! という感じで行われていますよ、っといった解説がされています。仕組みを知ることは対策を知るうえで重要ですが、フィッシングは最近巧妙化しており、ドメインの綴りが1文字だけ違うといったものもあるので、注意していても誤って情報を入力してしまうケースが増えてくるのではないでしょうか?

Chapter 9 サイバー攻撃のしくみ②

Chapter 8 に引き続き、サーバー攻撃の種類とその仕組みについて書かれています。基本的には知っている情報が多数を占めていたので、そうだよね~、といったスタンスで見ていましたが、ちょっと気になったところとして、ゼロデイ攻撃のところで、ゼロデイ情報が高値で取引されているとの記載がありました。確かに今は高値で取引されているかもしれませんが、今後は AI の復旧によってゼロデイ情報の発見が容易くなり、ゼロデイ情報の価値が気軽に購入できる金額まで低くなる可能性があるため、そうなった場合は、今まで以上にクラッキングは活発化するかもしれませんね。

Chapter 10 マルウェア、ウイルス、ランサムウェア

サイバー攻撃の次は、ウイルスの種類とその仕組みについてです。中でもランサムウェアは最近話題になりましたね。ランサムウェアは身代金要求型ウイルスを呼ばれ、感染するとパソコン自体を暗号化し、身代金を払わなければパソコンの暗号化を解除しないと脅してくる悪い奴です。万が一感染してしまった場合は、バックアップから復元、身代金を払ってロックを解除する、セキュリティベンダーが提供しているツールを利用して暗号化を解除するといった方法が考えられます。この中で、一番確実なのはバックアップから復元で、その他のものは暗号化が解除できない可能性があるので、日頃からバックアップは行いましょう。そもそも、ウイルスに感染するなって話だとは思うので、ウイルス対策ソフトのパターン定義ファイルを最新に更新したり、怪しいファイルは開かないなど、ウイルスに感染しないようにすることが重要です。

Chapter 11 脆弱性は何が危ないのか

脆弱性とは具体的に何か、脆弱性に対して何をしなければならないのかが書かれています。やらなくてはならないこととして、定期的なセキュリティパッチの適用が挙げられていますが、適用の緊急度を判断する指標として CVSS スコアがあります。ただ、その指標が高いからといって、本当に現段階で攻撃が成功する可能性が高いとは言えないので、担当者はパッチの適用有無を都度判断し、適用タイミングを決定して、実際に適用を行う必要があります。

Chapter 12 インシデントに対応するために

インシデントが発生する前提での準備、対処の必要性について書かれています。具体的には、インシデント被害を最小限にすることを目的とした CSIRT をつくってインシデントが発生したときのフローを確定する必要があるり、確定していないと被害収束までに時間がかかってしまうよね、といったことなどが書かれています。デジタルフォレンジック(デジタル監査)についても書かれていましたが、ウイルスにかかった可能性があるからと言ってすぐに OS を再インストールしてしまうと、攻撃の証跡が消えてしまうといった、ウイルス感染機器の取り扱いについても少し説明があります。まさにあわてんぼうな私のために、今の時点で注意してくれているみたいなものですね。

Chapter 13 セキュリティ対策のしくみ

最後の章は、ファイアーウォールや IDS/IPS の仕組や構成について書かれています。ファイアーウォールの種類として IP パケットフィルタリングと、ステートフルインスペクションがあることや、そのファイアーウォールを2段構えで作成し、1段目と2段目に DMZ を構築して、その中にメールサーバーや Web サーバを配置するということが分かりました。また、DMZ 内にどのように IPS/IDS を配置するのかについても書かれています。ただ、ファイアーウォールや IDS/IPS を配置したからといって、完全に安全とは言えないので、きちんとクライアント PC にはウイルス対策ソフトを導入するなどの多層防御の考え方は必要だと思います。また、開発者として、脆弱性を創り出さないためにもセキュアプログラミングの基本は押さえておきたいところです。