先に結論です。残った SHA-256 が答えるのは、「ハッシュが一度持ち出されたあと、一回の推測の計算コストは低いか」です。使い回しが答えるのは、「そもそも推測しなくてよい」です。ファイアウォールの外へ締め出されるのは、侵入のあと誰かが元のアカウントを動かしたからであり、アルゴリズムが自分で鍵をかけ直すからではありません。PBKDF2 に対応した FortiOS へ上げたあと、古いハッシュが新しい方式へ替わるのは、その管理者がログインに成功したときか、スーパー管理者がパスワードを設定し直したときです。あとからダウングレードできるように、古い SHA-256 は既定で隠れた項目に残ります。
検索意図に一文で答える
「FortiBleed」「ファイアウォールの管理者が外に締め出された」「パスワードを SHA-256 で保存」で探す人は、同じニュースに重なった三つの出来事を分けて見る必要があります。一つ目は、以前の漏洩や窃取ログにあったパスワードを、まだインターネットに出ている FortiGate の SSL VPN へそのままぶつけることです。二つ目は、ベンダーがレガシーの SHA-256 と呼ぶ管理者パスワードの材料が機器に残っているとき、ハッシュが持ち出されたあと GPU クラスタでオフラインに推測できることです。三つ目は、入ったあと相手が新しいアカウントを作り、元の管理者を変えるか消すので、正規の人がポータルを開けなくなることです。
この記事は、まだファイアウォールや VPN のアカウントを見ている運用と、「今夜、管理者パスワードを全部替えろ」と言われた同僚向けです。パスワード生成の操作ページの代わりにはならず、強度チェックを、この機器が FortiBleed に入ったかを照会できる機能だとも書きません。持ち帰ってほしいのは、速いハッシュ、遅い鍵導出、パスワードの使い回し、アカウント削除が、それぞれどの失敗を止められるか、そして設定バックアップのどの二つの印をこの端末で見ればよいか、です。
10月6日の勧告が実際に書いたこと
FBI と米国シークレットサービスが 2026年10月6日に出した合同勧告(文書番号 JCSA-20261006-01、表示は TLP:CLEAR)は、この活動を FortiBleed と呼んでいます。対象はインターネットに面した Fortinet FortiGate ファイアウォールと SSL VPN ゲートウェイです。勧告は SOCRadar の確認数字を引き、8万6,644台を超える機器、194か国と書いています。攻撃が使ったのは、使い回されたかすでに漏洩したパスワードと、残っていた SHA-256 のパスワード保管であり、それによって認証材料をまとめて持ち出し、クラックした、と明記しています。初期の所見は、攻撃者が以前に得たパスワードで、公開された Fortinet ファイアウォールをいまもスキャンしている、というものです。
同じ文書は、相手側のバックエンドディレクトリが一時的に露出し、そのためにツールチェーンが見えた、とも書いています。スキャンが FortiGate の SSL VPN ポータルを見つけたあと、以前の Fortinet 漏洩コーパスと窃取ログでクレデンシャルスタッフィングを行い、パスワードスプレーも行いました。引き出されたパスワードハッシュは、Hashcat と Hashtopolis がジョブを割り振る GPU クラスタへ送られ、オフラインクラックされました。クラックできた結果は選別され、検証され、そのあとファイアウォール上に新しい管理者アカウントが作られました。勧告はその後の影響を初期アクセスの転売だと書き、この経路がランサムウェアの関係先へ渡るのが観察されたとし、名指しで INC/Lynx と Payload を挙げています。これらの文で言えるのは、勧告がそう書いている、というところまでであり、この記事が改めてフォレンジックをした結果ではありません。
「パスワードを変えれば終わり」と直接ぶつかるのは、文書の締め出しの節です。初期対応によれば、相手が元のアカウントを消すか、元のアカウントのパスワードを変えると、組織は Fortinet 機器に自分でログインできなくなります。侵入のあいだ、相手は元は存在しなかったアカウントを作ります。場合によっては、既存アカウントの削除は、組織自身のアクセスを遮りながら環境内を横移動し続けるためです。そのため勧告は、対応が通常のパッチとパスワードリセットを超えることがある、と書いています。この手順は MITRE ATT&CK の T1531(Account Access Removal)に対応づけられています。
この記事は、ハッシュの取り出し、辞書、クラック用のコマンドを出しません。勧告に載ったアドレスやアカウント名の一覧も転記しません。あの一覧は、すでにログを追っている防御側のためのものです。下の確認は、あなたが管理する権限を持つ機器と、ベンダーの公開文書だけを使います。ニュースを確かめるために出所の不明な公開ディレクトリをダウンロードしないでください。パスワードハッシュを含む設定バックアップを、チケットやチャットへ貼らないでください。
使い回しとオフラインクラックは別の道
見出しは「パスワードが弱い」を一つの原因にまとめがちです。勧告には、失敗の条件が違う道が少なくとも二本あります。クレデンシャルスタッフィングとパスワードスプレーは、オンラインのログインで起きます。相手が送るのは、すでに知っているか、いま試している平文です。このとき機器がパスワードをどのアルゴリズムで保存しているかは、機器自身の比較の仕方にしか影響せず、相手の手元にある文字列には影響しません。その文字列が、まだ有効な VPN か管理者アカウントと同じなら、ログインは成立します。
オフラインクラックは、ハッシュがすでにコピーされたあとで起きます。相手はもうポータルを叩かず、自分のマシンで推測を列挙し、推測をハッシュにして、持ち出した材料と比べます。この段階のコストは、保存方式が一回の推測にどれだけの仕事を課すかと、パスワード自体の探索空間の大きさで決まります。SHA-256 は完全性のために設計された速いハッシュです。同じ入力は常に同じ出力になり、計算は一回で終わります。ファイルの照合には向きます。攻撃者がパスワードを一回推測するたびに、はっきりした計算コストを払わせる役は、単体では担えません。GPU クラスタを借りてやるのは、この一回で終わる演算を並列に回すことです。勧告のなかで Hashtopolis がしているのは、クラック作業を複数のマシンへ配ることであり、新しい暗号アルゴリズムではありません。
| 経路 | 相手の手元にあるもの | 保存を PBKDF2 にしたあと |
|---|---|---|
| スタッフィング / スプレー | 平文、またはごく短いよくあるパスワード表 | 平文はそのままログインできる。遅い導出は、すでに知られたパスワードを止めない |
| オフラインクラック | 機器からコピーしたパスワードハッシュ | 一回の推測が高くなる。短いパスワードと使い回しは、それでも当たりうる |
| 外への締め出し | すでに入った管理セッション | アルゴリズムを替えても、相手が元のアカウントを変えるか消すことは止めない |
表の三行目は、よくある読み違いを止めるためのものです。「もっと遅いハッシュにした」を、「管理者はもう外へ締め出されない」と書かないためです。締め出しは、認証がすでに通ったあとで起きます。頼っているのは相手が設定を変えられることで、SHA-256 がどれだけ速いかには寄りません。逆に、パスワードだけをリセットし、公開された管理面を畳まず、フィッシングに耐える多要素認証も足さないなら、勧告が挙げた一部しか扱っていません。FBI とシークレットサービスは、管理アクセスの絞り込み、既存の管理セッションと VPN セッションの終了、パスワードリセット、フィッシング耐性のある多要素認証、未知のアカウントの照合、PBKDF2 の確認を、同じ緩和策の組に書いています。
SHA-256 と PBKDF2 がそれぞれ証明すること
OWASP Password Storage Cheat Sheet は、パスワード保管を「速いハッシュを一回計算する」から切り離し、一意のソルトを付けた遅い鍵導出を使うよう求めています。例は Argon2id、bcrypt、scrypt、または反復回数が足りている PBKDF2 です。ソルトの役割は、事前に計算した表を、ある人から次の人へ流用できなくすることです。反復回数やメモリハードのパラメータの役割は、一回の推測ごとに大量の仕事を繰り返させることです。二つが答える問いは違います。ソルトだけで、計算はやはり SHA-256 の一回なら、レインボーテーブルは外れても、短いパスワードへの GPU 総当たりのコストは低いままです。遅くても全員が同じソルトなら、大量のハッシュは同じ一枚の表で覆えます。勧告は、Fortinet の旧方式を「ソルトがまったく無い」とは書いていません。この記事もその細部を補いません。文に書いてよいのは、ベンダーが後から自分で出した対照です。
Fortinet の管理者パスワードハッシュに関する技術説明は、FortiOS 7.2.11、7.4.8、7.6.1 から、ファイアウォール管理者の資格情報を保存するハッシュが SHA256 から PBKDF2 へ変わった、と書いています。説明では SH2 が SHA256、PB2 が PBKDF2 です。これらの起点より下の版では、同じ説明がハッシュ関数を SHA256 のままにしています。7.2.11 のリリースノートは、新しい方式をランダムソルト付きの PBKDF2 と書き、ローカルのシステム管理者パスワードの保管を強めるためだとしています。これは「画面に暗号化済みと書いてある」という文とは別です。ここでの SHA-256 と PBKDF2 はどちらも一方向の導出であり、対称鍵でパスワードを可逆の暗号文に包んだものではありません。SH2 を見て「ディスク上は平文だ」と読んではいけません。PB2 を見て「平文が漏れても問題ない」と読んでもいけません。
PBKDF2 に、世界共通の「もう十分遅い」反復回数はありません。ベンダー文書が公開しているのはアルゴリズム名、ソルト、そして設定のなかの SH2 / PB2 の印であり、上の説明に、チケットへ写せる反復の整数は出ていません。確認の記録は「このバックアップでは、このアカウントはすでに PB2 だ」と書く方が、文書が実際に支えている文に近いです。「だから GPU ではクラックできない」とは書かないでください。短いパスワードと、古い漏洩から写したパスワードは、限られた反復でもコストの低い推測のままです。長く、アカウントごとに違うランダムなパスワードが上げるのは探索空間です。公開された管理インタフェースは、それだけでは閉じません。
アップグレードはログイン前に古いハッシュを替えない
技術説明で最も抜けやすい一文は、これです。より古い版から上げたとき、管理者パスワードは、その管理者が新しいファームウェアでログインに成功するまで SHA256 のまま保存されます。ローカル管理者を全員 PBKDF2 にするには、各自が少なくとも一回ログインする必要があります。まだログインしていない人は、super_admin がパスワードを手で更新します。ファームウェアの版番号を変更記録へ書いただけでは、設定に SH2 が残っていない証明にはなりません。
いまのパスワード欄がすでに PBKDF2 になっても、古いハッシュは自動では消えません。説明は、後方互換のため、以前の SHA256 が既定で隠れた old-password に残る、と書いています。通常のログイン後の管理画面にはこの項目は出ません。super_admin が書き出した設定バックアップには見えます。この古い材料がバックアップに残っているあいだ、オフラインクラックの対象も残っています。攻撃者は、ファームウェアの更新が終わるまで待つ必要はありません。バックアップファイル自体がクラウドドライブ、チケット、チャットに入れば、SH2 をもう一部コピーしたのと同じです。
old-password のなかの SH2 を消すのは、別のスイッチであり、アップグレードの副作用ではありません。FortiOS 7.2.x と 7.4.x では、対応する設定は login-lockout-upon-downgrade です。後の文書での別名は login-lockout-upon-weaker-encryption です。開くときには確認の警告が出ます。リリースノートは、PBKDF2 が 7.2.11、7.4.8、7.6.1 から提供されること、そのあとこのハッシュに対応しない版へ下げるとローカル管理者がログインできなくなること、を書いています。7.2.11 から 7.4.7 のように「版番号は大きいのに、まだ PBKDF2 が無い」経路も、このロックに数えられます。LDAP、RADIUS、SAML で認証する管理者は、このローカルハッシュの組を使わないので、このダウングレードロックの影響を受けません。ローカルアカウントだけが、SH2 / PB2 の印の対象です。
だから「古いハッシュを消すスイッチを開く」と「今夜はまだファームウェアを戻すかもしれない」は衝突します。インシデントの当日、PBKDF2 に対応するどの版に落ち着けるかまだ決めていないなら、SH2 を消すためだけにこのロックを開かないでください。先に機器へ入れる経路を残し、もう戻さないと確認してから古い材料を消します。勧告が言う「PBKDF2 を使っていることを確認し、より弱いレガシーハッシュを取り除く」は、このベンダー説明の一段を指していて、ポータルでパスワードを一回変えることと同義ではありません。
締め出しはログイン成功のあとで起きる
ニュースを受け取った最初の反応は、管理者パスワードを全部リセットすること、になりがちです。リセットは、相手がまだ使っていない古い平文を無効にできます。まだ入れるなら、保管を SH2 から PB2 へ進めるきっかけにもなります。扱えないのは、「相手がすでにあなたのアカウントで入り、そのアカウント自体を変えてしまった」場合です。勧告が書いているのは、元のアカウントを消すかパスワードを変え、正規の管理者がログインできなくすること、そして元は無かったアカウントを新しく作り、自分のアクセスを保つことです。VPN ポータルで見る認証失敗がこの時点で証明するのは、「この資格情報はもう機器に受け付けられない」ことであり、「相手には新しいアカウントが無い」ことではありません。
チケットは二列に分けてください。一列はパスワードとハッシュです。各ローカル管理者がいま SH2 か PB2 か、バックアップに old-password が残っているか、新しいパスワードがメール、クラウドコンソール、別の VPN と使い回されていないか。もう一列はアカウントの一覧です。勧告より前には無かったローカル管理者がいないか、既存セッションを全部終えたか、公開された管理インタフェースが任意のアドレスに開いたままか。フィッシングに耐える多要素認証は、「パスワードだけ」ではリモート管理と VPN を開けなくします。設定にすでに書かれた新しいアカウントは消しません。すでにコピーされた古いハッシュを、相手の GPU の待ち行列から引き戻すこともできません。
ランサムウェアの一文も、先回りしないでください。勧告が言っているのは初期アクセスが引き渡されたことであり、「SHA-256 のままのファイアウォールは今日すべて暗号化される」ではありません。すでにログインできない機器は、完全性を確認できないものとして扱います。隔離し、設定とアカウントを照合し、そのあとで復旧を検討します。まだログインできる機器は、公開された管理面を先に畳み、セッションを終え、まだ SH2 のローカル管理者を PB2 へ移し、新しいパスワードは別に保管します。どちらも「同じ新しいパスワードをグループの告知へ書く」にはしないでください。
その場で確認する:バックアップの印を見る
版番号も、ニュースの見出しも、「アップグレード済み」という言葉も、この設定のなかのハッシュの印の代わりにはなりません。次の四つの手順は、あなたがすでにこの機器の権限ある管理者であることを前提にします。信頼できないパソコンでバックアップを開かないでください。「SH2 が無いか見て」と、生成 AI の会話へバックアップをアップロードしないでください。
- ファームウェアの版を三つの起点と照合します。7.2.11、7.4.8、7.6.1 です。対応するブランチの起点より下なら、ベンダー説明はローカル管理者のハッシュを SHA256 のままにしています。版が起点より上なのは、「新しいログインが PB2 で書かれる余地がある」ことまでであり、古いアカウントの書き直しが終わったことではありません。
super_adminで設定バックアップを一つ書き出し、この端末でSH2、PB2、old-passwordを検索します。あるアカウントがPB2だけで、old-passwordも無いときにだけ、「このバックアップには古い SHA-256 が見えない」と記録できます。画面に隠れた項目が出ないことは、古いハッシュが消えたことにはなりません。- ローカル管理者を一覧し、アップグレード後に一度もログインせず、スーパー管理者にもパスワードを設定し直されていないアカウントに印を付けます。説明は、これらのアカウントがログインか再設定まで SHA256 のまま残る、と書いています。リモート認証のアカウントを、このローカルハッシュの組と同じ結論へ混ぜないでください。
login-lockout-upon-downgrade(または文書中のlogin-lockout-upon-weaker-encryption)を開くなら、先にリリースノートのダウングレードロック警告を読み、近いあいだに PBKDF2 非対応の版へ戻さないことを確認します。開いたあと、PBKDF2 だけになったローカル管理者は、その戻し先ではログインできません。
この四つの手順が答えるのは、「この設定がいま管理者パスワードをどの方式で保存しているか」です。「相手の GPU の待ち行列に、それより前のコピーが無いか」には答えません。ハッシュが一度機器を出たら、この端末で保存方式を変えても、すでにコピーされた分は無効になりません。無効にする方法は、パスワード自体を替え、新しいパスワードの材料が old-password に SH2 で残っていないことを確認することです。公開された管理面が閉じているかはインタフェースの方針で見て、ハッシュの接頭辞では見ません。
勧告を読みすぎる四つの場合
一つ目は、「ファームウェアはすでに 7.2.11 以上だ」を、「設定に SHA-256 はもう無い」と読むことです。説明は変換を、その管理者のログイン成功かパスワード再設定に結び、古いハッシュを既定で隠れた項目に残します。版番号は起点にしかならず、完了の印にはなりません。
二つ目は、PBKDF2 を「使い回しのパスワードが無効になった」と読むことです。遅い導出が上げるのは、オフライン推測の単価です。別のサイト、古い漏洩、窃取ログからすでに得た平文は、ログイン時にそのまま送れば足ります。場所ごとに違うパスワードを使うことが、この一本を止めます。管理インタフェースを畳む代わりにはなりません。
三つ目は、「パスワードを変えた」を「締め出しは起きない」、または「すでに締め出されていても、同じリセットで解ける」と読むことです。パスワード変更の前提は、その変更をまだ送信できることです。相手がアカウントを消したかパスワードを替えたなら、ポータルの失敗は古い資格情報が受け付けられないことだけを示します。新しいパスワードは、相手が作った管理者を自動では消しません。
四つ目は、「このパスワードは、この端末の弱いパスワード一覧に出ていない」を、「FortiBleed のハッシュ待ち行列に無い」、または「このファイアウォールはすでに PBKDF2 だ」と読むことです。一覧の照合はこのブラウザのタブで起き、ハッシュの印は設定バックアップで起きます。二つの証拠は、互いの代わりにはなりません。一覧に当たらなくても、使い回された長いパスワードであることはあります。一覧に当たったことは、ありふれすぎていることだけを示し、この FortiGate が侵入されたことの単独の証明にはなりません。
よくある質問
FortiOS 7.2.11 へ上げたあと、SHA-256 はすぐ消えますか?
消えません。ベンダーの説明は、7.2.11、7.4.8、7.6.1 からローカル管理者パスワードを PBKDF2 にすると書きつつ、アップグレード後は対応する管理者がログインに成功するか、super_admin がそのパスワードを設定し直すまで SHA256 のまま残る、と明記しています。古いハッシュは既定で隠れた old-password にあります。super_admin の設定バックアップには見え、通常の管理画面には見えません。古いハッシュを消すには、ダウングレードロックのような方針を別に開き、PBKDF2 に対応しない版へ下げたときにローカル管理者がログインできなくなることを受け入れる必要があります。
PBKDF2 に替えたあと、すでに盗まれた平文パスワードはまだ使えますか?
使えます。PBKDF2 が上げるのは、「ハッシュしかなく、一回ずつ推測する」コストです。相手が古い漏洩やこの端末の窃取ログから平文をすでに持っていれば、ログイン時にその文字列をそのまま送り、ハッシュをクラックし直す必要はありません。メール、VPN、管理者アカウントのあいだでパスワードを使い回しているとき、遅い導出はその平文を間違った文字列には変えません。
すでに外へ締め出されているとき、もう一度パスワードを変えても意味はありますか?
ポータル上のその一回の変更は、まだログインできることが前提です。勧告は、相手が元のアカウントを消すかパスワードを変え、正規の管理者が入れなくし、同時に元は存在しなかったアカウントを作る、と書いています。この場合は機器に入れないものとして隔離し、設定を照合します。パスワードリセットをもう一度実行すれば終わる、とは読めません。パスワード変更は、ファームウェア内でまだ変換されていないハッシュや、old-password に残った古いハッシュも取り替えません。
この端末の弱いパスワード一覧は、このファイアウォールのハッシュがクラックされていない証明になりますか?
なりません。ローカルの一覧が答えるのは、その文字列が今のタブへ入っている公開の高頻度一覧と、少数の変形に当たるかだけです。FortiBleed は照会せず、ファイアウォールの設定も読みません。当たらなかったことは、そのパスワードが一度も漏洩していない証明にも、機器上のハッシュが PBKDF2 へ替わった証明にもなりません。当たったことは、その文字列がありふれすぎているので替えるべきであり、使い回しを続けてはいけない、という意味だけです。
新しいパスワードはこの端末に残す
保管が SH2 から PB2 へ替わったあとにも、ほかで使っていない管理者パスワードが一本必要です。この一歩は、FastPwd のパスワード生成を今のタブで済ませられます。登録は不要で、サイト内にパスワード保管庫もありません。ランダムモードは crypto.getRandomValues を使い、長さは 6〜128 文字、初期値は 16 文字です。8 文字未満では安全性が低いと示します。生成結果は既定ではアップロードしません。ファイアウォールへはログインせず、SH2 を PB2 にも変えず、公開された管理インタフェースも閉じません。出すのは、「管理者 / 社名 / 季節」からその場で編まなくてよい文字列であり、まだ入れるローカルアカウントを置き換えるためのものです。
開発者ツールの Network を開き、ログの保持をオンにして、新しいパスワードの全文字列でリクエスト行と本文を検索します。業務リクエストにこの文字列は出てはいけません。この確認が証明するのは、「今回は HTTP の本文としてタブを出なかった」ことであり、そのあとチャットへ貼らなかったことではありません。ブラウザがパスワードの保存を尋ねたら、保存しないを選んでください。ブラウザに保存されたパスワードの一覧は別の扉であり、FortiOS の PB2 とは関係ありません。初期値の 16 文字で、大文字、小文字、数字、記号から引いたランダムなパスワードの探索空間は、スプレーが使う短い単語よりはるかに大きいです。この文を「だから SHA-256 では絶対に計算できない」、または「だから管理インタフェースはインターネットへ開いたままでよい」とは書かないでください。
この文字列が公開の高頻度一覧にある弱いパスワードに見えるかを見たいなら、捨ててよい別の試験文字列を強度チェックで照合します。調べるパスワードはアップロードしません。照合するのはページと一緒に落ちる公開の一覧であり、Have I Been Pwned でも、FortiBleed のハッシュ集合でもありません。当たらなかったことは、ウェブ全体で見たことが無い証明にはなりません。これから有効にするファイアウォールのパスワードを検査欄へ貼らないでください。設定バックアップを検査に出さないでください。
新しいパスワードを、当番の別の同僚へ一度だけ渡す必要があるなら、サーバーに残るグループメッセージやチケット本文へは書かないでください。ワンタイムリンクに切り替えます。サーバーが一時的に持つのは暗号文だけで、鍵はリンクの # の後ろに置き、作成も閲覧もアカウントは不要です。リンクの形は s.html?id={id}#{key} です。この経路が答えるのは「どう一度渡すか」であり、「ファイアウォールをどう直すか」ではありません。設定バックアップに SH2 や old-password が入っているなら、その一式をワンタイムリンクやクラウドドライブへ入れないでください。バックアップは、すでに信頼しているマシンに残し、使い終わったら自分たちの設定保管の規則で扱います。相手が画面を撮る、完全なリンクを転送する、いずれも「閲覧後に消える」がそのコピーまでは届かないことになります。
関連記事
ローカルの弱いパスワード一覧がよくある弱いパスワードを捉えられ、ウェブ全体の照会や、ある事件のハッシュ集合にはできないことは、ローカルの弱いパスワード一覧が証明できること、それが全ウェブ照会ではない理由に書いています。パスワードを作るときは暗号学的に安全な乱数を使い、Math.random は使わないことについては、Math.randomで作ったパスワードは見た目が乱れていても、暗号学的に安全な乱数ではないを見てください。一度きりの鍵をリンクのハッシュの後ろに置くとき、サーバーは既定ではその断片を受け取らないことについては、URLの#以降に鍵を置ける理由と、その保護が崩れる場面を見てください。