スポンサーサイト

■ スポンサー広告 Posted by ひぐま (Higmmer) on -------- at --:--:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

近ごろNoScript拡張の様子が何かおかしい

■ ネット Posted by ひぐま (Higmmer) on 2007-05-04 at 00:58:56

◆共有テーマ: Firefox [コンピュータ]

CPU使用率上昇問題が復活

これはずいぶん前から気づいてはいたんですが、NoScriptの現在公開されているバージョンには一度直ったはずの「NoScriptを長時間使い続けるとCPU使用率が上昇する問題」が復活しています。逐一追いかけていたわけではありませんがどうやら

v 1.1.4.6.070325
x Fixed regression, leak happening on window closure (10x pirlouy)
NoScript CHANGELOG より

この修正によってこちらが提案したパッチが外されてしまった模様orz。でも「ウィンドウを閉じる際のリークを修正」とありますが少なくとも当方の環境ではLeak Monitorで観察する限り特にリークは確認できませんでした。仮に何らかのタイミングで発生するとしても(自分の使い方では)NoScriptが通知バーを出す頻度の方が圧倒的に高いわけで、どちらの対策を優先すべきかは明らか(*)だと思うんですが…。

(*) まぁ元を質せばFirefox本体の実装に原因があるんでしょうけど。

というわけでNoScriptの最新バージョンを使う場合は通知バーの表示を切っておくことをおすすめします。

NoScript作者とAdblock Plus作者がフォーラムでバトル

さて前記修正が入ったのと同じ頃、NoScriptの作者Maone氏はXSS対策の実装に取りかかりました。きっかけは恐らくこのフォーラムAdblock Plusの作者Palant氏が「NoScriptは(Adblockも)セキュリティ対策としては使えない」と主張したことです。彼の主張(*)を自分なりに解釈すると、

  1. NoScriptを入れるとまともに動かなくなるサイトが多すぎるので、ユーザーは「動作や表示がおかしかったらとりあえずスクリプトを許可」するのが癖になってしまう。
  2. 一見無害かつ有用そうに見えるサイトを用意してユーザーの気を引くのは簡単。一時的にでも許可してくれたら攻撃者にとっては十分。
  3. ホワイトリスト(信頼サイト)モデルの欠点:
    1. そのサイトにXSS脆弱性があったら細工したリンクを設置するだけであらゆるサイトから攻撃が可能(サーバー側スクリプトを動かすことができればJavascriptさえ不要)。
    2. 今日安全だったサイトが明日も安全であるという保証はどこにもない(誰かに書き換えられるかも知れないし、実は管理者が悪人かも知れない)。
    3. yahoo.comのような(メジャーで共同空間としても使われる)サイトがデフォルトでホワイトリストに入っているのは問題。
  4. Firefoxといえども未知・未修正の脆弱性を突かれたらひとたまりもない。現実にFirefoxに対して行われた攻撃でNoScriptを入れていれば防げたという事例が示されない限りNoScriptは被害妄想ユーザーのためのものとしか思えない。

このPalant氏の容赦ない主張を受けて最終的にMaone氏は"I gave up answering."と応えています。私個人としては(脆弱性問題で苦い経験をした一人として)Maone氏に同情しつつもPalant氏の主張にも一理あると思います。個人的にはSageの問題が表面化するまではNoScriptは使ってなかったですし、今もどちらかというとセキュリティ対策というより各種トラッキング広告やアクセス解析などが裏で動くのを防ぐという意味合いの方が強いです(といいつつ当ひまグにも解析仕込んでますが…すみません)。

余談ではありますが、Palant氏によるとFirekeeperのようなIDS型――普段は何もせず実際に怪しいコードを検出した時だけ警告を出すというアプローチ(*)の方が好みだそうです。但し新たな脆弱性の発見から修正までの「繋ぎ」として適切なルールセットが提供されることが前提ですが。

XSS対策で深みにはまるNoScript

それはともかく、"Firefox with NoScript is safer than Firefox"というキャッチコピーを掲げるMaone氏にも意地があったのでしょう。それから怒涛の更新ラッシュが始まり現在まで続いています。公式アナウンスを見る限り前述の3-aの問題、つまりサイトのXSS脆弱性を突いた攻撃を防ぐ仕組みを実装しようとしているようです。詳しくは調べてませんがリクエストヘッダ(URL/Referer/POSTデータ等)に含まれる「危険な」文字をエスケープないし削除することで対策を試みている模様。

その手法がどこまで有効なのかの判断は専門家に任せるとして、表面的にはまともに動かないサイトを更に増やす結果になったようで(特にマルチバイト圏で)、公式フォーラムにも不具合報告が少なからず寄せられています。一応Anti-XSSフィルタを回避するフィルタも実装されていますがとても素人に扱えるものではなくなってしまっています。しかも突貫工事でコードを改修した弊害からか(?)様々なデグレードも発生しているようです。

結果としていつまで経ってもリリースが安定せず、特に1.1.4.8系ではほぼ毎日のように更新版がリリースされるという事態に陥ってしまっています(*)。作者の努力には敬意を表しますが、個人的にはここまでする必要があるのかというのがというのが正直なところだったりします。完璧を求めるあまり多くの一般ユーザーのことが見えなくなっているような気が……。

(*) 作者としては1.1.4.8.070502が「(Hopefully) ultimate fix」とのことですが果たして…。

ちなみに私自身はXSS対策導入前(で自分のパッチが入っている)最後の安定版である1.1.4.6.070317までで更新を止めました。何か問題があったらその時また考えるつもり。

トラックバック

この記事について書く(FC2ブログユーザー)
※言及リンクの無いトラックバックは無効です

PageTop▲

コメント

PageTop▲

コメントの投稿

 
 
 
 
 
 (後で編集・削除したいなら必須)
 
  

PageTop▲

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。