お久しぶりです。lufeです。もう12月も半分になろうとしており、一年も終わりに近づいております。今年もCODEBLUE2022に参加してきたのですが、まだ講演をすべて見れてなかったので今年までにはすべての講演をみてレポートや感想を書いてきたいなぁって思っております。
今回はRCCのアドベントカレンダーとしてDay1の1つめの講演について書かせていただきました。
※講演を聞いていろいろと言葉等を変えております。主観等も入っていると思われますのでご理解いただいたうえで呼んでいただけると幸いです。
基調講演:サイバーセキュリティの圧倒的な課題を理解するために
セキュリティ業界が成長するにつれ、われわれの世界のあらゆる側面がより複雑になり、攻撃者によって圧倒されるのを目の当たりにしている。われわれにはこれまでも提供されてきたソリューションやテクノロジーがある。それらは、活動を楽にするものであったり、攻撃者を阻止するものであったり、攻撃者を素早く捉えようとするものであったり、自動的に被害を低減するものであったりする。しかし、現実には功を奏しているとはいえない。率直に言えば圧倒されている状況だ。
プログラムの現状を知り、どこに時間とリソースを費やすべきなのかを知ること。
そして、組織のリスクを低減するための最善策を知ること。
この2つはあらゆるプログラムにとって重要な要素である。
この講演では、世界有数の大企業がどのような取り組みから現状を理解し、そして最善策を得ようとしているのかを紹介する。ニール・R・ワイラー – Neil Wyler
https://codeblue.jp/2022/speakers/?content=Neil_Wyler
企業からのよくある質問として以下があげられている。
- 我々はセキュリティについて正しく対策できているのだろうか。
- 始めに何をすればいいのだろうか。
そこでベンダーは以下のようにうたっている。
- あるプロダクトでセキュリティ問題をすべて解決する
- AIがすべてやってくれる
セキュリティカンファレンスに来ている人でも優れた製品・機能があれば解決すると思っていている。
ここで大切なのは、ひとつのプロダクトだけですべてがカバーできるわけではなく、かつ自動化はある程度までしか対応できない。技術により人が置き換わっていくであろうといわれているがまだ、その時ではないため、人が大切である。
例として火災があった場合に自動でスプリンクラーが消化してくれるから火災対策としては自動火災スプリンクラーだけを導入してればいいとは考えられないだろう。
セキュリティで大事なのが成功と失敗の上になりたっている基盤である。
5つのセキュリティ的評価を以下に示す。
・世界大手の金融系
100人以上のセキュリティスタッフとSOCで38人いた金融会社
FTPは使っていないといったが、.ruファイルがサーバに存在した。
ネットワークを確認すると、ファイル送信について行われており、ほとんどの金曜取引が記録されていた。
未熟なハンティングプログラムであり、セキュリティが十分ではなかった。
・アメリカ政府
優秀なセキュリティスタッフがおり、ドキュメントもしっかりしていてなおかつベストプラクティスも存在していた。
8~30秒間暗号化が行われていないトラフィックが確認でき、個人識別情報が入っていた。
テストを忘れていた結果、侵入を受けてデータが無くなっていた。
・海外の政府
人員不足であり、時代遅れなセキュリティ対策経験
ネットワークトラフィックを確認すると普通は存在しないトラフィックを確認できた。
そのトラフィックは脆弱性スキャンをしているトラフィックであったため、確認を取るとExchangeサーバが行っているといった。Exchangeサーバが普段はやることはないことをしていた。
攻撃者に内部に侵入されないことを注力していたため、外部トラフィックのみ監視していた。
内部のサーバやアプリケーション間の通信を監視していなかった。
・ゲーム開発会社
いいセキュリティスタッフと多くのセキュリティ的解決策、新しい技術にも挑戦していた。
他に何をやればいいんだろう?他もやってみたい。といった意欲的な会社。
ネットワークセグメンテーションがうまくできていなかった。
ネットワークが暗号化されていなく、機密情報がすべて見れた。
GitHub, Docker, Confluenceなどの一つのソフトウェアにアクセスできればすべての情報にアクセスできた。
すなわち、小さいセキュリティホールから特権を奪われ、すべてのことができるようになっていた状態であった。
社員を信頼しすぎてすべての情報を社員が閲覧などできる状態であった。
・Blackhat
Blackhatでは攻撃的なトラフィックをよく見かけるが、講演等で学んだことを試しているだけかもしれない。
そのため、攻撃的なトラフィックの中でも悪意のある攻撃を見極める必要がある。
Blackhatではセキュリティスペシャリストが集まるため、脅威ハンターがセキュリティ的欠陥を見つけようとする。
異常なトラフィックを確認したら攻撃しようとしていた。
バグを見つけ、廊下でエクスプロイトコードを書き、一日足らずで攻撃された。
加えてBlackhatのネットワーク上にある個人の個人情報が流れていることがわかった。
その人は大学への書類送信のために暗号化せずに送信していたが、VPNのスプリットトンネルがうまくいっていなくてデータが暗号化されずに流れていた。
このようなことは、トラフィックを確認しないと実際に何をやっているのかがわからない。
上記の評価からやらなければいけないことを抜粋する。
- プロトコル監視
使用していないプロトコルが存在しているのか否かの確認 - 運用管理
一つでも不審なモノがあった場合はすべてのモノが脅威にさらされる。 - 内部監視
外部からの香華でだけでなく、ネットワーク内部での悪意ある行動の発見 - 情報操作
情報の分離と暗号化 - 情報透過性
IPアドレスの向こう側(サーバなど)に何が動いているのかや何があるんかの特定 - VPN設定
うまく設定できているかの確認。 - ホスト隔離
あるサーバが乗っ取られたときを想定して隔離する。
根本的なセキュリティ問題をどのように解決できるのか。
log, packet, endpointの情報が必要であり、情報がないと攻撃の全体を見ることができない。
自動化は情報収集のためであり、判断するのは最終的には脅威ハンターである。
一つの解決策ですべてが解決できると思わない。
自分たちが何ができないかなどのスキルのギャップは把握する必要がある
外部のヘルプを求めることは問題ない。
ログについて
ログが生成されるなら、可能な限りすべてのログを取得する。
コストがかかっても、見る必要がなくてもログを取る。
ログが色んな場所に保存されているならまとめ、自分たちが使える状態にしておく。
半年や1年のログを確認する。
一部しか無いと意味がない。
使えないとドブに捨てることになる。
ネットワークではフルパケットキャプチャは重要。
金融機関の例ではフルパケットキャプチャがあったので喪失したデータを復元できた。
なくなったものを記録することは法的にも意味がある
ネットワークに対する映像監視と同じ役割である。
例えばカメラを設置して、映像ではなく、5分おきに写真を取るといったような考えにならないのと同じである。
最初の規模は小さくていいが、だんだん大きくしていこう。
エンドポイントについて
デバイスで何が起きているかを把握する
- なぜ存在しているのか。
- なんのアプリがどれくらいの頻度で動いているのか。
- 誰が導入したのか。
これらを理解することは意味がある
できれば実際にサンドボックスに入れて挙動をみる
脅威インテリジェンス
重要であるが、価値がないと意味がない。
すなわち、セキュリティジャンクフードであり、しっかり対策をしているといい気分にさせてくれるだけでうまく行ってるとは限らない。
TTPsをすべてでやるのではなく、だれが攻撃してくる可能性が高いのかを考える。
どんなキャンペーンをするか、どんなテクニックを使ってくるか、誰が攻撃してくる可能性があるかを理解することは、軽減することができる。
例えば東京で沢山のお金を使って滅多に発生しないトルネードの予防はしない。
それよりも、地震の対策にお金を投資するのと同じで、攻撃してくる可能性が高いところに投資する。
脅威インテリジェンスの情報は多くのデータが存在するが重複しているところが多い。
自分で情報整理することができなければできる会社を探すべき。
例えば、TTPsがなにか教えてもらうなどのことを聞くべき。
これによって具体的なテクニックに対して対策できるようになる。
脅威ハンティング
環境の中に攻撃者がいるか、チーム内に攻撃者がいた場合を考える必要がある。
攻撃者がいてみなさんのコードを見ているとしたらヒントを与えている
脅威ハンターは内部漏洩者を見つける手助けもしてくれる。
脅威ハンターをつかってアタッカーを見つけるだけを求めるともったいない。
質問をしていくことでアタックの可能性を減らすことができる。
自動化
すべてを自動化して楽にはなることはないが、情報を取得することはできる。
ノイズに気を取られずに行動に集中できる。
ボタン一つでセキュリティ対策ができるものではない。
Red Teamについて
攻撃にもいろいろあり、ソフトウェアの自動スキャンだけではなく、人が行うものである。
Red teamingは攻撃者の真似をしてもらうことが目的であり、脆弱性(人間の行動も)を特定したら直していく。
ただRed teamを招いて攻撃してもらうだけでは意味がない。
何から始めればいいか
まずは攻撃者を知ることが大切なため、脅威インテリジェンスが大切。
それを見つけるために必要な情報があるかを確認し、予算や人材なども確認していく。
具体的になぜ必要なのかを伝える必要がある。
情報がそろったらすでに攻撃者はいるかどうかを確認し、脅威ハンターにより確認してもらう。
こういった確認で何も見つからないことはないため、やってみてほしい。
攻撃の可能性を減らさないといけないとなったときには対策を取ることで難しくできる。
一番最初からRed Teamをやらないでほしい。
まずはBlue/Red teamで内情を確認していく。
協力することでどのように防衛できるか発見できる。それをなんども繰り返すことによってセキュリティ脅威から守ることができる。
ツールはすべてを解決できないが、網羅的にやってくれるツールは大切である。
感想
学生の私にとっては現状の企業のセキュリティ的対策等に関しては触れることがないため、新鮮な話であり、リアルな話であったと感じました。特に政府や大手企業にも脆弱な部分が存在し、見直すべき状態が存在するとも知ることがでました。事例が多くわかりやすいものも多くあり、多くの方が考え、実践していく必要がある内容であったと思いました。
一点そうだなぁと思いつつも会社の考え方的にわかるなぁと思ってしまったこともありました。それはゲーム開発会社の例の「社員全員を信頼しているからこそ情報を全員に開放している」といった点です。これは情報の透過性で会社がどのようなことをやっているのかを全員に共有したいということと、社員を信頼していますよといったことを会社側はいいと思ってやっていると思います。これは一種の信頼を示しているからこそ会社と社員が一団となるといった思いも込められているのだろうと思います。しかしやはり攻撃者は良心に付け込んで攻撃するといったこともFishing等にも同じような考えがあるのため、この考えには天敵であると考えます。私もある会社で同じような事例を見たことがあるためにこんな感じの自分的感想を書きました。
あと、ログの大切さは昔から言われていることですが大事だなと思います。Hardeningやっていても実際にシステムに何が動いていて、どのようなことをやっているのかなどを把握しておく必要があり、一つでも入られてしまうとすべて乗っ取られてしまうといったことを経験しました。加えて、例えばFTPから侵入されたとしても、FTPのログを取っていなかった場合には侵入経路がわからないため、迷宮入りしてしまう可能性もあります。
上記のようにログの取得は大切なので日ごろの自分のデバイスでもログ監視をしてみて一度経験しておくのも大事だなと思いました。
いろいろと再確認できた一方で、使用しているプロトコル以外もしっかりと確認するといった必要であるものも知ることができたのでよかったです。
面白い講演ありがとうございました。