Software Design plusシリーズマジメだけどおもしろいセキュリティ講義 事故が起きる理由と現実的な対策を考える

[表紙]マジメだけどおもしろいセキュリティ講義 事故が起きる理由と現実的な対策を考える

A5判/416ページ

定価(本体2,600円+税)

ISBN 978-4-7741-9322-9

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

今のサイバー攻撃や情報漏えいはセキュリティ製品を導入するだけでは防げません。攻撃者は巧みに技術的な不備,運用の隙間,人の心理的弱点を突いてくるからです。攻撃する側も,十代の少年,犯罪組織,国家とさまざまです。攻撃対象もパソコンやスマートフォンだけでなく,電化製品や発電所までもが狙われています。
本書は,実際のセキュリティ事件を題材に,その事件が起きた背景や原因を解説します。さらに,対策としては本来どうあるべきだったのかを考えます。本書で扱うサイバー攻撃の中には,まるでドラマや小説のような巧妙な手口が登場します。また,セキュリティ事件の背景には驚くべき事実もたくさんあります。それゆえ本書には読み物としての知的好奇心をくすぐるおもしろさがあります。楽しみながら,セキュリティに対する知識,心構えを身につけましょう。
本書を読み終えたあとには,きっと自分のパソコンや家庭・企業のセキュリティの弱点も見えてくるはずです。そして,現実的な対策も考えられるようになるはずです。

本書は,雑誌『Software Design』の2013年7月号~2017年1月号に掲載された連載記事「セキュリティ実践の基本定石 ~みんなでもう一度見つめなおそう~」の中から,現在でも通用する話題を選りすぐり,必要に応じて情報を更新して再編集した書籍です。

こんな方におすすめ

  • 企業のシステム担当者,システムエンジニア,情報系の学生,プログラマ

本書のサンプル

本書の一部ページを,PDFで確認することができます。

目次

第1章 なぜ脆弱性は生まれるのか,なぜ攻撃は減らないのか

第1講 攻撃が多いわけ,防御が難しいわけ

  • 1.1 これまでのコンピュータへの侵入/攻撃
    •  [コラム]セキュリティと利便性はトレードオフの関係
  • 1.2 標的型攻撃,APT攻撃
  • 1.3 標的型攻撃の防御策
  • 1.4 根本的な問題は昔から変わらない

第2講 攻撃は自動化され大規模化している

  • 2.1 攻撃は日常風景
  • 2.2 デフォルト設定をねらう
  • 2.3 WordPressへのアクセスを分析してみる
  • 2.4 攻撃が失敗していても負荷は上がる
    •  [コラム]SSHでの接続を制限する
  • 2.5 SSHへのブルートフォース攻撃の頻度を見てみる
  • 2.6 今もこの瞬間に攻撃されている

第3講 知らない間に攻撃に加担してしまう危険性

  • 3.1 DoS攻撃
    •  [コラム]SYN Flood攻撃
  • 3.2 DDoS攻撃
  • 3.3 大規模DDoS攻撃の脅威
  • 3.4 オープンリゾルバによるDDoS攻撃
  • 3.5 NTPサーバのmonlist機能を悪用したDDoS攻撃
  • 3.6 UDPとIPアドレス詐称
  • 3.7 小さくても大きな意味がある

第4講 普及した機材が悪用されると駆逐するのは難しい

  • 4.1 DNSサーバをねらったDDoS攻撃
  • 4.2 DNSのしくみ
  • 4.3 DNSは障害に強い?
    •  [コラム]多重性/多様性を持たないDNS運用が招いた結果とは
  • 4.4 オープンリゾルバ
  • 4.5 これまでのオープンリゾルバ問題
  • 4.6 オープンリゾルバを使うDNS水責め攻撃
  • 4.7 現状での対策

第5講 ソフトウェアの脆弱性ができるわけ

  • 5.1 脆弱性という言葉
  • 5.2 ソフトウェアの脆弱性
  • 5.3 どの工程で発生するか
  • 5.4 どれくらいの頻度で発生するか
  • 5.5 ブラックボックステスト
  • 5.6 ソフトウェアの脆弱性のインパクトは
  • 5.7 セキュリティアップデートをしましょう

