とみたまさひろ🍣🍺 retweeted
今回のPHPの脆弱性対応のため、現在もウェブサイトを一時停止されている事業者などの皆様もいらっしゃると思います。
昨日は、高市早苗公式サイトも、すぐに事務所からサイト管理者、サーバー管理者に連絡をしてアクセスができない状態にした上、対応を行ってきましたが、先ほど措置が終了し、アクセスを再開できるようになりました。
状況によっては、サイトを一時的に停止することも重要だと私自身も改めて感じた次第です。
企業を含めサイトを開設されている方々の中には、深夜の対応が必要な場合など、今回のような注意・警戒情報にすぐには気付かない方もいらっしゃると思います。
そうした場合、個社の中でサイト管理を担当されている方、あるいは委託を受けているサイト管理者やサーバー管理者の方が気付くことで、早急に対応に着手することができると思います。
政府では、
国家サイバー統括室(注意・警戒情報)(@cyber_forecast) / X
のアカウントで、重要な注意・警戒情報の発信を行っています。
サイト管理者やサーバー管理者の皆様が、このアカウントを広くフォローして下さることが迅速な対応に繋がるのではないかと、今回の対応を通じて感じました。
とみたまさひろ🍣🍺 retweeted
【PHP脆弱性対応の「後」にむけて】
みなさん、昨晩からのPHP対応お疲れ様です。一晩中連絡鳴り止んでおらず、一部の個別メッセージに返せてなくて申し訳ないです。
一括して、今、世の中の CTOs/CISOs に届いてほしいことを4つ書き残しておきます↓
(まとまりない部分もあるのですが、投稿しないよりマシかなと、このまま投げちゃいます)
Point 1: これからは、ソフトウェア業界全体で、高負荷の続くタイミングになります。意図してセキュリティに時間をあて、チームが「休息」が取れる体制を。
・我々は脆弱性リサーチに数年間継続的に取り組んできてました。だからこそ感じますが、ここ一年(体感では GPT-5.6 Sol 以後)が、最も「本当に?」みたいな脆弱性が掘り出されていく一年になると思います。こんなのまだあったの?という驚きとともに。
・特に複雑なメモリバグの類(memory safe でない言語製のものを中心に)、あるいは認可バグの類が中心になると思われます。
・少なくともここから年末までは、このクラスの脆弱性がまだまだ出てくると考えておく必要があります。(僕が読み外しているかもしれませんが、恐らく高い確度でこうなります。直近のPHP脆弱性すら、いま世界中の研究者が Variant Analysis をしていて、多分まだ出てくるでしょう)
・このご時世では、新規機能の開発に割く時間を明確に落とすしかありません。あくまで経営者である CTO には取りにくい判断なのは重々承知です(僕もそうなので)。
・「対応AIで」と思うかも知れません。これは技術的には正しいです。ただ、組織的には正しくないです。確実になんとかならず、組織は疲弊していきます。
・なんせセキュリティ対応は大抵自分にタイミングが御せないからです。深夜の対応、急な対応、計画の変更、デグレへの不安、脆弱性情報過多(そもそも自社に影響があるかも分からないものが大半なのに)… と、ストレスの強度がぐんぐん高まっていきます。昨日〜今朝のPHP対応のようなものが、毎週あれば、チームは比較的簡単に壊れてしまうでしょう。
・敢えてリーダーが、セキュリティへの、時間・お金(・トークン)にアロケしてください。これは経営者にしか取れない択で、かついま技術経営者に求められることです。
Point 2: 「必要なら予防的にサービス停止」の覚悟を決め、予めできる調整を重ねたい。止められない場合は、仮想パッチ・監視へのリソースアロケを。
・前提、今回のPHPの件のような脆弱性の対応では、「顧客の保護のためならサービスを止めざるを得ない場面」が訪れます。今回も様々なビジネスがそれに直面しました。今後も訪れるでしょう。
・今回の経験を旨に、本当に止めてはならないのか、止めらるのか、止めうる期待値調整がお客様と出来ているか、を徹底的に見直しておきましょう。
・直近の流れをうけての、お客様への事前連絡(スタンス表明)も有効だと思います。(弊社 GMO Flatt Security 製品についても、これからそれをし、リリースノートとして掲示予定です。我々のサービスの侵害、特に Takumi Guard の侵害は、ソフトウェサプライチェーンの最悪な侵害につながるからです。)
・勿論、止めてはならないビジネスも様々存在します。ビジネスドメインに由来する規制/制約(特に金融・医療セグメント)もあれば、顧客とのSLAもあるでしょう。ただし、現代においては、それらに反するリスクと、セキュリティ被害にあうリスクを天秤にかける必要がでてきています。少し前まではサービス停止でのデメリットは容易に考えられても、セキュリティ侵害など考えにくい、という時代でしたが、今はそうではありません。この天秤を再考する必要があります。(なお、「もう何がなんでも止めてはならない」ビジネスは、相当に限定的だと思います。)
・どうしても止めてはならない(もう何がなんでも止めてはならないもの。限定的であれ存在。人命に関わるもの中心)という場合、厳しい戦いになりますが、WAFレイヤなどで緩和策を施しては祈り、監視する、という流れになります。必要なコンポーネント(WAFなど)と運用リソースがあるならば、苦しい時代ですが、休息うまく取りながらやっていきましょう。なければ、これもしんどいですが、整えましょう。
Point 3: もし平時があれば、システムのモダナイズ(Rebuild and Retire)を検討されたい。
・もし自社での緊急対応が落ち着いているならば、レガシーコンポーネント(数年塩漬けのシステム)、誰がメンテできるのか分からないオーパーツ的存在から順に、作り直し(Rebuild)と旧システムの廃止(Retire)を試みてください。新規開発の代わりに、ここにリソースを充てることが CTO/CISO の仕事です。(他の誰もそれを決められないので。)これは追々自分たちを助けてくれる(ついでにAI-native 開発に移行できて改善しやすくなる)とも思料。
・どのシステムからモダナイズしていくかですが:「XXXで書かれているとまずい」というのは燃えるし言いにくいものの、memory unsafe な言語、type safety があまり確保されていない言語の実装は、モダナイズを検討すべきでしょう。(僕はPHP好きですが、C/C++ で書かれた php-src は、やはりメモリバグ類に対して見通しに限界がありますね。好きなんですが…)
・また経験上、開発当時に DevOps プラクティスすら整っていなかった時代のソフトウェアも、モダナイズを検討したほうがよいです。「セキュリティ診断」をしても、取り返しのつかない量の脆弱性が出てきて、作り直したほうが早い、となる傾向にあります。(弊社でも診断/ペネトレしてますが、こうなると、どうしようもありません。)
・ただし Rebuild には、強いソフトウェア開発力が必要で、AI-native なスタイルに移行することは必須です。この意味で CTO の力がいります。かつ、どこからレガシーの追い出しをするか、どうレキュリティ的なレジリエンスを確保するかは、CISO 的な感性が求められます。既製品(とくに SaaS)を買って処理したほうがいいな、というような判断には CIO 的センスが求められます。総力戦だと思ってください。
Point 4: CTO/CISO の総力戦を。
・Point 3でも述べた通り、直近のくだりには、CTO/CISO の総力戦が必要です。ボードがセキュリティに向かって一致団結する必要があります。
・結構これらロールの間にサイロがあるケースがありますが、そんなことを言っている場合ではありません。
・団結を!
とみたまさひろ🍣🍺 retweeted
近くの投票所をなくされれば、延々と歩いて期日前投票所に行く。休日を使って、こうしたデモに参加する。”暴君”の専横から民主主義を取り戻し、命や人権などを守るために、一人ひとりがこうやってコストを払ってるんだな。それが実戦されているところに、米国の底力みたいなものを感じる
4度目の「王はいらない」デモが3000カ所以上で。中間選挙の期日前投票も呼びかけ。 ⇒全米で反トランプデモ 民主党への投票呼び掛け(時事通信)
#Yahooニュース
news.yahoo.co.jp/articles/6e…
とみたまさひろ🍣🍺 retweeted
嫌なら出て行け」というけど、実際にそうして狂った政府に反発する人々が出て行った末路があの国の現状なんだろうね
現政権は死ぬほど嫌だけど、日本のことは愛してるから、踏み留まりたいよ
私の愛する日本があんな国みたいになって歴史に刻まれるのは嫌だよ
(既にだいぶそうなりかけてるけど😭)
とみたまさひろ🍣🍺 retweeted
イスラエルではネタニヤフの支持率が8割らしく、なぜかと言えば、シオニズムに反発するまともなユダヤ人はどんどん国外脱出して、今残ってるのは本物の狂人と、脱出する金のない貧しい人々(+事情のある人)だけだかららしい
(なのでイスラエルの貧富の格差は大きい)
ネトウヨはよく「現政権が→
とみたまさひろ🍣🍺 retweeted
こちらのドコモ宛てに届いた「楽天カード」を名乗るフィッシングメールのヘッダを分析しました。
SPF・DKIM・DMARCはすべてpass、BIMIのロゴ表示まで付いています。
偽装ではなく、楽天カードの正規の署名付きメールを再送する「DKIMリプレイ攻撃」に、「SPF Bypass」を組み合わせた手口です。
■経路
①10/14 21:19、楽天カードが利用しているOKWeb3(okweb3.jp、現在の提供会社はPKSHA Communication社)の送信基盤(楽天カードのSPFで許可済みのIP)から、攻撃者のアドレス宛てに正規メールが送信
②約18時間後、無関係なサーバーからドコモ宛てに再送
元の宛先と、実際に届いた宛先が違います。
■なぜDMARCがpassするのか
DKIM署名は、本文と署名対象のヘッダが改変されていなければ、誰が再送しても有効です。
署名ドメインはFromと同じmail.rakuten-card.co.jpなので、DMARCもpassします。
p=rejectでも、リプレイは防げません。
SPFもpassしていますが、これはエンベロープ送信者を空にし、HELOに使った攻撃者自身のドメインで判定させたものです(いわゆるSPF Bypass)。
Fromとはアラインしないため、p=rejectのドメインならこれだけでは届きません。
DMARCを通したのはDKIMリプレイです。
■被害を広げた原因:署名対象がFromだけ
DKIM-Signatureは h=From:From でした。
署名されているのはFromだけで、Subject・To・Content-Typeは署名対象外です。
攻撃者は件名を「楽天カード登録情報の更新について」に差し替え、MIME境界(boundary)も書き換えています。
RFC 6376 Section 5.4はFromの署名をMUSTとしていますが、それ以外は必須ではないため、仕様違反ではありません。
しかし、Fromだけの署名では、再送時に改変できる範囲が最大になります。
このDKIM署名は、楽天カードの鍵を使ってOKWeb3の送信基盤で付与されています。
署名範囲を決めているのは送信基盤側なので、まず送信基盤側で是正すべき問題です。
■もう一つの根本原因
任意の外部アドレス宛てに、正規の署名付きメールが届く経路があったことです。
フォームの自動返信などを本番の送信ドメインで送ると、攻撃者にリプレイの素材を渡すことになります。
■現状
現在、このDKIMセレクタはDNSに存在しません(全権威サーバーでNXDOMAIN)。
鍵を消せば以後の再送は止まりますが、すでに配送されたメールは、ロゴ付きのまま受信箱に残ります。
■再発防止策(送信側)
1. DKIMの署名範囲を広げる(送信基盤側の対応)
From以外に、Subject・To・Cc・Date・Message-ID・Reply-To・Content-Type・MIME-Versionも署名します。
さらに、存在しないヘッダも含めてオーバーサインし、ヘッダの追加・差し替えを防ぎます。
これは署名を行う送信基盤側、今回はOKWeb3が実装すべき対策です。
送信を外部に委託しているドメイン所有者も、委託先が何に署名しているかを確認する必要があります。
2. 未確認の宛先に送るメールを、本番の送信ドメインから分離する
フォームの自動返信や登録確認メールは、本番の通知とは別のサブドメインから送ります。
そのサブドメインにはBIMIを設定しません。
利用者の入力内容を本文にエコーせず、送信数も制限します。
3. DKIM鍵を3か月ごとにローテーションし、リプレイを検知したら即座に失効させる
定期的なローテーションで、古い署名を再送できる期間を最長3か月に抑えます。
M3AAWGのDKIM鍵ローテーションの指針は「少なくとも6か月ごと」なので、3か月ごとはそれより厳しい運用です。
あわせてDMARC集計レポートを監視します。
「DKIMはpassしているのに、自社のSPFに含まれないIPから大量に送信されている」という記録は、リプレイの兆候です。
検知したら、定期の周期を待たずに鍵を失効させて再送を止めます。
4. SPFの許可範囲を最小化し、隠蔽化する
クラウドなどの共有基盤を広く許可すると、その基盤の他の利用者からのメールもSPF passになり得ます(BreakSPF)。
許可するのは必要なIPだけにします。
さらにSPFを隠蔽化し、どの送信基盤を使っているかを分かりにくくすることで、利用しているメール配信基盤の脆弱性を探すことを困難にできます。
■DMARCは実装して終わりではない
DMARCは、実装して終わりではありません。
p=rejectにして、BIMIを設定しても、それで終わりではありません。
今回のように、利用しているサービス自体が脆弱であれば、突破されます。
委託先の送信基盤も含めて、DMARCレポートを継続的に監視し、異常を早期に検知して対処し続けることが必要です。






























