[Mew-dist 1402] Re: /tmp について

Atsushi Onoe onoe at example.com
1997年 7月 31日 (木) 10:16:17 JST


> その点では、enviroment variable (PGPPASS) による渡しでも、
> 慎重に扱かえば、core を取られること以外には、強いとは思うので
> すが、これは、甘いでしょうか?

PGPPASS というのがわかっていませんが、もし仮に環境変数に passphrase を
入れるという方式だとすれば、BSD の場合、ps の e オプションで見えてしま
います(try 'ps ewwww')。

こういう本来他人に見える必要のない情報を、全ユーザに対して公開してしま
うコマンドがあったりすると、多少制約を受けますね。

> 最終的には、タイミングよく root に core つくられてしまえば
> pass phrase でも見れますね。
> 勿論、root を信用しなければ、システム使えませんが……

もっと直接的に、read システムコールを trace したりすることもできますね。
そういう意味では、passphrase を入力しているシステムの管理者に対する防
御は効果がないことになります。

とはいえ、実際には可能な限り漏れないようにしておくことで不慮の事故にも
耐えられる可能性が向上すると思います。

例えば、以下のような場合を考えます。

	passphrase をローカルファイルに書いておいた(もちろん、他人には
	読めないようにして)ら、その backup tape が誰でも触れる場所に放
	置されていて、中身が読まれてしまった。

	passphrase を要求したアプリケーションが、不要となった 
	passphrase が入ったメモリを zero clear して置かなかったため、
	例えば swap 不足で stack の拡張に失敗したなどの理由で core
	dump したときに、passphrase を含む core が NFS 経由で書き込ま
	れてしまった。

最初の例は、root が信用できれば理想的には問題がないのですが、危険なこ
とは言うまでもありません。/etc/shadow に生の password を書かないのと一
緒ですね。

2番目の例は、NFS を使った環境では防ぐのは困難ですが、passphrase を使い
終わったらすぐ、その部分を bzero() してから解放するなどの手段を用いる
ことにより、問題となる確率を下げることができます。

尾上



Mew-dist メーリングリストの案内