hidekatsu-izuno 日々の記録

プログラミング、経済政策など伊津野英克が興味あることについて適当に語ります(旧サイト:A.R.N [日記])

ニコニコ動画へのサイバー攻撃はシステム構成の標準を変えるかもしれない

ニコニコ動画サイバー攻撃を受けサイトがダウンした状態が続いていることは知っていたが、公開された経緯を見てぞっとした。

これが日本の伝統的企業で起こったとかなら話は別なのだが、社内につよつよエンジニアを抱えるドワンゴで発生してしまった。ドワンゴで起こるのならば、おそらく日本のどの企業で明日にでも起こり得る事件だということだ。

私も様々な大手企業の基幹システム開発を生業にしているのでまったく他人事ではない。自分の担当しているシステムでこれが発生したらと思うと背筋が凍る。

 

今回のような問題を防ぐにはどうしたらよかったのだろうか、と改めて考えたのだがドワンゴの報告にもあるように「パブリッククラウドでは被害を受けなかった」という点が重要であるように思う。そんなのパブリッククラウドでもプライベートクラウドでも違いないよ! と思う向きもあるかとは思う(ちらほら見た意見の中には、パブリッククラウドだと電源を切断できないからダメだ、というものもあった)が、必ずしもそうは言いきれない。パブリック・クラウドはプライベート・クラウドに比べ多くの自由が制限されており、このようなときにはそれが大きく効いてくる。

 

サイバー攻撃を受けた場合、2つの観点があると思う。

  • ランサムウェアの実行を防ぐにはどうすればいいか
  • 外部からの不正なアクセスを防ぐにはどうしたらよいか

前者について言えば、自由にソフトウェアを動かせる環境があるからランサムウェアを実行されるのであって、マネージドサービス(AWS で言えば Fargate や RDS)を使うだけでこの問題は大幅に緩和される。もちろん Docker 内のソフトウェアの脆弱性をついて任意のコードを実行されるということもなくはないが、distoless を使うなどして影響は緩和できるし、Docker内からは通常オブジェクトストレージやデータベースへのアクセスしかできず、他のサーバに直接侵入される心配もない。先日の発表で GuardDuty を使えばファイルのマルウェア検査もできるようになったため、アップロードされたファイルは即 S3 に配置するという設計にすればファイルサーバを介した攻撃も防げるようになる。

そして何より、現代的な構成であればインフラには状態を持たないので、パッチを適用したコンテナイメージを作成し再度デプロイするだけでほとんどの場合解決できると思う。

 

もし、何らかの理由でEC2を使わざるを得ず外部からランサムウェアの侵入を許してしまっても、システムが階層化されているため、AWS側の仕組みにまで侵入されることはない。後者のような不正アクセスが起こっても、通常は、NACLで制限したり、セキュリティグループの紐づけを外せば外部からのアクセスは完全に遮断できる。原因究明のために接続が必要なマシンに向けて一部のポートを開放したければ、遮断したうえで新たに追加しても良い。事前に設定しておけばシリアルポート接続もできる。

 

このように考えていくと、少なくとも一般企業についてはパブリック・クラウドという選択肢がある、と言う状況から、プライベート・クラウドを持つということはリスクであるという状況に移りつつあるということを意味する。

そしてパブリック・クラウドであっても、EC2に乗せましたというリフト&シフト構成ではなく、マネージドサービスを駆使した安全な構成が積極的に求められていくのだろうと思う。