导语:虽然苹果电脑比Windows的操作系统更安全,但最近几年安全研究人员也开始研究Mac OS安全性,发现了不少安全问题。
截至2016年年中,MacOS占全球台式PC市场的近10%。虽然苹果电脑比Windows的操作系统更安全,但最近几年安全研究人员也开始研究Mac OS安全性,发现了不少安全问题。虽然MacOS内置了许多强大的安全功能,但MacOS的用户可以通过多种配置更改以及安全软件的使用来采取措施来提高设备的安全性。
在本文中,我们将介绍MacOS内置的一些安全功能,如何正确配置它们,以及提供有关可以提高系统安全状态的其他软件的信息。
1.介绍
工作站的安全性至关重要。威胁可能包括通过运行的服务进行远程攻击,或通过电子邮件传播恶意软件进行感染。通过确保工作站的安全,我们可以减少未经授权的第三方获得敏感数据的可能性,并节省时间,无需根除恶意软件,从系统备份还原或重新安装操作系统和应用程序(NIST,2016)。
对运行MacOS的系统存在各种各样的威胁。第一个是本地的威胁。本地威胁需要物理访问系统。除物理控制之外,基于软件的控件可用于减轻这些攻击。使用固件密码以及硬盘驱动器的加密可以防止对数据的访问,即使硬盘从系统中删除。物理攻击者也可以利用工作站,如果它无人值守和解锁。密码应该用于对工作站进行身份验证,密码应该很强(NIST,2016)。
远程威胁攻击在系统上运行的服务。不需要身份验证或无法使用加密的服务是攻击者的理想目标。这可以通过删除未使用或易受攻击的服务并在安全补丁上保持最新来缓解。使用防火墙还可以减少攻击面,使易受攻击的远程攻击者无法访问(NIST,2016)。
恶意的有效载荷可以通过多个不同的向量找到系统,包括网页浏览,电子邮件和可移动媒体。但是,利用低权限账户进行日常使用,我们可以减少恶意软件感染的恶梦。防病毒可以在有机会执行之前检疫已知的恶意有效载荷(NIST,2016)。
本文提供了有关保护MacOS安装的信息。通过实施这些建议,用户将能够更好地保护其各自组织内的系统和系统。虽然每个环境都有独特的要求,但这应该是一个准则。其中一些建议可能会删除可能需要或需要的功能。安全性和功能性之间的可接受的折衷由读者确定。
2.内置安全控制
2.1 软件更新
随着MacOS的发布,Sierra Apple带来了一些新的安全更新。Apple可以帮助用户随时了解最新的软件,只要有新的更新可以发送通知,并且可以点击一下按钮进行下载。这可以帮助用户快速将软件升级到最新版本。
要配置App sore以自动检查更新,请转到系统首选项,单击App Store,并确保选中“自动检查更新”。
2.2 Gatekeeper
Gatekeeper首先在OS X Lion中引入,用于强制执行代码签名,从而降低了包含恶意软件的应用程序的可能性。默认情况下,MacOS只会运行从Mac App Store下载的应用程序和使用有效的开发人员ID签名的应用程序。也可以将其配置为仅允许来自App Store的应用程序,或者允许未签名的应用程序(NIST,2016)。
2.3 XProtect
苹果公司的反恶意软件防护称为X-Protect。在OS X Lion中可用。当应用程序从隔离感知应用程序(如Web浏览器或即时通讯器)下载时。它通过比较应用程序与任何已知的恶意软件签名来工作。默认情况下,这些定义被默认更新并启用。当您下载应用程序时,它将设置隔离区,并将隔离区与System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/XProtect.plist中的恶意软件定义列表进行比较。如果有匹配,您将收到一条警告消息。XProtect不包含任何高级启发式,但应该保留,因为它可以防止常见的恶意软件(Hoffman,2015)。
2.4 FileVault
MacOS还附带一个名为FileVault的加密实用程序。由于OS X Lion,该实用程序允许完全磁盘加密。它也可用于加密可移动驱动器以及Time Machine备份。
FileVault对性能没有明显的影响。如果设备遭到破坏,它会使系统上的数据无法访问。Apple在其FileVault最佳实践白皮书中解释说:“所有计算机都具有某些类型EFI(BIOS)的固件,以帮助发现硬件组件,并最终使用所需的OS实例正确引导计算机。在Apple硬件和使用EFI的情况下,Apple将EFI中的相关信息存储在OS X的功能中。例如,FileVault密钥存储在EFI中以透明地退出待机模式。“(Apple,2012 )
如果系统处于待机模式,则可能恢复解密密钥。在待机期间,密钥位于内存中,如果RAM被转储,则可以提取密钥。关键在待机期间可以被破坏以减轻这个攻击向量。一个选项是强制执行休眠,这将从内存中驱逐出FileVault的密钥。您也可以使用pmset实用程序通过以下命令在待机模式下删除它们:
pmset destroyfvkeyonstandby 1
2.5 Firewall
MacOS还配有内置防火墙。默认情况下,未启用。MacOS没有配置许多聆听服务。启用防火墙后,用户可以阻止所有传入连接,或者以每个应用为基础配置传入连接。默认情况下,签名的应用程序将能够接收传入的连接。还有“隐身模式”的选项,忽略ICMP数据包,不会提供响应(Hoffman,2014)。建议阻止传入的连接,除非在需要的系统上运行服务。
2.6 Keychain
MacOS还内置了密码管理功能。MacOS管理密码的主要方式是通过钥匙串。钥匙串是一个可以存储密码以及帐户信息的应用程序。钥匙扣也可用于管理用于验证网站,数字文档和其他基于网络的材料(Apple,2016)的证书。钥匙串通常设置为与登录密码相同,但也可以设置为不同的密码。为了减少钥匙串密码泄密的可能性,应将其设置为除登录密码之外的其他内容。默认情况下,当您的电脑进入睡眠状态时钥匙串不会锁定。您可以使用钥匙串访问实用程序在睡眠时启用钥匙串锁定并在一定时间后锁定(NIST,2016)。
2.7 Sandboxing
苹果已经对来自Mac应用商店的应用程序实施了沙盒。这有助于减轻应用程序中可能危及主机系统的软件缺陷的影响。虽然这减少了某些应用程序的功能(Martin,2011),但它提供了巨大的安全性收益。也可以使用sandbox-exec工具强制任何应用程序在沙箱中运行。(Prandzioch,2016)要在App Store以外的应用程序上使用沙盒,我建议您使用https://github.com/pansen/macos-sandbox-profiles。虽然沙盒并不总是100和有效的(Core Security,2011),但它可以减少受利用的应用程序的伤害。
2.8 System Integrity Protection
首先使用OS X El Capitan来到Mac的另一个安全功能是SIP(系统完整性保护)。SIP有时被称为“无根”,可以防止潜在的恶意软件修改受保护的文件。它基本上是限制root用户帐户的权限。有了这一点,只有Apple签署的进程可以修改这些保护区域。禁用SIP没有很多好的理由,强烈建议您将其停留(Apple,2016)。
3.配置
3.1 用户帐户管理
MacOS允许用户在启动过程中自动登录。这不应该被使用。如果启用自动登录,密码将存储在/etc/kcpassword中,使用已知密钥进行XOR'd,允许访问机器的任何人恢复密码明文(StackExchange,2012)。
当收到新的MacOS安装时,创建的第一个用户帐户是一个管理用户帐户。管理用户是管理组的成员,并具有sudo权限,使他们能够控制其他用户帐户以包含root用户帐户。创建用户帐户时,Apple建议以下操作:“减少对有害应用程序或文件的影响,限制您创建的管理员用户数量。考虑为您的日常工作创建标准用户,只有在需要安装软件或管理用户时才使用管理员用户。“(Apple,2016)
苹果还允许用户创建访客用户。邀请访客的用户是这样的,朋友和家人可以使用没有密码的系统,而无需访问所有者的文件。这对许多人来说可能是有帮助的,但是它会产生一定程度的风险。如果存在针对 MacOS的本地特权升级攻击尚未修补,则可能会通过访客用户帐户利用此漏洞。除非明确需要,否则客户帐号应该被禁用。(NIST,2016)
3.2 固件密码
启用固件密码可以提高MacOS系统的安全级别。固件密码在实际的逻辑板固件上设置。它是一个EFI密码,可以保持Mac从外部引导卷或单用户模式引导。在过去,通常可以通过删除内存来绕过固件密码,但是事实并非如此(Tanasi,2017年)。该固件还可以阻止通过FireWire等接口进行直接内存访问。固件密码与主机系统保持一致,因此卸下驱动器并将其带到另一个系统将不会删除密码(Apple,2012)。虽然这是一个强有力的控制,但并不能完全免除所有的攻击。在2016年,安全研究人员通过重新闪烁芯片(osxreverser,2016)发现了绕过某些实现的方法。这不会恢复密码,但仍然会授予访问权限。通过将系统卸载到Apple零售商店或Apple授权的服务提供商(Apple,2016),唯一的方法是删除固件密码。
3.3 Bonjour
Bonjour是苹果执行零配置网络的名称。它用于服务发现,地址分配和主机名解析。因为bonjour广告所有系统的功能,它向攻击者提供关于系统上运行什么类型的软件的信息(Tanasi,2016)。在2016年IEEE安全和隐私研讨会期间提交的白皮书,一组研究人员确定了一些使用零配置框架的苹果服务,这些框架在执行过程中缺乏安全性,例如Apple Handoff和Airdrop。因为零配置协议没有办法验证身份,依赖于它的服务容易受到MITM(中间人)攻击。这将允许同一网段的攻击者拦截正在传输的文件(Bai,2016)。
3.4 禁用共享
在新的MacOS系统上,默认情况下禁用所有共享。这是最安全的状态。如果需要分享,应考虑到一些预防措施。
3.4.1 屏幕共享和远程管理
这两个服务允许远程控制系统,类似于基于VNC的流行屏幕共享应用程序。通常需要的唯一时间就是远程支持。如果需要,请确保使用强密码进行身份验证。不使用时禁用(NIST,2016)。
3.4.2 远程登录
远程登录控制对SSH和SFTP的访问。协议本身是相对安全的,但除非需要,否则它们应该保持禁用。为了额外的安全性,SSH可以配置为仅通过编辑/etc/ssh_config允许基于密钥的身份验证,并设置以下值:(stackexchange,2017)
PermitRootLogin no PasswordAuthentication no PermitEmptyPasswords no ChallengeResponseAuthentication no
4.总结
如果您熟悉了以上所有配置,可以让您的mac os安全等级提升一个层次。