
libupnpに脆弱性、これを利用しているUPnP対応機器は注意を 21
ストーリー by hylom
それなりに対応機器はあるので一応チェックを 部門より
それなりに対応機器はあるので一応チェックを 部門より
imp 曰く、
UPnPのオープンソースライブラリ「libupnp」に脆弱性が存在し、libupnpを使用している多数の機器が外部から攻撃を受ける可能性があるとのこと(US-CERT、ITmedia)。
脆弱性の内容はバッファオーバーフローによるものであり、libupnpを利用している機器がWAN側インターフェイスからの攻撃を受ける可能性もあるそうだ。libupnp自体は脆弱性を修正したバージョン1.6.18がリリースされているが、ライブラリを更新した各機器向けのファームウェアが公開されるまでには時間が掛かると考えられ、古い機器についてはファームウェアの更新が行われない可能性もある。
とりあえず機器のUPnP機能を無効にする事で問題を回避できるようなので、該当する機器をお持ちの方はご確認を
確かにlibupnpに穴はあるが (スコア:4, 参考になる)
話をごく単純にいうと、確かにlibupnpに穴はあるが、そもそも外からUPnPの使うポートが見えちゃダメじゃんというお話みたいです。
ただしもっとややこしい話のようなので是非リンク先を読んでみてください。
http://did2memo.net/2013/01/30/upnp-libupnp-vulnerability/ [did2memo.net]
Re:確かにlibupnpに穴はあるが (スコア:2)
現時点でもかなり影響力のありそうなメーカー名が並んでますね。
増えることはあっても減ることはなさそう。
http://www.kb.cert.org/vuls/byvendor?searchview&Query=FIELD+Refere... [cert.org]
モバイルルータにも実装されてるとしたら、膨大な数になりそうです。
機能の都合上、工場出荷時点で有効になっているものがほとんどでしょうし。
ファームウェアの修正に時間がかかるでしょうから、とりあえずの対処として機能をオフにするだけのツールでも出してくるんじゃないかと。
Re:確かにlibupnpに穴はあるが (スコア:1)
ちなみに、ヤマハのルータ製品の中にもUPnPできるのありますが、ウチはlibupnp使ってないので今回は関係なし、という通知がMLに流れてました。
Re:確かにlibupnpに穴はあるが (スコア:1)
上 [srad.jp]のリンク先を読んだら、libupnp以外でも脆弱性は見つかってとありますね…
とりあえずWAN側からのSSDPをマスクするのは必須だとして、SSDPパース部分の脆弱性については、
「libupnpは使っていません」だけではまだ安心できなさそうですね。
Re:確かにlibupnpに穴はあるが (スコア:1)
なんか、新しそうな8機種のみになってますね。
UPnP機能を持つ機種はもっと多いはずですが、「メディアサーバ機能」というのを持たない機種には影響しないようです。
Re: (スコア:0)
Atermシリーズのメディアサーバについてはこのとおり [aterm.jp]。
該当機器はUSBポートをもっており、そこにつないだストレージの内容をDLNAで共有できます。
そこでUPnPが使われているのでしょう。この機能はLAN側にだけ開放している(はず)ので
上流からは入れないという話なんですね、きっと。
でも無線LANから入られた場合、無線から有線側にもアクセスできる設定の場合攻撃を受ける
可能性が考えられます。
うちではUPnPもメディアサーバも無効にしてあり、無線から有線にアクセスできない設定に
しているので当面影響はなさそうです。
いつのニュースだと思ったら (スコア:0)
2年くらい前でしたっけ?
Re: (スコア:0)
へぇー、コレ見たわー。2年前くらいに見たわー
危険性を認識して使ってるんだろうか? (スコア:0)
穴のあるなし以前に UPnP なんておっかないもの、それも外部接続ルータでなんて、
とても使う気がしません。
暴露ウイルスが UPnP でルータの設定変更して感染 PC のディスクを
全世界に公開してくれてたのも記憶に新しい、と思ったらもう 7 年前なのね。
# 歳はとりたくないものだ。
もちろんウイルスに感染した時点でいくらでも外部に送信できるじゃんというのは
もっともなのですが、やはり発信力にだいぶ違いがありますし。
よくわかってない人でも簡単に使えるように、というのもわからないではないですが、
それならそれでファクトリリセット直後のみ UPnP 有効として設定完了後は無効化するとか、
なにか方法はなかったもんでしょうかね?
Re:危険性を認識して使ってるんだろうか? (スコア:1)
この場合のUPnPは、Skypeやらリモートアシスタンスやらネットゲームといったアプリが必要な時にWANからLAN内の特定PC(大抵は自分)の特定ポートに転送するための機能なので、アプリ起動時にUPnPが有効になってないと意味がないです。
# UPnP IGD(ルータとか)を設定するのはWindowsXP以降なら簡単に実装できます、WSHでも弄ることが可能ですし。
必要なのは設定が変わった時にユーザーに通知して許可を求めるUIなのかも。
Re:危険性を認識して使ってるんだろうか? (スコア:1)
Windowsだと「アプリhogehogeが外部への通信設定を行おうとしています。許可しますか?」みたいなのをUPnP利用時に出すような実装になるのかな。
通信先のIPとWHOISの結果も出してくれると嬉しいかも(特定国との通信とか微妙にイヤンなので)。
認識しているUPnPデバイスの現在のポート開放状況とかってXP以降で確認出来ましたっけ?
アプリhogehogeはポートfugafugaを開けているとかグラフィカルに確認出来るような実装だと親切かなぁと。
#UPnP IGDのプロパティでは取得しているグローバルIPくらいしかなかったような記憶だったので。
Re:危険性を認識して使ってるんだろうか? (スコア:1)
私も適当な理解ですが……
UPnPと一口に言っても幅広く [upnp.org]、家電等のDLNAもUPnPを利用してます。 [dlna.org]
実際、#2316900 [srad.jp]のNECの例はDLNA絡みで該当したようですね。
で、IGD(Internet Gateway Device) V1.0 [upnp.org]だと、動的NAT設定以外にもPPPやPPPoEセッションの管理等も出来るものが多いかと。
# IGD V2.0 [upnp.org]は実際に触ってないのですが、IPv6対応とかしてるっぽいですね。
問題になるのが、別にWindowsだけが使っているわけでなく、050IP電話アダプタ [flets.com]や、ゲーム機(Xbox360 [xbox.com]/PS3 [playstation.net])も利用している事ですね。
攻撃例で言えばスマホ、解りやすい例だとAndroidのアプリで「完全なインターネットアクセス」を求めるアプリがありますが、これを許可していればUPnPを利用可能です。
こういった、PCを触っている自分以外の家族の行動に伴った設定変更や誰も見張っていない時間帯を如何に守るかですね。
不許可にした結果「誰も居なかったから電話が005IP電話が不通になりました。」では困る訳で。
やはり、プロトコル自体が性善説で出来ているのがネックかと。
出来てメーカーがこのIPアドレスやMACアドレスを持つノードのみ変更を受け付けるとか、PCやスマホにアプリを常駐させて、変更時に許可を求めるようにする位でしょうか。
WindowsのUPnP対応度ですが、WindowsXP時代から前述のPPPセッション管理と動的ポートマッピングに対応しています。
※XPの場合、コントロールパネルでWindowsコンポーネントの追加が必要かもしれません。 [microsoft.com]
正常に動作していればXPなら、ネットワーク接続 [shell]、Vista以降ならネットワークを開く [shell]にルータが表示されていると思います。
XPだと「状態」が恐らくデフォルトとなっており、パケット通信量を確認できるかもしれません。
Vista以降だと「無効にする」が恐らくデフォルトでうっかり同一ネットワーク上の誰かが好奇心からダブルクリックしてしまうとWANが切断されて同じ画面から「有効にする」必要がありますが、これでWANのセッションの管理が可能です。
現在のポート開放状況はルータのアイコンの右クリックからプロパティを出すか、Alt+ダブルクリック/Enterでプロパティが出ます。
そのプロパティウィンドウの「全般」タブ右下に「設定」ボタンがあり、この「設定」を押すとGUIで動的ポートマッピングの確認と追加、削除、編集が可能です。
とはいえ、リストの名前は自己申告で自由に出来るので信頼性には問題がありますが。
ポートを表示したり、追加・削除するのはちょっとコード量やら衝突やらで面倒だし、結果も判りにくいからサンプルが少ないのでしょうかね?
WAN IFのIPアドレスを持ってくるだけなら引数なしで簡単ですし、結果が正しいかどうかも直ぐ判りますから。
一応UPnP COM [microsoft.com]のControl Point API [microsoft.com](IUPnPDeviceFinder等から始まる奴)経由で操作すると好き勝手出来ます。
動的ポートマッピング関連を手抜きで楽をしたければ、XP以降にあるNetwork Address Translation Traversal Interfaces [microsoft.com](IUPnPNATから始まる奴)で手軽にコントロール出来ます。
# 両者ともWeb上で情報が少ないのでこの機会に書いてみた。
ちなみに、今回再提起された問題(WANからUPnPで動的ポートマッピングを設定出来ちゃう脆弱性持ち)は忘れずに対応が必要かと。
繋がってるのが電話機やゲーム機やスマホのみで外から中を見られても平気だと思っていても、実装によってWANからWANへ転送する設定が出来るケースが有るので。
Wi-Fiの暗号化や無線LAN無しの機種で踏み台対策はバッチリだと思ったら、ルータ自体が外から踏み台にされて濡れ衣というシナリオですね。
PCと違い24時間通電が当たり前なので何時でも踏み台可能で、動的ポートマッピングは一定時間経過で自動削除する仕組みもありますし。
# そもそもログが残らない機種とか、今回話題のBoFバグ等を利用して証拠隠滅されたら捜査も行き詰まりになりかねないかと。
JVNも出てた (スコア:0)
http://jvn.jp/cert/JVNVU90348117/ [jvn.jp]
そもそも (スコア:0)
UPnPって、必要なのでしょうか?
僕は常に無効に設定しています。
これで困った(目的の通信ができなかった)ことはありません。
「なんだか分からないけど繋がっています。なんだか分からないけど繋がりません」とは言いたくないし。
Re: (スコア:0)
そういえばUPnPってコミュニケーション系のツールを使う場合必要になる事が多いよね。
Skypeとか、オンラインゲームもそうだし、外出先で自宅のNASを見る流行の機能も多分これを使ってるはず。
コミュニケーションの必要も無く、外に出る必要も無い人にとってはいらないんでしょうね。
Re: (スコア:0)
>外に出る必要も無い人にとってはいらないんでしょうね。
逆だ、外部へ向けての通信はUPnPを使う必要はない。
外部からの通信を受け付ける際に、UPnPがあれば楽ち(ry
Re: (スコア:0)
コミュニケーションは携帯電話で取れるし、ストレージを外部から見る必要があるかどうかは人によるね。
クラウドサービスのストレージを使う方法だってあるわけだし。
Re: (スコア:0)
頭悪そう
Re: (スコア:0)
君の中では「なんだかわからないけど」と「完全に理解」の2つの状態しかないのか。
Re: (スコア:0)
「理解」が何を意味しているか知らないけど、仕様やメカニズムを理解しても現実の動作までわかるわけじゃないしね。