ハクソク

世界を動かす技術を、日本語で。

DoD契約者のセキュリティ確保:マルチテナント認可の脆弱性を発見する

Hackerたちの意見

> CEOからの最初の返事: 「その脆弱性が何か聞きたいけど、報酬を求めてるんだよね?それが狙い?」うーん、かなり厳しいね。
こんな態度なら、次の脆弱性を敵に売った方がずっとお金になるだろうね。
「あなたのアプリに重大なバイパス脆弱性を見つけたんですが、開示するための適切なチャネルはどこですか?報酬プログラムはありますか?」みたいな内容のメールが何度も来るんだ。やり取りしてみたけど、結局こうなる。「実際には脆弱性はないけど、あなたは完全に脆弱だから、セキュリティ監査をさせてください」って。こういうメッセージには今、あらかじめ用意した返信があるんだ。
もっと良い対応ができたはずだけど、いくつかの背景が必要だね。もしあなたの名前がスタートアップの目立つリーダーシップポジションに関連付けられていると、重要な脆弱性を発見したと主張する人から大量にスパムが来るんだ。彼らとやり取りすると、会話が彼らのサービスを雇うリクエストに変わることが多い。だから、CEOの対応は良くなかったけど、初回の連絡で脆弱性の詳細を隠すのも良い選択とは言えない。何かを修正してもらうのが目的なら、行動できる人に転送しやすいメールに含めるべきだった。セキュリティやバグバウンティに関わる人なら、悪質な報告の量がLLM以前から問題だったことは分かるよ。今はみんながLLMを使ってペンテスターとして仕事を得ようとしているから、報告の量が完全に制御不能になってる。
もっとひどいケースもあるよ。「善きサマリア人」がベンダーに行かず、クライアントに行くことがあるんだ(つまり、DIB企業に連絡せず、政府機関に連絡する)。これが起こると、政府の契約者が非難されて生計を失うのを見たことがある。そして、そう、いつも「善きサマリア人」からベンダーへの「クイックフィックスの提案」があって、政府機関には安心を約束するんだ。誤ったベンダーが彼らの解決策を選ぶ場合だけね。後になって、報告された識別情報やリソースが間違っていたことが判明することも珍しくないけど、その時には政府機関がすでに契約者を罰していて、報告した「善きサマリア人」は笑っている(時には銀行口座も)。彼らは「子供のために」「国への脅威」「おばあちゃんが崖から落ちる」といった理由で非倫理的な脆弱性開示を正当化できるんだ。うん、触れたくない話題だね。
SaaSオペレーターとして、スパムの「脆弱性を見つけた」メールがどれだけ来るか、ほんとにバカげてる。脆弱性の証拠なんて全然出さないし、バグバウンティプログラムがあるか確認させようとするだけ(その後スキャンし始める)。それに対する返答は、私には全然響かない。彼らは自分たちがスパマーの一員だと思ってるみたい。
最終的に、AIセキュリティスタートアップの詐欺師たちが他のテックスタートアップの詐欺師たちを抑えることになるかもね。もしかしたら、壊滅的な漏洩やユーザーのプライバシーを無視する時代が終わるかも(あまり期待できないけど)。
現在のMythosのゼロデイ状況の深刻さを理解するまで待ってて。これから何が来るかの全体像はもう掴んでるけど、これらの脆弱性がもたらす高レベルの影響を理解するのは難しいと思う。これは終末的な見方ではなくて、世界が終わるわけでもないよ。ちょっと痛い思いをするかもしれないけど、全体的には遅すぎたくらいで、みんなにとってチャンスになると思う。
「意味のある組織のスコーピングもなく、テナントの隔離もなく、低権限ユーザーが他の組織の記録にアクセスするのを防ぐ権限チェックもなかった。」でも、推測するに、彼らはSOC2やISOに準拠してるんでしょ?
こんなことは、製品の簡単な監査でも出てくるはずだけど、今は2008年の格付け機関やムーディーズみたいな感じだね。大きな breach が起きるまで彼らの信頼性は失われない。
最近Handalaグループがサービスメンバーのリストを盗んだのはこういうことなのかな。どうやってこんな膨大なインターネットの中から脆弱性を見つけるんだろう?何か一般的なAPIスキャナーを使ってAPIを発見してるのかな?
ある程度は内部情報に基づいてると思う。もしすでにDoDのために何かしらの仕事をしているなら、脆弱なものを探す範囲が狭まる傾向があるよね。
うん。http://shodan.io
初見としては、脆弱性の話としてはかなり退屈な部類だね。ここでのターゲットは、ほとんど知られていなかったからこそ守られていたんだ。この記事で一番のポイントは、DoDが展開したトレーニングプラットフォームが、アメリカの企業で広く使われている同じようなアプリケーションよりもずっと敏感なものかもしれないってこと。脆弱性自体は、mitmproxyを持っている人ならプラットフォームを見て数分で気づくようなものだし、アプリ内のオブジェクトIDがどこでも回転していて、意味のある認可がなかったみたい。AIシステムがこれを「見つける」ことができるか、つまり自動的にアプリケーションを操作して明らかな認可チェックの失敗パターンを「理解」することができるかは興味深いけど、まあ「うん、そうだね」って感じの興味だね。
この開示から生じた二つの質問: 1. 限定的な権限を与えるバグバウンティプログラムについての言及は見なかったけど、独立した研究者はどうやって法的に安全にこれを行うの?特にDoDが関与している場合は? 2. もし研究者がDoDの請負業者で脆弱性を発見して、その請負業者が問題を解決しないようなら、研究者が報告するための効果的で安全なDoDの連絡先はあるのかな?
> 独立した研究者たちは、どうやって法的に安全にこれを行うの?私の経験では、主に第三世界の外国人がドライブバイの乞食バウンティテストをしていることが多い。おそらく、彼らは法的なことをあまり考慮していないんだろうね。
最初の質問に答えると、ベテランの独立研究者たちは、そんなシステムには手を出さないと思うよ。脆弱性を発見したと伝えると、たくさんの企業が弁護士を送り込んでくるからね。善意で行動しても、企業はあなたに対して最善を期待する理由がゼロだし、コンピュータ詐欺や悪用に関する不適切に書かれた法律を持ち出して脅してくることもある。DoDは、全ての公的なDoD/DoWシステムに対して「防衛産業基盤 - 脆弱性開示プログラム」を提供しているようだけど、契約者が管理する資産やサービスは含まれていないかもしれない。詳細を確認するためのHackerOneのページはログインが必要で見れないんだ。
これ、たくさんのスタートアップで見たことあるし、ギャップを埋めたりベストプラクティスを導入するために働いたこともあるよ。トップクラスのVCに支援されているところでもね。問題は、スタートアップにセキュリティを意識している人がほとんどいないこと。デザイナーや資金を集める人、APIをつなげる一般的な人たちが多いんだ。プラットフォームやデータベース、セキュリティを意識している人はあまりいない。vercelやsupabaseみたいなものの普及がこれを悪化させている。だから、クライアントサイドにAPIキーをデプロイしたり、RLSなしでDBを使ったりする人が出てくる。基本的なことすらできてない。
そうそう、私も15年間スタートアップでの経験があるけど、罰則がほとんどないから、スタートアップが運営方法を変えるインセンティブがないんだよね。
ほとんどの場合、セキュリティを意識している人たちは、製品を早く市場に出すためのことに集中するように促されるんだよね。
> だから、クライアントサイドにAPIキーを配置したり、RLSなしでデータベースを使ったりする人がいるんだよね。サービスキーをクライアントサイドに配置するべきところで匿名にしないとか、ほんと基本的なことだよ。Claude Codeはこれをやってて、プロダクションにプッシュする前に検証をバイパスすることを積極的に勧めてる。大手CIAMプロバイダーとのやり取りでそれを目の当たりにしたし、Vercelが古いトランジティブブリーチでどのOAuthプロバイダーでも使ってるのを見たよ。これは今や常識だよね?それとも俺がただの妄想してるだけ?
あなたの意見では、セキュリティに対する注意不足はスピードバイアスのせいなのか、それとも専門知識がないからなのか?リソースが非常に限られたスタートアップや個人起業家に対して、どんなアドバイスをしますか?
以前、医療記録を扱うスタートアップで働いてたんだけど、HIPAA違反があったら reputational damage で会社が潰れちゃうところだった。だって、顧客もHIPAAの対象だから、過去にHIPAA違反があったスタートアップなんて雇えないよね。個人的には、そこのリーダーシップの中にはリスクを気にしない人たちがいたと思う。もしその人たちがHIPAAの影響を受けない他の会社のリーダーだったら、セキュリティ対策はこのスレッドで言われているようにずさんだったんじゃないかな。でもHIPAAがあるから、うちの会社のセキュリティ対策はまあまあだった。弱点は確かにあったし、SOC-2みたいな形式的なチェックもあったけど、完全に無茶苦茶ではなかった。エンジニアリング部門の中で気にしている人たちは、懸念を提起しても無視されず、ちゃんと正しいやり方でやらせてもらえた。私の結論は、プライバシー違反に対して実際に厳しい罰則があると、スタートアップもデータを軽視しなくなるってこと。
正直、わかるよ。もし2人分の人員がいるなら、そのうちの1人をDBAにして、もう1人をプラットフォームアーキテクトにする?アプリを実際に作るのは誰なの?フレームワークがこれをやってくれないのが問題だと思う。マルチテナントのCRUDアプリを作るのに、DBAやプラットフォームアーキテクトが必要な理由って何?ほとんどのものが同じことをやってるのに。
テナントスコーピングは重要だよ。Microsoftに聞いてみなよ、bing.comのところで問題があったんじゃなかったっけ?ああ、Bingのユーザー全員がMicrosoftのデータ(例えばo365のメール)をハッキングされる可能性があるんだよ。大したことじゃないね。
なんか彼らは優しすぎた気がする。90日間返事がなかったら、全開示しちゃえばいいのに。CEOは自社の製品を守るよりも、人を侮辱することに興味があるみたいだね。
トピックはずれるけど、AIペンテスティングにかなり興味を持つようになったよ。過去に使ったペンテスト会社がぼったくりだったり、非常に mediocre なテストをするのに不満だったからね(もちろん、いいところもあるけど、今のClaude Codingのスピードには追いつかないだろうね)。いくつかのオープンソースのペンテスターを試したけど、Strixは結局最後まで動かなかった。このShannonってプロジェクトだけが信頼できるように動いて、$10Kのペンテストの結果を超えるものが出たよ(ペンテスト会社のレポートを受け取った後にShannonを見つけたから、いいベースラインの比較になった)。注意点:これはホワイトボックスで、ペンテスト会社はグレーボックスだったけど、それでもペンテスト会社から得たものには全然感心しなかった。$50対$10Kは比較にならないよ(笑)、結果も遥かに良くて、うちのCTOは心臓発作寸前だった。ペンテスト会社の時代は終わったと思う - 特にMythosや5.5-cyberみたいな能力が出てきてるから、これから楽しみだね!
この分野は混み始めてるのはわかってるけど、私も一つ作ってるから、時間があればフィードバックもらえると嬉しいな。
これらのテストも考えてるところなんだ。XBOWやHorizon3みたいなものを調べる機会はあった?