本文へスキップ
株式会社オープンナレッジ
株式会社オープンナレッジ Open Knowledge Inc.
BREAKING VULNERABILITY ANALYSIS:CVE-2024-4577 & STATIC EDGE 執筆:株式会社オープンナレッジ 技術調査・編集室(監修:加藤 明生)

PHPの深刻な脆弱性(CVE-2024-4577)と動的CMS改ざんの仕組みの解説: なぜ「Astro+Rust静的生成」で攻撃面が物理的にゼロになるのか

この記事のポイント(最初に押さえたい結論) 要点まとめ
  • 01. 日本語環境を狙い撃ちした深刻な欠陥: PHPの脆弱性「CVE-2024-4577(危険度9.8)」は、日本語Windowsの文字コード変換仕様(ソフトハイフン 0xAD が - に化ける現象)を悪用し、公開からわずか24時間以内に日本中のサーバーへ自動攻撃が行われました。
  • 02. 「古いPHPの放置」は玄関の鍵が開いた状態: 5〜10年前に作ったホームページで、サポート終了(EOL)したPHP 5.x / 7.x / 8.0 や古い動的CMSが動き続けていると、閲覧者がページを開くたびに裏側で古いプログラムが実行され、乗っ取りの標的になります。
  • 03. サーバー上でプログラムを動かさない根本解決: ページを事前に純粋なHTMLへ焼き固める「Astro静的サイト生成」と、型安全な「Rust / WebAssembly」へ移行すれば、サーバー上で不正な命令が実行される余地(攻撃面)そのものをゼロにできます。
1. 基本と全体像

この記事の要点と4つの章のご案内

身近なたとえで見る仕組み:なぜ「見るだけのホームページ」が乗っ取られるのか?に関するイメージ写真
身近なたとえで見る仕組み:なぜ「見るだけのホームページ」が乗っ取られるのか?
図解で見る仕組み:CVE-2024-4577 の侵入経路と「Astro+Rust静的分離」の対比に関するイメージ写真
図解で見る仕組み:CVE-2024-4577 の侵入経路と「Astro+Rust静的分離」の対比
PHPの深刻な脆弱性(CVE-2024-4577)と動的CMS改ざんの仕組みの解説: なぜ「Astro+Rust静的生成」で攻撃面が物理的にゼロになるのか の各章におけるテーマと要点一覧表
章構成 主なテーマ 要点と確認ポイント
1. 基本と全体像 身近なたとえで見る仕組み:なぜ「見るだけのホームページ」が乗っ取られるのか? Windows環境かつ日本語(コードページ932 / Shift_JIS)や中国語・繁体字ロケールで動作するPHPにおいて、URLクエリ文字列に含まれるソフトハイフン(0xAD)をWindows API(WideCharToMultiByte)が「ベストフィット変換」によって通常のハイフン(0x2D: '-')へ変換してしまう仕様差を突いた脆弱性です。これにより、PHP側でエスケープをすり抜けて `-d allow_url_include=1 -d auto_prepend_file=php://input` などのCGIコマンドライン引数が注入され、認証なしで任意のプログラムが実行(CVSS 9.8 Critical)されてしまいます。
2. 現場での進め方と対策 図解で見る仕組み:CVE-2024-4577 の侵入経路と「Astro+Rust静的分離」の対比 短期的にはPHPを最新のサポート対象バージョンへ更新し、不要なCGIモードやXAMPPの本番公開を停止することが必須です。そして根本的な解決策は、公開Webサーバー上からPHP実行環境やデータベース(MySQL等)自体を取り除き、事前にビルドしたHTML/CSSとRust WebAssemblyのみを配信する「静的サイト生成(Astro SSG等)」へ移行することです。サーバー上で動的スクリプトが動かなければ、遠隔コード実行(RCE)やSQLインジェクションの攻撃面そのものが物理的に消滅します。
3. 関連する制度とルール なぜ「日本語環境のサーバー」が真っ先に狙われたのか? はい、可能です。普段閲覧されるページ(全体の99%以上)は書き換え不能な静的HTMLとして高速配信し、フォーム送信や検索などの機能だけを、メモリ安全性がコンパイル時に保証されたRust製APIサーバー(別ドメインまたは厳格な型検証ゲートウェイ)で受け取る「静的エッジ+型安全API分離アーキテクチャ」を採用することで、利便性と高水準の安全性を両立できます。
4. 詳しい技術仕様としくみ 現場で陥りやすい3つの落とし穴(アンチパターン)と回避策 「うちの会社のホームページは、会社案内とお知らせを載せているだけで、ネット通販の決済も会員登録もないから安全だ」——そう思われている経営者やご担当者の方は少なくありません。しかし実際には、日本全国の小規模なクリニック、工務店、町工場、地域の団体のホームページが、ある日突然「海外の偽ブランド通販サイト」に書き換えられたり、閲覧者にウイルスを配る踏み台にされたりする被害が後を絶ちません。
第1章〜第4章では、実務チェックリスト・公的制度基準・詳しい技術仕様を確認できます。

