web-dev-qa-db-ja.com

必須コースとしての情報セキュリティ入門の指導

私は学術機関で教えています。必須コース「サイバーセキュリティ入門」を追加することにしました。

私たちの卒業生のほとんどは学界にとどまらず、産業部門で働きに行くことを私たちは知っています。それでも、少なくとも情報セキュリティの基本的な知識は今日必須であると私たちは信じています。

このコースの目標は、学生に情報セキュリティの専門家を作ることではなく、基本を教えて、この分野に触れることです。

一般的に、このコースには2つの目標があります。

  1. 学生を情報セキュリティの世界にさらし、(繰り返しになりますが、ほとんどの学生が業界に行く)有用なツールと知識を提供します。ツールと知識は、情報セキュリティの分野で働いていない卒業生にも役立つはずです。

  2. この分野の上級コースも受講するように学生に勧めます。

これらの目標を考慮して、コースの内容について話し合っているので、2つの質問があります。

  1. どの科目をそのようなコースに含めるべきだと思いますか?最も重要な概念は何ですか?情報セキュリティの分野ではなく、業界で働く卒業生に最も関連性のあるトピックはどれですか?たとえば、「セキュアコーディング」のようなトピックはすべてのプログラマーに非常に関連しているように見えますが、このトピックは私の意見ではあまり面白くありません。私が考えたもう1つのトピックは、パスワード管理です。

  2. SSLについて特別な議論があります。そんなコースでは必見だと思います。特定のアルゴリズムについて教えないことを選択した場合でも、このプロトコルがどのように機能するかを知る必要があります:証明書とは何か、その使用方法、SSLが解決する問題など。誰もがこのプロトコルを使用し、私は多くのケースに遭遇しましたSSLの知識が重要だった場所。しかし、このトピック(SSL)について反対意見があるのを見て驚いた。あなたの意見を聞きたいのですが、SSLはトピックの1つであるべきだと思いますか?

他のアイデアや意見は大歓迎です。

追加の詳細:

私のコースには、それぞれ3時間(アカデミック)の13回の会議(ユニット)が含まれています。私が信じるユニットはコースにあるべきであり、それらのいくつかはあなたの素晴らしい答えに従っています:

  • はじめに+ CIAトライアド
  • ハッカーのように考える
  • OSINT
  • スキャン(および関連ツール)。
  • ファイアウォール、IDS、IPS
  • まもなく公開鍵と秘密鍵、SSL
  • サービス拒否
  • ネットワークレベル-主にDNS
  • アプリケーションレベル-基本的な例を含む2つのユニット:SQLインジェクションとおそらくXSS(2回目の攻撃として)。
  • パスワード管理
  • 安全なコーディング-モバイル(およびよくある間違い)に注意してください。
2
Gari BN

私は過去数年間、この種の状況に関わってきました。これが私が教え、焦点を合わせていることです。

トピックごとに。 講義と技術の詳細には、ある種のデモまたはある種の実践的な演習を伴う必要があります。デモが派手でない場合は、演習になるはずです。このようなものは密集しています。私は毎年クラブの30人以上の学生で始まり、はるかに少ない学生で年を終えます。興味を持ち続けるのは難しいかもしれません。それがそのようなエキサイティングなトピックであるとき、これが退屈である理由はありません。

