Mac OS X stores login/Keychain/FileVault passwords on disk

From: Matt Johnston (matt_at_ucc.asn.au)
Date: 06/25/04

  • Next message: http-equiv_at_excite.com: "Microsoft and Security"
    Date: Fri, 25 Jun 2004 17:48:21 +0800
    To: bugtraq@securityfocus.com
    
    

    It seems that Mac OS X (10.3.4 tested) doesn't bother clearing memory
    containing sensitive data, or using mlock() to avoid swapping.

    A quick grep of the swapfiles will show up various morsels:

    rez:~> sudo strings -8 /var/vm/swapfile0 |grep -A 4 -i longname
    longname
    password
    <user's password here>
    /bin/zsh
    username

    ---
    ... various other occurrences follow
    Grepping for context around "password" also shows up results, and grepping
    for portions of a Keychain password (differing from the login password)
    will also get results. It appears that loginwindow is one of the apps involved,
    I haven't investigated what else is involved. The amount of memory and usage
    patterns of the machine will affect what gets swapped, though loginwindow seems
    likely to get swapped early since it is seldom used after login.
    Obviously this is only of interest if an attacker has root (or physical)
    access to a machine, however it does make FileVault or Keychain encryption
    fairly useless. It appears that the swapfiles are removed on shutdown or
    startup, though not wiped - pulling the power from a sleeping machine, and/or
    booting from CD, would quite easily retrieve the password(s).
    Reported to Apple on 21 June, I haven't had any response. It'd be nice if
    they at least said "we're taking a look if it's an issue".
    Matt
    

  • Next message: http-equiv_at_excite.com: "Microsoft and Security"