![インターネット インターネット](https://srad.jp/static/topics/internet_64.png)
第三者向けにJavaScriptコードを提供していたドメインが乗っ取られ悪用される事例 35
ストーリー by hylom
ありそう 部門より
ありそう 部門より
有効期限が過ぎたまま放置されたドメインが第三者に乗っ取られることはよくあるが、かつてJavaScriptコードを第三者向けに配信していたドメインが乗っ取られ、悪意のあるコードが配信されるというケースがあるようだ(tike blog)。
画像やコンテンツなどの場合、意図したものではないものに置き換えられていた場合は閲覧者が比較的容易に判別できるが、JavaScriptコードについては注意してチェックしない限り気付きにくいという問題があるという。先のブログでは、放置されたドメインを大量に取得し、これとCDNを組み合わせて情報を送信させるような例が紹介されている。
サードパーティクッキーみたいに (スコア:2)
異なるドメインからJavaScriptのロードを禁止する設定があればいいのにね。
Re: (スコア:0)
CDN使えなくなるやん。
Re:サードパーティクッキーみたいに (スコア:1)
一律禁止せずにホワイトリスト・ブラックリスト式で良いんでは
Re:サードパーティクッキーみたいに (スコア:2)
広告もあるし、もう一般人のアクセスはぜんぶホワイトリスト式でもいいんじゃないかなぁと言う気がしてきている
人間が明確にリンク踏んだ時だけ自動的にホワイトリストに登録するぐらいはあっても良いか
Re: (スコア:0)
最近のウェブはjsないと多くがぶっ壊れるから、一般人にホワイトリストは管理できないと思われ。
問題に遭遇したら、ネットに愚痴を書き込むか、まわりのパソコン担当に対応させるか、PCデポに搾取されるしかない。
Re:サードパーティクッキーみたいに (スコア:2)
有名なのを登録した初期リストがあっても駄目かなぁ
ワンクリックで共有できるようにしてit各社なりyoutuberなりが配るとか…
Re: (スコア:0)
ログインする必要もなくアニメやゲームじゃないなら、jsファイルなんか読み込まなくていい。そういうサイトは潰れればいいよ。
Re:サードパーティクッキーみたいに (スコア:1)
正常だったドメインがいつの間にか悪意のあるドメインになってしまうケースでは効果ないのでは。
Re:サードパーティクッキーみたいに (スコア:1)
そうでした。まさにそういうネタでしたね(赤面
Re: (スコア:0)
ホワイトリストにしたら弱小CDNが全滅し、ブラックリストにしたらイタチごっこ
Re: (スコア:0)
Firefox拡張のDecentraleyesみたいな感じですか?
よく使うJSライブラリをローカル化して、置き換えることで高速化とトラッキング・改変対策をするようです
Re: (スコア:0)
uMatrixでいいでしょう。
私はFirefoxにuMatrixを入れて、他ドメインへのリクエストはデフォルトで全てブロックしています。
画像だけは許可するとか、JavaScriptを許可してもXHRはブロックするといったこともできます。
integrity (スコア:2, 参考になる)
最近はintegrity付きでCDNから読み込むタグの例が書かれてることも多いから、ちゃんとそういうタグを使うようにしてれば大丈夫そう。
https://developer.mozilla.org/ja/docs/Web/Security/Subresource_Integrity [mozilla.org]
Re: (スコア:0)
えー。多いか?初めて知った。積極的に使っていきたい。
Re: (スコア:0)
去年のStatCounterの件でもSRIは紹介されてた。 [security.srad.jp]
SRIの難点はセキュリティホール等の致命的バグが有った時に、呼び出し元もハッシュを修正しないとサイトの機能が死ぬ点。
Re: (スコア:0)
似たような点で、呼び出し元のスクリプトがバージョン管理されていてファイル名が分かれていないと厳しいこともかな。
同じファイル名で機能追加するようなスクリプト配信には向かない。
Re: (スコア:0)
これ本来はハッシュじゃなくて電子署名とかで解決すべきだよね。
Re: (スコア:0)
電子署名じゃないのは、金銭や処理コストがハッシュより重たいからなんですかね。
真面目にやると失効確認等でサイトの読み込み速度落ちてしまうし。
ちなみに、SRIの致命的な弱点は「integrityを消せば動いてしまう」事。
integrityを消して、解決したつもりになる馬鹿を確実に排除できないといけない。
Re: (スコア:0)
そこは一応、Content Security PolicyでSRI強制を指定できる。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Secu... [mozilla.org]
もちろん、Content Security Policyを消せば動いてしまうという弱点にすり替わっただけとも言える。
Re: (スコア:0)
そうかな。電子署名にしてもあんまり解決には繋がらないと思う。
そもそもこれ、「制作者が面倒くさくなってソフトの更新を放棄して配布ドメインも自然消滅するに任せた」.js、なんかを読み込む話でしょ。
もっと大手が作ってて、「何か下手を打ったら大手の名前に傷が付くからきっと真面目にメンテされ続けるだろう」.js、の類ならまだしも。
そんなレベルの、どこの馬の骨かも知れない人が気まぐれに作って公開したソースを、何の検証も無しに自動で読み込もうと言うのがそもそもの間違い。せめて、バージョンアップされる毎にいくらかの動作確認はして読み込み部分のハッシュを書き換えて、ぐらいの手間は掛けないと話にならない。
署名で放置ドメインの再利用で悪さできなくしても、悪い連中が「そのソフト更新止めちゃうの? じゃあ秘密鍵ごと権利を売ってよ。メンテするからさ」に手法を変えるだけ。悪人の手間がいくらか手間は増えるだろうけど、面倒くさくなって自然消滅するまで放ったらかしにしてるようなものを買ってくれると言うなら、作り手としてはラッキーだろうし。
Re: (スコア:0)
http界隈に、でかいパッチみたいな、誰かに読み取られても全く問題ないけど書き換えられるのだけは困る類のデータをプロキシなんかでキャッシュする方法が無いのはなんとかならんのかなぁ、と思ってたんですが、ちゃんと規格があるんですね。
と思ったけど、aタグでは使えないのか。
まあ、aタグに対応させてブラウザが「integrityが付いてないデータなので破棄をお勧めします」と警告を発するようになっても、ユーザがその通りにするとは思えないからあんまり意味はないか。自動で破棄するようにするのは、真面目な全ウェブサイトが対応でもしない限りは、問題が大きすぎるし。
ちょっと記事の内容が伝わりにくかったかも (スコア:1)
ついやっちゃう (スコア:0)
趣味に毛が生えたぐらいの範囲だと、そのようにして使え、と書いてあったら、作者への敬意とか、再配布可のライセンスか調べるのが面倒くさいとか、バージョンアップ対応が面倒くさいとかで配布サイトからの直接スクリプト読み込みやっちゃってるなぁ。
お仕事だったらそんな不安なウェブサイト作ったらあかん。
どうすりゃいいんだろ (スコア:0)
もちろんJavaScriptはローカルにコピーするってのは標準的かつ当たり前の対策だろうけど、本来はスマートではないよね。
最新版への追従が遅れる、キャッシュが適切に機能しない、そもそも一つのアセットは一つのURIであるべきとか。
サーバーがSSLなら大丈夫ってわけでもない。
思ったのだが、可読性が要求されないドメインについては仮想通貨のアドレスみたいに公開鍵(のハッシュ)でドメインを決定するみたいな仕組みだったら接続先の継続性や暗号化などかなり便利だったんじゃないかな。
認証局いらないし。
暗号の世代交代や漏洩とかでドメインが変わっちゃうけど。
Re: (スコア:0)
ブロックチェーンや!
jQueryは? (スコア:0)
非常に多くのサイトで使われてるjQueryだけど、
多くのサイトで、自サイトにjQueryのスクリプトを置かずに、
ajax.googleapis.com みたいな外部サイトのjQueryスクリプトを実行するようにしてる
外部サイトのjQueryスクリプトになにか仕込まれたらネット中が影響を受ける
また、HTTP referer を通して、ユーザーの自サイトアクセス情報を、外部の第三者サイトに送信することになる
Re: (スコア:0)
CDNの利用はどちらかというと利用が推奨されているね。
地理的に離れたアクセスで効果が高いし、高レスポンスに特化してるし、ローカルキャッシュされている可能性も高い。
でもまあ個人のサイトなら兎も角、ビジネス向けのサイトで利用するのは一考を要するかな。
ビジネス観点の論理の働く(大)企業提供のCDNなら比較的安全かなあ。
Re: (スコア:0)
そういえばjquery.comが攻撃を受けたのとかありましたね
このときはCDN (code.jquery.com) は無事だったようですけど
https://it.srad.jp/story/14/09/24/0728216/ [it.srad.jp]
Re: (スコア:0)
自社サイトの管理人が rm *.js する確率よりも google様のCDNのほうが信頼性高いし
自社サイトが 1億回クラックされても google様 はビクともしないでしょう。
Re:jQueryは? (スコア:1)
google はいちおうバージョン情報が明記されてる
ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js
ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js
みたいな感じで
だれでも自由に使っていいことを謳ってる
まあ使うサイトが多ければ多いほど、ユーザーの滞在サイトが詳細に分できできるからでしょうが
Google Hosted Libraries
https://developers.google.com/speed/libraries/ [google.com]
Re: (スコア:0)
ajax.googleapis.comってCDNじゃない?
Re: (スコア:0)
あ、ごめんなんかgooglemap.comとかに見えたわ疲れてるのかなorz
Re:jQueryは? (スコア:1)
(#3556615) はスパムなので沈めてください。>モデレータさま