第6講 セキュアコーディングの難しさ

  • 6.1 バグと脆弱性との境界線
  • 6.2 セキュアコーディング
  • 6.3 動的メモリアロケーション
    •  [コラム]mmap()で仮想記憶を利用するときの注意点
  • 6.4 動的メモリアロケーションで起こりがちなバグ
  • 6.5 動的メモリアロケーションのライフサイクル
  • 6.6 動的メモリアロケーションライブラリのバリエーション
  • 6.7 セキュアコーディングの本質とは

第7講 ソフトウェアのライフサイクルとセキュリティ

  • 7.1 QuickTime Windows版にゼロデイ攻撃の恐れ
    •  [コラム]当時のQuickTime Windows版の状況
  • 7.2 ソフトウェアのライフサイクルを意識する
  • 7.3 減価償却資産の耐用年数
  • 7.4 アップグレードは攻めの脆弱性対応

第2章 そのセキュリティ技術は安全か

第8講 パスワードは安全な認証方法か

  • 8.1 パスワードとは
  • 8.2 パスワードの実現方法
    •  [コラム]PAMとlibpam-cracklib
  • 8.3 ひどいパスワード
  • 8.4 本来の役目を果たしていないパスワード
  • 8.5 適切なパスワードの管理とは
  • 8.6 安全なパスワードなのだろうか?
  • 8.7 パスワードに代わる認証方法

第9講 Webサービスからのパスワード漏洩に備えよ

  • 9.1 パスワードはどのようにクラックされるのか
  • 9.2 Ashley Madison顧客情報流出事件
  • 9.3 ハッシュ関数の危殆化
    •  [コラム]MD5が破られた瞬間
  • 9.4 Ashley Madisonのパスワードクラック
  • 9.5 パスワードシステムに求められること
  • 9.6 パスワード向けハッシュ関数に求められること
  • 9.7 ユーザに求められること
  • 9.8 Webサイトのセキュリティレベルを意識する

第10講 TLS/SSLデジタル署名の落とし穴

  • 10.1 人は簡単にだまされる
  • 10.2 TLS/SSLによる安全性の確保
  • 10.3 デジタル証明書
  • 10.4 デジタル署名における疑問点
  • 10.5 TLS/SSLは魔法の杖ではない

第11講 SSHが危険にさらされるとき

  • 11.1 telnet
  • 11.2 SSH
    •  [コラム]各ディストリビューションのOpenSSHサーバのバージョン
  • 11.3 SSHのユーザ認証
  • 11.4 SSHから侵入されるケース
  • 11.5 SSHをもう一度確認してみよう

第12講 1人の技術者が支えている暗号技術?

  • 12.1 暗号技術が保証するもの
  • 12.2 暗号方式
    •  [コラム]登場人物の名前の付け方
  • 12.3 GNU Privacy Guard
  • 12.4 gnupgはオープンソースの認証基盤
  • 12.5 GnuPGプロジェクトが危機的状況!?

第13講 暗号技術の正しい使い方

  • 13.1 gnupg
  • 13.2 共通鍵暗号方式を使ってみる
  • 13.3 公開鍵暗号方式を使ってみる
    •  [コラム]gpgにエントロピーを供給する方法
  • 13.4 すべての人たちのための暗号技術

第3章 今後深刻化するであろう脅威

第14講 国家規模の盗聴

  • 14.1 スノーデン事件が意味するもの
  • 14.2 NSA
  • 14.3 DNIとNSA
  • 14.4 PRISM
  • 14.5 陰謀論ではない現実

第15講 IoTセキュリティについて考える

  • 15.1 Internet of Thingsとは
  • 15.2 事件は現場で起こっている
  • 15.3 組み込みデバイスでのマルウェア
  • 15.4 命に関わりかねない脆弱性
  • 15.5 Raspberry Pi
  • 15.6 IoT時代への提案
  • 15.7 すでに秒読み段階