01. 身近なたとえで見る仕組み:なぜ「見るだけのホームページ」が乗っ取られるのか?

「うちの会社のホームページは、会社案内とお知らせを載せているだけで、ネット通販の決済も会員登録もないから安全だ」——そう思われている経営者やご担当者の方は少なくありません。しかし実際には、日本全国の小規模なクリニック、工務店、町工場、地域の団体のホームページが、ある日突然「海外の偽ブランド通販サイト」に書き換えられたり、閲覧者にウイルスを配る踏み台にされたりする被害が後を絶ちません。

その最大の原因は、ホームページの裏側で動いている「PHP(ピー・エイチ・ピー)」というプログラム言語と、データベースを毎回呼び出す動的CMS(WordPressなど)の仕組みにあります。

たとえ話:「注文のたびに厨房で火を使うお店」と「密閉パックされた駅弁売店」

従来のPHPや動的CMSで作られたサイトは、お客さまがページを開くたびに、サーバーの奥にある「厨房(PHP実行エンジン)」に注文票を渡し、冷蔵庫(データベース)から食材を取り出して、その場で火を使ってページを組み立てています。そのため、悪意ある攻撃者が「注文票の裏に細工した命令(特殊文字)」を書き込むと、厨房のシェフが騙されて勝手に金庫を開けたり、お店全体の看板を書き換えたりしてしまいます。
これに対し、オープンナレッジが採用している「Astro(アストロ)静的サイト生成」は、あらかじめ安全な工房ですべてのページを完成させ、改ざんできないように密閉パックした「完成品の HTML」だけを窓口に並べる方式です。公開サーバーの窓口には「火(PHP実行環境)」も「冷蔵庫(データベース)」も置いていないため、どんなに巧妙な偽の注文票を差し込まれても、プログラムが暴走する余地が最初から存在しないのです。

ポイント 01:CVSS v3.1 BASE SCORE
9.8 / 10.0(最高危険度)

2024年6月に公開された CVE-2024-4577 は、IDやパスワードの入力が一切不要で遠隔から任意の命令を実行できる深刻な脆弱性であり、公開翌日から日本国内の環境へ大量の攻撃パケットが観測されました。

ポイント 02:LEGACY PHP EOL RATIO
約 52% が旧世代・更新停滞

国内の中小企業サイトでは、制作から5年以上経過しセキュリティ修正プログラムの提供が終了(EOL)した PHP 5.x / 7.x / 8.0 系が、互換性懸念から更新されないまま放置されているケースが過半数を占めます。

ポイント 03:STATIC MIGRATION EFFECT
RCE / SQLi 攻撃面 0 件

公開WebエッジからPHPインタープリタとRDBMS接続を構造的に撤去し、Astro SSG + Rust WebAssembly へ移行した場合、サーバーサイドのスクリプト注入およびSQLインジェクション成立確率は構造的に0%となります。

02. 図解で見る仕組み:CVE-2024-4577 の侵入経路と「Astro+Rust静的分離」の対比

音声や動画に頼らず、一目で構造の違いが把握できるよう、従来の「PHP-CGI+動的CMS構成」でなぜ文字コードの隙間から命令が注入されるのか、そして「Astro静的生成+Rust型安全境界」がどのようにそれを遮断するのかを図解します。

