1 一般的にはOSに最初から搭載されているインターネット接続コンポーネントを利用します。
※ただし最初から搭載されているので、コンポーネントとは呼ばずAPIと呼ばれることが多いです。
作成するプログラム言語によっては、より簡単に通信をする為の中間コンポーネントが提供されている場合があるので、それを利用しているかも知れません。
全体で見ると最終的にはOSの通信APIを利用しているので、どちらにしても大して違いはありませんが。
プログラム→(直接)→OSの通信API
プログラム→(プログラム言語が提供する中間コンポーネントを利用して間接的に)→OSの通信API
通信する事だけを目的とするなら、一般的にはわざわざブラウザなどを間接的に利用して通信するという選択肢を選びません。
無駄にプログラム作成を複雑にした上に、機能がブラウザが提供するもののみに制限されると、デメリットしか存在しない為です。
※過去にはタブ型ブラウザなどで、IEコンポーネントを利用しているケースが多く見られました。
この場合は通信する事だけではなく、HTMLレンダリング等のブラウザに必要な機能を使用する事が目的なので当てはまりません。
※ウィルス等がファイアウォールを抜ける為などの理由でブラウザを利用する事もあるでしょうが、それも当てはまりません。
再度強調すると、通信する事『だけ』を目的とするなら、ブラウザを経由するメリットはありません。
わざわざそれをする他のメリットがないなら、一般的にはもっと簡単に使えるOSに最初から搭載されている機能(API)を使うでしょう。
2 「接続しています」という事なので、そのソフトが通信しているのは確実なのでしょうが…
IEを拝借しているかどうかという点では、ほとんど勘ですが書かれている内容だけでは否定的。
『それらアプリ自体は多くの人に利用されているもので、特に危険というわけではありません』という判断が正しいなら、1で書いたようにわざわざIEを拝借なんかしないはず。
もし通信している事を隠蔽するためにIEを拝借しているなら、通信している事がバレてる時点で失敗してる。
そんな変な事をしてるなら、誰かが何かに気付いてとっくの昔に問題になってるでしょ?という予感でしかないので、実際のところ判りません。
3 IEコンポーネントを利用したタブ型ブラウザのような物を想定して説明すると、初期状態ではIEのセキュリティレベルがそのまま適用されます。
ソフト作成者が特別な事をしていなければ、インターネット上のファイル(HTML等)を開く際にはインターネットのセキュリティレベル、ローカルならローカルのレベルという事です。
特別な事(と言う程難しい事ではないですが)をすれば、セキュリティ設定を下げて動かす事もできるという事でもありますが…そもそも、プログラムをインストールして起動しているという時点で、そのプログラムが悪意のプログラムであれば終わってると言えます。
もし「セキュリティレベルを下げてIEコンポーネントを動かしているという、悪意のプログラムではないか?」という心配をしているのなら順番が違うと感じますね。
わざわざActiveXなどが実行されるレベルでIEコンポーネントを動かして悪さをするよりも、プログラム本体そのものがPC内で悪さをする方が遥かに容易。
ただ、悪意のプログラムではなくても、そのソフトの作成者がセキュリティ意識が低かった場合、知識がない場合に起こる危険というものはありますね。
たとえば、有名なメールクライアントソフトの話ですが、HTMLメールをレンダリングするためにIEコンポーネントを利用していて、セキュリティ設定をIEコンポーネントのデフォルトに任せたままだったという過去が。
メールを受信してローカルに保存している=開くHTMLファイルはローカルに存在する=インターネット上のファイルを開くよりもローカルファイルの方が(IEコンポーネントの)セキュリティ設定は緩い。
そのため受信したHTMLメール内に悪意のスクリプトが含まれた場合などでは、ローカルレベルで動作する為に致命的なコードでも実行可能というセキュリティホールが存在したという…。
今はそのセキュリティホールは修正されているので具体名は出しませんが、そのソフトの作者に悪意がなくても危険がないとは言い切れないという例として。
まあ、1、2で書いたようにブラウザを利用している事はないだろうという予測でもありますし、セキュリティホールはなにもブラウザのコンポーネントを利用した場合にのみ起こる問題でもないので、3で書いた事は完全に余談でしかありませんが。
投稿日時 - 2013-05-28 03:19:42