💡 川の特徴 このレッスンは、Linuxカーネルハッキングに関する全体的な知識 を学ぶためのレッスンです。
Linuxカーネルハッキングは 、国内で勉強できる資料が非常に不足している分野であり、環境構成段階から数多くの苦労がある分野です。しかし、この講義を受講すれば環境構成 はもちろん、様々な保護技術の迂回方法 や各種脆弱性 について簡単に勉強できます。
また、単に特定のツールの使い方だけを教えたり、既によく知られたハッキング技術を再紹介するレベルに過ぎない他の情報セキュリティ講義とは異なり、 low-level での動作原理に基づいて各種エクスプロイトテクニック を紹介することがこの講義の特徴です。
▲Linuxカーネルの脆弱性を利用して権限上昇を起こした様子
近年、メジャーなCTFでは、Linuxカーネルの問題が着実に出題されています。最近の場合、出題頻度がさらに増加する傾向です。この講義を「完全に」 理解していれば、CTFで出題されているLinuxカーネルの問題はほとんど解決することができますし、リアルワールドで脆弱性を見つけるのにも大きな助けを得ることができると言いたいと思います。
最後に、この講義の最大の特徴は、講義ごとに講師が直接制作した実習例ファイル を提供してくれることです。これらの練習サンプルファイルを使用すると、受講生の皆さんが自分の講義に従い、デバッグを試すことができます。
📖 各セクションでは何を学びますか?
▲セクション4.6。 userfaultfd活用技術講義資料
この講義は、ほとんどの場合、上記の例のように、キーノート を使用した発表で構成されています。
本格的に講義を始める前に、講師の簡単な紹介と講義計画を説明するセクションです。
セクション1. Linuxカーネルハッキングの背景知識 Linuxカーネルをハッキングするための基本的な背景知識を勉強するセクションです。
Linuxカーネルをデバッグできる環境を構成する方法を学ぶセクション。 Real Worldの環境設定プロセスでは、Linuxカーネルとファイルシステムを直接構築し、CTFの環境設定プロセスでは問題を解決するための準備プロセスを学びます。
セクション3. Linuxカーネルの保護技術と迂回方式 Linuxカーネルのさまざまな保護技術について学び、各保護技術を迂回できるテクニックを実践を通して勉強してみるセクションです。勉強してみる保護技法はインテル系アーキテクチャの保護技法であり、合計6種類の保護技法を勉強してみる予定です。また、このセクションからは、各講義 ごとに実習サンプルファイルが提供されます。
セクション 4. 様々なカーネル攻撃テクニック実習 Linuxカーネルの脆弱性が発生する状況で特権の上昇を引き起こす可能性があるさまざまなテクニックを勉強するセクションです。
セクション5. さまざまなLinuxカーネルの脆弱性の分析 Linuxカーネルで発生する可能性のあるさまざまな種類の脆弱性を学ぶセクション。
セクション 6. コンテスト問題の実践 - Input Test Driver 実際には、CTFに出題されたLinuxカーネルの問題を解決するセクションです。解決する問題は、インストラクターが所属するチームで運営された大会である2020 Defenit CTF から出題されたInput Test Driverの問題です。
Linuxカーネルを勉強する際に役立つリファレンスを紹介した後、講義を終えるセクションです。
✏️講義を聴くための背景知識
1. C言語
1.システムハッキング関連の知識 (BOF、ROP、UAFなど) 2. アセンブリ言語 (x86_64)
🙋🏻♂️ 予想される質問 Q&A
Q. 私はシステムハッキングをしたこともなく、アセンブリ言語も知らないのに講義を聞くことができますか? A. 各講義を制作する際、システムハッキングが主な分野ではない方も聞けるように制作したため、新しい用語が登場するたびに講義にそれについての説明が入っています。
しかし、これは要約された説明なので、知らない概念が登場したときにGoogle検索と並行して勉強しなければならず、システムハッキングに関する知識がない状態で受講する場合、学習期間がはるかに長くなることを念頭に置かなければなりません。
Q. Linuxはどのバージョンを使用しますか? A.私の場合、Ubuntu 18.04バージョンを使用しました(https://releases.ubuntu.com/18.04/)
Q. 講義が連載式講義だが、残りの講義はいつ上がりますか? A. 現在、すべての講義のアップロードが完了しました。