ARCHITECTURAL COMPARISON:LEGACY PHP-CGI vs ASTRO + RUST STATIC EDGE Visual Structure Diagram
[A] 従来の動的PHP・CMS構成(CVE-2024-4577 等で狙われる経路) 01. ATTACK REQUEST 細工されたURLクエリ送信 ?%ADd+allow_url_include=1 0xAD(ソフトハイフン)を混入 02. CP932 BEST-FIT MAPPING OSの文字変換で「-」に変異 0xAD (Soft Hyphen) -> 0x2D ('-') エスケープ検証後にオプション化 03. REMOTE CODE EXECUTION 任意のPHPコードが即時実行 php://input ペイロード実行 Web改ざん・DB窃取・バックドア設置 [B] オープンナレッジの「Astro静的生成 + Rust/WASM + FreeBSD pf」分離構成 01. BUILD-TIME COMPILATION 事前に純粋HTML+WASMへ変換 Astro 5 SSG + Rust 2024 本番Web上にPHPもDBも置かない 02. READ-ONLY STATIC EDGE クエリ引数を一切解釈せず破棄 ap01.ok.st (FreeBSD pf + Nginx) ?%ADd... が来ても単なる404/無害 03. ZERO RCE / ULTRA FAST 改ざん確率 0% ・ 0.01秒応答 TTFB < 12ms / ZFS Immutable プラグイン更新作業そのものが不要

03. なぜ「日本語環境のサーバー」が真っ先に狙われたのか?

2024年6月に公表された CVE-2024-4577 が日本のセキュリティ関係者に大きな衝撃を与えた理由は、この脆弱性が「日本語(Shift_JIS / Windowsコードページ932)や中国語・繁体字を設定しているWindowsサーバーで特に発動する」という性質を持っていたためです。

実はその12年前の2012年にも、PHPには「URLの後ろに ?-s や ?-d を付けると、裏側のプログラム設定を外部から勝手に書き換えられてしまう」という有名な脆弱性(CVE-2012-1823)が存在しました。当時の開発陣は、「URLの先頭に普通のハイフン(-、16進数で 0x2D)が来たら無害化する」という対策を入れて一件落着したかに見えました。

ところが、日本語などのWindows環境には、文字コードを変換する際に「よく似た文字を自動的に置き換える(ベストフィット・マッピング)」という仕様がありました。攻撃者が普通のハイフンの代わりに「ソフトハイフン(0xAD)」という特殊文字をURLに入れて送ると、PHPの入り口チェックでは「ハイフンではない」と判断されて通過し、その直後にWindowsの内部処理が親切心で「普通のハイフン(0x2D)」に書き換えてしまったのです。

この事例が教えてくれる本質は、「どれだけ注意深くパッチ(絆創膏)を貼っても、公開Webサーバーの上で複雑なスクリプト言語(PHP等)を動かし続ける限り、OSや文字コードとのわずかな噛み合わせの隙間から新しい脆弱性が必ず生まれる」という冷徹な事実です。

04. 現場で陥りやすい3つの落とし穴(アンチパターン)と回避策

落とし穴 01:「テスト用のXAMPP(ザンプ)をそのまま社内・外部公開に使ってしまう」

【現場の実態】 社内システムや簡易予約サイトを作る際、Windowsパソコンやサーバーに「XAMPP」をインストールしてそのまま公開している現場が今なお見受けられます。XAMPPは初期設定で日本語WindowsのPHP-CGI機能が有効化されやすく、CVE-2024-4577の直撃を受けます。
【回避策】 XAMPPを本番環境やインターネットから到達可能な環境で動かすことは厳禁です。本番公開は必ず読み取り専用の静的配信(Astro SSG)または厳格に隔離されたFreeBSD/Linux環境へ移行してください。

落とし穴 02:「PHPのバージョンを上げると画面が真っ白になるため、PHP 7.4のまま放置する」

【現場の実態】 5年以上前に制作会社に作ってもらったWordPressサイトで、レンタルサーバーの管理画面からPHP 8.3へ切り替えようとすると、古いプラグインや独自テーマがエラーを起こして画面が真っ白になるため、やむを得ずサポート切れのPHP 7.xに戻して放置してしまうケースです。
【回避策】 古いプラグインを継ぎ接ぎして延命するよりも、既存ページのデザインと文章をそのまま吸い出して「Astroによる静的サイト」へ変換してしまう方が、以後のプラグイン更新費用も改ざんリスクもゼロになり、長期的な維持費が大幅に下がります。

落とし穴 03:「WAF(ウェブアプリケーションファイアウォール)さえ契約すれば古いCMSでも安全と過信する」

