2021-12-11

自分よりできる人までlog4j脆弱性の経緯の理解が間違ってる気がしてもにょる

log4j自体問題なのは当然だけど、

ブコメ分散オブジェクト指向と書いてる人がいたけど、

その辺の指摘が正しいのではないかと思うんだけど

そもそもJava分散オブジェクト指向流行したのが問題歴史的な発端だと思ってる

まりRMI(いわゆるRPC)とかCORBA(それは紛れもなくヤツさではないです)とかHORB(産総研だっけ?)とか、

ネットワーク透過だのRPCスケルトンだの、そういう話が発端な気がする

から、なんでそんな変なことわざわざやるの?という話は、

そういう分散オブジェクト指向だのネットワーク透過だの、

まりインターネット上ではマシンは当然ネットワークで繋がってはいるけど、

別々のマシンであって、マシンAとマシンBは分断されている

でも、クラスタリングとかされたネットワークの中で、

マシンAのJavaプロセスマシンB上のJavaクラスを読み込んで実行できたり、

マシンBに肩代わりさせても、それを意識しないように書けると便利だよね、

という話であって、

ぶっちゃけ、今になっても、

例えば異なる言語プロセス通信するためにRPCはあるし、

世の中的に、今はJavaよりイケてると思われてる言語にも、この手のネットワーク透過にする機能とか、

よー知らんけど、クラウドコンピューティング()だなんだの機能としてあっても不思議ではない気がする

昔で言うなら、ソニーのTelescriptとかよー知らんけど、

エージェントだのエージェント指向だのが流行したけど、

ネットワーク上の複数マシン渡り歩くプロセスというかプログラムみたいなのが実現できるのって、

今になって考えてみると脆弱性の温床でしかない気がするし、理解はできる

理解はできるが、じゃあ、まったくメリットがないのかというとそうでもなくて、

しかし、Javaのかつての流行放置されたままになってるとか、そういう問題はあるわけで、

その辺がセブン&アイだったかの、Struts2のOGNLインジェクションもそんな感じで、

ぶっちゃけマシンAからHTTPマシンBのJavaクラスとか実行できたら便利だよね、みたいな話で、

でも、それはマシンAとマシンBが信頼関係があり、

マシンAとマシンBが外のネットワークと敷居があるという前提があるから問題がないのであって、

CGIでもよくあったけど、サーバー側の任意コマンドを実行できるというのは、

サーバー状態監視するとかには便利だけど、当たり前だけど危険だよね、という話であって

眠くてまとまらない…

おやすみ

あ、言い忘れるところだった

知らんけど

  • LOG4Jの開発者は、便利機能として作ったってこと?

  • 問題の源流をどこに求めるかも大事だが この件の最大のミスは、大半の人間が必要としていないどうでもいい(しかも過剰にパワフルな)機能をデフォルトで有効にしてリリースしてい...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん