SlideShare a Scribd company logo
1 of 18
Download to read offline
CSS 2009




     Windows OS上でのフィルタドライバを用いた
         セキュアアクセス制御機構の構築

             情報通信研究機構 安藤類央
           サイエンスパーク株式会社 井上宜子
             産業技術総合研究所 須崎有康
CSS 2009

               目次
   1.   はじめに
   2.   提案システム
   3.   適用技術
   4.   適用アクセス制御
   5.   フィルタマネージャの詳細
   6.   まとめと今後の課題
CSS 2009

               1.はじめに
   • Linux OS上でのセキュアアクセス制御
      – 多くの機関で研究されている
   • Windows OS上でのセキュアアクセス制御
      – 多くの人が使用している割に、あまり研究されていない。
      – クローズドソースのため、情報が入手しずらく、
      処理内容が分からない。
      ‐ Windows OSの場合、簡素なファイルシステムドライバによ
        るアクセス制御をすると、設定が簡単で、破られにくいシ
        ステムが出来上がる可能性がある。
      ‐ Windows OSのデフォルトのアクセス制御はあるが、今度
        クラウド環境での仮想化されたWindows OSを防御する場
        合に必要となると想定されるfine‐tuning(微調整)が効か
        ない。
CSS 2009

                1.はじめに
   • Windowsデバッグ機構に対する需要増大
   • デバッグ関連技術の発達
      → Linux OS同等の
           セキュアアクセス制御が可能

            Windows上でセキュアアクセス制御を行い
            ゼロデイ攻撃などのセキュリティ
            インシデントの被害を最小化する
CSS 2009

                   2. 提案システム
                      Filter
     Application                 File System     Disk
                     Manager

           書込み要求(PRE)


                    提案システム
                   検出とアクセス制御

                         書込み要求
                                       書込み要求(コミット)



                                       書込み完了通知
                         書込み完了通知
                         (POST)
           書込み完了通知
CSS 2009

                  3. 適用技術
   • Windows OS上でアクセス制御を行う手段
      – ユーザーモード
           • DLLインジェクション   ・ ファイルアクセスを
                             すべて監視できる
           • APIフック        ・ OSと一番近い層で動く
                           ・ アクセス制御に必要な情報が
      – カーネルモード              取得できる
           • フィルタドライバ
CSS 2009

              3. 適用技術
   3.1. FilterManager
   • Microsoftが提供するファイルシステムフィル
     タドライバ
   • Windows XP SP2以降
   • サードパーティの開発を簡素化
      – フィルタするIRPのみ編集
      – 開発時間の短縮
      – 挿入する階層を指定可能
CSS 2009

                     3. 適用技術
     FilterManagerの構成

               Application                      User Mode


              FilterManager       MiniFilter

                                               Kernel Mode
           FileSystem(FAT/NTFS)




                  Disk                              Device
CSS 2009

             3. 適用技術
   3.2. FilterDriver
   • FilterManagerとMiniFilter
   • フィルタするIRPをFilterManagerに登録
   • フィルタするIRPの処理を実装

   IRP:ファイルIO要求の受け渡し
CSS 2009

             4. 適用アクセス制御
   • MAC(Mandatory AccessControl)
      – 所有者ではなくシステムがアクセス権を設定、制御する。
      – 静的にアクセス権限を決定する。
      – MACを実装配備するためには、デバイスドライバ、カー
        ネルモジュールが必要。

   • TDE(Trusted Domain Enforcement)
     ‐ プロセスのファイルへの読み書きをシステムが動的に変更
      する。
    ‐ TDEを実装配備するためには、プロセス情報が取れるフィル
      タマネージャの機能が必要。
CSS 2009

         5. フィルタマネージャの詳細
   ・ MiniFilterの登録
   typedef struct _FLT_REGISTRATION {
      USHORT Size;
      USHORT Version;
      FLT_REGISTRATION_FLAGS Flags;
      CONST FLT_CONTEXT_REGISTRATION *ContextRegistration;
      CONST FLT_OPERATION_REGISTRATION *OperationRegistration;
      PFLT_FILTER_UNLOAD_CALLBACK FilterUnloadCallback;
      PFLT_INSTANCE_SETUP_CALLBACK InstanceSetupCallback;
      PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK InstanceQueryTeardownCallback;
      PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownStartCallback;
      PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownCompleteCallback;
      PFLT_GENERATE_FILE_NAME GenerateFileNameCallback;
      PFLT_NORMALIZE_NAME_COMPONENT NormalizeNameComponentCallback;
      PFLT_NORMALIZE_CONTEXT_CLEANUP NormalizeContextCleanupCallback;
   } FLT_REGISTRATION, *PFLT_REGISTRATION;
