ネットワーク全体における最も包括的で役立つネットワーク セキュリティ学習ルートです。それを解決するのに一晩かかりました!

文章:

それほどナンセンスではありません。まず街の建物の写真を撮って、ネットワーク セキュリティがどのような方向にあるのか、それらの関係と違いは何なのか、それぞれが何を学ぶ必要があるのか​​を見てみましょう。

  このサークルテクノロジーカテゴリでは、ジョブには主に次の 3 つの方向性があります。

セキュリティ研究開発 セキュリティ研究: バイナリ方向 セキュリティ研究: ネットワーク侵入方向

一つずつ説明していきましょう。

第一の方向性:セキュリティの研究開発


ネットワーク セキュリティは、電子商取引業界、教育業界などの業界として理解できますが、どの業界にも独自のソフトウェアの研究開発があり、ネットワーク セキュリティも例外ではありません。ネットワークセキュリティ事業関連ソフトウェアの開発および事業。

そのため、セキュリティ業界にはフロントエンド、バックエンド、ビッグデータ分析など他業界と共通のポジションもありますが、そうした一般的な開発職に加えて、研究開発に近いポジションもいくつかあります。警備業に関すること。

このカテゴリはさらに 2 つのサブタイプに分類できます。

セキュリティ製品の開発を行い、防御を行い、セキュリティツールの開発を行い、攻撃を行います

セキュリティ業界が開発する主な製品には次のようなものがあります (ただしこれらに限定されません)。

ファイアウォール、IDS、IPSWAF (Web サイト アプリケーション ファイアウォール) データベース ゲートウェイ NTA (ネットワーク トラフィック分析) SIEM (セキュリティ イベント分析センター、状況認識) ビッグデータ セキュリティ分析 EDR (端末デバイスのセキュリティ ソフトウェア) DLP (情報漏洩防止) ウイルス対策ソフトウェアセキュリティ検出サンドボックス

まとめると、セキュリティ研究開発製品の多くは、端末側(PC、携帯電話、ネットワーク機器など)とネットワーク側によるセキュリティ攻撃の検知と防御を目的としています。

これらの製品の開発に使用されるテクノロジーは、主に C/C++、Java、Python の 3 つの主要なテクノロジー スタックであり、少数の GoLang と Rust も含まれています。

他の 2 つの方向に比べて、セキュリティ研究開発職はネットワーク セキュリティ技術に対する要件が低く (あくまで相対的に、一部の製品の研究開発ではセキュリティ スキルに対する要件が低いわけではありません)、ネットワーク セキュリティ技術とまったく関係のない研究開発会社も多く見てきました。セキュリティを知っています。この場合、基礎的な開発スキルに加えてネットワークセキュリティ技術の理解があれば、これらのポジションの面接時に当然ボーナス項目となります。

第 2 の方向: バイナリ セキュリティ


バイナリ セキュリティの方向。セキュリティ分野における 2 つの主要な技術方向の 1 つです。

この方向には主にソフトウェアの脆弱性マイニング、リバースエンジニアリング、ウイルスやトロイの木馬の分析などが含まれ、オペレーティングシステムのカーネル分析、デバッグとデバッグ対策、ウイルス対策などのテクノロジーも含まれます。私たちはバイナリ データを扱うことが多いため、バイナリ セキュリティはこの方向を総称して指すために使用されます。

この方向の特徴は、孤独に耐える必要があることです。

実際の製品を生み出すことができるセキュリティの研究開発ほど優れたものではなく、ネットワーク侵入の方向ほどクールではなく、この方向ではサイレントな分析と研究により多くの時間が費やされます。

脆弱性マイニングを例に挙げると、さまざまな攻撃手法を習得するだけでも多くの時間がかかります。この分野では、問題を研究するのに数か月、場合によっては数年かかることもありますが、これは一般の人が継続できるものではありません。それだけでなく、成功は努力によって達成されるものではなく、むしろ才能によって達成されます。