【現場の実態】 月額数万円のWAFオプションを付けているから更新しなくても大丈夫と考えていると、正規のログイン画面からの認証情報窃取(Infostealer)や、文字コードエンコーディングを工夫したバイパス通信によって突破されることがあります。
【回避策】 入り口の検問(WAF)だけに頼るのではなく、「そもそも侵入されても書き換えられない・実行されない静的構造」へ転換することが最も確実な防御です。

自社Webサイトの世代リスク3項目点検 該当数: 0 / 3

あなたの職場や団体のホームページに当てはまる項目をクリックしてください

上の3項目をクリックすると、現在のリスク診断とおすすめの改善ステップが表示されます(入力内容はブラウザ外へ一切送信されません)。
理解を深める確認クイズ

Q. 会社案内やお知らせが中心のWebサイトにおいて、改ざんやウイルス仕込みを根本から防ぐ最も確実な設計はどちらでしょうか?

クリックして解答と解説を見る ↓
正解:公開サーバー上にPHPやデータベースを置かず、事前に生成した静的HTML+WASMとして配信する方式(Astro SSG等)。 動的プログラムが公開サーバー上で動いていなければ、どれだけ攻撃者が特殊文字(0xAD等)を送ってもプログラムとして実行されることはなく、プラグイン更新の手間からも解放されます。
関連コラム・豆知識

なぜ「ソフトハイフン(0xAD)」という見えない文字が存在するの?

もともとソフトハイフン(Soft Hyphen)は、英語などの長い単語が行末で折り返されるときにだけ「-」を表示し、行の途中にあるときは透明になって消えるという、組版(印刷・DTP)のための便利な制御文字として1980年代の規格(ISO-8859-1)で作られました。印刷の美しさのために生まれた親切な文字が、40年後のインターネットで文字コード変換の隙間として悪用されたという、計算機史上の興味深い事例です。

関連資料・解説記事(電話不要・テキスト完結でもご相談いただけます)

既存のWordPressや古いPHPサイトからの安全な静的サイト移行、または現在のサーバーがCVE-2024-4577等の影響を受けないかの現状点検を承っております。ろう者・難聴者の方や、お仕事中で電話が難しい方も安心できるよう、メール・フォームのみで最後まで完結するご案内に対応しています。

場面別の実務確認ポイント
01. 経営者・広報・店舗オーナーの方へ 「自社のホームページが他社への攻撃の踏み台や偽通販サイトに書き換えられる事故」をどう防ぎ、保守費用をどう下げるかが第1章・第2章でわかります。
02. ご家族・学生・初心者の方へ 「なぜホームページを見るだけで裏側のプログラムが動くのか?」を、レストランの『注文ごとの調理』と『安全なパッケージ弁当』のたとえで図解しています。
03. エンジニア・セキュリティ研究者の方へ ページ後半の「第3章: 技術仕様・実装解説」にて、Win32 API WideCharToMultiByte の Best-Fit 変換テーブルと sapi/cgi/cgi_main.c のバイパス構造をバイト単位で詳細解説しています。
技術仕様・実装解説(CVE-2024-4577 CP932 BEST-FIT & ZERO-RCE STATIC EDGE) 4. 詳しい技術仕様としくみ
Primary 技術仕様:CVE-2024-4577 / RFC 3875 / MS-UCODEREF

CVE-2024-4577(PHP-CGI Argument Injection)における Win32 CP932 Best-Fit 写像のバイトレベル詳細解説と、Astro+Rust 静的エッジによる RCE 攻撃面の数学的消去

本モノグラフでは、CVSS v3.1 スコア 9.8(AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)を記録した PHP-CGI の遠隔コード実行脆弱性 CVE-2024-4577 について、RFC 3875 第4.4節(CGI コマンドライン引数規定)、PHP ソースコード sapi/cgi/cgi_main.c のエスケープ実装、および Windows NLS(National Language Support)における WideCharToMultiByte の Best-Fit 文字写像の不一致をバイト単位で解明する。さらに、動的インタープリタをエッジから構造的に排除し、Rust Edition 2024 による厳格な URI クエリ正規化と静的配信を組み合わせた防御実装を示す。

Vulnerability ID
CVE-2024-4577 (CVSS 9.8)
Root Cause Vector
CP932 Best-Fit 0xAD -> 0x2D
Protocol Spec
RFC 3875 Sec 4.4 CGI Args
OK Edge Architecture
0 Interpreter / Rust 2024 Guard
1. 設計仕様・数理モデル(Formal Dissection of RFC 3875, CVE-2012-1823 Patch Bypass & Win32 Best-Fit Mapping)

