自己紹介

牧田誠氏(以下、牧田):それでは対談に入っていきたいと思います。川口さん、ルスランさんお願いします。

川口洋氏(以下、川口):はい。自己紹介です。私は川口設計という会社を経営しています。川口です。何だかんだでイエラエの顧問をやっていて、お付き合いがあります。私はともかくとして、みなさんはルスランさんのお話を聞きたいと思うので、ルスランさんよろしくお願いします。

ルスラン・サイフィエフ氏(以下、ルスラン):GMOサイバーセキュリティ byイエラエのオフェンシブセキュリティ部 部長と執行役員をやっているルスランと申します。私と私たちの部という意味では、ペンテストやアプリケーションセキュリティを随時やっています。

川口:今日は3つのテーマを用意しているので、いろいろとルスランさんに聞いていきたいなと思います。(スライドを示して)ペンテスターであるルスランさんから見た最近のセキュリティの状況ということで、1つ目は最近の状況、2つ目は開発者が使っているサービスで気になるものです。

今日見てもらっている方はGMOインターネットグループのみならず、開発者・運用の方が多いと思うので、この2点目を入れています。なので3点目も運用管理体制で「ちょっとここを見ておいたほうがいいんじゃないの?」というところを取りあげて行きたいと思っています。

ルスラン氏から見たシステム監視の状況

川口:それでは1つ目の話題に行きましょう。(スライドを示して)「ペンテスターから見た最近のセキュリティの問題」はどういう感じかをルスランさんに聞いていきたいです。いきなりですが、ルスランさん。最近のセキュリティの状況をペンテストで見てきて、「ちょっとここは言っておかなければ」という一発目の話題は何がありますか?

何か僕がテーマをあげたほうがよければそれでもいいですが、「これだな」という1個目をルスランさんから聞きたいのですがいかがですか?

ルスラン:監視ですかね。

川口:監視しなければいけないということですか?

ルスラン:最近のテーマはそうです。

川口:監視はどうですか? ルスランさんが見ている中でいうと、お客さんのシステムの監視がどういう感じでできているのかをちょっと聞いてみたいです。監視をくぐり抜けてゴールを達成しているケースもけっこう多いのかなと思うのですが、どうですか?

ルスラン:そうですね。監視検知されずにゴールを達成することもあったり、ゼロトラスト環境みたいなもので、完全に端末が監視検知されていても、やはり不足しているところは多かったりします。なぜかと言うと、基本的に概ねのお客さんは何かしらの製品を入れてそれを運用していろいろ任せることが多かったりします。

ただし、そのような製品は無効ということはなくて、今まで出ている攻撃やバラマキ攻撃に対してはすごく有効ですが、もうちょっと狙う攻撃になってくると、やはりカスタムなテクニックやちょっと技術のある攻撃者であればすり抜けることが可能になります。

川口:でも依頼されるお客さんは、それなりにやっているからペンテストをやろうというのに、セキュリティの監視をやっているにもかかわらず、「ここは監視されているだろうからこうやって抜けちゃえばいいよね」と、ルスランさんはわざわざ監視をかいくぐってやっているのですね。

ルスラン:そうですね。それもあるし、あとはもちろん、案件やお客さん、要件によってやることもあります。例えば、お客さんの中で我々のセキュリティ製品が本当に稼働しているか、思いどおりにやるかを、Emotetみたいな攻撃を実装してテストをして、別にゴールがあるというわけではなく評価する感じです。

例えば「ゼロトラスト環境を作ったので、監視や検知も一応全部組み立てているところを評価させてあげる」ということで、いろいろやってみる感じです。その結果、例えば仮にゴールとして設定されていたのがAzureのグローバル管理者であれば、「最終的にそこまでたどり着いたけれども、検知・監視は何も見つからなかった」というのはあり得る話です。

