web-dev-qa-db-ja.com

自己学習型情報セキュリティとペンテストのシラバス

私はテクノロジーから遠く、業界的には遠い人です。私は実際には医療分野にいます。とはいえ、私はテクノロジー、特に情報セキュリティに非常に興味があります。

私はプロのペンテスターに​​なるためのロードマップを作成したいのですが、最終的にはキャリアを切り替えるかもしれません(私は20歳なので、人生そのものが変わることはないでしょう)、または病院ネットワークのプロのペンテスターに​​なる可能性がより高く、医療サービス(そのようにして、両方の仕事に就くことができます。

だから、私が言ったように、私は同じ道を進んでいる人のための自己学習教材として初心者からプロのペンテストまでのシラバスを作る必要があります。

現在、次のコースを勉強する予定です。

  1. CompTIAのLinux +

  2. Kali Linuxのコース

  3. CompTIAのネットワーク+

  4. CompTIAのセキュリティ+

  5. EC評議会CEH

私はどの言語でもプログラムしていないことに注意してください!プログラミングコースを追加することをお勧めしますか。そして、この研究計画をどのように評価しますか?

注2:このガイドは個人的なものではなく、ペンテストを開始するすべての人にとって一般的なものです。削除されないことを願っています:(

MODS用に編集:

質問の範囲を狭めるために、このディスカッションでは、フィールドで正式な学位を取得する能力のない人や、コンピュータサイエンスの。学生/愛好家は、意見や経験に基づいて、独自の個別のシラバスを形成しますあらゆる主題を学習するための答えまたはすべてに当てはまるモデルです。したがって、これは、フィールドでの経験と学習への道を進む方法についての議論のために開かれるべきだと思います。

さらに絞り込むには、個人的にはネットワークとウェブアプリのペンテスターである必要があります。この2つの専門分野に対する私の関心は、病院のネットワークが(セキュリティ研究者によって)非常に脆弱であることが証明されているという事実に由来しています。そして、そのネットワーク上のほとんどすべてのデバイスも脆弱です。 Medical Social Networksや、機密性の高い患者のデータを使用するオンライン医療アプリにもいくつかの新興技術があり、医療情報分野でのそのような経験の市場またはキャリアを見ています。

言い換えれば、専門家であるあなたが、ネットワークおよびWebアプリペンテスティングでのキャリアを追求するよう熱狂者にアドバイスする道は何ですか?

5
Mars

リストはよさそうだし、どこに行きたいかわかっているようだ。ただし、文献が非常に多いため、優れたリソースと見なすものは、病院のセキュリティテストではなく、Webなどの他の優先事項を持つ人には最適でない場合があります。このように、一般的なリストにある質問に答えるのはかなり難しくなります。実際の資料ではなく、方法論により多くのメリットがあります。効率的な方法論を他の人々のニーズに適合させ、どのシラバスをハンティングするかを彼らに決定させる方がはるかに簡単です。

たとえば、私の学習では、自分の知識とスキルを向上させるために必要な、または学びたいと思っていたすべての科目について考えました。明らかに、私はすべてを学ぶことはできないので、これらを以下の高レベルのカテゴリーに優先順位付けする必要がありました。

  1. 言語
  2. ネットワーキング
  3. オペレーティングシステム
  4. データベース
  5. Web
  6. 暗号学

そこで、私はそれらの科目を学ぶ時間と効率を最大化する方法を考案しました。大学では、通常、1日に2つの科目がありました。私は午前中に授業を行い、13:00までに家に帰って午後の自主学習の準備が整います。

私は最初に自宅で勉強を始め、その日に見たものを修正します。これは最も重要な段階の1つです(大学で聞いた内容を修正します。受動的に聞くと、実際には学ばないので、主に自宅で学べることを紹介します)。これは私の午後のほとんどを取ります。規律は非常に重要であり、同じ主題に長時間焦点を合わせるのは非常に難しいので、私は時間とともに非常に厳格でした(そして今もそうです)。勉強した45分ごとに、正確に15分の休憩を取ります。それから私はさらに45分間続け、その後もう1度休憩しました。 17:00までに大学や大学の教材を勉強し終えました。私はもっ​​と長い休憩をとってから、上記のテーマの1つで自分の勉強を始めます。 1日1科目。私は18:00頃に開始し、この調査に少なくとも1時間はかかります。時には21:00まで行くこともあります。読みづらい必要はありません。たとえば、ある夜にオペレーティングシステムを研究していて、FreeBSD VMをインストールしてユーザーアカウントをセットアップすることだけであった場合、それはすでに十分に勉強に費やされた時間だと考えています。途中で見つけたブロッカーのトラブルシューティングには多くの経験が積まれています。


私がこれらの主題にどのように取り組んだかに関しては、ここに私が言わなければならないことがあります:

  1. 言語については、python for quick learning/results)のようなより高いレベルから始めることをお勧めします。ただし、これらの言語には多くのショートカットがあるため、本当にプログラミングを学ぶ必要がある場合は、Cも学習してください。これら2つの言語を理解していれば、他のすべての言語は時間の問題です。

  2. ネットワーキング。 VM Labsをセットアップして、Wiresharkで遊んでください。プロトコルが下位レベルでどのように機能するかを理解してください。パケットで遊んで、変更して、結果を確認してください。

  3. オペレーティングシステム。 FreeBSD、Kali、そして明らかにWindowsに焦点を当てることをお勧めします。

  4. データベースも非常に重要です。MySQLから始めてください

  5. 独自のWebサイトを構築し、VMをFreeBSDで作成し、セキュリティで保護します(OS調査の一環として)。Apacheを展開し、最初のWebサイトを作成し、ログイン機能を実装して統合します。データベース。ハック、破壊、核攻撃、すべて再構築 [〜#〜] owasp [〜#〜] は、最良のガイドです。

  6. 暗号- Schneier はあなたが始めるのに最適な場所です

重要なのは、1)最初にテーマ自体(OS、データベースなど)について学ぶことです。 2)次に、それらが他のコンポーネント(データベースと統合されたWebサーバー)とどのように相互作用するかを学びます。 3)次に、これらのコンポーネント間のtrustがどのように機能し、どのように機能するかを学びます悪用される可能性があるため、4)保護することができます。これら4つのポイントすべてを並行して学ぶことを妨げるものは何もありませんが、論理的な順序は多かれ少なかれそれです。

あなたの質問に実際に答えるために、たくさんの良いリソースがあります。いくつか例を挙げると:


Tl; dr-そこにはたくさんのリソースがあります。どちらが適切か、そして学習を最大化する方法を知ることは、機知があるところです。

8
Lex