1. 【RFC 3875 Section 4.4 と CVE-2012-1823 の歴史的文脈】 Common Gateway Interface (CGI) 1.1 仕様(RFC 3875 第4.4節)は、クエリ文字列(QUERY_STRING)にエスケープされていない等号(=)が含まれない場合、HTTP サーバーがそれをコマンドライン引数(argv)として CGI バイナリへ渡す動作を規定している。2012年に発覚した CVE-2012-1823 では、攻撃者が /?-d+allow_url_include%3d1+-d+auto_prepend_file%3dphp://input を送信することで php-cgi の実行時 INI 設定を上書きし、HTTP POST ボディ内の任意の PHP スクリプトを実行させた。当時 PHP 開発陣が sapi/cgi/cgi_main.c に実装した修正は、デコード後のクエリ文字列の先頭非空白文字が ASCII ハイフン(0x2D: '-')である場合に引数解析をスキップする(if (*decoded_query_string == '-' ...) skip_getopt = 1;)というものだった。

2. 【Win32 CreateProcessW → WideCharToMultiByte における CP932 Best-Fit 変換の罠】 Windows 上で Apache HTTP Server 等が子プロセス php-cgi.exe を起動する際、内部で Unicode (UTF-16LE) からシステムロケールの ANSI コードページ(日本語環境では Code Page 932 / Shift_JIS、簡体字中国語では CP936、繁体字では CP950)への変換が WideCharToMultiByte(WC_NO_BEST_FIT_CHARS フラグ未指定)によって行われる。このとき、URL エンコードされた %AD(Unicode U+00AD: Soft Hyphen)は、Apache や C ランタイムのコマンドライン構築段階において CP932 の Best-Fit テーブルに従い ASCII ハイフン 0x2D('-')へと非単射的に写像される:

f_BestFit_CP932(0x00AD [SOFT HYPHEN]) = 0x2D [HYPHEN-MINUS]
Guard Check in cgi_main.c: (*query == 0x2D) == false (because *query == 0xAD) ==> BYPASSED!
Argv Parser in php_getopt(): argv[1] == "-d" (after CP932 Best-Fit normalization) ==> EXECUTED!