トピック

  • CIAトライアド。認証、承認、トークン、否認防止、プライバシー、セキュリティ、語彙などの基本的な概念。問題のセキュリティの種類について話します。それは技術的な問題ですか...それとも人の問題ですか?学生の考えをご覧ください。
  • ハッカーのように考えています。彼らが行く、またはバスシステムで、または毎日遭遇するランチラインの脆弱性について彼らに尋ねてください。学生が安い昼食や思いついたものを手に入れることができないように、食堂を再設計するように生徒に依頼します。正直なところ、いつも本当に楽しいし、来るべきことに本当に興味を持ってもらうことができます。
  • 物理的セキュリティ。私の意見では、これに長い時間を費やす必要はありません。あなたがコンピュータにアクセスできるのであれば、それはほとんどあなたのコンピュータであることを彼らが知っていることを確認してください。
  • 暗号化への露出。これは深く掘り下げずに教えるのは難しいものですが、基本的なビルディングブロックテクノロジーが安全なプロトコルを構築し、暗号が解決しない問題を理解していることを示す必要があります。通常、私は公開鍵と秘密鍵の違いについて話し、共有鍵の確立について話し、正直に言ってそれらを公開します。それは本当にそれ自身のコースを必要とします、しかしあなたはそれについてまだ話すことができます。
  • コンピューターの保護。パスワード、サービス、何が実行されているかを把握します。存在するユーザーなど。ロギングとイベントの表示。また、セキュリティに関するいくつかの決定とのトレードオフについても説明します。ログが多すぎると、それらを見ることはありません。ロックアウトポリシーを厳しくしすぎると、多くの怒っているユーザーになってしまいます。
  • マルウェア。さまざまなタイプについて話し、違いと実際の例を示します。マルウェアの基本的な特性を示し、非常に基本的なことを行って、分析環境でマルウェアが何をしているかを確認します。作成するネットワークトラフィック、開くポート、インストールするものをキャプチャします。攻撃者の動機について話します。これは、ハッキングに関するあなたの国の法律(およびネットワーク管理者の法律)について話す良い機会でもあります。
  • Webセキュリティ。実際のフィッシングメールを含むXSS、実際の脆弱性を伴うCSRF、実際の攻撃を伴う保存されたXSS。この種のものは、たくさんの学生に簡単にデモできます。おもちゃのウェブアプリを作成して何かを表示するのは本当に簡単です。今年、私は脆弱なおもちゃのツイッターを書き、生徒たちに使ってもらいました。次に、私は彼らをだまして私が所有する別のサイトに行き、彼らのセッションを使ってツイートしました。彼らはとても驚いて、それは陽気でした。
  • ハッカーが通過する可能性のある基本的な手順。ターゲットの検索、脆弱性のスキャン、脆弱性の攻撃、アクセスの維持。これは、驚くべきことに、関心を維持するのが難しいセクションです。生徒たちは本当に驚いていますが、メータープリターのシェルと一緒に座っていると、「これは思ったほどエキサイティングではありません」と考えてすぐに注意を失います
  • バッファオーバーフローとエクスプロイト。動作が悪いToyCプログラムとMetasploitはこれに最適です

それを楽しんでください。それは非常に膨大な量の資料なので、それが実践的である限り、あなたが何をすることを選んだとしても、とても楽しいでしょう。

6
user11869

すべてのクラスは、infosecの新しいパーを紹介します:webapp(xss、SQLインジェクション、csrf)、bufferoverflows、物理的セキュリティ、...

そして、すべてのクラスの後に彼らにタスクを与えます。たとえば、xssベクトル、SQLインジェクション、バッファオーバーフローなどを攻撃することに挑戦します。

まず暗号について話すとき、これを自分で実装することは本番環境での使用には適していないことを説明します。次に、LEARNに馴染みのある言語で暗号を実装させます。 usAgeではありません! (これを強調する)

正直に言うと、SSLに触れて、「トップダウンアプローチのネットワーク化」のような適切なコースマニュアルを使用して、SSLを強制的に学習させることができます。機密性、整合性、可用性は情報セキュリティの三位一体であり、SSLは良い例です。ですから、私は個人的に、一般的な概念を説明する1つのクラスを含めます。

2
Lucas Kauffman

私が最初の情報セキュリティコースを受講したとき、この分野に興味を持ったのは、セキュリティを提供するために使用されたいくつかの難しい問題(公開鍵暗号、ハッシュ関数など)でしたが、その知識は多くのセキュリティを理解するのに最適(そしておそらく前提条件)ですが、それは業界の直接的なスキルにはなりません。

業界での(比較的短い)時間の中で見たものから、誰もがセキュリティを意識する必要がある世界に向かっています。かつては「あのセキュリティオタク」がたくさんいて、それからセキュリティを気にしない人がたくさんいた時代がありました。 Webアプリケーションの爆発的な増加と、それらのセットアップがいかに簡単であるかを考えると、特にソフトウェアの世界に参入する人々にとって最も重要なことは、アプリケーションのセキュリティを学ぶことです。

