これらは脆弱なサービスへの攻撃であり、クライアント側の既存の脆弱性を使用してエンドユーザーに影響を与えないため、サーバー側のセキュリティやXSSの脆弱性については触れていません。これらは、Web開発者が脆弱なWebアプリケーションを作成し続ける限り存在します。
次の2つのシナリオで、エンドユーザーのセキュリティに焦点を当てたいと思います。
エンドユーザーのセキュリティの観点から、ほぼ完全に(内部的に)異なるが競合する2つのテクノロジーを比較する必要がある種類の質問を投げかけることで得られる可能性のある回答に興味があります。
理論的には、すべてのサーバーとそれらへの接続が完全に安全(不可能)で信頼できる(真でない)場合、どちらも他よりも「安全」ではありません-主にWebサイトの開発者が完全に制御しているためサイトのコンテンツ。 FlashとJSはクライアントに提供されるため、エンドユーザーに影響を与えるためには、サーバーが悪意のあるコンテンツをエンドユーザーに提供する必要があります。
残念なことに、私たちは完璧な世界に住んでいるわけではなく、サーバーのセキュリティが低下した場合、JSはより安全になる傾向があります。クライアントに影響を与える能力ははるかに制限されます。 Flashの脆弱性の多くには、任意のコードを実行する機能があります。これは、サンドボックスから抜け出すために複数の脆弱性を必要とすることが多いブラウザのエクスプロイトよりもはるかに有害です。つまり、JSエクスプロイトはクライアントがそのページを表示している間しかクライアントを操作できず、通常は閉じた後は持続できないのに対し、FlashエクスプロイトはRATまたはその他のマルウェアにクライアントを感染させ、攻撃者がブラウザが閉じられた後でもクライアント。
JSを使用するもう1つの利点は、クライアントがソースを表示できることです。サイトを使用している誰かがソースで疑わしい何かに気づき、開発者に通知して、侵入をより簡単に検出できるようにする可能性があります。 Flashの場合、悪意のある攻撃者が既存のswfに悪意のあるコードを挿入する可能性があり、ユーザーはswfを分解せずにソースを表示できないため、悪意のあるコードが検出されなくなる可能性があります。
エンドユーザーの場合、シナリオ2:
JavaScriptが有効、Flashがインストールされていない、または有効になっていない
上記の理由と、Adobe Flashのエクスプロイトの履歴を考えると、はるかに安全です。 NVDでの検索により、合計 610の脆弱性 、 そのうち3 が2014年1月から2015年12月の間にあることがわかります。ほとんどのJS関連のエクスプロイトはブラウザ固有である傾向があり、影響を受けるクライアントの数。Flashはクロスプラットフォームであることが意図されているため、影響を受けるクライアントの数が増加します(最近では、多くの人々がFlashを無効にしていることを考えると、この数は減ります)。
TLDR:フラッシュをオフにして、代わりにJSを使用します。
WillSの優れた答えに加えて、セキュリティに影響を与えるいくつかの違いがあります。
更新 Flashに関する2つの追加の問題:
「ブラウザからxxを実行するとマシンがクラッシュしたり、セキュリティが低下したりする可能性がある」という観点からは、答えは明らかです。フラッシュは古いテクノロジーであり、もはや十分にサポートされておらず、エクスプロイトの長い歴史があります。したがって、それは潜在的に危険であることが知られています。
Html5、javascript、およびその他の現在話題になっているテクノロジーについては、本質的に安全ではなく、サードパーティによって記述されたコードをマシン上で実行しています。彼らができることを制限しようとする試みがありますが、その効果は実装の品質と基礎となる設計に依存します。エクスプロイトは避けられません。