CSS 2009

       5. フィルタマネージャの詳細
   フィルタするIRPの設定(1)
   typedef struct _FLT_OPERATION_REGISTRATION {          ファイルシステム呼び
      UCHAR MajorFunction;                               出し前のコールバック
      FLT_OPERATION_REGISTRATION_FLAGS Flags;                  関数
      PFLT_PRE_OPERATION_CALLBACK PreOperation;
      PFLT_POST_OPERATION_CALLBACK PostOperation;
      PVOID Reserved1;
   } FLT_OPERATION_REGISTRATION, *PFLT_OPERATION_REGISTRATION;


                                              ファイルシステム呼び出し
                                               後のコールバック関数
CSS 2009

       5. フィルタマネージャの詳細
   アクセス制御の仕組み




                  ○PreOperation
                  ○PostOperation
CSS 2009

       5. フィルタマネージャの詳細
     ファイル情報構造体
     typedef struct _FILE_ACCESS_DATA{       ファイルアクセスを
         BOOLEAN          IsDirectory;         行うパス名

         UNICODE_STRING  FullPath;
         ULONG            AccessRecord;
         ULONG            AccessAttributes;    ファイルアクセス
                                              の要求プロセス名
         ULONG            ProcessID;
         PWCHAR           ProcessName;             プロセスの
         ULONG            ProcessAttributes;      アクセス属性
     } FILE_ACCESS_DATA, *PFILE_ACCESS_DATA;
CSS 2009

       5. フィルタマネージャの詳細
   フィルタするIRPの設定(2)


       No   IRP要求                    PRE   POST
        1   IRP_MJ_CREATE             ○     ○
        2   IRP_MJ_CLOSE              ○     ×
        3   IRP_MJ_CLEANUP            ○     ×
        4   IRP_MJ_READ               ○     ×
        5   IRP_MJ_WRITE              ○     ×
        6   IRP_MJ_SET_INFORMATION    ○     ×
CSS 2009

       5. フィルタマネージャの詳細
    関数の型       FLT_PREOP_CALLBACK_STATUS
    機能         ・ファイル情報構造体の取得
               ・アクセス可否の判断
               ・アクセス可否に応じた戻り値の設定
    引数     1   PFLT_CALLBACK_DATA Data
           2   PCFLT_RELATED_OBJECTS FltObjects
           3   PVOID *CompletionContext
    戻り値    1   FLT_PREOP_SUCCESS_WITH_CALLBACK (成功)
           2   FLT_PREOP_SUCCESS_NO_CALLBACK   (成功)
           3   FLT_PREOP_COMPLETE              (成功/失敗) 
    失敗時の       戻り値をFLT_PREOP_COMPLETEに設定
    設定         引数DataのIoStatus.Statusにエラー値を設定
CSS 2009

           6.まとめと今後の課題
     まとめ
     Linux   :OSに入れ込む
     Windows :OSの上か下でフィルタ

     技術的課題
     ・ オープンと、リネーム後のファイル名取得処理が未実装
     ・ 仮想マシンモニタへの通知機能の付加:今後普及が進むクラウド環境
     上での、仮想化されたWindows OSの防御用にフィルタドライバを修正

     今後の展開
     ・ 仮想化OS上で動作するWindowsのファイルアクセスをモニターして、
     ユーザーの動きを監視する
     ・ モニターをAIST Web公開予定
ご清聴ありがとうございました

More Related Content

What's hot

Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...milk hanakara
 
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)tokuhy
 
SELinux_Status_PoC_20170516
SELinux_Status_PoC_20170516SELinux_Status_PoC_20170516
SELinux_Status_PoC_20170516SecureOSS-Sig
 
Intel TXT and vSphere
Intel TXT and vSphereIntel TXT and vSphere
Intel TXT and vSphereHisaki Ohara
 
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) VirtualTech Japan Inc.
 