川口:Azureのグローバル管理者を取られたらなす術がない。adminとしてはそれは一番聞きたくない報告で、「え!?」という感じです。先ほど出てきた“ゼロトラスト”というキーワードは、マーケティングの用語や営業のキーワードでよく使われていて。「じゃあうちもそろそろゼロトラストを考えなきゃね」といって、ここ2、3年そういうキーワードでの製品やサービスの導入は進んできているのかなという感じもあります。

そういう、いわゆる広く「ゼロトラストだ」と言ってやっている環境においても、やはりペンテストで抜けていって権限が取れるケースはあるのですね。

ルスラン:ありますね。たくさんあるし、ゼロトラスト自体の考え方がモデルとしてはいいと思いますが、まだそこまで細かくは見ていません。ただしやはりそれを実現しているベンダーによって、あとは導入している会社がどのように導入をしたかや、どの部門でどのように実装されているかによって、かなり変わったりします。

最近だとゼロトラストと言いつつ、VPNの代わりに何かしらVPNらしいものを入れたりするなど、製品名は言いませんがいろいろあります。

川口:なるほど。

ルスラン:あとは「例えばSaaS化された」とか、「それでSSOが全部実装された」とか。IDP、アイデンティティ・プロバイダとしてはAzureやOktaを使っていたりすることも最近は概ねあります。そうなってくると、個別の例ではいろいろ導入されている端末で、仮にEDR(Endpoint Detection and Response)やアンチウイルスも全部ある端末に感染ができた場合、要はC2サーバー(C&Cサーバー)につながって外部遠隔操作ができる環境や作れた場合、かつEDRも検知されていないとか、通信も仮にC2通信としては判別されていない状態であれば、基本的に攻撃者は全部SaaSです。

今言っているのは、どちらかというとオンプレ環境がないところを主に考えてみると、すべての業務がクラウドになります。個人や社員の一番守りたい資産は、ブラウザの中のCookieです。

例えば多要素認証をいろいろつけてあっても、対象のサイトに認証してあるのだったら多要素認証も通すことになっているので、そのセッションを我々が取得できたら、外部からでもどこからでもアクセスできるようになることもあります。

あとはEDRの話があるのですが、基本的にはそこの端末にあるからこそEDRが動くので、我々がそのセッションやVPNのセッションを例えば奪取、デュプリケートみたいな感じで修復できるのなら、我々の端末から内部に入れたりすることで、他のモニターできるツールをすり抜けられます。

なぜかというと、ゼロトラストの場合はやはりその端末がすべてという感じなので、その端末から来ているものを全部監視されますが、それが我々に来る通信が基本的にどう監視されるかは会社によります。

「ペンテスター視点から見た監視」と「ゼロトラスト」

川口:ゼロトラストと言えばやはりいろいろあるでしょうが、牧田さんもそういう環境を見ていることも多いですか?

牧田誠氏(以下、牧田):そうね。でも今の話はエッセンスが2つあったかなと思っていて。(まずは)最初の監視が大事という話です。

川口:確かにそうですね。

牧田:これはペンテスターの視点です。我々は防御に行きたいじゃないですか。Firewall、ゼロトラスト、EDR。どうしても僕を含めた一般の方々はそっちに行きたい。でも監視が大事という話は、感染できる、EDRはバイパスできる、Firewallやゼロトラストはバイパスできるという、「感染してしまう、バイパスされてしまう前提で考えないといけないよ」という、ペンテスターの目線になります。これはエッセンスの1つ目です。

2つ目は、ゼロトラストが全部クラウドになって、セッション1つでシングルサインオンにも全部行けます。これはみんなにとっても便利ですが、攻撃者であるペンテスターにとってもめちゃくちゃ便利です。今まではオンプレでシステムが全部分かれていて、全部そのセッションを取らないといけなかったけれど、シングルサインオンでばれないように感染して、ブラウザのセッションをダンプすれば、そのあとは全部のシステムにいけてしまいます。

ゼロトラストは攻撃者やペンテスターにとっても実はすごく便利だし、ぜんぜんトラストではない、セキュアではないという、この2つにエッセンスがあったのではないかと思いました。

