パスワードを忘れた? アカウント作成
8568 story

Mac OS X: スワップファイルからパスワードが漏れる? 17

ストーリー by Acanthopanax
mlock 部門より

BugTraqに投稿されたメールによると、Mac OS Xには、スワップファイル中にパスワードが平文で保存されることがあるという。たとえば、
sudo strings -8 /var/vm/swapfile0 |grep -A 4 -i longname
とすることで、スワップファイル中にパスワードが表示される(ことがある)。キーチェーンのパスワードの一部をgrepしてみると、これも表示される(ことがある)という。MacSlashでもストーリーになっているが、システムの状態に依存するようで、再現されたという報告もあれば、されなかったという報告もある。

この問題を悪用するためには、何らかの方法でroot権限を奪取するか、あるいは物理的にアクセスする必要があるが、そのような状態になれば他にもいろいろな手段が使えるので深刻な脆弱性ではないのではないかというコメントもある。しかし一方では、盗難されたりしたときに、キーチェーンに保存しているパスワードがすべて漏れるリスクを考慮すれば深刻な問題だというコメントもある。いずれにせよ、Appleには報告済みとのことで、近日中のセキュリティアップデートが待たれる。

なお、似たような話題がjapan.linux.comの記事で取り上げられている。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 再現できた…。 (スコア:3, 参考になる)

    by ymd (16088) on 2004年07月14日 21時51分 (#589365) ホームページ 日記
    OS 10.3.4 ですが、ばっちりパスワードが出てきました…。
    Linuxでも同じようにやってみましたが、パスワードでgrepしてやると表示されますが、今回みたいに簡単には出てきませんでした。たぶんやり方はあるんでしょうけど。
    • 同じく再現できた…。 (スコア:3, すばらしい洞察)

      by shiraga (14233) on 2004年07月15日 0時54分 (#589474)
      でも、これってさ、『sudo権限を持ったユーザー』か『root』かのいずれかの権限を奪取しないと実行できないわけで、「何を今さら…」って感じですね。
      親コメント
      • by Anonymous Coward on 2004年07月15日 10時18分 (#589706)
        システムが動いている限りはその通りですが、物理的にガードが甘いと、1CD(FD?)-linuxなんかでブートすることでrootとしてパーティションを漁られてしまいますよ。
        # BIOSの設定をちゃんとして、勝手に変更されないようにパスワードをかけておけば済むので、たいした問題ではないと思いますが。

        ちなみに、手元のLinuxで漁ってみると、パスワードそのものでは4件ヒットし、そのうち2箇所には目印になりそうな文字列がありました。目印が無くても、適当な短さで無意味な並びの文字列1語からなる行を探せば、割と簡単にいけちゃう様な気もします。

        # この目印になる文字列ってのが、パスワードの持ち主まで分かるとっても素敵な文字列なんですけれど、ここで示しちゃ不味いですかね? ちゃんと動かせて無いだけなのかな?
        親コメント
        • by shiraga (14233) on 2004年07月15日 15時15分 (#590090)
          >1CD(FD?)-linuxなんかでブートすることで

          えっと、正直言って記憶があいまいなんですが、SWAPファイルってどの時点で消去されるんでしたっけ?
          Shutdownの時? Bootの時?
          前者なら、Reboot時には空っぽ。
          後者なら、おっしゃるように敢えてswapを消さないようなboot disk(ってのをどうやって作るかを知らないのですが)を使われるとまずいですね。

          #でも、マシンにディスク突っこんでrebootかけられる、つう状況は…。

          >ちなみに、手元のLinuxで漁ってみると、パスワードそのものでは4件ヒットし

          お、Linuxでも再現するんですか。
          んじゃ、セクションローカルじゃなくて、あらためて記事にしても良いんじゃないかな?
          親コメント
          • by kei100 (5854) on 2004年07月15日 20時40分 (#590378)
            boot時初期化ならあえてマウントしたりとか、
            SWAPとして使うように初期化しなきゃいいのでは?
            Linuxって基本的にswaponとか明示的に指定しなきゃSWAPは使わないですよね?
            x86の話なんで違ったら申し訳ないですが。

            ちなみに、Win2k/XPはセキュリティポリシー内に、
            「シャットダウン:仮想メモリのページファイルをクリアする」
            ってオプションがあります。

            しかし、本当に目新しい話じゃないよね・・・
            Linuxの"core"に気をつけろと同様のお話。 [ipa.go.jp]
            親コメント
          • > お、Linuxでも再現するんですか。
            > んじゃ、セクションローカルじゃなくて、あらためて記事にしても良いんじゃないかな?

            物理的に、とか言い出すときりがないのでやめたほうがいいと思います。

          • > SWAPファイルってどの時点で消去されるんでしたっけ?

            bootやshutdonwの時にハードディスクをガリガリ言わせてswapを消してる光景と云うのが思い浮かばない(手元では1GBからのパーティションをswapに充てているので、あればそれと気付いていると思います。)のですが、積極的に消されるのではなくて上書きされるまでだかそのまま残っているのではないでしょうか。
            knoppixでswapパーティションを覗いても、ハードディスクにある本物のシステムのものと思われる内容がパスワードも含めて残されていることがわかります。新しく書き込んだと思われる内容もありまし
    • by Anonymous Coward
      うちも10.3.4ですけど、やはり再現できました。ばっちり!
  • by Anonymous Coward on 2004年07月15日 12時31分 (#589899)
    なんだか他OSでもおこりえて、実際Linuxで試して平文のパスワードが確認されてるようだし、セキュリティセクションに移したほうが良い話題なんじゃないだろうか?
  • by ktoreishi (1275) on 2004年07月16日 11時18分 (#590700)
    rootになればメモリが見えるなんて当たり前なのに
    今頃突然ヒステリックに騒ぎ出すのはどないやねん。
    「私な、今まで騙されとってん。rootになればメモリ丸見えやってん」
    「気づけ〜〜〜!」

    OpenBSDがswap encryptionを実装した時は
    そんなものはやりすぎだとさんざんに言われたものです。
    自前のコードは精査できていも
    insecureなサードパーティプログラムの存在は防げないから
    せめてディスク上に書き出す時だけは安全にしようという考え。

    Mac OS Xはどうやって対処するのでしょうか。
  • by ken-1 (4041) on 2004年07月14日 21時45分 (#589363)
    これは、「セキュリティ関係のプログラマにとっては、配慮してあたりまえ」の
    ことなんでしょうか。

    じゃないとしたら、他のOSでもいくらでもありそうなことに思えるんですが。

    swapファイルを一般ユーザが好きに覗けるとかなら、結構怖いことだと
    思うけど、これは単にメモリの中を覗いたのと同じじゃないんですか?
    • どこのOSでも一緒です。
      こういう問題を防ぐために、Passwordの様なセンシティブな情報は、使った後に速攻memsetはセキュリティ関係のプログラマには常識だと思っていたんですが、タレコミ中のリンク記事を読む限りでは、そうでもなかったんですねぇ・・・。
typodupeerror

「毎々お世話になっております。仕様書を頂きたく。」「拝承」 -- ある会社の日常

読み込み中...