Tencent の主要なセキュリティ研究所の責任者、業界の著名な TK リーダー、Wu Shi のような人々は、すでに脆弱性マイニングの謎を理解し、このスタントをマスターしており、夢の中で新しい遊び方を考えることができます。しかし、このような天才は本当に稀で、ほとんどの人には手の届かない存在です。

プログラマーが勤勉であれば、バイナリ セキュリティの研究も勤勉です。

3 番目の方向: ネットワークへの侵入


この方向性は、ほとんどの人の「ハッカー」に対する認識とより一致しており、彼らは携帯電話、コンピュータ、Web サイト、サーバー、イントラネットをハッキングすることができ、あらゆるものがハッキングされる可能性があります。

バイナリセキュリティの方向に比べて、この方向は初期段階から始めやすく、いくつかの基礎技術を習得した後は、既製のさまざまなツールを使用してハッキングすることができます。

ただし、スクリプト小僧からマスターハッカーに変わりたい場合は、この方向に進むほど、より多くのことを学び、習得する必要があります。

ネットワークの浸透の方向性は「実戦」に傾いているため、ネットワーク ハードウェア デバイス、ネットワーク通信プロトコル、ネットワーク サービス (Web、電子メール、ファイル、データベースなど) から、オペレーティングシステム、攻撃方法などを知る必要があります。私は、さまざまなテクノロジーを「実戦」のために統合できる、総合的なコンピューターの専門家になりたいと考えています。

さて、学習ルートですが、内容が少し長いので、最初は3つのリンクから始めて、迷子にならなくても間に合うと思います。

学習パス


ネットワークの侵入を例として、初心者がゼロ基礎から何を学ぶ必要があるのか​​、そして具体的な学習ルートは何なのかを見てみましょう。

まず、全体を全体的に把握することから、全体像を把握します。

このロードマップでは全部で 6 つのステージがありますが、すべてを学ばないと仕事に就けないというわけではなく、ジュニアポジションによっては第 3 ステージと第 4 ステージを学べば十分です。

最良の効果を得るには、次のコンテンツを上の画像と組み合わせる必要があります。ブラウザで新しいタブ ページを作成し、画像を開いて一緒に見ることをお勧めします。

[セキュリティの学習に役立つ [クリックしてください] を 1 つずつ] ①ネットワーク セキュリティの学習ルート ②ペネトレーション テストの電子書籍 20 冊 ③セキュリティの攻撃と防御 357 ページのノート ④セキュリティの攻撃と防御のインタビュー ガイド 50 冊 ⑤セキュリティ レッド チームのペネトレーション ツールキット ⑥ネットワーク セキュリティの必需品書籍 ⑦100 脆弱性の実例 ⑧大手セキュリティ工場の社内チュートリアル

石器時代の
最初のステージである石器時代は、アリーナに入ったばかりの純粋な初心者シャオバイを対象としています。この段階では主に基礎を築くことになります。学習する部分は次の 5 つです。

Windows
上のいくつかの基本的なコマンド、PowerShell と簡単なスクリプトの使用、および Windows が将来頻繁に扱うことになるいくつかの重要なコンポーネントの使用 (レジストリ、グループ ポリシー マネージャー、タスク マネージャー、イベント ビューアーなど)。

さらに、Windows 上で仮想マシンを構築する方法、システムのインストール方法を学び、次の Linux の学習に備えます。

Linux
ネットワーク セキュリティの場合、Linux に頻繁に対処する必要があるため、多くの新人がトレーニング コースを受講してすぐに Kali を学習するのを見てきました。Linux の基本的な概念も確立していない状態で、Kali を学習したいと考えていますが、これでは歩くことを学ぶ前に走ることを学ぶことになり、本末転倒です。

基礎段階では、主に使用方法に基づいて、テキスト編集、ファイル、ネットワーク、権限、ディスク、ユーザーなどに関連するコマンドを学習し、Linux の基本を理解します。

