LinuxのNetUSBカーネルドライバに脆弱性、Linuxベースのルータなどが影響を受ける 27
ストーリー by hylom
原理が一目瞭然 部門より
原理が一目瞭然 部門より
insiderman 曰く、
KCodesが提供するNetUSBカーネルドライバに脆弱性が発見された。NetUSBサーバーに対して特定のデータを送信することで、カーネル空間でのバッファオーバーフローを発生させることができるという(JVNVU#90185396、ZDNet Japan)。
NetUSBではクライアントがサーバーに接続する際にコンピュータ名を送信するが、このコンピュータ名が64文字よりも長い場合にスタックバッファがオーバーフローするという。現時点でD-LinkやNetgear、TP-LINK、ZyXELなどの製品が影響を受ける模様。
比較的分かりやすい理由でのバッファオーバーフローということで、「90年代スタイルの脆弱性」などとのツッコミが入れられている模様。
そろそろC捨てたら? (スコア:0)
2010年代も半ばなのにまだバッファオーバーフローが通用するとは…
いつになったらバッファオーバーフローが起こらない言語で書かれたOSが普及しますか?
Re:そろそろC捨てたら? (スコア:2, 参考になる)
最低でもこれくらいできたら。
・速度でCに(一部の特殊状況だけではなく)勝てる
・実行時間が予測可能なコードを書ける(ハードリアルタイム性のため)
・GCはあってもいいけど無効にできる(メモリマネージャをカスタマイズできる)
・割り込みハンドラやブートストラップコードなどを書ける
Re:そろそろC捨てたら? (スコア:1)
・アドレスを直接指定して読み書きできる
Re: (スコア:0)
これを実現するとバッファオーバーフローとか不正なアドレスへの書き込み誘発とかできちゃうんだよね。
Re: (スコア:0)
ネタにマジレス
Re: (スコア:0)
バッファの外に出られない言語でどうやってバッファを管理するコード書くんだ?
アドレスにしたって、それなしでカーネル書けるん? メモ管とかI/Oとか……。
Re: (スコア:0)
無用なところでも、 pointer/index overrun が起きちゃうことが問題なので、
C# の unsafe の様に、危険を承知でそのような処理コードを書くなどの仕組みを
入れれば、全体的な安全性は著しく向上すると思います。
Re: (スコア:0)
Lispはそんなのすべて可能だったんだけどね
結局技術的制約ではない理由があるってだけだよ
Re: (スコア:0)
Lispで割り込みハンドラとブートストラップ書く方法ってあるの?
最低限メモリアドレス直接指定は必要で、Cでもインラインアセンブラ使うか命令直接指定できるマクロ使うかしたい領域なんだけど。
Re: (スコア:0)
Li, Li, Lisp にだってアセンブラ拡張あるし、あるし。
さらに Lisp machine なら、Lisp machine だったら… 駄目か。何でもない。
Re: (スコア:0)
可能だった、のならすればよかったんだよ。
全部実現しようとしたらLispらしくないコードになるんだろ?
ライブラリじゃなく実装から選ばないといけないんだろ?
Re: (スコア:0)
じゃあそういう言語が普及してないのはなぜなのか?
結局、面倒だから、コストに見合わないからだよ。
バッファーオーバーフローは業界的に許容範囲とみなされているんだ。
Re: (スコア:0)
バッファオーバーフローが起こらない言語で書かれたOSが普及したところで
バッファオーバーフロー以外の問題が起こるだけだ
Re: (スコア:0)
バッファオーバーフロー以外の問題がCなら起こりえない問題でない限り確実に問題は減るだろ。
Re: (スコア:0)
この問題も減ったからこそ90年代スタイルの脆弱性なんて言われてるんだろう
他のOSに変わったところでそれが銀の弾にはなりえないよ
Re: (スコア:0)
変わらず急所であり続ける金の玉ゆえ
え?LinuxでNetBSDカーネルを動作させるドライバがあるの?? (スコア:0)
って空目しませんでしたか?
Re: (スコア:0)
ナカーマ +1
Re: (スコア:0)
つーか、NetUSB ってなにするもの?
教えてエロイ人 pls
Re: (スコア:0)
ドライバじゃないけどある [wikipedia.org]
「プロプラは質が低い」の代表例 (スコア:0)
http://japan.zdnet.com/article/35064814/ [zdnet.com]
>ルータやアクセスポイント、USB over IP専用機器は、このプロプライエタリソフトウェアを使用していることが多い。
プロプラのNetUSBじゃなく、オープンソースのUSB/IPが使われないのは、何故でしょうかね。
調べてみたら、USB/IPのWindowsクライアントには問題があるらしい。
http://wiki.openwrt.org/doc/howto/usb.iptunnel [openwrt.org]
>Installing a driver could be a challenge - there is a signed drivers, included in 0.200 version of tool.
>Unfortunately the don't work anymore. at least for Win7 x64.
>Look through USBIP forum to find the latest compiled driver and tool.
>Unfortunately the Driver is not signed and in order to install it, you have to switch off Windows drivers signature check.
Re: (スコア:0)
> 「プロプラは質が低い」の代表例
このタイトルと、
> オープンソースのUSB/IPが使われないのは、
> USB/IPのWindowsクライアントには問題があるらしい。
この本文とが繋がらないのですが…
どっちかというと「オープンソースは質が低い」という主張のコメントにしか読めません…
Re: (スコア:0)
元のACじゃないけど。
「プロプラが質が低い」のは、このバッファーオーバーフローの事例から明らか。
で、なんで同じことをやれるオープンソースのUSB/IPが使われないのか?
→誰もWindows x64版の署名付きドライバを用意しないから、Windowsで実質使えない
→ドライバ署名必須にしたMSクソが-イマココ
Re:「プロプラは質が低い」の代表例 (スコア:2)
OSSなドライバに署名付けるのが禁止されてるわけでもないのに
なんでMSクソって結論になるの?
Re: (スコア:0)
>「プロプラが質が低い」のは、このバッファーオーバーフローの事例から明らか。
ごめん。ぜんぜん明らかじゃないんだけど、どういう論理で明らかと思えた?
> で、なんで同じことをやれるオープンソースのUSB/IPが使われないのか?
> ?誰もWindows x64版の署名付きドライバを用意しないから、Windowsで実質使えない
> ?ドライバ署名必須にしたMSクソが-イマココ
ん?
MSとしては、極めてもの凄く正しい判断だよね。
出所が不明な怪しいUSBドライバをそのままインストールを許すの?
論理的に考えて、「OSSなバイナリで信頼できる出所の署名がない」ものがどれだけ危険な存在か、出回っているPuttyにトロイの木馬があるって事実から明らかなんだけど。
Re: (スコア:0)
出所が安全ならば、署名は必要ないのでは? コードサイン証明書が付属していているからといって安全な訳ではありませんよ。
誰でもDUNSナンバーを取得して、法人のコードサイン証明書を取れるわけですし… (価格が高いだけ)。
法人向けD-U-N-S Numberを無料で作成する方法
http://denshi-shoseki.seesaa.net/article/309106298.html [seesaa.net]
Re: (スコア:0)
出所が改ざんされていないことをどうやって検証するので?
>コードサイン証明書が付属していているからといって安全な訳ではありませんよ。
"「OSSなバイナリで信頼できる出所の署名がない」"