Skip to content

Commit f33b775

Browse files
authored
Merge pull request #1715 from Nefertiti-999/patch-5
Update 20251028b_【PoC】Vue_+_DuckDB-Wasm_+_ECharts_によるセキュリティ投資判断アプリ.md
2 parents e598f1e + 1d6cd07 commit f33b775

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

source/_posts/2025/20251028b_【PoC】Vue_+_DuckDB-Wasm_+_ECharts_によるセキュリティ投資判断アプリ.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ lede: "経営者がセキュリティ投資判断をしやすくする簡易ダ
1616

1717
こんにちは、CSIG(Cyber Security Innovation Group)所属 の松本です♪
1818

19+
フロントエンド初心者ですが [Vue連載](https://future-architect.github.io/articles/20251016a/) で頑張ってみました。
20+
1921
現在専門ドメインはセキュリティです。もともとデータのセマンティックに関心がありますが、加えて最近では脅威モデリングや脅威インテリジェンスに注目しています。
2022

2123
今回は、経営者がセキュリティ投資判断をしやすくする簡易ダッシュボードを構築しました!使用するデータ量が多くなってもブラウザで固まらず、今後の拡張性も加味した構成にしたかったため [WASM (WebAssembly)](https://developer.mozilla.org/ja/docs/WebAssembly) を組み込んでいます。開発プロセスで遭遇するセキュリティ豆知識も掲載しているので、記事を通して一緒に学んでいければと思います。
@@ -57,12 +59,12 @@ lede: "経営者がセキュリティ投資判断をしやすくする簡易ダ
5759

5860
<iframe width="560" height="315" src="https://www.youtube.com/embed/jUJgXRPqGQQ?si=9A9N8BlqrtPkfNiS" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
5961

60-
**【経営者ビュー】**
62+
###【経営者ビュー】
6163
投資対効果を検討するため、その対策を行ったときの想定損失低減率を縦軸、1つの対策で自社の資産をどの程度(範囲/規模)守ることができるのかのカバレッジを横軸に4象限で区分けし、現状に即したセキュリティ投資対象を選別することを想定しています。バブルチャートは投資割合を表しており、左下の基準(1)となる円より大きければ過剰投資、小さければ投資不足を意味します。つまり、右上の "IDEAL AREA" に基準円と同じ大きさの円があれば、**最適な投資対象****最適な投資額** を投じていることになります。具体的な数値は、カーソルオン時のポップアップに記載しています。
6264

6365
<img src="/images/2025/20251028b/image.png" alt="image.png" width="1200" height="551" loading="lazy">
6466

65-
**【技術者ビュー】**
67+
###【技術者ビュー】
6668
経営者に根拠をもって説明するため、技術的脅威(attack technique)と防御策と対象資産を網羅的に紐づけ、防御策の有効性を可視化することを想定しています。クリックすると、各ノードは該当するMITREのリンクへアクセスしてくれます。
6769

6870
<img src="/images/2025/20251028b/21eb3673-f334-4431-9977-1871ffb96a81.png" alt="" width="1200" height="587" loading="lazy">
@@ -87,7 +89,7 @@ lede: "経営者がセキュリティ投資判断をしやすくする簡易ダ
8789
### 関連用語
8890

8991
- **SPA(Single Page Application)**
90-
処理の多くをサーバーと通信せずにブラウザ内(クライアントサイド)で完結させ、ページ遷移なしの高速なUIレスポンㇲを実現するアプリケーション全般を指します
92+
処理の多くをサーバーと通信せずにブラウザ内(クライアントサイド)で完結させ、ページ遷移なしの高速なUIレスポンスを実現するアプリケーション全般を指します
9193
- **DuckDB**
9294
もともとは、データ分析(大量のデータを読み込んで集計や計算をすること)に特化した、高速なデータベースです。「データ分析版SQLite」のような存在です。[操作デモ](https://shell.duckdb.org/) をweb上で行うことができるので是非使用感をお試しください。
9395
- **WASM (WebAssembly)**
@@ -208,7 +210,7 @@ duckdb-graph-spa/
208210

209211
Viteは、モダンなWeb開発で使われる非常に高速な開発ツール(ビルドツール)です。下記設定ファイルを使って、Viteの動作をプロジェクトに合わせてカスタマイズします。オプションがさまざまあるので [こちら](https://ja.vite.dev/config/shared-options.html) を参考に使いこなしてみましょう。
210212

211-
#### クロスオリジン分離
213+
**クロスオリジン分離**
212214

213215
処理を高速化させたい場合に、DuckDB-WASM のマルチスレッド機能を利用するため COEP/COOP ヘッダーを設定することでデフォルトではセキュリティ面(Spectre脆弱性)から無効化されている SharedArrayBuffer を有効化することができます。が、「自ドメイン以外のリソースを読み込む際に、相手側が読み込み許可と宣言してくれていないと、ブラウザがブロックする」という制限がかかります。そのため、許可宣言を記載をすべてのリソースに行わないといけないのでかなり大変です。ここに高速処理とセキュリティのトレードオフを垣間見ました...。最初知らずに設定し続けていたため、画面に何も表示されず沼にはまりました(´;ω;`) (3Dグラフィックスの計算などはWASM-Thread高速処理設定が必要だったりするのですかね...今回はそこまでの量を扱ってないので利用せず)
214216
詳細解説は [こちら](https://blog.agektmr.com/2021/11/cross-origin-isolation.html)
@@ -279,7 +281,7 @@ tooltip: {
279281
},
280282
```
281283

282-
こちらは、**ノード(点)****リンク(線)** で構成されるデータの関係性を分かりやすく表現している箇所です
284+
こちらは、**ノード(点)****リンク(線)** で構成されるデータの関係性を表現している箇所です
283285

284286
```html 力学指向ネットワーク図
285287
~~~(中略)~~~
@@ -332,7 +334,7 @@ DuckDB-WASMは **Parquet形式** の読み込みに最適化されています
332334

333335
※今回利用しているデータは一般公開情報を元にしたサンプルデータとなります。
334336

335-
### 参考資料
337+
## 参考資料
336338

337339
https://duckdb.org/docs/stable/clients/wasm/instantiation
338340
https://duckdb.org/docs/stable/clients/wasm/data_ingestion

0 commit comments

Comments
 (0)