パスワードを忘れた? アカウント作成
13931031 story
ストレージ

SSDの性質を利用したランサムウェア被害からのデータ復元支援ツール 20

ストーリー by hylom
とりあえず普通にバックアップは取っておきましょう 部門より

一般的なSSDではデータの書き換え時に既存のデータを物理的には削除せず、削除フラグのような仕組みを使って論理的にデータを見えなくするような処理を行っている。これを利用し、マルウェアによってデータを意図せずに書き換えられた場合にデータを復元する手法が考案された(@IT)。

昨今ではデータを暗号化し、それを解除する対価として金銭の支払いを求めるような「ランサムウェア」が問題となっている。この手法を利用することで、データがランサムウェアによって暗号化された場合でもデータを復元できる可能性があるという。ただし、事前にSSDのコントローラにデータを保存しておくような仕組みを導入しておく必要があるようだ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2019年06月10日 19時39分 (#3631096)

    って何?

    #非会員で読める部分からはトリムの頻度を抑えるツールに思えた

    • by Anonymous Coward on 2019年06月10日 21時50分 (#3631167)

      ググったらこの論文 [illinois.edu]が元ネタっぽい。
      手法の考案だけでなく、実装し、性能等の検証もしている。

      一言でいえば、SSD用ファームウェアを自作したってこと。
      ・開発したSSD用ファームウェア名:TimeSSD
      ・開発したデータ復元用NVMeホストドライバ用API名:TimeKit。
      ハードウェアは NVMe用 Cosmos+ OpenSSD FPGA 開発キット(ARM Cortex-A9 プロセッサ+1GB DRAM) [flashmemorysummit.com]利用。

      豆知識として、一般的にSSDはFigure.1のような構成で、組込プロセッサや組込RAMがあり、それを動かすファームウェアが載る。
      で、PC本体よりSSDファームウェアが侵害されるリスクは小さいから、うまいことSSDのファームウェアを作れば、ソフトウェアベースの対策より信頼性が増すだろう(firmware-isolated solution)、という意図で研究している様子。以前にも、同じ研究チームがFlashGuardというのを開発しているが、そっちはランサムウェアが暗号化したデータだけを対象にデータを保存しておくもので、SSDの全データを扱うものではなかったようだ。

      構成はFigure.2に、追加したデータ構造はFigure.3に書いてあるが、大元のSSDファームウェアからの変更が最小限になるようにして、Time-Travel Indexという名の過去データの論理アドレスから物理アドレスへの逆変換情報を持ったり、GC対策したり、Bloom Filterというので期限切れデータ管理(Figure.4)をしたりしている云々。
      …詳細は直接資料を読んで下さい。

      親コメント
      • by Anonymous Coward

        訂正:誤)TimeKit→正)TimeKits

    • by Anonymous Coward

      >SSDのコントローラにデータを保存しておくような仕組みを導入
      推定補完すると、
      SSDのコントローラ(のファームウェア)に(書き換えた)データ(位置)を(ある程度の時間、記憶領域の別な場所に)保存しておくような仕組みを導入
      じゃないかな
      # 別のセキュリティリスクも誘発しそう

  • by Anonymous Coward on 2019年06月10日 20時55分 (#3631126)

    考えてみたけど大して思いつかなかった

    スナップショット領域として消費する分を減らせるだろうけども、
    結局、削除フラグをつけた領域が上書きされないようにマークするのであれば変わらない

    うまくすれば高速化できるかもしれない?くらい

  • by Anonymous Coward on 2019年06月10日 21時49分 (#3631166)

    バックアップを取っておけってことだね!

    # 繋がってちゃ諸共だろうけど

    • by Anonymous Coward

      既存のファイルシステムでも、削除は管理領域をつぶすだけだし、NTFSなんかは
      ラウンドロビンであっちこっち割り当てるので削除したデータは残りやすいと思うし、
      ドライブローカルで余分に容量持つならこっちで管理するからよこせ、っておもうし。

      バックアップに勝るものないと私も思う。

      • by Anonymous Coward
        >ラウンドロビンであっちこっち割り当てる
        ほんとにそんなことしてんの?
        テンポラリファイルがディスク全面にばら撒かれちゃうじゃんそれだと。
        小さなファイルの生成と削除を繰り返す一般的に想定される使い方の場合は、
        HDDの美味しい外周を優先的に再利用して欲しいんだけど。
  • by Anonymous Coward on 2019年06月10日 22時33分 (#3631192)

    ファイルをなるべくわかりにくいように消したい場合には何度か上書きするツールを使ってたけど、SSDの場合はどうするのがいいんだろう。

    • by Anonymous Coward

      あなたのツールの動作がよくわからないけど、多分大体同じ。
      (1) 消したいファイルを削除する。
      (2) ファイルシステムの残りが0になるまで、適当なデータファイルをひたすら書く。
              ~~~~~~~~~~~~~~~~
      SSDで複数のパーティションに分けて使っている場合、NANDの空き領域はパーティションを
      超えて共有される場合がある(実装依存)から、パーティションではなくて、ドライブ全体で
      書き換えないとダメなのが注意点。

          今回の技術も、ランサムウェアが上記のような消し方をしたり、ファイルを暗号化して
      しまうようなタイプで、SSDが十分な空き容量がないと復元できなさそうだよね。

      • by Anonymous Coward

        いやいやいや
        Secure Erase系で
        0埋めでいいでしょう

        それでも不安なら
        1埋めもした上で0埋めしてくれるやつもあるし

        この手の作業で
        意味のあるファイルでパーティション残してとか意味がわからない

        • by Anonymous Coward

          それなりの頻度で破棄対象のデータだけ消す話だと思うんだが、
          そんなストレージ丸ごとの破棄・再利用前の全削除にしか使えん手段提示するほうが意味がわからんよ。
          いずれ破棄する他の機密をフルコピーなんて真似した挙げ句古い側の完全削除を毎回やるとかまだるっこしいにも程がある。
          空き容量埋めるだけならあらかじめゴミファイルで空き容量削っときゃかなり高速化出来る。

          機密や個人情報や暗号関係など、利用が完了したら早急に完全抹消したい需要はそれなりにあるだろ。
          まぁ今どきならオンメモリで保持して書き出さないって選択肢あるかもだが……

        • by Anonymous Coward

          全部0だと圧縮されて数バイトしか消してない、ってことになったりせん?
          SSDってそういうことやってたと思うけど。
          やるなら乱数書き込みじゃないかな…。

      • by Anonymous Coward

        ウェアレベリングするので、どこでも好きな空き領域を空き領域と同じ分だけ書き込めば良いんじゃないかな?
        (例えばドライブ容量500GB、パーティションA:100GB/300GB、パーティションB:100GB/200GBのとき、
         300GBを一気に書き込むのではなくA、Bのどちらか好きな方に100GBを書いて消してを3回繰り返す)

        • by Anonymous Coward

          ファイルシステム上では破棄可能でも生のストレージ側ではそんなのわからないし、
          全ブロックが任意に交換可能とも限らない。
          例えばセクタNまではチップ1、セクタMまではチップ2としているとか、
          ウェアレベリングはブロックアドレス番号の上位Nビットが違うアドレスに対してのみ可能にしてブロック順の記憶容量をケチっているとかな。

          • by Anonymous Coward

            ああ、あと書いて消してだとアドレス被るのでキャッシュが効く可能性があるな。
            100GB書いてりゃ追い出されるかってーと…
            …それまでのアクセス状況とキャッシュアルゴリズム次第ではあるだろうが。
            安全のためには微妙。

    • by Anonymous Coward

      SSDメーカーの配布ツールなどで明示的にトリムコマンドを発行

    • by Anonymous Coward

      暗号化ファイルシステムで保存しておき、消したいときは暗号キーを削除。 
      上書きする必要なし。

  • HDDでもそんな仕組みだったはず
    HDDというかOSかな

    • by Anonymous Coward

      OSというかファイルシステムかな。
      このツールの場合はSSD側のファームウェアというランサムウェアに改変されるリスクが少ない場所でそれをやるというのが違い。

typodupeerror

あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー

読み込み中...