Exos ztp usb1
Exos ztp usb1Exos ztp usb1
Exos ztp usb1Bin Han
 
COMSTARでiSCSI - OpenSolaris勉強会 2011.08
COMSTARでiSCSI - OpenSolaris勉強会 2011.08COMSTARでiSCSI - OpenSolaris勉強会 2011.08
COMSTARでiSCSI - OpenSolaris勉強会 2011.08tokuhy
 
Exos ztp usb2
Exos ztp usb2Exos ztp usb2
Exos ztp usb2Bin Han
 
UEFI時代のブートローダ
UEFI時代のブートローダUEFI時代のブートローダ
UEFI時代のブートローダTakuya ASADA
 
Btrfsの基礎 part1 機能編
Btrfsの基礎 part1 機能編Btrfsの基礎 part1 機能編
Btrfsの基礎 part1 機能編fj_staoru_takeuchi
 
Oracle xeインストール(linux環境)
Oracle xeインストール(linux環境)Oracle xeインストール(linux環境)
Oracle xeインストール(linux環境)izuyuri
 

What's hot (11)

Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
Infiniband hack-a-thon #2 Windows班まとめ資料 Windows Server 2012 + FDR Infinibandで...
 
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
XenServerとZFSストレージでサーバ仮想化 - OSC2011 Tokyo/Spring 自宅SAN友の会(後半)
 
SELinux_Status_PoC_20170516
SELinux_Status_PoC_20170516SELinux_Status_PoC_20170516
SELinux_Status_PoC_20170516
 
Intel TXT and vSphere
Intel TXT and vSphereIntel TXT and vSphere
Intel TXT and vSphere
 
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf) Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
Havana版 RDO-QuickStart-4 (140421-Havana-RDO-QuickStart-4.pdf)
 
Exos ztp usb1
Exos ztp usb1Exos ztp usb1
Exos ztp usb1
 
COMSTARでiSCSI - OpenSolaris勉強会 2011.08
COMSTARでiSCSI - OpenSolaris勉強会 2011.08COMSTARでiSCSI - OpenSolaris勉強会 2011.08
COMSTARでiSCSI - OpenSolaris勉強会 2011.08
 
Exos ztp usb2
Exos ztp usb2Exos ztp usb2
Exos ztp usb2
 
UEFI時代のブートローダ
UEFI時代のブートローダUEFI時代のブートローダ
UEFI時代のブートローダ
 
Btrfsの基礎 part1 機能編
Btrfsの基礎 part1 機能編Btrfsの基礎 part1 機能編
Btrfsの基礎 part1 機能編
 
Oracle xeインストール(linux環境)
Oracle xeインストール(linux環境)Oracle xeインストール(linux環境)
Oracle xeインストール(linux環境)
 

Similar to Css2009 ruo ando

プロセス実行履歴に基づくアクセスポリシー自動生成システム
プロセス実行履歴に基づくアクセスポリシー自動生成システムプロセス実行履歴に基づくアクセスポリシー自動生成システム
プロセス実行履歴に基づくアクセスポリシー自動生成システムToshiharu Harada, Ph.D
 
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」Toshiharu Harada, Ph.D
 
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」Toshiharu Harada, Ph.D
 
日本マイクロソフト Forefront tmg_セミナ受講メモ_2011-09-01
日本マイクロソフト Forefront tmg_セミナ受講メモ_2011-09-01日本マイクロソフト Forefront tmg_セミナ受講メモ_2011-09-01
日本マイクロソフト Forefront tmg_セミナ受講メモ_2011-09-01Yukio Saito
 
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用Rescale Japan株式会社
 
第1回 松本勉強会 2012 05 11 - 公開版
第1回 松本勉強会 2012 05 11 - 公開版第1回 松本勉強会 2012 05 11 - 公開版
第1回 松本勉強会 2012 05 11 - 公開版Ryosuke MATSUMOTO
 
hbstudy# 28 SELinux HandsOn 公開版
hbstudy# 28 SELinux HandsOn 公開版hbstudy# 28 SELinux HandsOn 公開版
hbstudy# 28 SELinux HandsOn 公開版Hiroki Ishikawa
 
