はれかぜJPはれかぜJPパソコンとアニメと料理SVGに埋め込まれたJavaScriptでオンラインスキミング。対策は!?こんばんは、お久しぶりになってしまいました。最近Unicode6の顔絵文字にはまっています(笑)さて、たまにはSEっぽい話題でも・・・ということで、12/2にNHKで報道があったりもしたが、最近多いネット通販でのカード番号を盗まれてしまう手口に触れつつ、SVGのセキュリティ面の危険性に触れます。買う側も売る側も気をつけましょうね!というお話です😣オンラインスキミングとは?スキミングはご存知の方が多いかと思います。本物そっくりな偽サイトに誘導してカード番号を入力させる本物のサイトから、裏でカード番号を横流しする改ざんする手口自体もいろいろあり、詳しくは触れませんが人為的なものやシステム的なバグなどがあります。SVGとは?さて、ここでSVGの話です。SVGはベクター形式の画像ですね😎!・・・実はこれは半分しか正解ではありません。半分が世界を勘違いさせる罠なのです。SVGはブラウザで見るとリンクやJavaScriptを埋め込むこともできるのです😲つまり、ただのアイコン画像だと思わせて、いろいろなサイトで画像を使ってもらいながら、じつはJavaScriptを埋め込んで裏で悪いことをする・・・なんてこともできるのです。対策方法はあるの?あります。通販サイトで買う人向けカード番号を入れる前に、必ずサイトのドメインが本物か確認する!少しでも日本語があやしいと思ったら買うのをやめる!万が一盗まれた時のためにカードの使用履歴は定期的にチェックすること!当たり前のことですが超重要です。買う側にとってはJavaScriptやらSVGやらなんて知ったこっちゃないですよね。通販サイト運営者、開発者向け(特にCMS)掲載するSVG画像には必ず<img>タグを使い、<object>タグは使わないこと!SVGを使用するときは信頼性の高いサイトの画像を使用すること!画像アップロード機能はSVGをUPできないようにすること!できるだけContent-Security-Policyヘッダを指定して、コンテンツを読み込めるドメインを制限すること!細かい部分ですけど、知らぬ間にお客様のカード番号をダダ漏らし😭していたことがないように気をつけましょう!特に1と4は重要ですよ。気になったら通販サイト開発ベンダー👩‍💻に確認してみてもよいと思います。本当にSVGでオンラインスキミングってできるの?できます。それでは実験してみましょう。実験用のページとSVG画像を用意しました。カード番号入力フォームの下にある黒い●がSVG画像です。false;};</script></svg>どうですか?御覧の通りSVGにはJavaScriptを埋めてあります。カード番号の入力フォームから値を取得し、https://xxxxx/というURLに送信するコードですね。ポイントは<object>タグでSVGを呼び出していることです。<object>タグで呼び出すことで、SVGはiframeと同じような挙動をするようです。<img>タグで呼び出せばJavaScriptは動かないから安全ということなのです。実際に注文ボタンを押してみると・・・この通りカード番号を取得するコードが動きました。結論カード決済をするときはあやしいところがないか十分に気をつけましょう。拾ったSVG画像を貼るときは必ず<img>タグをつかいましょう。最低限、この2点、覚えておいてくださいね!盗んだカードは最終的にはテロリストの資金源となってしまい、多くの人が不幸になります。台風の影響で観艦式は全日程中止になってしまいました。こればかりは仕方ないです。かわりに横須賀、木更津で艦艇公開をすることになったようなので行ってきました。横須賀の吉倉桟橋までは徒歩25分。いうことでまとめて塩抜きをすることにしました。バケツに梅と同じくらいの水を入れます。家電製品どうもこんばんは。オリンパスのミラーレス一眼、PL9です。職場近くの池袋にあるだんまや水産でコラボメニューが出ているとかなんとか。7月末には無事、土用干しができました。麺屋翔、つけめん玉、福味あたりがおいしかったですが、皆さんはどうだったでしょうか。裏庭に梅の木が何本かあります。木熟して落ちた梅が思ったよりたくさんあったので梅干を作ることにしました。通勤中にふと電車内の広告を見たら、なにやら、ゆるゆりコラボをしているらしい。京急が運営するレストラン街で、ラーメン屋を...記事を読むFirstPrevious12345NextLastプロフィールSEやってます。パソコンとアニメと料理が好きです。はいふりから始まり横須賀に家を買いました。whiteapples719最近の投稿SVGに埋め込まれたJavaScriptでオンラインスキミング。薪玄舎(しんげんしゃ)通信こうじ。