4年生の多木優馬です。10月24日から10月28日までComputer Security Symposium(CSS)とCODEBLUEに参加してきたので、参加記をまとめます。

関連記事

CSS2022参加記

CSS2022では、デモンストレーションセッションで発表を行いました。自分がデモセッションで発表した 「プロセッサエミュレータQEMUを用いた組込み機器へのROP攻撃のデモンストレーション」は、多くの方に来ていただき、ROP対策のセキュリティ機構や今後の研究方針について、意見を交換することができました。頂いた主なコメントは以下の通りです。

  • より多くのアーキテクチャにROP検証を行えると良いかも
  • QEMUでは、-d EASMオプションを使うとデバッグしやすくなる
  • 環境構築にBuildrootを使うと便利
  • ROP検証はいろんなアーキテクチャに応用すると喜ぶ人が多いけど、ROP対策はサーベイを重ねないと厳しいかも
  • ROP対策として、スタック保護を実装するといいかも
    • リターンアドレスの異常検知
    • 制御フローのログを取り、簡易CFIのようなものの実装

また、IoTセキュリティTrackやシステムソフトウェアTrackに参加し、多くの発表を聴くことができました。セキュリティ機構の実装方法がメインの発表から、攻撃手法の解説がメインの発表まで、様々な発表を聴けて本当に楽しかったです。参加したTrackは下記のとおりです。

  • CSIRT・脆弱性分析
  • IoTセキュリティ
  • ハードウェアセキュリティ
  • システムソフトウェア
  • ソフトウェアセキュリティ
  • 耐量子計算機暗号
  • OSS開発
  • 脅威インテリジェンス

特に印象に残ったのは以下の発表です。

IoTマルウェアの感染処理に着目したアクセス制御手法の提案

まとめ

近年、IoT機器のソフトウェア脆弱性を突いたマルウェアが増加している。LinuxベースのOSを搭載したIoT機器にはアプリケーションプログラムのバイナリに適用可能なセキュリティ機構の実装率が低い。対策として、侵入防止、侵入されても抑制できるものが必要。 そこで、LinuxベースのOSを搭載したIoT機器へのセキュリティ対策を提案する。 システムコール単位でのアクセス制御を行うことで、シェルの起動を検知して第一引数を確認したり、execveによるシェルの起動を禁止したりと、マルウェア特有のシステムコール呼び出しを検知する。

感想

マルウェア対策として、システムコールの制限を行うという手法があるのだと学べた。自分もx86へのROPの際にexecve(/bin/sh)によるシェルの奪取を行っていたため、低スペックな組込み機器へのROP対策にも応用できるかもしれない。

xltrace: クロスアーキテクチャに対応したライブラリ関数のトレース手法

まとめ

IoTマルウェアが増加しており、効率的な解析技術が求められている。IoTマルウェアの特徴として、対応アーキテクチャが豊富、シンボル情報が消去されている、ライブラリ関数を静的統合している、といったものが上げられる。IoTマルウェア解析では、ライブラリ関数レベルでの解析手法が不足している。ライブラリ関数の分析は、そのプログラムの動作内容の分析に大きく役立つため重要。 そこで、ライブラリ関数の呼び出し検知と、引数の取得を自動で行うツールを開発した。

感想

脆弱性対策の研究として、解析しやすくするツールの作成を行っている研究。ROPを直接的に防ぐのではなく、解析しやすくすることで発生させにくくする、脆弱性の早期発見を行うという方向性も自分の中で生まれた。

最新のLinuxカーネルに対するエクスプロイト可能性

まとめ

カーネルに対してのセキュリティ機構として、SMEP, SMAP, KASLRが存在する。上記が有効であり、かつFUSEが無効であっても実用可能なエクスプロイトを発見。heapの脆弱性を利用し、KASLRを回避し、msg_msgを利用した任意読み込みを行わせる。 対策として、FGKASLR(関数単位でのランダマイズ)の実装、Rustを用いたメモリ安全の確保が有効そう。

感想

内容が難しく、あまり理解することができなかったので、まとめに書いてあることも少しズレているかもしれない。CTFのPwnの知識が使われていて、すごく難しいPwnの問題を解いて、それを発表し、対策法を提示したような発表で、将来こんな発表ができたら、と思った発表だった。

CODEBLUE参加記

CODEBLUEでは、セキュリティ業界の第一線で活躍している人の講演を生で聴くことができ、またU25枠での発表も行いました。講演では初見の技術や用語が多く、ほとんど理解することができませんでしたが、自分がやっていることを極めるとこんな結果がだせるという1つの指標になりました。 U25枠で採択された、「組込み機器はROP攻撃に対応できているか?」ですが、かなり緊張して、予定の10分ほど早く発表を終えてしまったり、頂いた質問にうまく答えられなかったりと、全体的に悔いが残る発表となってしまいました。発表内容は何らかの形で公開したいと考えているので、是非ご覧いただければと思います。

Contestブースでは、GMOサイバーセキュリティ byイエラエさんのWebハッキング体験 forビギナーズに参加させていただきました。Webセキュリティの知識は全くありませんでしたが、攻撃の観点からのWebの知識をすこし学ぶことができました。 また、ネットワーキングパーティーでは、学生スタッフの方々、SecHack365の同期、OSセキュリティについて研究している方、CSSのデモ発表でも来てくださった方など、多くの人と交流することができました。

印象に残っている講演は以下の通りです。

偽プレリリースの背後に「認知作戦」の影 サイバー情報戦の謎に迫る

まとめ

現代では偽情報は大敵。2020年9月にはカスペルスキー社を騙った偽のプレリリースが出回り問題になった。これらの偽情報は中国による認知作戦の可能性が高く、また国家レベルのハッカーの関与の可能性も存在する。

感想

SNSやWebサイトで偽情報が横行している今、重要性の高い話題だと感じた。自分も知らず知らずのうちに偽情報を掴まされているかもしれないので、今後SNSやWebサイトでの情報収集は慎重に行う。

Pwn2Ownでプリンタをハッキング

まとめ

Pwn2Ownというイベントで、インターネット接続されているCanon、HPのプリンタをハッキングした。ファームウェア解析が困難だったが、なんとか解析出来て、Canonには、スタックバッファオーバーフローによる攻撃、HPには、難しい攻撃手法で攻撃し、制御を奪うことができた。

感想

攻撃手法、解析手法に関して詳しく発表されていたが、そのほとんどが理解できなかった。 ただ、ROP, メモリ管理(ページング), SSPやNX bitといったメモリ保護,CPUアーキテクチャについてなど、これまで自分が勉強してきたことが全て出てきて、それらの知識を極めると、こうなるんだという目標になった。

おわりに

10月24日から28日までの5日間、多くの実りがありました。CSS2022では、現在行っている研究の改善案を頂けたこと、CODEBLUEでは、将来の目標となる講演を聴くことができたこと、この5日間を振り返ってみて、本当に良い経験をさせていただいたと思います。 この経験は、担当教員の方のご支援がなければ得られませんでした。夜遅くまでミーティングや論文の確認に付き合っていただいた湯村先生、福光先生にこの場をお借りしてお礼申し上げます。