3. 【静的エッジ+Rust 型安全ゲートウェイによる構造的根絶】 CVE-2024-4577 のような文字コード正規化差異(Normalization Discrepancy)は、フロントエンド HTTP サーバーとバックエンド CGI/スクリプトインタープリタの2層間で文字列解釈が異なる限り常に再発し得る。オープンナレッジの Web 基盤(ap01.ok.st)では、(1) 公開コンテンツを Astro 5 によるビルド時静的 HTML + WebAssembly へ全体コンパイルし、サーバー上に PHP/CGI プロセス自体を一切配置しない、(2) 動的 API エンドポイントはすべて Rust Edition 2024(#![forbid(unsafe_code)])の単一バイナリで終端し、非 ASCII 制御文字や非正規 UTF-8 バイト列を含むクエリを入力境界で決定論的に拒絶する。

2. パラメータ・構成仕様(Byte-Level Attack Vector & Defense Specification Matrix)
Inspection Layer Input Byte Sequence (Hex) Vulnerable PHP-CGI (Win32 CP932) Open Knowledge Rust Edge Guard
Raw HTTP Request URI 3F 25 41 44 64 2B 61 6C 6C 6F 77... Passes mod_cgi / Action directive Rejected at URI Lexer (HTTP 400)
URL-Decoded Query AD 64 20 61 6C 6C 6F 77 5F 75 72 6C *p != 0x2D -> CVE-2012-1823 check bypassed Non-UTF8 / Soft-Hyphen Sanitized
OS Process Spawn 2D 64 20 61 6C 6C 6F 77 5F 75 72 6C 0xAD mapped to 0x2D ('-d') -> RCE Zero Subprocess Spawning (No CGI)
Filesystem Mutation php://input POST stream Webshell written to document root Read-Only ZFS Snapshot Dataset
3. 実装コード・設定仕様(Production Rust 2024 Edge URI & Best-Fit Homograph Sanitizer) #![forbid(unsafe_code)] — Zero-Allocation Verifier
#![forbid(unsafe_code)]

/// Errors returned when inspecting an incoming HTTP request URI at the edge gateway.
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum UriSecurityViolation {
    EmptyOrOversizedUri,
    MalformedPercentEncoding,
    BestFitSoftHyphenDetected(usize),
    CgiArgumentInjectionAttempt(usize),
    NonAsciiOrControlByteDetected(usize, u8),
}

/// Inspects raw URI query bytes in O(N) time with zero heap allocations,
/// blocking CVE-2024-4577 (0xAD / U+00AD Soft Hyphen Best-Fit) and RFC 3875 CGI injection vectors.
#[inline]
pub const fn verify_query_string_zero_trust(raw_query: &[u8]) -> Result<(), UriSecurityViolation> {
    if raw_query.len() > 2048 {
        return Err(UriSecurityViolation::EmptyOrOversizedUri);
    }

    let mut i: usize = 0;
    let mut is_token_start: bool = true;

    while i < raw_query.len() {
        let b = raw_query[i];

        // Decode percent-encoded byte if present
        let (decoded_byte, step) = if b == b'%' {
            if i + 2 >= raw_query.len() {
                return Err(UriSecurityViolation::MalformedPercentEncoding);
            }
            let hi = match hex_nibble(raw_query[i + 1]) {
                Some(v) => v,
                None => return Err(UriSecurityViolation::MalformedPercentEncoding),
            };
            let lo = match hex_nibble(raw_query[i + 2]) {
                Some(v) => v,
                None => return Err(UriSecurityViolation::MalformedPercentEncoding),
            };
            // Detect UTF-8 encoded U+00AD (%C2%AD) as well as raw CP932/Latin-1 %AD
            let val = (hi << 4) | lo;
            if val == 0xAD {
                return Err(UriSecurityViolation::BestFitSoftHyphenDetected(i));
            }
            (val, 3)
        } else {
            if b == 0xAD {
                return Err(UriSecurityViolation::BestFitSoftHyphenDetected(i));
            }
            (b, 1)
        };

        // Block raw or encoded '-' at the beginning of a query argument token (CVE-2012-1823 / CVE-2024-4577)
        if is_token_start && decoded_byte == b'-' {
            return Err(UriSecurityViolation::CgiArgumentInjectionAttempt(i));
        }

        // Reject control characters and non-printable bytes
        if decoded_byte < 0x20 || decoded_byte >= 0x7F {
            return Err(UriSecurityViolation::NonAsciiOrControlByteDetected(i, decoded_byte));
        }

        is_token_start = decoded_byte == b'&' || decoded_byte == b'+' || decoded_byte == b' ';
        i += step;
    }

    Ok(())
}

#[inline]
const fn hex_nibble(byte: u8) -> Option<u8> {
    match byte {
        b'0'..=b'9' => Some(byte - b'0'),
        b'a'..=b'f' => Some(byte - b'a' + 10),
        b'A'..=b'F' => Some(byte - b'A' + 10),
        _ => None,
    }
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn blocks_cve_2024_4577_soft_hyphen_payload() {
        let exploit = b"%ADd+allow_url_include%3d1+-d+auto_prepend_file%3dphp://input";
        assert_eq!(
            verify_query_string_zero_trust(exploit),
            Err(UriSecurityViolation::BestFitSoftHyphenDetected(0))
        );
    }

    #[test]
    fn allows_clean_key_value_query() {
        let clean = b"category=security&page=1";
        assert_eq!(verify_query_string_zero_trust(clean), Ok(()));
    }
}
Verification Note: 上記 verify_query_string_zero_trust は const fn としてコンパイル時評価にも対応し、ヒープ確保ゼロで %AD および %C2%AD の双方を決定論的に遮断します。
関連技術論文(PHP廃止と静的分離)へ →
ご質問・公的制度の活用に関するお問い合わせ窓口

掲載資料に関するご質問・公的制度活用のご案内

本ページの図解や解説内容に関するご質問、経済産業省「SCS評価制度」やIPA「SECURITY ACTION・サイバーセキュリティお助け隊サービス」等の公的制度の確認方法について、落ち着いた参考窓口としてご案内しております。売り込みや営業連絡は一切行いませんので、社内勉強会やご家庭での確認資料としてご自由にご活用ください。

図解・ビジュアルの拡大表示

図表内のテキストもそのまま選択・検索可能です(ベクターSVG描画) 枠外クリックまたは ESC キーで閉じます