Preparation
Kernelのソースコードを読める・デバッグできる環境を作る
本セクションでは、kernellandの基礎的な技術について触れていきます。 本セクションの目的は、講義当日の内容を理解し手を動かせる状態にしておくことです。
本セクションでは、以下のことを扱います:
本セクションを進める際には、以下のことを意識してみてください:
vmlinux
を利用して、GDBで動かしながら該当の処理を追う各章には題材となるChallengeを用意しており、 それに対するexploitを書いていくという形で進めていきます。 モジュールやexploitに関連するコンポーネントについては、それぞれ対応するソースコードを提示してあるため、 是非ソースコードを追いながら進めていってください。
全ての問題においてデバッグシンボルが付いたイメージを配布しています。 また、全ての問題は実際にリモートサーバ上で動作しています。 自分自身でexploitを組み立ててFlagを取ってみてください。
Kernelのソースコードを読める・デバッグできる環境を作る
簡単なkernel exploitの実践とGDBアシストされたソースコードリーディング
syscallの原理とページテーブルに関するセキュリティ機構とROPを使ったbypass
SLUBアロケータの概要と、kernelで使われる構造体を利用した攻撃
SLUBにおけるUAFとTOCTOU