とは言うものの、入門コースでは、非常に基本的なことから始めます。

  1. セキュリティの必要性(基本的にはCIAトライアドであり、公の世界でプライベートに通信します。少し高価ですが、このすばらしい ネットワークセキュリティブック の特定の章をお勧めします)。これに続いて、CIAトライアドのどれが必要かを理解する必要がある一連の問題がある演習を行います。 (たとえば、誰もが読めるようにフォーラムに公開メッセージを投稿しています。これに必要なセキュリティの3つの柱はどれですか?-このような問題、より創造的、明らかに)
  2. 暗号化の基本-その簡単な歴史、対称暗号、非対称暗号、ハッシュ、MACなど。繰り返しになりますが、上記の本は優れたリソースです。
  3. 推奨読書としていくつかの論文を含めてください--- 楽しみと利益のためにスタックを壊す 、有名ないくつかの本当に古い論文 インターネットワーム 、そして私が追加する他のいくつかの論文一度私はそれらを覚えています。これらの論文のいくつかからたくさんのことを学びましたが、これはオプションです。これに続くものとして、おそらく基本的なバッファオーバーフローの悪用を行う割り当てがあります( this はLinuxの良い例のようであり、 this はWindowsに適しています)。
  4. 前提条件はおそらくネットワークの知識ですが、ネットワークセキュリティの基本に入るのは害はありません。ここでの私自身の知識は十分ではありませんが、IPSEC、DNSとDNSSECの脆弱性、ファイアウォール、IDS/IPS、SSLの仕組みなどについて学んだことを覚えています。これは、セットアップの演習でフォローアップできます。特定のルールセットを使用したファイアウォール、または一連のルールを警告するようにSnortを設定するなど。
  5. Webアプリケーションのセキュリティ-OWASPトップ10を通過することは素晴らしいことです。ターゲットオーディエンスが主にエンジニアである場合、私は安全なコーディングの原則に焦点を合わせます。それ以外の場合でも、アプリケーションのセキュリティが重要である理由に焦点を当てます。そこにはたくさんの例があります、 Adobe 「ああ、私たちはそれを間違えました」のグループに参加した最新の1つです。これは、前のトピックよりも詳細に説明する場所だと思います。ここでのフォローアップ演習では、 Mutillidae または WebGoat を設定し、OWASPトップ10をウォークスルーします。おそらく、学生にアプリケーションを作成させてから、それぞれに別のアプリケーションをテストさせます。チームのアプリケーション(これは、安全なコーディングと動的テストを教えるのに特に効果的です)
  6. モバイルアプリケーションのセキュリティ:はい、これは重要です。私たちが考えていたすべての脆弱性はWebアプリから消え去り、現在はモバイルアプリに見られます。 OWASP Mobile Security Project いくつかの脆弱性をカバーするためにまともな試みをしました、私はそれから何かを構築することを提案します。このための演習は、上記で行ったことと似たものになる可能性があります。
  7. 物理的セキュリティ:多くの人がこれを一番上に置くべきだと言うでしょう、そして私も同意するかもしれません。物事を物理的に保護していなければ、世界中のすべてのネットワークとアプリケーションのセキュリティは役に立ちません。インターネット上にはたくさんのリソースとトークがあります(これは トーク から始めるのが本当に良いことです)。
  8. ソーシャルエンジニアリング-攻撃側と防御側の両方から。これにもたくさんのリソースがあります。恥知らずにここに自分の答えを resource として含めます。
  9. オープンソースインテリジェンス(OSINT)-はい、これは最近ますます重要になっています。人々がインターネット上に残すものは、不注意に毎日増加しています。シェーンの Derbycon 2013での講演 は素晴らしいリソースです。
  10. 攻撃的なセキュリティツールの基本-Metasploit、nmap(これは実際には攻撃的なセキュリティのためだけではありませんが)、Nessus/Nexpose、Burp、その他すべての関連ツールなどです。おそらく、これらのツールを使用して練習できるラボをセットアップします(ここでも、 Metasploitable 、Webgoat、Damn Vulnerable Webappなどは素晴らしいリソースです)。
  11. すべてをまとめます。おそらく、学習したすべてのスキルを使用できるようになるCTFのようなチャレンジを作成します。それは非常に広範である必要はなく、非常に難しいものである必要はありません。彼らが学んだことを何らかの方法で適用して、頭から漏れないようにするだけです。

上記のトピックがクラスの期間中に多すぎる場合は、クラスに何を学びたいかを尋ね、それに基づいて剪定することをお勧めします。量より質など。

セキュリティの入門コースから学びたいと思っていたすべてのことをカバーしました。このコースは、実用的なスキル(クラスの外ですぐに使用できるもの)に焦点を当てて作成することを強調します。これは、セキュリティの入門コースで人々が不満を言うのを聞いた中で最大のことの1つなので、実践的な知識を目的として構築することは非常に役立ちます。

2