コンピュータ ネットワーク
ネットワーク セキュリティ、コンピュータ ネットワークは確かに存在するために非常に重要です。このセクションでは基礎段階として、特定のプロトコルの特定の分野の意味に固執するのではなく、主にマクロの観点からコンピュータ ネットワークを研究します。

まず、ローカル エリア ネットワークから始めて、コンピュータ通信の基本ネットワークであるイーサネットについて理解します。ローカル エリア ネットワークで通信するにはどうすればよいですか? ハブとスイッチの違いは何ですか? MAC アドレス、IP アドレス、サブネット、サブネット マスクは何に使用されますか?

その後、より大きな広域ネットワーク、インターネット、ネットワーク通信プロトコルとは何か、通信プロトコルの階層化につながり、7 層モデルと 4 層モデルを通じて、コンピュータ ネットワークの基本概念、機能が急速に確立されます。プロトコルの各層の説明、およびそこに存在するプロトコル、今日のインターネットでプロトコルがどのように適用されているか。

Web の基本
ネットワーク侵入の非常に重要な部分は Web セキュリティです。Web セキュリティを学ぶには、まず Web フロントエンドの基本から始める必要があります。

このセクションは非常にシンプルで、HTML+CSS+JS の開発と使用という最も原始的な Web フロントエンドの 3 つのコツを学ぶもので、将来 Web 関連のセキュリティ知識を学ぶための基礎となります。

このセクションは比較的実践的なものであり、より実践的な Web プログラミング、特に JavaScript に精通し、Ajax とは何かを理解し、Web フロントエンドで非常に基本的かつ重要である一般的に使用される jQuery ライブラリを学習する必要があります。 。

データベースの基礎
基本段階の最後の部分では、データベースの基本的な知識を習得できます。

この段階では、主にライブラリ、テーブル、インデックスなどの概念を習得することに重点を置いて理論的な知識を学び、次に SQL の書き方を学び、データの追加、削除、変更、クエリを学びます。一時的にプログラミングを使用してデータベースを操作しないでください。

青銅器時代
が石器時代を通過し、オペレーティング システムの使用、ネットワーク プロトコル、フロントエンドの基本、データベースの初期知識など、コンピューターの基本的な知識はすでに蓄積されていますが、これだけではネットワーク セキュリティを実現するには十分ではありません。 2 番目のブロンズ ステージでは、さらに基礎を学ぶ必要があります。最初のステージを過ぎると、徐々に難易度が上がり始めます。

この段階で学ぶべき知識は次のとおりです。

高度な Web
以前の石器時代、私たちは Web プログラミングについて予備知識を持ち、Web ページの基本原理を理解していました。しかし当時は、バックエンドには触れず、純粋にフロントエンド、純粋に静的な Web ページでした。この高度な段階では、Web バックエンドのコンテンツに触れ始める必要があります。

まず、一般的に使用されている 2 つの主流 Web サーバーから始めて、Apache と Linux の基礎知識を学び、次に動的 Web ページの基本原理を紹介し、CGI/Fast-CGI から ASP/PHP などの後の動的 Web ページ テクノロジへの移行を説明します。 /ASPX/JSP を理解し、その歴史、進化、基本的な動作原理を理解します。

最後に、Web 開発における基本的な知識 (フォーム操作、セッション/Cookie、JWT、LocalStorage など) を学び、これらの基本用語の意味、用途、解決策を理解します。

PHP プログラミング
Web バックエンド開発を学ぶには、バックエンド開発言語を学ぶ必要があります。このセクションでは、PHP から始めることを選択します。

ただし、ここで PHP を選択するということは、将来 PHP のバックエンド開発に従事できるようにするためではなく、また、PHP が現在どれほど人気が​​あるかを意味するものでもありません。しかし、特定の歴史的背景では、PHP 関連の Web サイトのセキュリティ問題は非常に代表的なものであるため、この言語を選択してください。セキュリティ問題を研究するのに便利です。

