パスワードを忘れた? アカウント作成
14086255 story
インターネット

WebAssembly使用サイトの半分は悪意のある目的に利用しているとの調査結果 30

ストーリー by hylom
技術はまず悪用される 部門より

Anonymous Coward曰く、

Webブラウザ上でバイナリコードを実行させる「WebAssembly」が 昨年12月5日に標準化されたが、現在WebAssemblyを使用しているWebサイトのうち半分は悪意のある目的で使用されているという。独ブラウンシュヴァイク工科大学の研究者が人気サイトトップ500(Alexa The top 500 sites on the web)を対象にWebAssemblyの使用率を調査した結果明らかとなった。

研究チームは4日間、合計947,704サイトからランダムに3ページずつ選んだ合計3,465,320のページを対象に、WebAssemblyの使用量と各サイトがコードを実行するのにかかった時間を測定した。その結果、WebAssemblyの使用が確認できたのは1,639ページで、そのうちほかのサイトで重複して利用されていないものは150だったという。これは同一のコードが多くの異なるサイトで使用されているためで、あるコードは346のサイトで使用されていたという。

また、コードの内容を分析したところ、32%が暗号通貨の採掘(マイニング)に、29.3%がオンラインゲームに利用されていたことが分かった。マイニングに使用されるコードの一部は、ページを閲覧したユーザーにマイニングさせるCryptojacking(Drive-by Mining)攻撃に使われていたという。

