アカウント名:
パスワード:
wget --header="Range: bytes=18-18446744073709551615" [target]/welcome.png
で起こると言うことは、範囲チェックが甘くて変なメモリをアクセスするんだろうけど、HTTPをパースするなら物凄く変なリクエストが来て未知の不具合が顕在化する危険性はこれからも高いと思う。問題はカーネルモードでそれが起こると全体を巻き込んでフリーズする事だから、カーネルモードにサンドボックスを創れないのだろうか。
通信がネットワークドライバで独立していると考えれば、HTTPをパースして結果を返すのはメモリ処理で完結してハードウェアの状態遷移を伴わないのだから、
> カーネルモードにサンドボックスを創れないのだろうか。
MS-DOSみたいなごく原始的なOSを除けばサンドボックスはすでに実装されているよ。ちなみにユーザーモードという名前がついている。
HTTP.sysの大きな目的の一つがカーネルモードとユーザーモードの切り替えコストを発生させずに処理を高速化することだから、ユーザーモードを使うならHTTP.sysの存在意義が薄れてしまいます。IIS 6.0の概要 [atmarkit.co.jp]なので
という疑問になりました。
今回の様なメモリ処理で完結している場合は、その様なモジュールの居場所としてリング1とかリング2が低コストで使えないのだろうか、とか、リング0のままでもメモリディスクリプタテーブルを必要最小限の物に切り替えて安全性を高められるのではないかと考えました。
カーネルモードとユーザーモードの切り替えコストは要するにサンドボックス境界をまたぐコストなわけだが。
> その様なモジュールの居場所としてリング1とかリング2が低コストで使えないのだろうか、とか、リング0のままでもメモリディスクリプタテーブルを必要最小限の物に切り替えて安全性を高められるのではないか
そんなARMはもちろんx64ですらほとんど廃止された化石のような機能群を持ち出されても。
Singularity [wikipedia.org]という、静的検証で安全なマネージドコードをカーネルモードで動かす、Microsoftの実験的OSはありますね。Linuxでも、一応eBPFという仮想マシンを内蔵していますが、安全性はどうなのだろうか?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
最初のバージョンは常に打ち捨てられる。
HTTP.sysを信用するな (スコア:5, すばらしい洞察)
で起こると言うことは、範囲チェックが甘くて変なメモリをアクセスするんだろうけど、HTTPをパースするなら物凄く変なリクエストが来て未知の不具合が顕在化する危険性はこれからも高いと思う。問題はカーネルモードでそれが起こると全体を巻き込んでフリーズする事だから、カーネルモードにサンドボックスを創れないのだろうか。
通信がネットワークドライバで独立していると考えれば、HTTPをパースして結果を返すのはメモリ処理で完結してハードウェアの状態遷移を伴わないのだから、
Re:HTTP.sysを信用するな (スコア:3, おもしろおかしい)
> カーネルモードにサンドボックスを創れないのだろうか。
MS-DOSみたいなごく原始的なOSを除けばサンドボックスはすでに実装されているよ。ちなみにユーザーモードという名前がついている。
Re:HTTP.sysを信用するな (スコア:1)
HTTP.sysの大きな目的の一つがカーネルモードとユーザーモードの切り替えコストを発生させずに処理を高速化することだから、ユーザーモードを使うならHTTP.sysの存在意義が薄れてしまいます。IIS 6.0の概要 [atmarkit.co.jp]
なので
という疑問になりました。
今回の様なメモリ処理で完結している場合は、その様なモジュールの居場所としてリング1とかリング2が低コストで使えないのだろうか、とか、リング0のままでもメモリディスクリプタテーブルを必要最小限の物に切り替えて安全性を高められるのではないかと考えました。
Re: (スコア:0)
カーネルモードとユーザーモードの切り替えコストは要するにサンドボックス境界をまたぐコストなわけだが。
> その様なモジュールの居場所としてリング1とかリング2が低コストで使えないのだろうか、とか、リング0のままでもメモリディスクリプタテーブルを必要最小限の物に切り替えて安全性を高められるのではないか
そんなARMはもちろんx64ですらほとんど廃止された化石のような機能群を持ち出されても。
Re: (スコア:0)
Re: (スコア:0)
Singularity [wikipedia.org]という、静的検証で安全なマネージドコードをカーネルモードで動かす、Microsoftの実験的OSはありますね。
Linuxでも、一応eBPFという仮想マシンを内蔵していますが、安全性はどうなのだろうか?