学習目的が異なるため、通常のバックエンド開発とは学習方法が異なります。ここでは文法の基礎、基本的なバックエンドリクエスト処理、データベースアクセスを学び、その後よく使われるThinkPHPフレームワークに触れていきますが、興味がある方はもちろん勉強したほうが良いでしょう。

高度コンピュータネットワークの
第 2 段階では、コンピュータネットワークの研究を充実させる必要がある。今回は、HTTP/HTTPS とパケット キャプチャの分析に焦点を当てます。

共通パラメータ設定を含め、Linux 上の tcpdump をマスターする必要があります。次に、Wireshark を学習してデータ パケットを分析し、Fiddler を使用して暗号化された HTTPS トラフィックをキャプチャして分析することに集中します。

パケット キャプチャ ソフトウェアの下で通信フローを見ることによって、コンピュータ ネットワークの理解が抽象的なものから具体的なものへと変わります。

暗号化・復号化技術
次に、ネットワークセキュリティの分野でよく扱われるコーデック技術や暗号化・復号化技術について学びましょう。Base64 エンコード、対称暗号化、非対称暗号化、ハッシュ技術などが含まれます。

それらの基本概念、それらが何に使用されるか、それらがどのような問題を解決するかを理解し、最終的にそれらがどのように機能するかを理解します。

おすすめの本:「暗号化と復号化」

シルバーエイジ
は現在、第 3 段階であるシルバーエイジに突入しており、エキサイティングな瞬間が来ています。この段階で、私たちは本物のネットワーク セキュリティ技術を本格的に学び始めています。前の 2 つの段階で築いた基盤もまた整ってきます。ハンディ。

この段階で学ぶべき知識は次のとおりです。

Web セキュリティの入門
これまでの Web フロントエンドと PHP プログラミングの基礎があれば、Web セキュリティを正式に学ぶことができます。Webセキュリティ分野における代表的な攻撃手法としては、SQLインジェクション、XSS、CSRF、各種インジェクション、SSRF、ファイルアップロードの脆弱性などが挙げられ、理論と実践を学びながらそれぞれを詳細に検討する必要があります。

インターネット上の Web サイトを利用して学習を攻撃することは違法行為ですので、ご注意ください。仮想マシンの脆弱性を含むいくつかの Web サイトを構築し (インターネット上にダウンロードして再生できる Web サイトが多数あります)、構築した Web サイトを使用して練習することができます。

ネットワークスキャンとインジェクション
Webセキュリティの攻撃手法はいくつか学びましたが、それだけでは不十分で、攻撃対象に直面した場合、攻撃ポイントをいかに見つけ出し、対象情報を入手するかが非常に重要です。

この情報には、ターゲットが実行しているオペレーティング システム、開いているポート、実行しているサービス、バックエンド サービスの種類、バージョン情報など、悪用される可能性のある脆弱性が含まれます。この情報を取得することによってのみ、私たちは攻撃的な攻撃手段を考案し、ターゲットを倒します。

一般的なネットワーク情報スキャンには、ポート スキャン、Web サイトのバックグラウンド スキャン、脆弱性スキャンなどが含まれます。一般的なスキャン ツールとその仕組みを学ぶ必要があります。

情報収集とソーシャル エンジニアリング
上記のスキャンが必要な情報に加えて、ネットワーク セキュリティでは、Web サイトの登録情報、関連する文字、Web サイト内のコンテンツの取得など、多くの情報を調査する必要があることがよくあります。 。これには、情報収集とソーシャル エンジニアリングの関連技術を学習し、習得する必要があります。

Whois情報はドメイン名情報のクエリに使用され、shodan、zoomeye、fofaなどのサイバースペース検索エンジンはIP、ドメイン名、URLなどの背後にある情報を取得し、Googleハッキングは検索エンジンを使用してWebサイトの内部情報を取得します。これらはよく使用されます。使用されるネットワーク情報収集スキル。

