アカウント名:
パスワード:
ふせげた?
設計(仕様)のバグだからどんな言語で開発してもダメでしょ。むしろダメ言語で開発したほうがバグで動かなくて助かるまである。
RustとJavaならセキュリティはJavaの方が上じゃないの?
ポインター絡みのバグ以外はどの言語使っても変わらんよ
多くの場合、Rustならビルド出来ないことによって防がれるのでは?
ネイティブコードを使う言語の場合この手のケースだとロギングツール側で動的にコードをコンパイル&リンクする機能を持ってる。まあ実装方法にもよるがリモートからコードを実行できる脆弱性が発生する可能性は消えない。実装が雑だとコンパイルエラーからのシステム停止もあるかも。あとオーバーフロー系の攻撃と組み合わせれば…
Javaにポインタは無い(キリッ
ぬるぽ!
これが言いたかった!
(*´ω`*)
ガッ(AA略)#様式美
防げない、実装の問題じゃないしJNDI lookupという機能のせいなので
ログのパースでJNDI lookupを発生させようとする発想のせいだろ。スクリプト言語で言えばログの文字列に対してevalするようなものだ
この機能、何で必要だったんですかね…NOLOOKUPとかいうオプションがあるあたり、作った側も「これ要るの」っていう疑問があったんじゃないですかね…誰かこれなくなると困るひと、コメントお願いします。
来るべき2010年代においては、分散オブジェクト指向プログラミングが目指す「ネットワークこそがコンピュータ」思想が現界に体現され、30億のデバイスで走るJavaにおいては、クラスがJNDIを用いてTCP/IP経由でロードされ、そのクラス名はLDAPを用いて解決されることも当たり前になると予想されるのです。したがって、ログ取得ライブラリは、若し設計者がそのようにネットワーク上に分散したクラス名を解決して記録する必要があるとしたならば、そのクラスをメモリ上に展開し、まさしくコンストラクタを実行し、得られたクラス名を正しく記録することが、当然、求められるのです。何言ってんだこいつ。
2020年代の言語で同じことを言うと「だってminifyしたjQueryでエラー出た時min.jsじゃない方CDNから取ってきて突き合わせてスタックトレース出たら便利じゃん、それのJava版」となります。これがjsだとSame-Originポリシーがあって安易に勝手サーバからは読み込めないわけですが、それこそが沈んでるコメに付いてるコメントの「思想がお花畑」ではないということなのでしょう。
クライアントサイドの話ならJavaアプレットなんて何もできないくらい制限されてのに
jQueryてかPHPとかJavaScriptはドメイン(正確にはIPアドレス)を元にライブラリをリンクしたりするわけだがある日そのリンク先が変更されて大惨事ってケースが起こりうる気がするが意外と起こらないので不思議。
え、今まで何度もドメイン期限切れで再取得したところが悪さして変なページ読み込んじゃう問題起きてるじゃないか自サイトにコピー置いとかないとダメだよ
個人的には、「これが要る」と仮定しても、(1)ログライブラリ側で実装する様なやり方は、ログライブラリの機能過剰(機能分散のバランス不良)(2)セキュリティ対策として、信頼できるサーバリスト等の制限が不可欠(多分、ネットワーク設計側(ファイヤーウォール)でアクセスコントロールさせる想定だったと思う。マイクラサーバの様に直接の公開サーバで使われることを想定していなかった(想定が不十分だった)。)ということと思う。
>作った側も「これ要るの」っていう疑問があったんじゃないですかね
これは、筋違いですよ。ふつうに考えて、NOLOOKUPの様なオプションは、デバッグ機能ですから。使う人が少ないけど、デフォルト無効にするべき、とまでは考えなかったんでしょう。(セキュリティ想定が足りなかったんでしょう。)猜疑心にとらわれると思考が嵌りますよ。
致命的なエラーが発生してサーバ自動停止メールかツイッターかなんかに通知みたいなケースでらくできる。ログをリアルタイムないし周期的に監視してものによっては通知を飛ばすどうでもいいのはスルーみたいなツールは多い。それを一歩踏み込んでログをスクリプトかしちまえみたいなやつ。これいるのよりは多機能ロギングより高速動作を優先したい人向けに無効化オプションをつけたんでしょう。
javaって思想がお花畑なんだよなー。インターネットが平和で善意に満ち溢れた理想の世界っていう思想が根っこにある。1.5、1.6ぐらいから後付けでどんどんセキュリティ強化してくんだけど、言語やJREではなくて、エコシステム全体の古参の根っこがお花畑。
最近の言語は、一つ間違えば即死のサザンクロスシティが前提。
log4jの1.xだとなくて、2.0で追加された機能っぽいですよね
なんで追加されたの?
言語の穴やオーバーフローを突いたものではなく、想定通りの動作が危険という話ですから…Javaにダウンロードされたコードは実行させないという機能がビルトインされているなら話は別なんですが、そういう言語ありましたっけ?
環境だけどchromeの拡張のv3。
JavaのSecurityPolicy使えば、特定のファイルにしかアクセスを許さないとかはできるから防げるのかもしれないけど、僕はやったことはないのでどこまで有効かはちょっとわからないですね。前調べたときは、面白そうだけど設定が細かくて面倒臭そうだな、ってぐらいで終わってる。
javaのAccessControllerとかのsecurity apiがまさにそのためのフレームワークだけどサーバーで使ってないって理由で削除が決まってる。
Appletとか信用できないコードを実行する想定の言語だし、権限制限する仕組みはあったのだけど遅いと言われる原因の一つだったわね
ログにURLが書かれてたらそこからDLして実行する、という機能をRustで実装出来るかどうか。勿論実装可能だよ?そんな機能をログに入れようと思う方がどうかしてるだけで。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家
Rustさんなら (スコア:0)
ふせげた?
Re:Rustさんなら (スコア:1)
設計(仕様)のバグだからどんな言語で開発してもダメでしょ。
むしろダメ言語で開発したほうがバグで動かなくて助かるまである。
Re: (スコア:0)
RustとJavaならセキュリティはJavaの方が上じゃないの?
Re: (スコア:0)
ポインター絡みのバグ以外はどの言語使っても変わらんよ
Re: (スコア:0)
多くの場合、Rustならビルド出来ないことによって防がれるのでは?
Re: (スコア:0)
ネイティブコードを使う言語の場合この手のケースだとロギングツール側で動的にコードをコンパイル&リンクする機能を持ってる。まあ実装方法にもよるがリモートからコードを実行できる脆弱性が発生する可能性は消えない。
実装が雑だとコンパイルエラーからのシステム停止もあるかも。あとオーバーフロー系の攻撃と組み合わせれば…
Re: (スコア:0)
Javaにポインタは無い(キリッ
Re: (スコア:0)
ぬるぽ!
これが言いたかった!
(*´ω`*)
Re: (スコア:0)
ガッ(AA略)
#様式美
Re: (スコア:0)
防げない、実装の問題じゃないし
JNDI lookupという機能のせいなので
Re:Rustさんなら (スコア:3, すばらしい洞察)
ログのパースでJNDI lookupを発生させようとする発想のせいだろ。スクリプト言語で言えばログの文字列に対してevalするようなものだ
Re: (スコア:0)
この機能、何で必要だったんですかね…NOLOOKUPとかいうオプションがあるあたり、作った側も「これ要るの」っていう疑問があったんじゃないですかね…誰かこれなくなると困るひと、コメントお願いします。
Re:Rustさんなら (スコア:1)
来るべき2010年代においては、分散オブジェクト指向プログラミングが目指す「ネットワークこそがコンピュータ」思想が現界に体現され、30億のデバイスで走るJavaにおいては、クラスがJNDIを用いてTCP/IP経由でロードされ、そのクラス名はLDAPを用いて解決されることも当たり前になると予想されるのです。したがって、ログ取得ライブラリは、若し設計者がそのようにネットワーク上に分散したクラス名を解決して記録する必要があるとしたならば、そのクラスをメモリ上に展開し、まさしくコンストラクタを実行し、得られたクラス名を正しく記録することが、当然、求められるのです。何言ってんだこいつ。
2020年代の言語で同じことを言うと「だってminifyしたjQueryでエラー出た時min.jsじゃない方CDNから取ってきて突き合わせてスタックトレース出たら便利じゃん、それのJava版」となります。これがjsだとSame-Originポリシーがあって安易に勝手サーバからは読み込めないわけですが、それこそが沈んでるコメに付いてるコメントの「思想がお花畑」ではないということなのでしょう。
Re: (スコア:0)
クライアントサイドの話ならJavaアプレットなんて何もできないくらい制限されてのに
Re: (スコア:0)
jQueryてかPHPとかJavaScriptはドメイン(正確にはIPアドレス)を元にライブラリをリンクしたりするわけだがある日そのリンク先が変更されて大惨事ってケースが起こりうる気がするが意外と起こらないので不思議。
Re: (スコア:0)
え、今まで何度もドメイン期限切れで再取得したところが悪さして変なページ読み込んじゃう問題起きてるじゃないか
自サイトにコピー置いとかないとダメだよ
Re:Rustさんなら (スコア:1)
個人的には、「これが要る」と仮定しても、
(1)ログライブラリ側で実装する様なやり方は、ログライブラリの機能過剰(機能分散のバランス不良)
(2)セキュリティ対策として、信頼できるサーバリスト等の制限が不可欠(多分、ネットワーク設計側(ファイヤーウォール)でアクセスコントロールさせる想定だったと思う。マイクラサーバの様に直接の公開サーバで使われることを想定していなかった(想定が不十分だった)。)
ということと思う。
>作った側も「これ要るの」っていう疑問があったんじゃないですかね
これは、筋違いですよ。ふつうに考えて、NOLOOKUPの様なオプションは、デバッグ機能ですから。
使う人が少ないけど、デフォルト無効にするべき、とまでは考えなかったんでしょう。(セキュリティ想定が足りなかったんでしょう。)
猜疑心にとらわれると思考が嵌りますよ。
Re: (スコア:0)
致命的なエラーが発生してサーバ自動停止メールかツイッターかなんかに通知みたいなケースでらくできる。
ログをリアルタイムないし周期的に監視してものによっては通知を飛ばすどうでもいいのはスルーみたいなツールは多い。それを一歩踏み込んでログをスクリプトかしちまえみたいなやつ。
これいるのよりは多機能ロギングより高速動作を優先したい人向けに無効化オプションをつけたんでしょう。
Re:Rustさんなら (スコア:1)
javaって思想がお花畑なんだよなー。
インターネットが平和で善意に満ち溢れた理想の世界っていう思想が根っこにある。
1.5、1.6ぐらいから後付けでどんどんセキュリティ強化してくんだけど、言語やJREではなくて、
エコシステム全体の古参の根っこがお花畑。
最近の言語は、一つ間違えば即死のサザンクロスシティが前提。
Re: (スコア:0)
log4jの1.xだとなくて、2.0で追加された機能っぽいですよね
なんで追加されたの?
Re: (スコア:0)
言語の穴やオーバーフローを突いたものではなく、想定通りの動作が危険という話ですから…Javaにダウンロードされたコードは実行させないという機能がビルトインされているなら話は別なんですが、そういう言語ありましたっけ?
Re:Rustさんなら (スコア:1)
環境だけどchromeの拡張のv3。
Re: (スコア:0)
JavaのSecurityPolicy使えば、特定のファイルにしかアクセスを許さないとかはできるから防げるのかもしれないけど、僕はやったことはないのでどこまで有効かはちょっとわからないですね。
前調べたときは、面白そうだけど設定が細かくて面倒臭そうだな、ってぐらいで終わってる。
Re: (スコア:0)
javaのAccessControllerとかのsecurity apiがまさにそのためのフレームワークだけどサーバーで使ってないって理由で削除が決まってる。
Re: (スコア:0)
Appletとか信用できないコードを実行する想定の言語だし、権限制限する仕組みはあったのだけど
遅いと言われる原因の一つだったわね
Re: (スコア:0, 荒らし)
ログにURLが書かれてたらそこからDLして実行する、という機能をRustで実装出来るかどうか。
勿論実装可能だよ?そんな機能をログに入れようと思う方がどうかしてるだけで。