ランサムウェアに強いストレージとは

# はじめに
- 2022年ももうすぐ終わりですがいかがお過ごしでしょうか？
- 今年は国内のランサムウェア被害のニュースが後を絶ちませんでしたし、サイバーセキュリティ対策はビジネス上の最重要課題といっても大げさではない状況になっていると思います。実際に国内での被害報告件数は右肩上がりで伸びており[^1]、今後も増え続けていくものと思われます。
- ランサムウェアなどのサイバー攻撃に対しては様々なレイヤーで多層的な対策が必要となりますが、今回はストレージという観点でのランサムウェア対策について考えてみます。
- 先日、「ランサムウェアに強いストレージ」というテーマでセミナーに登壇したということもあり、せっかくなので登壇内容を記事にしてみました。

# ランサムウェア対策のポイント：「防御」するだけでなく「復旧」に至るまでの包括的な対策が必要
- NIST（米国国立標準技術研究所）が公開している**Cybersecurity Framework**[^2] をベースに、ランサムウェア対策に必要なことを考えてみます。
- こちらでは、サイバーセキュリティに関する体系的な対応策に必要な機能として以下の5つを挙げています。
> - **識別** – システム、人、資産、データ、機能に対するサイバーセキュリティリスクの管理に必要な理解を深める。
> - **防御** – 重要サービスの提供を確実にするための適切な保護対策を検討し、実施する。
> - **検知** – サイバーセキュリティイベントの発生を識別するのに適した対策を検討し、実施する。
> - **対応** – 検知されたサイバーセキュリティインシデントに対処するための適切な対策を検討し、実施する。
> - **復旧** – レジリエンスを実現するための計画を策定・維持し、サイバーセキュリティインシデントによって阻害されたあらゆる機能やサービスを元に戻すための適切な対策を検討し、実施する。

- 上記のうち、「**識別**」と「**防御**」については**サイバー攻撃の被害に遭うリスクを最小化するための施策**といえます。
- 逆に、「**検知**」、「**対応**」、「**復旧**」については被害に遭った後に実施すべき施策であり、**サイバー攻撃の被害を最小化するための施策**といえます。
- ランサムウェア含め、サイバー攻撃の手口は日々進化しており、新たな攻撃に対しては後から対策していくしかありません。従って、被害のリスクをゼロにすることは限りなく不可能に近いといえます。
- となると、被害に遭った後に如何に被害を最小化できるか、言い換えると、**如何に素早く被害を「検知」し、如何に素早く被害の拡大を防ぐ「対応」をし、如何に素早く被害から「復旧」できるかが重要**ということになります。
- ただ単に「**防御**」する対策だけではなく、「**復旧**」に至るまでの包括的な対策が必要といえます。

# ストレージでの対策
- いくらネットワークやクライアント側で対策をしたところで侵入されるリスクをゼロにすることは出来ないので、攻撃対象であるデータが物理的に格納されているストレージでも最終防衛ラインとして対策を講じておくべきです。
- 早速、ストレージではどのような対策ができるのか、先程の**NIST Cybersecurity Framework**に従って考えていきましょう。
- 今回は、私が所属するNetAppが提供しているストレージOSである「**ONTAP**」の機能を例に挙げて考えていきます。

## 識別：ストレージレイヤーも含めた包括的な対応策を検討
- 「**防御**」から「**復旧**」に至るまでの包括的な対策検討しましょう。この記事も検討の参考になれば嬉しいです。

## 防御：絶対に攻撃されない領域でデータを保護
- ランサムウェアの攻撃は主に以下の2パターンで、この2パターンを組み合わせた二重の脅迫が主流になってきています。[^1]
    - **暗号型**：ファイルを暗号化して複合鍵と引き換えに身代金を要求
    - **暴露型**：ファイルを盗み出して公開しないことと引き換えに身代金を要求
- 侵入されてしまうのはストレージ側でどうにもできないので、ストレージ側でできることは「**格納されたファイルを暗号化したり、コピー/削除できないようにすること**」です。
- ONTAPの場合、以下のような機能で**絶対に攻撃されない領域を作りデータを確実に保護**することが可能です。

### Snapshot
- ONTAPのSnapshot領域は読み取り専用の為、管理者であっても改竄や暗号化をすることができません。
- そのため、仮に本番領域がランサムウェア被害に遭ったとしても、**Snapshot領域（=バックアップ）は確実に攻撃から保護**することができます。
- また、実データを複製することなくポインタ情報のみを複製するため容量に関わらず瞬時に取得することが可能です。
- 最近のランサムウェアは、侵入から検知までの時間を遅らせるために潜伏期間を経て気づかれないようにじわじわと攻撃していくようなタイプも出現しており、このような攻撃に対処するにはある程度長期間バックアップを保存しておく必要があります。ONTAPのSnapshotは最大1023世代まで保存可能なため、仮に1時間に1回Snapshotを取得しても42日間のデータを確実に保護可能です。

### SnapLock
- SnapLockは、所謂WORM（Write Once Read Many）の領域を提供する機能です。一度書き込まれたファイルは、ポリシーで設定された期間は上書きや削除が出来なくなります。
- このようなWORMの領域を準備して格納しておくことで、**コンプライアンス上絶対に改竄や紛失してはいけないような重要なデータをランサムウェアなどの攻撃や改竄、紛失から確実に保護すること**ができます。

