静的解析に基づく侵入検知システムの最適化.pptVIP

静的解析に基づく侵入検知システムの最適化.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
静的解析に基づく侵入検知システムの最適化

静的解析に基づく侵入検知システムの最適化 大山 恵弘 (科学技術振興事業団) 王 維    (筑波大学) 加藤 和彦 (筑波大学?科学技術振興事業団) 背景 C言語 = 大大大迷惑で危険な言語 世界に大きな脅威と経済的損失 ex1. バッファオーバフローで乗っ取り ex2. スタックやヒープが壊れて誤動作 しかし、今すぐC言語を駆逐するのは無理 支援システムでC言語の欠陥を補いましょう バッファオーバフロー サイズを越えてデータをバッファに注入 スタック、ヒープの破壊 制御フローのねじ曲げ 突然libcのexecに突入 注入したバイナリコード先頭にジャンプ Cプログラムを安全に 実行するための方策 型安全性の導入 [Oiwa et al. 02] Stack-smashing攻撃防止システムの導入 [Cowan et al. 96], [Etoh] 侵入検知システムの導入 他多数… 侵入検知システム 基本的な動き プログラムの実行を監視 侵入を検知 → 対策を取る 検知方式 シグネチャ検知: 「異常」の規則を保持 ex. 原始的なAntivirus 異常検知: 「正常」の規則を保持 異常検知システム 方法 プログラムのモデル(正しい動作を表す規則)を作成 モデルに従わない動作 = 異常と判定 長所 未知の攻撃を検出可能 本研究の目的 実用的な異常検知システムの構築 小さいオーバヘッド 高い検知精度 使用が容易 以降の流れ 異常検知システムの設計軸 既存の方法 既存の方法の問題 本研究の方法 実験 議論?関連研究 異常検知システム作ろう! 異常検知システム作ろう! といっても色々考えることがある 何を監視するか? モデル(正しい動作を表す規則)を どうやって作るか? 何を監視するか? キータイプ パケット システムコール 制御スタック ヒープ モデルをどうやって作るか? 人間が頭をひねって書く [Ko et al. 94], [Sekar et al. 99] 問題: 計算機の専門知識が必要 過去の正常な実行を一般化?学習 [Forrest et al. 96], [Sekar et al. 01] 問題: 学習のためにプログラムを実行するのが面倒 プログラムの静的解析による自動生成 [Wagner et al. 01], [Giffin et al. 02] 本研究のアプローチ 制御フローを監視しながら実行 モデルに無い制御フローを辿った → 異常 システムコール呼び出し時に制御の状態を検査 Wagnerらの方法 [Wagner et al. 01] の改良 Wagnerらのシステム モデル 実行の監視 問題点 プログラムの内部状態を正確に把握 しない 制御の場所を非決定的に把握 問題点1: オーバヘッドの増加 実用的とは言い難い性能 問題点2: 攻撃の見逃しの増加 我々の考え 静的解析でモデルを作る着眼は良い しかし、システムコール列のみを検査対象にするのはいかがなものか プログラムの内部状態をもっと取得?活用してもいいのでは? イメージ 提案方式 モデル 制御の移動を表すオートマトン 検査方法 システムコールでプログラムを停止 スタックを検査 前回停止時のスタックから現在のスタックへの制御フローがモデル中にあるかどうか調べる 遷移可能性の検査 現在はナイーブなやり方 スタックの各フレームごとに遷移の存在を検査 popするパスの探索 pushするパスの探索 実装 モデル生成機能つきコンパイラ部 GCCを改造して作成 工数: 0.018人年 実行監視部 別プロセスによる監視 カーネルモジュールによってプロセスを操作 システムコールをフック レジスタ?スタック情報の取得 特徴 Wagnerらの方法 偽警報が出ない (正常を異常と誤判定しない) モデルを作る手間がかからない 加えて、本研究のシステム Wagnerらの方法より オーバヘッドが小さい(?) 見逃す攻撃が少ない 実験 環境 Pentium 4 (2.8GHz) 上のVMware Red Hat Linux 7.1 アプリケーション wc: 22MBのファイルのカウント cp: 22MBのファイルのコピー tar: ソースツリーのtarファイルを作成 結果 関連研究: 異常検知システム 関連研究: バッファオーバフロー対策 Non-executable stack, StackGuard [Cowan et al. 96], propolice [Etoh] 関数ポインタを書き換える攻撃を防げない Program shepherding [Kiriansky et al. 02] 全ブランチ命令で安全性検査 ex.

文档评论(0)

精华文库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7111022151000002

1亿VIP精品文档

相关文档