[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 2770] Re: beditc00.
小柳です。こんにちは。
At Sat, 22 Dec 2001 02:49:25 -0000,
I.Tak. <msy !Atmark! catvmics.ne.jp> wrote:
>
> Hidemi KAWAI さん、こんにちは。I.Tak. です。
>
> OSASK/AT1.9.で試したところ、bedit終了後も変更が生きているようでした。
> また、セキュリティ上問題に思えることがあります。試験は以下のとおりです。
> 1.countdownを起動(1)
> 2.beditを起動
> 3.countdwn.binを開き、GO!をToTに書きかえる
> 4.countdownを起動(2)
> 5.beditを終了
> 6.countdownを起動(3)
> この試験で書き換えの影響を受けるのは(2)のcountdownだけのはずです。
> しかし、実際に影響されたのは全てのcountdownでした。これはかなりまずいの
> ではありませんか? 実際、beditc00.binを書き換えたら、スタック保護例外で
> 死にました。
この全てというのは、(1)も含まれているんですよね。
全てのタスクが同じメモリ上にあるということでしょうか。
プロセスが実行中に、そのプロセスの実行ファイルを変更して書き込みを試み
るとどうなるかは OS によって異なっています。Windows や Linux では、書
き込みが拒否されるのですが、SUN の Solaris(Solaris 8/SPARC で確認)では、
書き込めて新しい内容に置き換わります。動作中のプロセスは応答が無くなっ
たり死んだりします。OSASK の動作は、Solaris と全く同じではないかもしれ
ませんが、類似しています。
どちらの動作も長所・短所があると思います。
前者の動作では、ネットワーク上の他のPCも含めてプロセスが実行されている
と実行ファイルがロックされるので、どこで使用されているかを調べて終了さ
せるのに手間がかかることがあります。
後者の動作では、I.Takさんの試験結果のようなことが起こります。
--
小柳 雅明(Koyanagi.Masaaki !Atmark! nifty.ne.jp)
「人の足を止めるのは"絶望"ではなく"諦観"
人の足を進めるのは"希望"ではなく"意志"」
-- ARMS