Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What are the problem?
@ienaga

Flash Advent Calendar 23日目 - セキュリティーと脆弱性の解決 -

FlashPlayerで一番問題になっていた事
それは脆弱性の問題だと思います。

swf2jsは安全ですか?

そういった質問や疑問があると思います。
今日はFlashPlayerとswf2jsがどう違うのか書こうと思います。

マルウェアの感染

インストールが必要か不要か、ここがマルウェアに感染するかしないかの大きな切り分けになります。
FlashPlayerを利用するにはインストールが必要です。

このインストールするという行為がマルウェアの侵入経路になっています。
インストールしようとしているインストーラーは本当にAdobeが配布している安全なインストーラーですか?

・・・分かりません。

専門知識があれば、判断できるかもしれません。
ですが、専門知識がなければ、そういった判断は難しいと思います。

ですが、FlashPlayerはインストールしないと利用できません。。。
そして「インストールする」というボタンを押下すれば
安全でも安全でなくとも、問答無用で利用中のPCにインストールされます。

では、次にswf2jsです。
swf2jsはインストールが不要です。

なぜならば、swf2jsはJavaScriptファイルだからです。
もし、swf2jsに問題があるとすれば
それは全世界のJavaScriptと同じ問題を抱えている事と同義になると思います。

脆弱性の問題

ここでも先に記載した、インストールの有無が関連してきます。
FlashPlayerをインストールすると、PC(OS)からFlashPlayerに対してある程度のアクセス権限が付与されます。
この権限があればPCの内部に直接アクセスする事が可能になります。

悪意のあるコードはこの権限を利用して利用中のPCへ攻撃を行います。
これもインストールが必要という点が大きいところです。

次にswf2jsです。

先にの述べた通り、swf2jsはJavaScriptファイルです。
ブラウザが許可した権限しかありません。
また、ブラウザが定めた基準(使用方法)に準拠しないと正しく動作しません。
勝手にPCの内部にアクセスしたり、バックドアの起動などできません。

このような事から、インストールする事による
FlashPlayerが抱えていた脆弱性の問題を解決したと言い切れます。
ですが、次に出てくる疑問「JavaScriptは安全なの?」っという疑問が出てきます。

JavaScriptは安全なの?

JavaScriptも万能ではありません。
セキュリティの脆弱性があります。

クロスサイトスクリプティング(XSS)
クロスサイトリクエストフォージェリ(CSRF)
サーバーサイドJavaScriptインジェクション

などが有名な問題かと思います。
ですが、これらの脆弱性は実装手法で回避が可能です。
また、これらの脆弱性の回避方法も広く知られています。

2020/12/25 追記
今回の記事はFlashPlayerでおきうる問題に関しての記事なので
ここの内容はどこかで改めて記事にできればと思います。

今後はどうなるの?

度々になるのですが、swf2jsはJavaScriptファイルです。
つまり、ブラウザの成長と共に機能の拡張や進化が可能です。
今後の進化に是非ご期待頂ければと思います。

いかがだったでしょうか?

明日は紀平さんの記事「Acquiring について」です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?