### FPolicy
- FPolicyは、NFSとCIFSの領域に対して、ファイル拡張子に基づいて書き込みを許可する/しないを設定することができます。
- つまり、**ランサムウエアで作成される怪しい拡張子のファイルを書き込みできなくする**ことが可能です。
- 詳細な説明は[こちら](https://qiita.com/s_yosh1d/items/52474e4614e6a786c137)をご確認ください。

## 検知/対応：自動検知と連動して一次対応を自動実行することで被害を最小化
- ランサムウェアなどの攻撃の被害を最小化するには、何といっても攻撃されたことを可能な限り早く検知する必要があります。
- また、検知するだけではなく、検知からの一次対応も可能な限り早く対応する必要があります。
- つまり、「**検知**」と「**対応**」はセットで考えて、**攻撃を自動的に検知して、検知と連動して迅速に被害の拡大を食い止める一次対応を行う**ことが理想的です。
- ONTAPの場合、以下の2つの機能で**攻撃の自動検知と連動した一次対応を自動実行**することが可能です。

### ONTAPのアンチランサムウェア機能
- ONTAPには、オプションのライセンスが必要となりますがアンチランサムウェア機能が搭載されています。（ONTAP 9.10.1以降のバージョンで利用可能です。）
- 機械学習によりファイルの書き込みパターンからランサムウェアを自動検知し、検知と連動して自動でSnapshotを取得してくれます。
- 検知前に暗号化されてしまったファイルはそれ以前に取得したSnapshotから復旧しなければなりませんが、検知した時点で暗号化されていないファイルについては検知後に暗号化されてしまったとしても、**自動取得されたSnapshotを用いて攻撃される直前の状態に復元する**ことができます。
- 仮にこのようなSnapshotの自動取得機能が無い場合、1日に1回しかバックアップを取っていなければ1日前の状態にしか復元することができません。このようなSnapshotの自動取得機能はRPOの観点で非常に重要です。
- 詳細な説明やデモは[こちら](https://www.youtube.com/watch?v=Ep-_s_Q_CFw)や[こちら](https://www.youtube.com/watch?v=zin5cRkXlls)をご確認ください。

### NetApp Cloud InsightsのCloud Secure機能
- NetAppが提供しているSaaS型のインフラ統合可視化サービスである「Cloud Insights」の「Cloud Secure」機能であればさらに強力な対応が可能です。
- こちらは、機械学習によりユーザーからONTAPへの操作パターンをランサムウェアを自動検知します。検知と連動して自動でSnapshotを取得することは勿論、攻撃ユーザーからストレージへのアクセスを自動で遮断することも可能なので、**ランサムウェアの検知と同時に被害拡大を防ぐ**ことが可能です。
- 詳細な説明やデモは[こちら](https://www.youtube.com/watch?v=z6krcIc5lec&list=PL2CVZPvKXD1_l79_jFskppl6gPCA-ws5_&index=2)や[こちら](https://www.youtube.com/watch?v=OGAxeiYvuI8&list=PL2CVZPvKXD1_l79_jFskppl6gPCA-ws5_&index=3)をご確認ください。

## 復旧：迅速かつ被害状況に応じた柔軟な復旧方法を選択可能
- ランサムウェア被害から復旧できなかったり復旧に長期間要してしまう場合、業務を再開することができずビジネスにも深刻なインパクトを与えかねません。**迅速かつ確実に復旧できること**が最重要といえます。
- また、**被害状況に応じて如何に柔軟に復旧することができるか**という点も非常に重要です。
- 例えば、被害に遭ったファイルを含むボリュームを全てまるっとリストアしてしまうと、被害に遭っていないファイルまでバックアップ取得時点の状態まで巻き戻ってしまいます。また、被害にあったファイルを1つずつリストアするのも非常に時間がかかりますし、一旦別領域としてボリュームを丸ごとリストアしてしまって2つの領域を見比べながら復旧作業を行いたい場合、復旧用の容量を確保できないリスクもあります。
- ONTAPの場合、以下の2つの機能を活用することで**迅速かつ柔軟な復旧方法を選択可能**です。

### SnapRestore
- Snapshotで保護していたデータのポインタ情報のみを復元するSnapRestoreであれば、実データの書き戻しなどが発生しないため**容量に関わらず瞬時にバックアップからのリストアが可能**です。

### FlexClone
- Snapshotの技術を応用したFlexCloneは、複製元データのポインタ情報のみを複製するため瞬時に複製でき、複製元データとの差分のみの容量しか消費しません。
- つまり、**容量を消費することなく、元のボリュームとは別領域としてボリューム全体を瞬時に復元**することができます。
- 容量を気にせずとりあえず復旧用領域として丸っとバックアップから復元してしまい、その後本番領域と復旧用領域をを見比べながら個々の復旧作業を行うことができます。

# まとめ
- ランサムウェアなどのサイバー攻撃に対しては、「**防御**」する対策だけではなく、「**復旧**」に至るまでの至るまでの包括的な対策が必要です。
- 本記事では、ONTAPの機能を例にストレージレイヤーで実現できる包括的な対策の方法について考えてみました。
- ストレージレイヤーでのランサムウェア対策を検討する際に参考になれば幸いです。

[^1]: 引用元：[警察庁 『令和４年上半期におけるサイバー空間をめぐる脅威の情勢等について』](https://www.npa.go.jp/publications/statistics/cybersecurity/data/R04_kami_cyber_jousei.pdf)

[^2]: 参考：[IPA 『重要インフラのサイバーセキュリティを改善するためのフレームワーク　1.1版（Framework for Improving Critical Infrastructure Cybersecurity Version 1.1）』](https://www.ipa.go.jp/files/000071204.pdf)