List of node-js - Baldanders.info
tag:Baldanders.info,2015-07-26:/tags
2015-07-26T09:00:00+00:00
バルトアンデルスは連続的な怪物,時間の怪物である。(ホルヘ・ルイス・ボルヘス 『幻獣辞典』より)
https://baldanders.info/images/avatar.jpg
https://baldanders.info/images/avatar.jpg
CVSS に関するメモ 3
tag:Baldanders.info,2015-07-26:/blog/000864/
2015-07-26T09:00:00+00:00
2015-07-26T09:00:00+00:00
先日 CVSS(Common Vulnerability Scoring System; 共通脆弱性評価システム)のバージョン3がリリースされ IPA でも記事が登場した。「その2」の記事を書いたのが2007年なので,実に8年ぶり? である。
Spiegel
/profile/
<p>
先日 CVSS(Common Vulnerability Scoring System; 共通脆弱性評価システム)のバージョン3がリリースされ IPA でも記事が登場した。
</p><ul>
<li><a href="https://www.first.org/cvss">Common Vulnerability Scoring System (CVSS-SIG)</a>
<ul>
<li><a href="https://www.first.org/cvss/specification-document">CVSS v3.0 Specification Document</a></li>
</ul></li>
<li><a href="http://www.ipa.go.jp/security/vuln/CVSSv3.html">共通脆弱性評価システムCVSS v3概説:IPA 独立行政法人 情報処理推進機構</a></li>
</ul><p>
「<a href="https://baldanders.info/blog/000334/">その2</a>」の記事を書いたのが2007年なので,実に8年ぶり? である。
</p><p>
バージョン2からの大きな違いは深刻度をコンポーネント単位で評価できるようになったことだろう。
以前は攻撃対象となるシステムやホストマシンが対象だったので,更に細かい評価ができるようになったと言える。
</p><p>
これに合わせて「スコープ(Scope)」という評価軸が追加された。
厳密には「管理権限の範囲(Authorization Scope)」。
脆弱性のあるコンポーネントが他のコンポーネントに影響をおよぼす場合に,「他のコンポーネント」が管理権限の範囲の内側か外側かで深刻度が異なる。
脆弱性が管理権限の範囲の外側に影響を及ぼす具体例としてはクロスサイトスクリプティング(XSS)脆弱性などが挙げられるだろう。
</p><p>
基本評価基準(Base Metrics)で新たに追加された評価項目としては
</p><ul>
<li>必要な特権レベル(Privileges Required)</li>
<li>ユーザ関与レベル(User Interaction)</li>
<li>スコープ(Scope)</li>
</ul><p>
がある。
一方,バージョン2にあった「攻撃前の認証要否(Authentication)」項目は廃止され,「必要な特権レベル」に含まれる形になった。
</p><p>
一番大きく変わったのは環境評価基準(Environmental Metrics)だろう。
環境評価基準では対策後の状況を再評価し,評価が低いものについては再度対策を行えるようになっている。
CVSS を使ってセキュリティ対策のプロセスをきちんと回せるようになったわけだ。
</p><p>
再評価の観点は以下のとおり。
</p><ul>
<li>緩和策後の攻撃元区分(Modified Attack Vector)</li>
<li>緩和策後の攻撃条件の複雑さ(Modified Attack Complexity)</li>
<li>緩和策後の必要な特権レベル(Modified Privileges Required)</li>
<li>緩和策後のユーザ関与レベル(Modified User Interaction)</li>
<li>緩和策後のスコープ(Modified Scope)</li>
<li>緩和策後の機密性への影響(Modified Confidentiality Impact)</li>
<li>緩和策後の完全性への影響(Modified Integrity Impact)</li>
<li>緩和策後の可用性への影響(Modified Availability Impact)</li>
</ul><p>
つか基本評価基準(Base Metrics)の評価観点で再評価するって感じかな。
</p><p>
最近の「セキュリティ対策」がこれまでと異なっているのは,目の前の脆弱性に対処すれば「完了」とはならない点である。
(私は今までもずうっと言ってきているけど)セキュリティは「ハザード(hazard)」ではなく「リスク(risk)」で考えなければならない。
リスクをゼロにするには無限のリソース(人的資源やもっと端的にお金)が必要だが,私たちの持っているリソースは無限ではない。
つまりリスクをゼロにすることはできないのだ。
したがって,業務プロセスの中で改善を行いながら,最適解を探っていくしかない。
</p><p>
「セキュリティ対策」をコストと考えるなら,これは果てしなく不毛な話になるが,「セキュリティ対策」を投資と考え,きちんと PDCA サイクルを回していくならば,それほど不毛な話ではないはずである。
</p><p>
ところで,今回もデモページを作った。
</p><ul>
<li><a href="https://baldanders.info/spiegel/archive/cvss/cvss3j.html">Demo for CVSS v3</a></li>
</ul><p>
<a href="https://baldanders.info/spiegel/archive/cvss/cvss2.html">CVSS v2</a> の JavaScript と HTML をちょろんと手直しして済ます手もあったが,「どうせなら node.js でも使えるようにしよう」と色気を出したために,週末まるまる使ってハマりまくってしまった。
</p><ul>
<li><a href="http://qiita.com/spiegel-im-spiegel/items/d6fe10d3df92b9d8556b">CVSSv3 用の node.js モジュールを作ってみた - Qiita</a></li>
<li><a href="http://qiita.com/spiegel-im-spiegel/items/f2db3759b957206d4521">node.js の CVSS v3 モジュールを使ってデモページを作ってみた - Qiita</a></li>
</ul><p>
おかげで現状評価基準(Temporal Metrics)と環境評価基準(Environmental Metrics)には手を付けてない。
これはおいおいやる予定。
なんだけど,時間が取れるかなぁ。
</p>
<div class="hreview"><a class="item url" href="https://www.amazon.co.jp/exec/obidos/ASIN/4822283100/baldandersinf-22/"><img src="https://images-fe.ssl-images-amazon.com/images/I/51-pZ52JsUL._SL160_.jpg" alt="photo" class="photo"/></a><dl><dt class="fn"><a class="item url" href="https://www.amazon.co.jp/exec/obidos/ASIN/4822283100/baldandersinf-22/">セキュリティはなぜやぶられたのか</a></dt><dd>ブルース・シュナイアー 井口 耕二 </dd><dd>日経BP社 2007-02-15</dd><dd>評価<abbr class="rating" title="5"><img src="https://images-fe.ssl-images-amazon.com/images/G/01/detail/stars-5-0.gif" alt=""/></abbr> </dd></dl><p class="similar"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/4881359967/baldandersinf-22/" target="_top"><img src="https://images-fe.ssl-images-amazon.com/images/P/4881359967.09._SCTHUMBZZZ_.jpg" alt="暗号の秘密とウソ"/></a> <a href="https://www.amazon.co.jp/exec/obidos/ASIN/4797350997/baldandersinf-22/" target="_top"><img src="https://images-fe.ssl-images-amazon.com/images/P/4797350997.09._SCTHUMBZZZ_.jpg" alt="新版暗号技術入門 秘密の国のアリス"/></a> <a href="https://www.amazon.co.jp/exec/obidos/ASIN/4594070507/baldandersinf-22/" target="_top"><img src="https://images-fe.ssl-images-amazon.com/images/P/4594070507.09._SCTHUMBZZZ_.jpg" alt="チャイナ・ハッカーズ"/></a> <a href="https://www.amazon.co.jp/exec/obidos/ASIN/4105393022/baldandersinf-22/" target="_top"><img src="https://images-fe.ssl-images-amazon.com/images/P/4105393022.09._SCTHUMBZZZ_.jpg" alt="暗号解読―ロゼッタストーンから量子暗号まで"/></a> <a href="https://www.amazon.co.jp/exec/obidos/ASIN/4102159746/baldandersinf-22/" target="_top"><img src="https://images-fe.ssl-images-amazon.com/images/P/4102159746.09._SCTHUMBZZZ_.jpg" alt="宇宙創成〈上〉 (新潮文庫)"/></a> </p>
<p class="description">日本語のタイトルはアレだが中身は名著。とりあえず読んどきなはれ。</p>
<p class="gtools">reviewed by <a href="#me" class="reviewer">Spiegel</a> on <abbr class="dtreviewed" title="2014-09-14">2014/09/14</abbr> (powered by <a href="http://www.goodpic.com/mt/aws/index.html">G-Tools</a>)</p>
</div>
<div class="hreview"><a class="item url" href="https://www.amazon.co.jp/exec/obidos/ASIN/B00E7HMI7U/baldandersinf-22/"><img src="https://images-fe.ssl-images-amazon.com/images/I/51I9C7cFl2L._SL160_.jpg" alt="photo" class="photo"/></a><dl><dt class="fn"><a class="item url" href="https://www.amazon.co.jp/exec/obidos/ASIN/B00E7HMI7U/baldandersinf-22/">環境リスク学</a></dt><dd>中西準子 </dd><dd>日本評論社 2013-08-01</dd><dd>評価<abbr class="rating" title="5"><img src="https://images-fe.ssl-images-amazon.com/images/G/01/detail/stars-5-0.gif" alt=""/></abbr> </dd></dl><p class="similar"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/B00E7HMIB6/baldandersinf-22/" target="_top"><img src="https://images-fe.ssl-images-amazon.com/images/P/B00E7HMIB6.09._SCTHUMBZZZ_.jpg" alt="食のリスク学"/></a> <a href="https://www.amazon.co.jp/exec/obidos/ASIN/B00YGIKCKK/baldandersinf-22/" target="_top"><img src="https://images-fe.ssl-images-amazon.com/images/P/B00YGIKCKK.09._SCTHUMBZZZ_.jpg" alt="黒い迷宮 ルーシー・ブラックマン事件15年目の真実 (早川書房)"/></a> <a href="https://www.amazon.co.jp/exec/obidos/ASIN/B00BWI0U0O/baldandersinf-22/" target="_top"><img src="https://images-fe.ssl-images-amazon.com/images/P/B00BWI0U0O.09._SCTHUMBZZZ_.jpg" alt="「ゼロリスク社会」の罠~「怖い」が判断を狂わせる~"/></a> <a href="https://www.amazon.co.jp/exec/obidos/ASIN/B00XKZGJDE/baldandersinf-22/" target="_top"><img src="https://images-fe.ssl-images-amazon.com/images/P/B00XKZGJDE.09._SCTHUMBZZZ_.jpg" alt="逆流するグローバリズム ギリシャ崩壊、揺らぐ世界秩序 (PHP新書)"/></a> <a href="https://www.amazon.co.jp/exec/obidos/ASIN/B00M98XGDO/baldandersinf-22/" target="_top"><img src="https://images-fe.ssl-images-amazon.com/images/P/B00M98XGDO.09._SCTHUMBZZZ_.jpg" alt="基準値のからくり 安全はこうして数字になった (ブルーバックス)"/></a> </p>
<p class="description">主題は「環境リスク」だが,あらゆるリスクについて応用可能な名著。</p>
<p class="gtools">reviewed by <a href="#me" class="reviewer">Spiegel</a> on <abbr class="dtreviewed" title="2015-07-26">2015/07/26</abbr> (powered by <a href="http://www.goodpic.com/mt/aws/index.html">G-Tools</a>)</p>
</div>
SyntaxHighlighter 3.0.9 を node.js でビルドする
tag:Baldanders.info,2014-09-20:/blog/000741/
2014-09-20T09:00:00+00:00
2014-09-20T09:00:00+00:00
SyntaxHighlighter の GitHub リポジトリを見ると 3.0.9 がリリースされているようである。 3.0.9 はソースコードのみの提供で,実際に使うためには node.js でビルドする必要がある。そこで実際にやってみることにした。
Spiegel
/profile/
<p> 以前 <a href="https://baldanders.info/blog/000717/">SyntaxHighlighter を導入した</a>が,このときのバージョンは 3.0.83 だった。 しかし <a href="https://github.com/alexgorbatchev/syntaxhighlighter">GitHub のリポジトリ</a>を見ると <a href="https://github.com/alexgorbatchev/syntaxhighlighter/releases/tag/v3.0.9">3.0.9 がリリース</a>されているようである。 3.0.9 はソースコードのみの提供で,実際に使うためには <a href="http://nodejs.org/">node.js</a> でビルドする必要がある。 </p><p> まぁ,でも, <a href="http://nodejs.org/">node.js</a> はちょっと興味があったので実際にやってみることにした。 最近 <a href="http://nodejs.org/">node.js</a> を要件とするプロジェクトが多いんだよね。 </p> <section> <h3>Windows 環境に node.js をインストールする</h3> <p> なんと! node.js って Windows でも動くんだ。 知らなかった。 ならやってみるしかないよねぇ。 </p><p> <a href="http://nodejs.org/download/">ダウンロードページ</a>を見ると各 OS ごとにパッケージが用意されている。 私は 64bit 版のインストーラを選択。 </p><p> インストールは言いなりでOK。 インストールが終わったらコマンドプロンプトで node.exe を起動して PATH が通ってることを確認する。 </p> <pre class="brush:shell gutter:false" title="コマンド プロンプト">> node -v
v0.10.32</pre>
<p>
インストールを行うとインストールフォルダと <code>%HOMEPATH%\AppData\Roaming\npm</code> フォルダに PATH が通るようになるのだが,この <code>%HOMEPATH%\AppData\Roaming\npm</code> フォルダが曲者で,インストールを行っただけではフォルダを作ってくれないみたい(うちの環境の問題かもしれないけど)。
このときは手動で <code>%HOMEPATH%\AppData\Roaming\npm</code> フォルダを作ってあげるとよい(<code>%HOMEPATH%\AppData</code> フォルダは隠しフォルダになっているのでお気をつけを)。
<code>%HOMEPATH%\AppData\Roaming\npm</code> フォルダの中身は空で大丈夫。
</p><p>
では簡単な動作確認を。
みんな大好き “Hello World!”。
</p><p>
以下を記述した hello.js を作る。
</p>
<pre class="brush:javascript" title="hello.js">console.log('Hello World!');</pre>
<p>
これをコマンドプロンプトから実行して
</p>
<pre class="brush:shell gutter:false" title="コマンド プロンプト">> node hello.js
Hello World!</pre>
<p>
と表示されれば大丈夫。
まぁ今回はサーバ環境を作るわけではないので,これでOKとする。
</p>
</section>
<section>
<h3>SyntaxHighlighter 3.0.9 をビルドする</h3>
<p>
まずは <a href="https://github.com/alexgorbatchev/syntaxhighlighter">SyntaxHighlighter のリポジトリ</a>から <a href="https://github.com/alexgorbatchev/syntaxhighlighter/releases/tag/v3.0.9">3.0.9 のソースコード</a>を取得する。
これを適当な場所に展開して <code>npm install</code> を実行する。
</p>
<pre class="brush:shell gutter:false" title="コマンド プロンプト">> cd syntaxhighlighter-3.0.9
> npm install</pre>
<p>
ちなみに Windows 環境では npm の実体は npm.cmd になっていて,中で node.exe を呼び出している。
(後述する bower や grunt も同様)
</p><p>
成功すると node_modules フォルダができているので,さらに次のコマンドを実行する。
</p>
<pre class="brush:shell gutter:false" title="コマンド プロンプト">> node_modules\.bin\bower install</pre>
<p>
bower は内部で git コマンドを呼び出す(GitHub から必要なコンポーネントを取得するため)。
したがって,あらかじめ git がインストール済みで PATH が通っている必要がある。
</p><p>
では,いよいよビルド。
次のコマンドを実行する。
</p>
<pre class="brush:shell gutter:false" title="コマンド プロンプト">> node_modules\.bin\grunt build
Running "clean" task
<p>Running "compile_sass" task</p>
<p>Running "copy_misc_files" task</p>
<p>Running "build_core" task</p>
<p>Running "pack" task</p>
<p>Running "validate" task</p>
<p>Running "add_header" task</p>
<p>Done, without errors.</pre></p>
<p>
ビルドが成功すれば pkg フォルダに目的のファイルが生成されているはずである。
使い方は <a href="https://baldanders.info/blog/000717/">3.0.83 のとき</a>と同じ。
なお shCore.js は shCore.min.js に置き換えれるのでお試しを。
</p><p>
ちなみに
</p>
<pre class="brush:shell gutter:false" title="コマンド プロンプト">> node_modules\.bin\grunt test
Running "clean" task
<p>Running "compile_sass" task</p>
<p>Running "copy_misc_files" task</p>
<p>Running "build_core" task</p>
<p>Running "pack" task</p>
<p>Running "validate" task</p>
<p>Running "add_header" task</p>
<p>Running "express" task
>> You can access tests on http://localhost:3000 (Ctrl+C to stop)</pre></p>
<p>
としてブラウザで http://localhost:3000 を開くとデモ画面が見れる。
</p>
</section>
<section>
<h3>続きは Web で</h3>
<p>
node.js に関する参考ページ。
</p><ul>
<li><a href="http://sourceforge.jp/magazine/12/04/11/0618228">JavaScriptでWebアプリを開発できる「Node.js」活用入門 | SourceForge.JP Magazine</a></li>
<li><a href="http://www.atmarkit.co.jp/ait/articles/1210/10/news115.html">Node.jsを使ってみよう(1):Node.js、Socket.IO、MongoDBでリアルタイムWeb (1/2) - @IT</a></li>
<li><a href="http://blog.codebook-10000.com/entry/20130530/1369919458">JavaScript初心者によるNode.js入門 - 感謝のプログラミング 10000時間</a></li>
<li><a href="http://t.snkz.org/?p=68">Windowsのローカル環境ではじめるnode.js + express – kazano.lab</a></li>
<li><a href="http://dim5.net/nodejs/first-step-express.html">Node.jsに入門した | Webエンジニアブログ</a></li>
</ul>
</section>