CLOSE

ペンテスターから見た最近のセキュリティ状況(全4記事)

「ついうっかり」が情報漏洩につながることもある ペンテスターの情報収集法から見た、コミットとアカウント使用の注意点

GMOインターネットグループにジョインしたGMOサイバーセキュリティ byイエラエ株式会社が、会社の概要から最新のサイバーセキュリティ事情まで、幅広いトピックをディープに語りあかす「ペンテスターから見た最近のセキュリティ状況」。ここで川口氏とルスラン氏が登壇。続いて、ペンテスターの情報集めの方法と、その方法から見た注意点を話します。前回はこちらから。

ペンテスターの情報集めは基本的にGitから始まる

川口:掘り下げたいのですが、これだけで今日のセッションが終わってしまうので、次に行きます。SSOの環境でどう守っていくかはそれぞれの環境と運用もあるのはすごく感じるところです。

(スライドを示して)開発者の人が使っているサービスで代表的なのが、GitHubまわりです。GitとするかGitHubとするかによると思いますが、そこに何か情報が入っているとか、そこのアカウントや権限が取れることからスタートすることはあって、日常的なGitやGitHubを使わざるを得ません。

日常のオペレーションに組み込まれているところにペンテスターが差し込んでくると、けっこう(それが)攻略の糸口になっているケースは多いと思うのですが、ルスランさん、そういうのはどうですか?

ルスラン:そうですね。基本的に我々はゴールがいろいろあって、やり方もいろいろあります。例えば感染済みの端末からスタートするとか、あとはOSINT(Open Source Intelligence)と言われる、外部公開されている情報を探してそこからエントリポイントを探しに行くこともある。どちらにしても、外部の情報を集めていっているので、基本的にはGitから始まります。

会社名を入れたり、いろいろ検索をして何も公開していないというのは、企業の中でそもそも開発者がいない案件ぐらいかもしれません。認証情報はあちこちにどこにでもあるというわけではないのですが、情報収集という意味では、たまにすごく役に立つこともあります。

「ついうっかりコミット」が情報漏洩につながることもある

ルスラン:Gitは何が悪いかはたぶん開発者のみなさんはわかっています。コミットが消されていない状態であれば、攻撃者はもちろん、誰でもコミットの履歴から各コミットを見て、情報を取れることもあります。そのような感じで、過去のある案件で鍵が取れて、外部LDAP(Lightweight Directory Access Protocol)サービスにそのAPIキーで入って、いろいろな内部情報を取れたケースもありました。

川口:ついうっかりコミットしてしまった例はあると思います。

ルスラン:そうですね。

川口:ついうっかり認証情報や漏れたらまずい情報をignoreに入れずに入れて、「もう消したからいいだろう」となったけれど、実は見てみたらコミットログがあるみたいなことですよね。

ルスラン:はい。ありますね。

牧田:消えていないというやつですね。

川口:これは、(情報が)あるよね、見られるよね、探せるよねというところからの、あとになって悲鳴が聞こえるパターンですよね。

牧田:一番びっくりしたのはセキュリティ製品。(製品名は)言わないですけど、ソースコードが公開されたのはおもしろかったですね。

ルスラン:あれはおもしろかったですよね。でもあれは開発者より、たぶん開発者のインターンが会社に入った時に、いろいろなメモの中にDropboxのリンクも入っていて、そのDropboxのリンクに入ると開発中のかなり大きな動画が誰でもダウンロードできる状態で存在していて、かなり大変だったようですね。

川口:Dropboxのリンクは1回作ってしまうと期限がなくなるので、それがどこかで漏れるとフォルダ以下はザクザク見られます。

ルスラン:そうですね。プレミアムみたいな感じにしない限りは、基本的にはアクセス履歴も取れません。

川口:そうですね。無料版を使っていたら取れないですね。

会社アカウントと個人アカウントの扱い

牧田:あとは、会社アカウントではなく、プライベートの個人アカウントでリポジトリを作っちゃって、その会社の情報まで間違ってコミットをしていたのはあって。

OSINTでペンテストをする人たちは、すぐに人を特定できるのがすごいですよね。この人がTwitterをやっていて、TwitterアカウントにGitHubのアカウントがあって、診断をされた会社と個人のリポジトリが紐づいて、そこで鍵が取れてということもあったりするので、プライベートで使う時は、会社と分けて。気を付けないといけないですね。

川口:会社が創業期だったりすると、そのあたりはわりとゆるく管理されていたりします。個人の能力に依存してシステムが開発されていたり、もしくはそうやってやっている中途のできるエンジニアが入ってきたりすると(大変)。境界線が甘い時期にそういうところが使われたりすると厄介ですよね。

会社が大きくなるとそのあたりはきっちり分けて管理をするようになると思うのですが、会社のステージによってはそこまでケアがされていなくて、ペンテストを受けてみたらあらあらと気付くパターンです。でもよかったですよね。ルスランさんやイエラエに頼んだのであれば、まだ口止めできます。「ちょっとこの情報は契約で見なかったことにできますよね」と言えばできますけど、悪い人はそうしてくれませんからね。

ルスラン:そうですね。個人的にはたまにバグバウンティみたいな感じではやっていて、日本の会社の情報も見つけたりするので、知り合いのいる会社であればチラッといろいろ入れていますが、他はちょっと大変ですね(笑)。

川口:そうですね。

牧田:でもおもしろいと思ったのは、自分たちの会社で使うソースコードの中で固有の言葉、被らないような言葉を入れてそれをクローリングしておくことで。これも監視ですよね。誰かが間違ってパブリックにしちゃったりか感染しちゃった時に、関数名かわかりませんが、監視で固有値が引っかかります。すぐに止められるのは対策としては賢いなと思いました。注意力に頼って、「みんな気を付けて」とか、二重三重にチェックするのは、ちょっと限界があります。

川口:そうですね。社員数も増えたりすると、いつかちょろっとやっちゃうのはありますね。

(次回に続く)

続きを読むには会員登録
(無料)が必要です。

会員登録していただくと、すべての記事が制限なく閲覧でき、
著者フォローや記事の保存機能など、便利な機能がご利用いただけます。

無料会員登録

会員の方はこちら

関連タグ:

この記事のスピーカー

同じログの記事

コミュニティ情報

Brand Topics

Brand Topics

  • 今までとこれからで、エンジニアに求められる「スキル」の違い AI時代のエンジニアの未来と生存戦略のカギとは

人気の記事

新着イベント

ログミーBusinessに
記事掲載しませんか?

イベント・インタビュー・対談 etc.

“編集しない編集”で、
スピーカーの「意図をそのまま」お届け!