ブルート フォース クラッキング
ネットワーク攻撃において、ターゲットのオープン サービスがスキャンされる場合、最も直接的なのはログインです。一般的なサービスには、SSH、RDP、MySQL、Redis、Web フォームなどがあります。

現時点では、さまざまなサービスの共通のユーザー名とパスワードで構成される辞書を使用し、プログラムを介してブルート フォース クラッキングを行うブルート フォース クラッキングが通常便利です。

一般的に使用されるブラスト ツールには、hydra、超脆弱なパスワード、および Windows システム パスワードを取得するためによく使用される mimikatz などがあります。

黄金時代


最後の段階では、セキュリティ攻撃技術をいくつか学びましたが、この段階では、セキュリティ防御技術とセキュリティ検出技術について学ぶ必要があります。セキュリティには攻撃面と防御面があり、両方が不可欠です。

WAF テクノロジー
最初に学ぶのは、WAF (Web Application Firewall) です。

Web セキュリティは、Web テクノロジーを通じてコン​​ピュータ システムを攻撃することを学習し、WAF はこれらのセキュリティ攻撃を検出して防御することを学習します。ことわざにあるように、自分と敵を知ることであらゆる戦いに勝つことができます。攻撃者としては、WAF の動作原理を習得し、検出を回避する弱点を見つける必要があります。防御者としては、セキュリティ検出と防御機能を効果的に強化するために継続的に強化する必要があります。 Web 攻撃を発見して防御します。

openresty、modsecurity など、現在の主流の WAF ソフトウェアで採用されているアーキテクチャと、機能ベース、動作ベース、機械学習ベースなどのいくつかの主要な検出アルゴリズムを学習する必要があります。

ネットワーク プロトコル攻撃と侵入検知
WAF は主に Web 関連のセキュリティ攻撃を目的としていますが、このセクションでは、TCP ハイジャック、DNS ハイジャック、DDoS 攻撃、DNS トンネリング、ARP スプーフィング、と ARP フラッディング 待ってください。これらの伝統的な古典的な攻撃手法の原則を習得し、実践のための環境を構築し、その後のイントラネット侵入の基礎を築く必要があります。

さらに、防御側として、ネットワーク トラフィック分析テクノロジーによるセキュリティ検出を学習し、一般的に使用されるネットワーク分析テクノロジー、検出フレームワーク、ルール構文を理解し、将来のセキュリティ関連の開発またはセキュリティ防御作業に備える必要もあります。

ログ テクノロジーは
、ログを通じて攻撃動作を発見する最も一般的な動作であり、攻撃者の Web リクエスト、システム ログイン、ブルート フォース クラッキングの試みなどがシステム内のさまざまなソフトウェアによって記録され、攻撃者は関連するログ記録を消去することがよくあります。したがって、これらの丸太を使いこなすことを学ぶことは、攻撃チームと防御チームの両方が学ぶ必要があるスキルです。

一般的なログには、システム ログイン ログ (Windows、Linux)、Web サーバー ログ、データベース ログなどが含まれます。

Python プログラミング
この段階では、Python プログラミング開発を学習します。ネットワーク セキュリティでは多くのエンジニアリング開発が必要になることはあまりありませんが、基本的なプログラミング スキルを習得することは非常に役立ちます。これは、クローラ、データ処理、ネットワーク スキャン ツール、脆弱性 POC などの作成に使用でき、数あるプログラミングの中でも特に役立ちます。言語としては、間違いなく Python が最適です。

ブラウザのセキュリティ
このステージの最後の部分では、ブラウザ側のセキュリティ知識を学び、Web セキュリティにおけるブラウザ関連の脆弱性攻撃を統合します。