20240203_札幌PHP勉強会_フロントコントローラを実装して簡易CMSを作る_公開用.pdf
20240203_札幌PHP勉強会_フロントコントローラを実装して簡易CMSを作る_公開用.pdf20240203_札幌PHP勉強会_フロントコントローラを実装して簡易CMSを作る_公開用.pdf
20240203_札幌PHP勉強会_フロントコントローラを実装して簡易CMSを作る_公開用.pdfkoukimiurah
 
第33回 U-20プログラミング・コンテスト 「USB Lock」
第33回 U-20プログラミング・コンテスト 「USB Lock」第33回 U-20プログラミング・コンテスト 「USB Lock」
第33回 U-20プログラミング・コンテスト 「USB Lock」kazuhirokazu
 
Bitvisorをベースとした既存Windowsのドライバメモリ保護
Bitvisorをベースとした既存Windowsのドライバメモリ保護Bitvisorをベースとした既存Windowsのドライバメモリ保護
Bitvisorをベースとした既存Windowsのドライバメモリ保護Kuniyasu Suzaki
 
Windows Azure で 2/29 に起こった問題のまとめ
Windows Azure で 2/29 に起こった問題のまとめWindows Azure で 2/29 に起こった問題のまとめ
Windows Azure で 2/29 に起こった問題のまとめSunao Tomita
 
Oci file storage service deep dive 20181001 ss
Oci file storage service deep dive 20181001 ssOci file storage service deep dive 20181001 ss
Oci file storage service deep dive 20181001 ssKenichi Sonoda
 
Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Yurika Kakiuchi
 
CloudStack User Inferface
CloudStack User InferfaceCloudStack User Inferface
CloudStack User InferfaceKimihiko Kitase
 

Similar to Css2009 ruo ando (20)

プロセス実行履歴に基づくアクセスポリシー自動生成システム
プロセス実行履歴に基づくアクセスポリシー自動生成システムプロセス実行履歴に基づくアクセスポリシー自動生成システム
プロセス実行履歴に基づくアクセスポリシー自動生成システム
 
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
20031030 「読み込み専用マウントによる改ざん防止Linuxサーバの構築」
 
Apache ManifoldCF
Apache ManifoldCFApache ManifoldCF
Apache ManifoldCF
 
Apache ManifoldCF
Apache ManifoldCFApache ManifoldCF
Apache ManifoldCF
 
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
20031020 「プロセス実行履歴に基づくアクセスポリシー自動生成システム」
 
日本マイクロソフト Forefront tmg_セミナ受講メモ_2011-09-01
日本マイクロソフト Forefront tmg_セミナ受講メモ_2011-09-01日本マイクロソフト Forefront tmg_セミナ受講メモ_2011-09-01
日本マイクロソフト Forefront tmg_セミナ受講メモ_2011-09-01
 
BBBBB
BBBBBBBBBB
BBBBB
 
1MB
1MB1MB
1MB
 
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
 
第1回 松本勉強会 2012 05 11 - 公開版
第1回 松本勉強会 2012 05 11 - 公開版第1回 松本勉強会 2012 05 11 - 公開版
第1回 松本勉強会 2012 05 11 - 公開版
 
FreeBSD Capsicum
FreeBSD CapsicumFreeBSD Capsicum
FreeBSD Capsicum
 
hbstudy# 28 SELinux HandsOn 公開版
hbstudy# 28 SELinux HandsOn 公開版hbstudy# 28 SELinux HandsOn 公開版
hbstudy# 28 SELinux HandsOn 公開版
 
20240203_札幌PHP勉強会_フロントコントローラを実装して簡易CMSを作る_公開用.pdf
20240203_札幌PHP勉強会_フロントコントローラを実装して簡易CMSを作る_公開用.pdf20240203_札幌PHP勉強会_フロントコントローラを実装して簡易CMSを作る_公開用.pdf
20240203_札幌PHP勉強会_フロントコントローラを実装して簡易CMSを作る_公開用.pdf
 
第33回 U-20プログラミング・コンテスト 「USB Lock」
第33回 U-20プログラミング・コンテスト 「USB Lock」第33回 U-20プログラミング・コンテスト 「USB Lock」
第33回 U-20プログラミング・コンテスト 「USB Lock」
 
