ai hacker

【クラウドセキュリティ】ランサムウェアには現実的にどのように対処するのがベストなのか?

投稿日: カテゴリー: AWS
Pocket

ランサムウェアの本質は情報資産を人質に金銭を得ることを目的としていること

ランサムウェアは情報資産を人質に金銭を得ること目的としたマルウェアで、金銭を要求するまで別のマルウェアであることもあります。
この厄介な性質ゆえ1989年に登場してからすでに30年以上存続し続けています。
一部しか情報を取れず失敗した攻撃シナリオのプランBとして、盗んだ情報の一部を公開し指定時間までに金銭を払わねば情報を公開したり顧客に送ったりして社会的信用を人質に攻撃する暴露型ランサムウェアや内部の暗号化の脅しを無視した時に世間に公表するランサムウェアなど、一つのシナリオとしては対策できていたケースでも別の攻撃シナリオに転ずるものが出てきておりセキュリティ対策を厄介にさせています。

※キャッチ画像に使用している画像は、今流行りのAIにhackerとだけ指示して作画させたものです。ゲルニカよろしくハッカーの脅威が心理に訴えてくる感じがありますねw 失礼しました。本題に戻らねばですね。

ランサムウェアは目的を破綻させる方に注力し、よくある対策ミスのポイントを回避する

Living off the land攻撃のように侵害したシステム内にBuilt-inとして存在するツールやバイナリを活用して攻撃を継続する手法もあるため、「ランサムウェアが入らないようにする」は、問題行動を起こす社員を採用しない並に困難で現実的でない要求です。

しかし、対策がないかと言えば浸入させない防御が現実的でないだけであり、情報資産を人質に金銭を得ることを目的としている以上、偽装のワイパー(情報資産の破壊を目的としたマルウェア)でない限り、外部とのリンク、通信が必須になっています。ポリシーを絞ることが可能であれば検知による対応も現実的ですが、ホワイトリストやポシリーが絞りづらいところを突かれると検知も困難になってきます。
そうなると目的の情報資産が仮に暗号化されようと脅しに使えないようにする、つまり暗号化されたところで事業継続に影響がないような仕組みとすればよいことになります。
まず思い付くのがバックアップですが、このバックアップの設定ミスでバックアップが侵害されて機能不全になった企業が多いのでここを少し具体的に説明します。ポイントは「環境の分離」です。AWSではWORM(Write Once Read Many) を使ったランサムウェア対策が可能です。

情報資産を人質にできないことがランサムウェアのセキュリティ要件

まずできていない例を確認し、次にAWSで実現する場合の方法論を紹介します。

環境を分離するつもりでできていない例①AWS Direct Connect

AWS Direct Connectで接続したVPCは社内と同じネットワークとなっています。社内の感染が何故かプロダクトにも波及手も足も出ない絶望的な状況になります。危機管理(クライシスマネジメント)に従い対応が求めれることになるでしょう。

環境を分離するつもりでできていない例②

IP制限しただけで、検証環境・本番環境の横断可能なAWSアカウントが存在する。共通のクレデンシャルを利用している場合など環境を渡り歩くことが可能な場合、社内外が機能不全になります。そして、このようなラテラルムーブメントのやられ環境のようなシステムは残念ながら日本に溢れています。

AWSでのランサムウェア対策①:AWS BackupのBackup vaultを利用してWORMを実現し対策する

AWS Backupは多数のサービスのバックアップを管理できるだけでなく、AWS Backup のバックアップ領域は、AWS 側で管理されている領域であることもセキュリティ担当の負荷を減らすことにつながります。さらにAWS Backup の Vault Lock であればRoot ユーザーなどの特権ユーザーでも、バックアップデータの削除が出来ないので事業継続性の担保を歯切れよく言い切るためにも採用することをお勧めします。

①AWS Backupの左ペインのBackup vaultを選択
②Create Backup vault :AWS Backup に Vault と呼ばれる領域を作成
この次はマネージメントコンソール上だと設定できないのでAWS CLIを準備しましょう。

③以下のコマンドで対象に設定を反映します。

aws backup put-backup-vault-lock-configuration \ --backup-vault-name Vault_Lock_Sample \ --changeable-for-days 3 \ --min-retention-days 30 \ --max-retention-days 9999

④できているか以下のコマンドで確認します。

aws backup describe-backup-vault \ --backup-vault-name Vault_Lock_Sample

⑤サンプルで削除ができないことを確認できればOKです。

利用料金はウォームストレージとコールドストレージの合計となります(クロスリージョンの場合は別途課金)

AWSでのランサムウェア対策②:S3 でObject Lockを利用してWORMを実現し対策する

課金の反発があった場合などせめてログだけでもという場合、S3内を保護するためObject Lockだけでも実施すると良いです。まともに監査が実施されていればログの完全性に関して指摘されるはずなのでそこを切り口にコストに厳しい組織でもアプローチできるはずです。

AWSでのランサムウェア対策③:AWS Elastic Disaster Recovery を利用する

データはいいけど環境を再現したい場合はどうするかに応えるサービスとしてAWS Elastic Disaster Recoveryがあります。複製したい環境(ソースサーバー)を AWS アカウントに継続的にレプリケートし最新時点のリカバリポイントか過去のある時点を指定して復元できます。

利用料金はリプリケート元のサーバーごとに 1 時間ごとの料金$0.028かかります。

そもそも起きないための手は打っておく

そもそもそのような自体とならないために少なくとも以下の3つを基本に手は打っておかないと世間から厳しい目に晒されます。

✔︎Amazon VPC でセキュリティグループやネットワーク ACL を使って環境を分離する

✔︎IAM での権限割り当ては「その時点の最低権限」となるように管理する

✔︎バックアップの分離バージョニング管理の有効化

できればLmabdaやAWS Fargateなど非特権モードの活用や、Amazon ECR でイミュータブルなイメージタグの活用など取り決めのないできること、把握していないできることがないようにしておくことも大切な観点です。

・・バッチリですね。防御・ブロックのみ専守防衛の考え方ではランサムウェア対策はできないので多層防御を考えるきっかけにするのも一策かもしれません。

以上です。少しでも皆様の参考になれば幸いです。