续:Mac狮子系统又暴安全隐患
来源:互联网 发布:网络教育有哪些学校 编辑:程序博客网 时间:2024/06/05 05:26
随着Mac OS X 10.7.4版本的发布,苹果在这个升级版中更正了前文中所述的安全隐患。这是一个好消息,也是苹果比较快地修正bugs的一个好的开端。而且也是它正式承认该隐患的存在,详见:OS X Lion v10.7.3: User account passwords appear in log files for Legacy FileVault, and/or network home directories。
其实,至于该隐患是不是如Apple自己所说的,只有在处理老版本FileVault和网络用户时才出现,或者是其它时候也会,业界的技术员们还在进行深入探讨,而且也在讨论自己的解决方案,比如在不安装升级版本的情况下如何解决这个隐患,特别是10.7.4系统在没有声明或者指示的情况下,变更了一些系统的设置,比如登录界面的背景,目前就无法使用10.7.3以前的方法变更,这个给好多企业用户带来了麻烦,因为他们很多,使用自己定制的背景图,无论是显示系统信息,还是企业信息等,至少这是一个很好企业用户展示的手段,这也是好多管理员抱怨的,Apple不理会/忽略企业用户的一个原因。
至少,目前为止,已经有人发现了一点该隐患的端倪,使用下面的方法之一,可能会避免系统记录用户密码:
Per Olofsson的方法:
xport TARGET="/System/Library/CoreServices/SecurityAgentPlugins/HomeDirMechanism.bundle/Contents/MacOS/HomeDirMechanism" sudo cp "$TARGET" "$TARGET.bak" sudo perl -p -i -e 's/passwordAsUTF8String = %s/passwordAsUTF8String = %p/g' "$TARGET" sudo perl -p -i -e 's/password = %s/password = %p/g' "$TARGET"
Brian Warsing 的方法:
#!/usr/bin/ruby# This code comes with no guarantees and it is not a "fix", just a workaround.# It would be trivial to replace the patched file and restore these debugging messages.# Also, this script modifies a Mac OS X System file, so...require 'etc'require 'fileutils'require 'syslog'@log = Syslog.open('patchhomedirmech')@target = '/System/Library/CoreServices/SecurityAgentPlugins/HomeDirMechanism.bundle/Contents/MacOS/HomeDirMechanism'@backup_file = '/private/var/root/HomeDirMechanism.backup'@newfile_path = '/private/var/root/HomeDirMechanism.new'def our_rescue(msg) @log.notice(msg) @log.close exit 1end###################################################################### => MAIN###################################################################### Check UID (must be root)unless Process.euid == 0 raise "You must be root to execute this script."endbegin @log.notice("Backing up file: #{@target}") FileUtils.cp(@target, @backup_file)rescue => e our_rescue("Error backing up file: #{e.message}")end @debug_strings = `/usr/bin/strings #{@target} | /usr/bin/grep "password.* = %s" 2> /dev/null`if @debug_strings @debug_strings = @debug_strings.split("\n")else our_rescue("Nothing to patch: target does not contain any relevant debugging strings")endbegin @file = File.read(@target) @newfile = File.new(@newfile_path, 'w')rescue => e our_rescue("Error loading file: #{e.message}")end begin @log.notice("Patching file: #{@newfile_path}") @debug_strings.each do |string| len = string.length replacement = '' len.times { replacement << "\000" } @file.gsub!(string, replacement) end @newfile << @file @newfile.flush @newfile.closerescue => e our_rescue("Error patching file: #{e.message}")endbegin @log.notice("Replacing file: #{@target}") FileUtils.rm_rf(@target) FileUtils.move(@newfile_path, @target)rescue => e our_rescue("Error replacing file: #{e.message}")endbegin @log.notice("Nullfying security logs...") raise unless system("cat /dev/null > /var/log/secure.log") @log.notice("Removing archived security logs...") logs = Dir.glob("/private/var/log/secure*.bz2") logs.each { |log| FileUtils.rm(log) }rescue => e our_rescue("Error deleting log(s): #{e.message}")end@log.notice("Done.")@log.closeexit 0
- 续:Mac狮子系统又暴安全隐患
- Mac狮子系统又暴安全隐患
- Vmware 8完美安装Mac Lion狮子系统
- Vmware 8安装Mac Lion狮子系统 总结
- Mac OS X Lion:狮子来了
- 在Mac狮子中安装ruby1.9.3
- 踏破铁鞋,Vmware 8完美安装Mac Lion狮子系统,CPU不支持虚拟化,键盘无响经验共享
- 踏破铁鞋,Vmware 8完美安装Mac Lion狮子系统,CPU不支持虚拟化,键盘无响经验共享
- 系统之SA弱口令带来的安全隐患
- MAC OS X 系统设置PAC文件代理教程 又可以访问google了。
- 项目从xcode4.3.2(狮子)转移到4.2(雪豹)出现my mac 64 bit的问题。
- 在VMware Workstation 8.0.1中安装苹果MAC OS X Lion(狮子)
- VMware 8安装苹果Mac OS X 10.7 Lion 狮子正式版
- Windows7下硬盘安装Mac OS X Lion(狮子)10.7正式版
- 华硕 k40in 装上了 狮子 mac osx l…
- 在OSX狮子(Lion)上安装MYSQL(Install MySQL on Mac OSX)
- OSX Lion狮子GM版本的安装(续)
- 像狐狸一样聪明的能够发现陷阱,又有狮子般的勇气去击退狼群
- 关于分页2
- 人生感悟
- Python实现二分查找
- 单例设计模式
- 在.NET/Mono上运行Java:Jeroens Frijters谈IKVM.NET
- 续:Mac狮子系统又暴安全隐患
- 输出1到1000,不使用循环
- hdoj 1242 宽度优先
- PHP session回收机制
- 分析stl function objects模块
- yii 中文书-agile_web_application_development_with_yii1.1_and_php5
- USACO Feed Ratios, Magic Squares
- Levenshtein distance
- linux下取消页读写保护