第16講 家電化した情報機器が持つ情報漏洩の危うさ

  • 16.1 NASの個人情報がうっかり公開されていた
  • 16.2 情報機器の普及の影に潜む問題
  • 16.3 IoT時代のセキュリティ問題
    •  [コラム]どんなセキュリティの問題が予想されるのか
  • 16.4 SHODAN..インターネット接続機器の検索サイト
  • 16.5 簡単に得られるサーバなどの情報
  • 16.6 多数存在する無防備な機器たち
  • 16.7 SHODANは公開されているのが利点でもある

第17講 FBIさえも根絶できないマルウェアと犯罪組織

  • 17.1 トロイの木馬とは
  • 17.2 Zeus
  • 17.3 本格的なサイバー犯罪マルウェア
    •  [コラム]マネーミュールのシナリオ
  • 17.4 Zeusの中心地アメリカ
  • 17.5 Gameover ZeuS

第18講 日本に忍び寄るランサムウェアの影

  • 18.1 ランサムウェアとは
  • 18.2 今どきのランサムウェアの技術
    •  [コラム]言語の壁
  • 18.3 CryptoLocker
  • 18.4 CTB-Locker
  • 18.5 非暗号ロック系ランサムウェア
  • 18.6 初の日本語ランサムウェアの使用者は17才の少年
  • 18.7 日本でも蔓延する可能性

第19講 ファームウェアにも入り込むroot kitの脅威

  • 19.1 root kitを理解するための準備
    •  [コラム]初期のUNIX root kitの情報
  • 19.2 どのように感染するのか
  • 19.3 どうやって隠れるのか
    •  [コラム]root kit対応にはWindows Defenderオフライン
  • 19.4 ソフトウェアだけでは守れない

第20講 BlackEnergyによるリアルな世界への攻撃

  • 20.1 物理的な被害をもたらしたマルウェア
  • 20.2 ウクライナだけの問題ではない
  • 20.3 コンソールを止めれば全体が止まる
  • 20.4 産業システムとはいえ,通常のPCと変わらない
  • 20.5 電力会社のシステムの脆弱性
  • 20.6 感染シナリオ
  • 20.7 実際の攻撃
  • 20.8 物理的な破壊もあり得る
  • 20.9 電力会社だけではなかった攻撃対象
  • 20.10 物理的にダメージを与える可能性のある攻撃が現実に

第4章 一番の脆弱性は人間

第21講 人の注意力だけでは防げないフィッシング

  • 21.1 フィッシングとは
  • 21.2 すべては電子メールから始まる
  • 21.3 しかけるのは意外と簡単
  • 21.4 フィッシングは目的が明確
  • 21.5 フィッシングする立場で考える
  • 21.6 フィッシングの電子メール対策
  • 21.7 フィッシング対策は情報共有から
  • 21.8 問題はタイムラグと情報の拡散
  • 21.9 人の判断だけに頼らないこと

第22講 システム最大の脆弱性は人である

  • 22.1 一番弱いところが攻められる
  • 22.2 正面攻撃には強くても
  • 22.3 クライアントに対するさまざまな脅威
  • 22.4 攻撃は身近なところで起こっている
  • 22.5 セキュリティを高めるためには

第5章 セキュリティ情報の収集/読み解き方

第23講 脆弱性情報を共有するしくみ

  • 23.1 セキュリティアップデートが同時期に行われる理由
  • 23.2 脆弱性のハンドリング
  • 23.3 脆弱性情報をハンドリングする組織「MITRE」
  • 23.4 脆弱性情報「CVE」
    •  [コラム]CNA認定組織となったJPCERT/CC
  • 23.5 脆弱性の影響度「CVSS」
    •  [コラム]世界規模でセキュリティに取り組むきっかけを作ったワーム
  • 23.6 脆弱性対応の流れ
  • 23.7 脆弱性対応を巡る議論

第24講 脆弱性の数と影響度を読み解く

  • 24.1 2014年4月はHeartbleedに注目が集まったが
  • 24.2 統計から見る脆弱性数の推移(世界)
  • 24.3 統計から見る脆弱性数の推移(国内)
  • 24.4 脆弱性の影響度を示す指標「CVSS」
  • 24.5 開発者と連絡がとれない脆弱性の扱い