Bitvisorをベースとした既存Windowsのドライバメモリ保護
Bitvisorをベースとした既存Windowsのドライバメモリ保護Bitvisorをベースとした既存Windowsのドライバメモリ保護
Bitvisorをベースとした既存Windowsのドライバメモリ保護
 
Windows Azure で 2/29 に起こった問題のまとめ
Windows Azure で 2/29 に起こった問題のまとめWindows Azure で 2/29 に起こった問題のまとめ
Windows Azure で 2/29 に起こった問題のまとめ
 
LSMの壁
LSMの壁LSMの壁
LSMの壁
 
Oci file storage service deep dive 20181001 ss
Oci file storage service deep dive 20181001 ssOci file storage service deep dive 20181001 ss
Oci file storage service deep dive 20181001 ss
 
Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策Active Directory 侵害と推奨対策
Active Directory 侵害と推奨対策
 
CloudStack User Inferface
CloudStack User InferfaceCloudStack User Inferface
CloudStack User Inferface
 

More from Ruo Ando

KISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdfKISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdfRuo Ando
 
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤Ruo Ando
 
解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdf解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdfRuo Ando
 
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~Ruo Ando
 
解説#83 情報エントロピー
解説#83 情報エントロピー解説#83 情報エントロピー
解説#83 情報エントロピーRuo Ando
 
解説#82 記号論理学
解説#82 記号論理学解説#82 記号論理学
解説#82 記号論理学Ruo Ando
 
解説#81 ロジスティック回帰
解説#81 ロジスティック回帰解説#81 ロジスティック回帰
解説#81 ロジスティック回帰Ruo Ando
 
解説#74 連結リスト
解説#74 連結リスト解説#74 連結リスト
解説#74 連結リストRuo Ando
 
解説#76 福岡正信
解説#76 福岡正信解説#76 福岡正信
解説#76 福岡正信Ruo Ando
 
解説#77 非加算無限
解説#77 非加算無限解説#77 非加算無限
解説#77 非加算無限Ruo Ando
 
解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレスRuo Ando
 
解説#78 誤差逆伝播
解説#78 誤差逆伝播解説#78 誤差逆伝播
解説#78 誤差逆伝播Ruo Ando
 
解説#73 ハフマン符号
解説#73 ハフマン符号解説#73 ハフマン符号
解説#73 ハフマン符号Ruo Ando
 
【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法Ruo Ando
 
【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-freeRuo Ando
 
ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料 ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料 Ruo Ando
 
ファジングの解説
ファジングの解説ファジングの解説
ファジングの解説Ruo Ando
 
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月Ruo Ando
 
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰Ruo Ando
 
Intel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st WorkshopIntel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st WorkshopRuo Ando
 

More from Ruo Ando (20)

KISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdfKISTI-NII Joint Security Workshop 2023.pdf
KISTI-NII Joint Security Workshop 2023.pdf
 
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
Gartner 「セキュリティ&リスクマネジメントサミット 2019」- 安藤
 
解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdf解説#86 決定木 - ss.pdf
解説#86 決定木 - ss.pdf
 
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~SaaSアカデミー for バックオフィス アイドルと学ぶDX講座  ~アイドル戦略に見るDXを専門家が徹底解説~
SaaSアカデミー for バックオフィス アイドルと学ぶDX講座 ~アイドル戦略に見るDXを専門家が徹底解説~
 
解説#83 情報エントロピー
解説#83 情報エントロピー解説#83 情報エントロピー
解説#83 情報エントロピー
 
解説#82 記号論理学
解説#82 記号論理学解説#82 記号論理学
解説#82 記号論理学
 
解説#81 ロジスティック回帰
解説#81 ロジスティック回帰解説#81 ロジスティック回帰
解説#81 ロジスティック回帰
 
解説#74 連結リスト
解説#74 連結リスト解説#74 連結リスト
解説#74 連結リスト
 
解説#76 福岡正信
解説#76 福岡正信解説#76 福岡正信
解説#76 福岡正信
 
解説#77 非加算無限
解説#77 非加算無限解説#77 非加算無限
解説#77 非加算無限
 
解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス解説#1 C言語ポインタとアドレス
解説#1 C言語ポインタとアドレス
 
