みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

javaとjavaの脆弱性

プログラミング初心者です。

現在JavaSEを使用してjavaでのプログラミングを学んでいます。
JavaSEやJavaEEというのはJavaを構成するソフトウェアだということまでは理解している程度の本当に初心者になります。

今回、わけあってflashblackのようなJavaの脆弱性を狙ったウイルスについて調べているのですが、Javaの脆弱性というものがいまいち理解できません。
一般ユーザーへの呼びかけで、
「普段Javaを使わないならアンインストールし、ネットで見られないページなどがあって不便なようなら最新版をインストールしたらいい」
という書き込みなどを見ました。
Javaとは、インターネットでサイトを閲覧するものでもあり、プログラミング言語でもあるのでしょうか。

私はJavaというプログラミング言語のセットの中にJavaSEやJavaEEが入っている、というイメージでした。
そうするとインターネットでサイトを見ている一般ユーザーが使っているJavaとプログラミングで使用するJavaは違うものなのでしょうか。
考え方が根本的に何かちがうのでしょうか。


またJavaの脆弱性とはなんでしょうか。
不正な処理を実行するプログラムを組み込まれてしまいやすいサイトを作る、プログラミングというような考え方でよろしいのでしょうか。

投稿日時 - 2012-05-13 21:21:02

QNo.7474093

すぐに回答ほしいです

質問者が選んだベストアンサー

> Javaとは、インターネットでサイトを閲覧するものでもあり、プログラミング言語でもあるのでしょうか。

Javaはプログラミング言語の名前です。
Java言語で書かれたプログラムを実行するためには、通常、Java実行環境(Java Runtime Environment, JRE)というものがコンピュータにインストールされている必要があります。「普段Javaを使わないならアンインストールし」という文脈での「Java」はJava言語そのものを指しているのではなく、JREのことです。

Javaには、ウェブブラウザを経由するなどしてネットワーク越しにプログラムを実行するための仕組み(Appletなど)があります。コンピュータからJREをアンインストールしてしまうと、そのような仕組みを利用しているウェブサイトの一部のコンテンツを見ることができなくなります。しかし、Javaについて「インターネットでサイトを閲覧するもの」という説明をつけるのは正鵠を射ているとは言えません。

> そうするとインターネットでサイトを見ている一般ユーザーが使っているJavaとプログラミングで使用するJavaは違うものなのでしょうか。

基本的に同じものですよ。JREとJDKの違い、Java SE/Java EE/Java MEの違いとかを言い出すとややこしくなりますが。

> またJavaの脆弱性とはなんでしょうか。

Java言語で実行できてはいけないはずのことが何らかの方法によって実行できてしまう、JREの欠陥です。その原因はJRE実装上のバグであったりJava言語仕様上の盲点であったりします。
悪意を持った人が脆弱性を利用することで、対象のコンピュータからデータを盗み出す・書き換える・消す、正常に起動できなくするなどの攻撃を行えるかもしれません。Flashbackが利用した脆弱性がどんなものなのかは調べていません。

投稿日時 - 2012-05-13 22:59:51

お礼

非常にわかりやすい解説ありがとうございました!
助かりました!

投稿日時 - 2013-05-16 09:42:37

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

Javaにはサーバーで動く物と、サイトからダウンロードされブラウザの中で動くものがあります。

あなたがよく知っているのはサーバーで動く物ですね。言語としては同じですが、実行環境が違います。

ブラウザで動くJavaはアプレットと呼ばれ、ブラウザのプラグインの中で動きます。
Javaアプレットを組み込んだサイトは以前はよく見かけましたが、現在ではFlashにその場所を追われた感じであまり見かけません。

>「普段Javaを使わないならアンインストールし、ネットで見られないページなどがあって不便なようなら最新版をインストールしたらいい」

と言うのは、一般の人だと、いつ見るかわからないJavaアプレットのページに備えて常にJava実行環境(JRE)とプラグインをアップデートするより、必要な都度インストールして、見終わったらアンインストールしたほうが、かえって手間が掛からないのではないか?
つまり、
JREのアップデート頻度 > Javaアプレットのページを見る頻度
ということです。本当に、そうなのかどうかは人に寄りますけど。

PCにインストールされたJREに脆弱性があると、悪意を持った人が自分のサイトに、「ゲームだ」とかいって脆弱性を突くJavaプログラムを置いておくと、そのサイトを訪れた人のPCのファイルを見たり消したり出来るわけです。Flashの脆弱性とおなじようなものです。

投稿日時 - 2012-05-14 02:26:18

お礼

ご説明ありがとうございました!

投稿日時 - 2013-05-16 09:43:47

ANo.1

flashblock じゃなくて flashback だとおもう。

Java Runtime Environment -Wikipedia
http://ja.wikipedia.org/wiki/Java_Runtime_Environment

Javaアプレット -Wikipedia
http://ja.m.wikipedia.org/wiki/Java%E3%82%A2%E3%83%97%E3%83%AC%E3%83%83%E3%83%88

OSX.FlashBack.K の概要と 内部的な動作 | Symantec Connect Community
http://www.symantec.com/connect/blogs/osxflashbackk-0

投稿日時 - 2012-05-13 22:55:53

お礼

>flashblock じゃなくて flashback だとおもう。

タイプミスでした。
大変失礼いたしました。

投稿日時 - 2013-05-16 09:42:13

あなたにオススメの質問