攻撃方法から学ぶ「脆弱性対策のポイント」
一方、今年の全国大会でも講師を務めた木村氏は、OSのカーネルの脆弱性を利用して権限昇格し、システムの権限を奪う「カーネルエクスプロイト」の基本テクニックや脆弱性対策のポイントについて解説した。
カーネルでは階層に応じて実行できる権限を切り分ける「リングプロテクション」が採用されている。しかし、カーネル内の処理に脆弱性があると、リングプロテクションを乗り越えて最高権限で任意のコードを実行することも可能だ。講座では、脆弱なドライバを利用して関数ポインタや戻りアドレスを任意の攻撃コードなどに書き換え、制御を奪う演習が行われ、参加者たちはセキュアなシステムソフトウェア開発の重要性を学んだ。
講師を務めることは頭の整理につながり、初心に立ち返ることができると木村氏は言う。特に今回のテーマは要求される前提知識が多かったことから、「もう少しかみ砕いて説明して、全体像が見えやすいようにすれば良かったかな……」と真摯に内省する姿も見せた。
「最近は、ソースコードやエクスプロイトのコードを読んでまねして書いたり、まだ誰もハックしていないガジェットで遊んだりしています」
基礎知識がある程度固まったら、後はとにかく実践を積むことが実力を伸ばす秘訣だと断言する。
今は常に仕事を4つ、5つ抱えている状態という木村氏。何かの仕事で煮詰まったとき、他の仕事に手を付けて気分転換するのが、知的好奇心を絶やさないための自分なりの工夫だそうだ。
* * *
長い1日が終わり、頭をフル回転させた参加者たちは皆「疲れた」としながらも「楽しかった」と声を揃える。
最後に、セキュリティ・キャンプ実施協議会、キャンプ企画・実行委員会のはせがわようすけ氏はこうまとめた。
「理解できたと満足した人もいれば、何もできなかったと打ちのめされた人もいると思います。でも、そこを乗り越えてなお続けられる人が技術をモノにできます。今日登壇した講師は、そんな先輩たちです。ぜひ皆さんも諦めず、今後も引き続き励んでもらえればと思います」(はせがわ氏)