- 著者
-
竹迫 良範
- 雑誌
- 第53回プログラミング・シンポジウム予稿集
- 巻号頁・発行日
- vol.2012, pp.129-136, 2012-01-06
近年WebブラウザはJavaScriptの実行速度を向上させるためにx86JITエンジンを搭載しているが、これらのJITエンジンには任意のx86コードを実行されてしまう脆弱性が存在する。JITエンジンは自分自身で生成したコードを実行するため、書き込み可能なメモリ領域を確保し、実行フラグを立てる。最近のWindowsOSでは、DEP(データ実行防止)機能があり、スタックやヒープ領域でx86コードが実行されることを防いでいる。さらにASLR(アドレス空間配置のランダム化)では、DEPやASLRを突破する新しい攻撃として、Return-Oriented ProgrammingやJIT-Sprayingと呼ばれる手法が知られるようになった。本発表では実際にJavaScriptのJITエンジンを使って任意のx86コードを実行する方法を解説し、このようなx86 JITコンパイラの脆弱性を保護する安全なコード生成手法について考察する。