IE と Chrome の 2 つの最も主流なブラウザ機能、ブラウザのサンドボックス メカニズムとは何か、同一オリジン ポリシーとクロスドメイン テクノロジなどを習得することに重点を置く必要があります。

プラチナ時代


サードパーティ コンポーネントの脆弱性を
狙った Web セキュリティ関連の攻撃は、長年にわたって行われてきた古典的な手法であり、長年の開発を経て、かなり成熟したものとなっています。サードパーティ コンポーネントの脆弱性はすでに完成しているため、これらの脆弱性の調査と研究が行われています。一般的なサードパーティ製コンポーネントを使用して、実際の戦闘で使用するためにこれらの攻撃方法を習得することは、一方では、同様に、脆弱性マイニングの作業にも非常に役立ちます。

研究対象は主に、Java テクノロジースタックシリーズ Spring Family Bucket、SSM、Redis、MySQL、Nginx、Tomcat、Docker など、現在のインターネット サービスで実際に使用されているいくつかのエンジニアリング コンポーネントをカバーしています。

イントラネットペネトレーション
ネットワークペネトレーションでは、ポイントを捕らえた後は始まりに過ぎず、ペネトレーション後にさらに多くのノードをどのように転送して制御するかがイントラネットペネトレーションの調査研究の範囲です。典型的な例は、今年のエターナル ブルー ウイルスです。このウイルスは、SMB プロトコルの抜け穴を通じて急速に拡散し、広範囲に感染を引き起こしました。

イントラネットの侵入には学ぶべきことが多く複雑で、難易度は大幅に上がりますが、これはネットワークの侵入において非常に重要な部分なので、もっと理解する必要があります。この部分には理論が少なく実践的な部分があり、学習をシミュレートするためのより多くの環境を構築する必要があります。

OSのセキュリティ技術&権限昇格技術&仮想化技術は
Webなどを通じてコン​​ピュータに浸透しており、様々な制限により権限昇格が要求されることが多く、OSのセキュリティ機構と密接に関係する内容も多く含まれています。したがって、オペレーティング システムのセキュリティに関する知識を学ぶことも必要です。

WindowsとLinuxそれぞれの権限管理の仕組み、権限昇格の方法、よく使われる脆弱性、ツールなど。

最後に、仮想マシンから脱出する必要があるシナリオに対処するために、仮想化テクノロジーに関する知識を学びます。

王の時代


CobalStrike と MetaSploit は
ネットワーク侵入に関与しており、これら 2 つのアーティファクトは絶対に不可欠です。情報スキャン、脆弱性攻撃、イントラネット侵入、トロイの木馬の埋め込み、ポート バウンス、および以前に学習したその他のテクノロジは、これら 2 つの成果物を通じて包括的に使用および統合できます。同時に、これら 2 つのツールは主要なハッカー チームによって頻繁に使用されています。

 これら 2 つのアーティファクトの使用方法を学習すると、攻撃効率が大幅に向上するため、自宅や旅行中のネットワーク侵入者にとって必須の選択肢となります。


他のセキュリティ テクノロジは、ネットワーク普及の後期段階まで拡張されています。セキュリティの専門家になりたい場合は、自分の専門分野にとどまらず、知識を広げるためにネットワーク セキュリティの他の分野についてさらに学ぶ必要があります

バイナリ脆弱性攻撃、リバース エンジニアリング、トロイの木馬テクノロジー、カーネル セキュリティ、モバイル セキュリティ、サイド チャネル攻撃など。もちろん、勉強するときは、学生ほど専門的な方向に深く進む必要はありませんが、必要なことはあります。少し試して理解し、知識を深め、包括的なネットワーク セキュリティの知識とスキル スタックを構築します。

上記は私が共有したネットワーク セキュリティの学習ルートです。独学で学習する皆さんのインスピレーションと助けになれば幸いです。
 

おすすめ

転載: blog.csdn.net/2301_77732591/article/details/130869702