解説#78 誤差逆伝播
解説#78 誤差逆伝播解説#78 誤差逆伝播
解説#78 誤差逆伝播
 
解説#73 ハフマン符号
解説#73 ハフマン符号解説#73 ハフマン符号
解説#73 ハフマン符号
 
【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法【技術解説20】 ミニバッチ確率的勾配降下法
【技術解説20】 ミニバッチ確率的勾配降下法
 
【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free【技術解説4】assertion failureとuse after-free
【技術解説4】assertion failureとuse after-free
 
ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料 ITmedia Security Week 2021 講演資料
ITmedia Security Week 2021 講演資料
 
ファジングの解説
ファジングの解説ファジングの解説
ファジングの解説
 
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
AI(機械学習・深層学習)との協働スキルとOperational AIの事例紹介 @ ビジネス+ITセミナー 2020年11月
 
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
【AI実装4】TensorFlowのプログラムを読む2 非線形回帰
 
Intel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st WorkshopIntel Trusted Computing Group 1st Workshop
Intel Trusted Computing Group 1st Workshop
 

Css2009 ruo ando

  • 1. CSS 2009 Windows OS上でのフィルタドライバを用いた セキュアアクセス制御機構の構築 情報通信研究機構 安藤類央 サイエンスパーク株式会社 井上宜子 産業技術総合研究所 須崎有康
  • 2. CSS 2009 目次 1. はじめに 2. 提案システム 3. 適用技術 4. 適用アクセス制御 5. フィルタマネージャの詳細 6. まとめと今後の課題
  • 3. CSS 2009 1.はじめに • Linux OS上でのセキュアアクセス制御 – 多くの機関で研究されている • Windows OS上でのセキュアアクセス制御 – 多くの人が使用している割に、あまり研究されていない。 – クローズドソースのため、情報が入手しずらく、 処理内容が分からない。 ‐ Windows OSの場合、簡素なファイルシステムドライバによ るアクセス制御をすると、設定が簡単で、破られにくいシ ステムが出来上がる可能性がある。 ‐ Windows OSのデフォルトのアクセス制御はあるが、今度 クラウド環境での仮想化されたWindows OSを防御する場 合に必要となると想定されるfine‐tuning(微調整)が効か ない。
  • 4. CSS 2009 1.はじめに • Windowsデバッグ機構に対する需要増大 • デバッグ関連技術の発達 → Linux OS同等の セキュアアクセス制御が可能 Windows上でセキュアアクセス制御を行い ゼロデイ攻撃などのセキュリティ インシデントの被害を最小化する
  • 5. CSS 2009 2. 提案システム Filter Application File System Disk Manager 書込み要求(PRE) 提案システム 検出とアクセス制御 書込み要求 書込み要求(コミット) 書込み完了通知 書込み完了通知 (POST) 書込み完了通知
  • 6. CSS 2009 3. 適用技術 • Windows OS上でアクセス制御を行う手段 – ユーザーモード • DLLインジェクション ・ ファイルアクセスを すべて監視できる • APIフック ・ OSと一番近い層で動く ・ アクセス制御に必要な情報が – カーネルモード 取得できる • フィルタドライバ
  • 7. CSS 2009 3. 適用技術 3.1. FilterManager • Microsoftが提供するファイルシステムフィル タドライバ • Windows XP SP2以降 • サードパーティの開発を簡素化 – フィルタするIRPのみ編集 – 開発時間の短縮 – 挿入する階層を指定可能
  • 8. CSS 2009 3. 適用技術 FilterManagerの構成 Application User Mode FilterManager MiniFilter Kernel Mode FileSystem(FAT/NTFS) Disk Device
  • 9. CSS 2009 3. 適用技術 3.2. FilterDriver • FilterManagerとMiniFilter • フィルタするIRPをFilterManagerに登録 • フィルタするIRPの処理を実装 IRP:ファイルIO要求の受け渡し
  • 10. CSS 2009 4. 適用アクセス制御 • MAC(Mandatory AccessControl) – 所有者ではなくシステムがアクセス権を設定、制御する。 – 静的にアクセス権限を決定する。 – MACを実装配備するためには、デバイスドライバ、カー ネルモジュールが必要。 • TDE(Trusted Domain Enforcement) ‐ プロセスのファイルへの読み書きをシステムが動的に変更 する。 ‐ TDEを実装配備するためには、プロセス情報が取れるフィル タマネージャの機能が必要。
  • 11. CSS 2009 5. フィルタマネージャの詳細 ・ MiniFilterの登録 typedef struct _FLT_REGISTRATION { USHORT Size; USHORT Version; FLT_REGISTRATION_FLAGS Flags; CONST FLT_CONTEXT_REGISTRATION *ContextRegistration; CONST FLT_OPERATION_REGISTRATION *OperationRegistration; PFLT_FILTER_UNLOAD_CALLBACK FilterUnloadCallback; PFLT_INSTANCE_SETUP_CALLBACK InstanceSetupCallback; PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK InstanceQueryTeardownCallback; PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownStartCallback; PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownCompleteCallback; PFLT_GENERATE_FILE_NAME GenerateFileNameCallback; PFLT_NORMALIZE_NAME_COMPONENT NormalizeNameComponentCallback; PFLT_NORMALIZE_CONTEXT_CLEANUP NormalizeContextCleanupCallback; } FLT_REGISTRATION, *PFLT_REGISTRATION;
  • 12. CSS 2009 5. フィルタマネージャの詳細 フィルタするIRPの設定(1) typedef struct _FLT_OPERATION_REGISTRATION { ファイルシステム呼び UCHAR MajorFunction; 出し前のコールバック FLT_OPERATION_REGISTRATION_FLAGS Flags; 関数 PFLT_PRE_OPERATION_CALLBACK PreOperation; PFLT_POST_OPERATION_CALLBACK PostOperation; PVOID Reserved1; } FLT_OPERATION_REGISTRATION, *PFLT_OPERATION_REGISTRATION; ファイルシステム呼び出し 後のコールバック関数
  • 13. CSS 2009 5. フィルタマネージャの詳細 アクセス制御の仕組み ○PreOperation ○PostOperation
  • 14. CSS 2009 5. フィルタマネージャの詳細 ファイル情報構造体 typedef struct _FILE_ACCESS_DATA{ ファイルアクセスを BOOLEAN IsDirectory; 行うパス名 UNICODE_STRING  FullPath; ULONG AccessRecord; ULONG AccessAttributes; ファイルアクセス の要求プロセス名 ULONG ProcessID; PWCHAR ProcessName; プロセスの ULONG ProcessAttributes; アクセス属性 } FILE_ACCESS_DATA, *PFILE_ACCESS_DATA;
  • 15. CSS 2009 5. フィルタマネージャの詳細 フィルタするIRPの設定(2) No IRP要求 PRE POST 1 IRP_MJ_CREATE ○ ○ 2 IRP_MJ_CLOSE ○ × 3 IRP_MJ_CLEANUP ○ × 4 IRP_MJ_READ ○ × 5 IRP_MJ_WRITE ○ × 6 IRP_MJ_SET_INFORMATION ○ ×
  • 16. CSS 2009 5. フィルタマネージャの詳細 関数の型 FLT_PREOP_CALLBACK_STATUS 機能 ・ファイル情報構造体の取得 ・アクセス可否の判断 ・アクセス可否に応じた戻り値の設定 引数 1 PFLT_CALLBACK_DATA Data 2 PCFLT_RELATED_OBJECTS FltObjects 3 PVOID *CompletionContext 戻り値 1 FLT_PREOP_SUCCESS_WITH_CALLBACK (成功) 2 FLT_PREOP_SUCCESS_NO_CALLBACK (成功) 3 FLT_PREOP_COMPLETE (成功/失敗)  失敗時の 戻り値をFLT_PREOP_COMPLETEに設定 設定 引数DataのIoStatus.Statusにエラー値を設定
  • 17. CSS 2009 6.まとめと今後の課題 まとめ Linux :OSに入れ込む Windows :OSの上か下でフィルタ 技術的課題 ・ オープンと、リネーム後のファイル名取得処理が未実装 ・ 仮想マシンモニタへの通知機能の付加:今後普及が進むクラウド環境 上での、仮想化されたWindows OSの防御用にフィルタドライバを修正 今後の展開 ・ 仮想化OS上で動作するWindowsのファイルアクセスをモニターして、 ユーザーの動きを監視する ・ モニターをAIST Web公開予定