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

締切り済みの質問

ブラウザ以外のアプリのインターネット接続

パソコン内にインストールされているブラウザではないアプリを起動させると、そのアプリ名で勝手にネットに接続しているものが数個あります。(firewallのログを見て分かりました)

それらアプリ自体は多くの人に利用されているもので、特に危険というわけではありません。
ただ最新バージョンかどうかをチェックする以外では、ネットに接続する必然性はないアプリです。



1

ブラウザ以外のアプリでインターネットに接続するすことが出来るのは、そのアプリにインターネット接続用のコンポーネントが搭載されているためでしょうか。
それともインターネット接続用のコンポーネントは備わっていなくて、パソコンにインストールされているIEなどのブラウザのコンポーネントを勝手に拝借してインターネットに接続しているのでしょうか。


2

パソコンにインストールされている、あるアプリを起動すると勝手にポート80の外部IPアドレスに接続しています。
process explorerで、そのアプリのlower pane を見るとType(Key)のところに

HKCU\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap
HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings
HKCU\Software\Microsoft\Internet Explorer\Main

などとあります。

この事は、このアプリにネット接続機能はなくパソコンにインストールされたInternet Explorer を拝借してネットに接続している証となりますでしょうか。


3

アプリ自体にネット接続機能はなく、パソコンにインストールされているブラウザ(Internet Explorer)の機能を拝借してネットに接続しているときには、その接続はInternet Explorerのセキュリティレベルが適用されるのでしょうか。適用されるとなるとIEのセキュリティレベルが低いまま(ActiveXなどが実行されるレベル)で外部に勝手に接続するアプリを起動させてきた事は危険ということになります。

投稿日時 - 2013-05-27 22:25:20

QNo.8107958

困ってます

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

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

回答(3)

ANo.3

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

ANo.2

は?

TCP/IPスタックを使って通信してるんですけども。

ブラウザのコンポーネントなんちゃらなんて関係ねーです旦那w


要はちゃんとした基本知識がないから駄目なんです。

投稿日時 - 2013-05-27 23:14:57

ANo.1

1.通常、インターネット接続用のロジックが組み込まれています。
もしそれが無い場合は、質問者さんが想像するように、他のソフトの機能を借りていると思います。

2.私は詳しくありませんが、そのように推測できると思います。

3.そうだと思います。そして、そうするほうがセキュリティソフトに邪魔されず、抜き取ったデータなどを外部送信するとか、外部のソフトをインストールできると思います。


以前はセキュリティソフトの会社が発表したマルウエアの動作原理を読んで、マルウエアがどんなことをやっているのか推測ができたのですけど、最近は、マルウエアの動作原理を読んでも、よくわからないことがあります。
個人的には、こういう状態までくると、セキュリティを考えて「Windowsを捨てて、Mac(ベースはUnix)やLinuxに乗り換えるってのも有りかも?」なんて思ったりします。

投稿日時 - 2013-05-27 22:56:03

あなたにオススメの質問