攻撃者が脆弱性を悪用するために最も普及している手法のひとつに、ROP(Return Oriented Programming:リターン指向プログラミング)がある。攻撃処理の最中に何度もコードが通常よりもかなり異なる形で動作、例えば、呼び出し処理が関数の途中で行われたり、関数は呼び出し元に戻らないなどがおこる 。プロセッサの行った全ての命令のログが取れていれば、これらの制御フローにおける例外を検知できるだろう。
過去においては、プロセッサの実行内容をトレースすることは深刻なスピードダウンを招き、対脆弱性攻撃メソッドなどを実行困難な状態にしていた。しかし、最近のインテルのプロセッサ、BroadwellやSkylakeといったものは、今ではProcessor Traceという機能を通して、少ないオーバーヘッドで実行をトレースできる。似たような機能では、新しいARMプロセッサに存在するCoreSightというものがある。
この講演では、これらの新しいプロセッサの機能を使って、ファイルをスキャンして制御フロー妨害を検知する、我々の作った対脆弱性攻撃システムについて説明する。
--- ロン・シナ Ron Shina
ロン・シナは、フリーのセキュリティ研究者である。
ロンは10年以上のバイナリーコードと格闘した経験をもつ。数学に多くの時間を割いてきたこともあり、セキュリティ研究やリバース・エンジニアリングの中からアルゴリズムを見つけることを楽しんでいる。彼は、イスラエル国防軍のTalpiotプログラムの卒業生である。暇があれば、ジャンプ・シュートに取り組んでいる。
--- シュローミ・オーバーマン Shlomi Oberman
シュローミ・オーバーマンは、10年以上の研究経験を持つフリーのセキュリティ研究者である。シュローミは長年、多くの企業のための攻撃者の業務経験があり、意志の強い攻撃者を止めることがいかに難しいかを熟知している。過去数年、彼の興味は以前のようにセキュリティを単純に破ることから、ソフトウェア作成・リリース後のエクスプロイトをいかに防ぐかを手助けすることにシフトしている。シュローミはIDFインテリジェンス社のベテランであり、NSOグループや他の企業にセキュリティ研究をリードする立場にある。