第6章 2014~2016年の5大セキュリティ事件詳説

第25講 OpenSSLの脆弱性“Heartbleed”

  • 25.1 Heartbeat Buffer Overreadが騒がれた理由
  • 25.2 Heartbeat Buffer Overreadの第一報
  • 25.3 Heartbeatとは
  • 25.4 OpenSSLとは
  • 25.5 そして,OpenSSLにHeartbeatが入った
  • 25.6 コードから見る脆弱性
  • 25.7 大きなリスクとして考えるべき
  • 25.8 Heartbeat Buffer Overreadの問題点

第26講 bashの脆弱性“Shellshock”

  • 26.1 CVSSの最大値と評価された脆弱性
  • 26.2 シェルとは
  • 26.3 GNU bash脆弱性の動作と影響
  • 26.4 開発段階で見つけるのは難しかったはず
  • 26.5 バグのないソフトウェアはない

第27講 米国暗号輸出規制が生んだ負の遺産“FREAK攻撃”

  • 27.1 またもやSSLに脆弱性
  • 27.2 安全ではない鍵にダウングレードされる
  • 27.3 AppleやMicrosoftの製品にも波及
  • 27.4 EXPORT_RSAとは
  • 27.5 中間者攻撃のシナリオ
  • 27.6 影響
  • 27.7 対策
  • 27.8 EXPORT_RSAは政治的理由で加えられた
  • 27.9 余計な機能を付け加えたツケ

第28講 クラウドサービスを揺るがす脆弱性“VENOM”

  • 28.1 仮想マシンから別の仮想マシンを操れる脆弱性
    •  [コラム]CVSS v2 10.0は「Shellshock」や「VENOM」だけではない
  • 28.2 QEMU FDCを使っているハイパーバイザが影響を受ける
  • 28.3 原因は些細なコーディングミス

第29講 インターネットの新たな脅威 IoTボットネット“Mirai”

  • 29.1 記録的なDDoS攻撃
  • 29.2 インターネット接続の監視カメラ/ビデオレコーダー
  • 29.3 攻撃元の統計
  • 29.4 公開されたMiraiのソースコード
  • 29.5 CNCのソースコード
  • 29.6 ボットのソースコード
  • 29.7 ボットの役割
  • 29.8 telnetを使っての乗っ取り
  • 29.9 ボットの攻撃
  • 29.10 Miraiとは何だったのか

著者プロフィール

すずきひろのぶ

鈴木 裕信。
1985年,㈱SRA入社。現場でUNIXやネットワーク関連のソフトウェア開発を経験したあと,同社ソフトウェア工学研究所に異動し,ネットワーク・トラフィックの研究,ソフトウェア品質の研究を行う。95年より情報処理振興事業協会へ研究員として出向。96年に独立。現在,ソフトウェア・コンサルタントとして活動。おもにインターネット/ネットワーク関連システム,電子商取引システム,セキュリティ関連システムおよびインターネット・セキュリティのコンサルテーションを行っている。
1996年当時,コンピュータ緊急対応センターと呼ばれていたJPCERT/CCの立ち上げ時から運営に参加し,現在は一般社団法人JPCERTコーディネーションセンター理事として情報セキュリティに携わる。1980年代よりフリーソフトウェア運動に参加し,現在は特定非営利活動法人フリーソフトウェアイニシアティブ(FSIJ)事務局長という立場からフリーソフトウェア運動に携わる。オープンソース関連では,Google Summer of CodeにFSIJからのメンターの1人として参加した経験を持つ。ソフトウェア技術者協会の幹事として産学の垣根を越えて経験や技術の交流をしあうプロフェッショナルソサエティの場を作る活動に参加している。過去に早稲田大学理工学術院客員助教授などを経験し,現在は実践女子大学,専修大学,中央大学で非常勤講師として勤める傍ら金沢大学大野研究室と協力し,実践的IoTセキュリティの研究を進めている。