川口:確かに。Cookieを取るとかは、もう聞きたくない話です。攻撃者に入られて、セッション確立によってCookieを持って行かれてやられましたというのは「あわわわわ!」という感じがします。「それはそうだよね」という感じになりますが、そのあたりは運用でなんとかなるものなんですか。「Cookieを取られないようにしましょう」というのは、運用でなんとかなるのか、設定のもうひと手間なんとかなるのか。

Cookieを取られないためにどのような対策ができるか?

今「ちょっとまずいな」と思った人もいると思います。Cookieを取られたらもうどうしようもないので、そこはちょっと気になっていたのですが、そもそも「Cookieを取られたらダメだからそこをなんとかしよう」なのか、「Cookieを取られてもなんとかする策をもう一枚かまそう」なのか、聞いている人はどちらを考えてほしいのかなと思ったのですが、今だとどちらですか。

ルスラン:対策としては、それを検知できるという意味では、現時点で製品に頼る方法は僕は見たことがありません。そうなってくると、やはり多少カスタムなものを作って、仮にChromeを使っている場合は、基本的にChrome以外のプロセスがCookieが触ることはないはずなので、それ以外のプロセスから触れた瞬間、ちょっと監視してアラートを出すものを作ることは、現時点ではたぶん一番有効な感じです。

そのあとの話になってくると、不審アクセスみたいな感じでCookieが取られて、攻撃者であれば基本的にあちこちにアクセスをしたり、例えばAzure入りみたいな感じのIdP(Identity Provider)に外部からアクセスしてしまったりとか。もちろん感染した端末を踏み台にしてアクセスすればIPも変わらないのですが、それはちょっと置いておいて。ただし、外部からいきなりアクセスした場合はIPが変わります。

小さくて細かいログを解析して「ちょっと不審だな」ということで見ていくしかありません。そうなってくると、やはりSaaS側ですべてのログを収集しながらやる必要性があるし、Boxがあるようなファイルサーバーやファイルクラウドの場合は、例えばいきなりいろいろなファイルにあちこちにアクセスしてダウンロードして始めたことなどは多少見られるようになる感じです。

川口:なかなか守りにくいなと思いましたが、牧田さんどうですか?

牧田:そうなんですよ。僕たちペンテスターではない人たちは守りたいじゃないですか。Cookieを取られないように暗号化して、例えば端末のMACアドレスやホスト名やユーザー名の全部がマッチしない限りはセッションを有効にしない。Cookieだけを取られても対応ホストと組み合わせるハードウェアとかと考えるのですが、(それは)ペンテスターの目線になるんですよね。

そういう製品はたくさんありますが、ペンテスターはそこを解析すればいいという考え方です。認証をCookieだけではなくて、「ホスト名と暗号化方式はこれで鍵はこれね」みたいな。「じゃあ復号すればいいよね」と。もしくは自分の端末に感染させたパソコンのMACアドレスなどを疑似的に付けてと。こういう多要素で防ぐのは無駄だという指摘です。

ルスラン:対策が少し大変なのは、SSO(Single Sign On)みたいな感じで、いろいろなサイトに認証するじゃないですか。SSO自体の対策としては、例えば各サイトにアクセスするにはOTP(One Time Password)や多要素認証。

一番いいのは「YubiKey」みたいな感じのFIDO(Fast Identity Online)があって、さらに認証しなきゃいけなくなる仕組みの導入ができることです。ただし、認証済みのセッションが取れるということで、基本的には各サイトのCookieの生命時間がサービスによって異なるので。

例えばAzureのSSOのCookieの生命を1時間にしたら、それは1時間で切れるのですが、BoxやDropboxなどの他のサービスはたぶん1ヶ月とか無限という設定があったりします。そのあたりのコントロールはユーザー側やシステム管理者側には基本的にはないので、対策としてはちょっと大変かなと思います。

(次回に続く)