SlideShare a Scribd company logo
ファイルの隠し方




  @mfumi2
自己紹介

●
    セキュキャン2012 セキュアなOSを作ろう
    クラス
●
    Bitvisorを少しいじってました
本題: ファイルを隠すには?
●
    ファイル名を偽装する
●
    フォルダを深くする
●
    暗号化する
本題: ファイルを隠すには?
●
    ファイル名を偽装する
     → 例えばテキストならgrepでばれる
●
    フォルダを深くする
     → 検索で一発
●
    暗号化する
     → 何か隠してあることがばれる
       ブルートフォースの可能性
別のアプローチ
●   ファイルシステムの空きスペースを利用する
ファイルシステムについて
●   ファイルを管理
●   基本的にファイルはいくつかのブロックからなる



        4KB

                  10KBのファイル
方法1: 空き領域に勝手に書き
       込む
●
    例)空き領域をビットマップで管理していた場合


1
1
0                 ここが空いてる!
0
1
0
方法1: 空き領域に勝手に書き
       込む
●
    問題点
    消される可能性がある
方法2: 空き領域に勝手に書き
       込む ver.2
  ●   空き領域管理のメタデータも修正する

            1
            1
ここを1にする     0             ここを使う
            0
            1
            0
          空き領域管理
          ビットマップ
方法2: 空き領域に勝手に書き
      込む ver.2
●
    管理上は使用領域となっているがファイルシ
    ステム上のどのファイルも使用していない
    ファイルが存在
     → fsck 等でばれる
方法3: 不良セクタ領域を使用
  ●   不良セクタの管理情報を勝手に書き換えて使用

             0
             0
ここを1にする      1          ここを利用
             1
             0
             0
          不良セクタ管理
          ビットマップ
方法3: 不良セクタ領域を使用
●   空き領域を利用するよりは見つけにくい
●   でもたくさん不良セクタがあれば不自然
方法4: ファイルのスラック領
      域を利用
●
    10KBのファイルのため4KBのブロックを3つ
    割り当てる
     → 4KB×3-10KB = 2KB の余り!
     → この領域がスラック領域

      4KB

                10KBのファイル
方法4: ファイルのスラック領
      域を利用
●
    問題点
    対象ファイルが更新されれば消える可能性
     → 変更の低いファイルが狙い目
方法5: ファイルシステムの領
      域外を利用
●
    現在普通にUbuntuを新規HDDにインストー
    ルすると2048セクタ目からファイルシステム
    がはじまる(いわゆるAFT)
     → HDD先頭2000セクタほど使える

           ブートローダ

             空き


          パーティション
応用
●
    これらの領域をうまく利用して隠しファイル
    システムを実装すれば利便性up!
まとめ
●
    ファイルを隠す方法はいろいろある
●
    ファイルシステムは奥が深い

More Related Content

ファイルの隠し方