ほかにも、難読化されたコードを使用してマルバタイジングを行うものもあった。研究チームによると、この2つのカテゴリのWebAssemblyコードが調査対象の38.7%を占め、これらのコードはWebAssemblyの使用が確認できた1,639ページの半数以上で使用されていたとしている(ZDNetSlashdot)。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • WebAssemblyなんてやれることはJavaScriptとほとんど変わらないから。

    そんなものよりPWAを禁止しろ。

    ブラウザを閉じてもバックグラウンドで動かせるとかいう邪悪な用途しか存在しないService Worker、
    勝手にデスクトップに居座ってくるa2hs(今はまだDesktop PWAs installable from the omniboxで無効化できるが、いつ無効化できなくなるかわかったものではない)、
    ブラウザを閉じても宣伝を送りつけてくるWebPUSH通知。

    どれもWebには必要ない。

    •  攻撃ルーチンは、ユーザーが攻撃者の制御するウェブサイトにアクセスしたときにService Workerを登録し、次に ServiceWorker APIのSyncManagerインターフェースのバックグラウンド同期機能を悪用して、ユーザーがそのウェブサイトから離れた後もService Workerがアクティブな状態を維持するというものだ。

       この攻撃はサイレントであり、ユーザーとのやり取りを一切必要としない。ブラウザはService Workerを登録する前に、ユーザーに警告を発したり、許可を求めたりしないからだ。

      https://japan.zdnet.com/article/35133271/ [zdnet.com]

      これが、今の Google Chrome の 仕様

      最近のトレンド追ってない人にとっては「そんなの嘘に決まってる」と感じるかもしれないが、警告メッセージ無しで任意のWebサイト(一応https対応は必要だが)がService Workerをインストールでき、Webブラウザを閉じた状態でもトリガーを使ってバ

      • AdblockでServiceWorker っぽい名前のやつを排除してる。
        名前でしかないから完全じゃないが、一応効果はある。

        *serviceworker*.min.js
        *serviceworker*.js
        *service_worker*.js
        *service-worker*.js
        *service_worker*.min.js
        *service-worker*.min.js
        *sw.min.js
        *serviceworkerhandler*.ashx
        *sw.js
        *push7-worker*.js
        *pushworker*.js
        *sw.cms
        *calimero*.js
        *OneSignalSDKWorker*.js.php
        *service_worker_binary*.js
        *reg_webpush*.js
        *pc_sw*.js
        *ngsw-worker.js
        *ngsw_worker.js
        *ua-push-worker.js
        *OneSignalSDKWorker.js
        *sw-loader.js

        親コメント
      • by Anonymous Coward on 2020年01月10日 23時56分 (#3743767)

        Chromeを使うなら、必ずServiceWorkersを無効化しよう [qiita.com] の方法で無効化できるのかな?

        記事の最後の方に
        > 数日たって開発者ツールを開いてみたら、削除したはずのServiceWorkers共がしれっと再侵入していた。
        > いったいどういうこと?
        > chrome://flags/の設定、本当に効いてるの???
        とあるから不安なのだが...

        親コメント
        • by Anonymous Coward

          こういう挙動があるからChromeはあまり使いたくない

    • by Anonymous Coward

      一応、ツイッターみたいなサイトで通知をWebPushに出来ると、
      権限山盛りなアプリ入れるよりはマシな状況が期待できる可能性はある。

    • by Anonymous Coward

      サービス側からユーザへのPUSHは広告業界の念願なんだ。だから絶対やめないよ。というか、このために莫大な資金を突っ込んでChromeを普及させたんでしょう?

      そのうち一度も訪れたことがないサイトの通知でもバンバン入ってくるようになるんじゃない。そうしたらもうWebも電子メールと同じだよ。

  • by Anonymous Coward on 2020年01月10日 18時34分 (#3743603)

    Java AppletやActiveXは自由すぎて危険なので排除されて、
    自由じゃないJava ScriptやHTML/CSSになった

    • by Anonymous Coward on 2020年01月10日 18時39分 (#3743605)

      webassemblyができることは、javascriptと変わらない
      どちらかというと、Dartが流行らずに、typescriptが流行ったのと
      にてるのかな?

      # 多くの人は早さ(開発の、もしくは動作速度の)よりも、互換性(文法の)を求めた

      親コメント
      • by Anonymous Coward

        だよなー。
        結局、JavaScriptだって多くの悪意のある目的で使われてるんだし。
        webassemblyは悪意がある目的で先行して使われてる、ってぐらいの話じゃないだろうか。
        多分悪意あるプログラムとしての検出・フィルタリングがまだ甘い、とか、あるいは単純に効率が良いからとかで。

      • by Anonymous Coward

        javascriptはセキュリティソフトの対応が進み、
        悪意のあるコードや望まれないコードはセキュリティソフトをつかってればかなりブロックされるようになった

        webassemblyはセキュリティソフトの対応が進んでないのがあるのでは?

        • by Anonymous Coward

          WASMはJavaScriptよりも厳しいか、良く見ても同等。
          一旦JavaScript経由しないと外界の情報の入手も出力もできない。

      • by Anonymous Coward

        基本的には中間言語に過ぎないのでjavascriptをwebassemblyにコンパイルすることもできるようになるのではないかと。
        Javaをバイトコードにコンパイルするのと同じノリ。
        無論javascriptを中間言語にコンパイルしても最適化の困難さ故に大して早くならないでしょうけど。

        • by Anonymous Coward

          型関連の情報が無いと・・・

          逆に言えば、型の指定をしさえすれば、
          AssemblyScript [qiita.com](Typescriptのサブセット)を使用すれば、
          javascriptに似た文法で開発はできる。

          ただし、javascript・typescriptと比較したとき制約はあるため、
          過去の資産がそのまま使えるわけではない。

    • by Anonymous Coward

      自由度は増えてないだろ
      性能が出せるから採掘に使われてるだけでJSと変わらんわ

    • by Anonymous Coward

      Appletは不自由でした。
      Java scriptも危険でうっとうしい物でしたがAjaxを強力に推し進めた奴のせいで息を吹き返しました。

  • by Anonymous Coward on 2020年01月10日 20時03分 (#3743640)

    WEBでも最先端技術を導入されるのは詐欺やアングラサイトだよね。
    真っ当なサイト運営の場合は最先端技術を導入するまでにセキュリティ検証やなんやかんやいるだろうけど(日本だと「前例がない」で却下されることも多そう)悪意あるサイトはそんなことぶっ飛ばして導入するもんね…

    • by Anonymous Coward

      最近ここ関係で読んだ富野監督のお言葉です。

      「技術者は、技術が社会の末端にまでどういう影響を及ぼすのか可能な限り想像を尽くさなければならない、という考えは、まったくその通りだと思いますよ。技術の倫理性まで考えてこその知性です。」

      • by Anonymous Coward on 2020年01月10日 22時50分 (#3743729)

        最近ここ関係で読んだ富野監督のお言葉です。

        「技術者は、技術が社会の末端にまでどういう影響を及ぼすのか可能な限り想像を尽くさなければならない、という考えは、まったくその通りだと思いますよ。技術の倫理性まで考えてこその知性です。」

        外から引用するまでもなかった
        スラド自動ランダム表示曰く

        "「科学者は100%安全だと保証できないものは動かしてはならない」、科学者「えっ」、プログラマ「えっ」"

        親コメント
        • by Anonymous Coward

          ホントそれ
          人間の能力に夢見すぎだし、
          個人の善意をあてにするな
          技術者は神じゃないんだぞ

          • by Anonymous Coward

            無能が他人に責任を丸投げしているだけだよ。
            馬鹿は無視するしかない。

          • by Anonymous Coward

            会社から給料もらって社会的な自立ができない奴は客の言うことにただ従えよ

            • by Anonymous Coward

              まるで、客には善意しか持っていない者しかいない
              みたいな物言いだな。

  • by Anonymous Coward on 2020年01月11日 0時08分 (#3743769)

    悪いことに使えないなら、
    良いことにも使えない
    切れない刃物と同じだ

  • by Anonymous Coward on 2020年01月10日 18時30分 (#3743600)

    トップ500サイトのうち947,704サイトってどういう事だってばよ・・・と思ったら、原文は「Alexa Top 1 Million popular sites」になってたでござる。
    どうしてこうなった・・・
    対象にしたのは、有料のAlexa Top Sites [amazon.com]サービスだな

    • by Anonymous Coward

      タレコミは、 [srad.jp]

      研究チームは4日間、The top 500 sites on the webのオフラインなどを除く947,704サイトからランダムにページを三つずつ読み込んだ。そして合計3,465,320の個別ページからWebAssemblyの使用量と各サイトがコードを実行するのにかかった時間を測定した。

      こんな書き方したら、日本語が不自由な人が読んだら和約が不十分だと誤認識し、
      トップの500サイトから、(オフラインを除いた)947,704サイト~
      と読んでしまうよ・・・

  • by Anonymous Coward on 2020年01月10日 23時49分 (#3743760)

    マイニングは利用者同意の事もありうるし、
    一概に悪呼ばわりで話をされるとなぁ……

    客観的な視点に欠けている可能性が高いってことになるから、
    いちいち眉に唾付けなくちゃならなくて面倒くさい。

  • by Anonymous Coward on 2020年01月11日 8時21分 (#3743819)

    こんなのが今後も有りなら、IPv6でも内部ではリンクローカルのみにして、
    httpプロキシ有りにする必要が有るかも。
    WebAssembly+長時間アップロード方向の通信が可能、だと、脆弱性が
    間違いなく増える。

    #しかし、IPv6でVLANってどうやって設定するのか不明。VLANは不可?

    • by Anonymous Coward

      IPv6は3層のプロトコルで、VLANは2層のプロトコル。
      階層モデルの理解途上で良くある勘違いなので、
      冷静に分離して考えることを勧める。

typodupeerror

弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家

読み込み中...