第9章 安全漏洞、威胁和对策(9.17-9.19)

9.17 移动设备(mobile device)

移动设备是指电池驱动的任何东西,通常不需要电源线就可以运行的任何东西。

备考时要把智能手机与移动设备、笔记本电脑、平板电脑乃至智能手表或计步器也考虑进来。

一些移动设备连典型的默认安全设置都做不到,更别提可供使用的安全性能了,因为它们运行的往往是简约版操作系统或定制的移动操作系统,而这些操作系统不像流行的PC机操作系统那样在安全性方面有漫长的改进史。

无论是计步器、医疗设备、平板电脑、嵌入式系统、物联网,还是智能手机,移动设备会在许多方面成为攻击、破坏和入侵的重点目标

对于用于个人以及业务/工作的任何移动设备,其安全性都应受到额外的关注。

随着智能手机和其他移动设备与互联网以及企业网络的交互能力越来越强,它们面临的安全风险也越来越大。

这些设备配有内部存储器,同时支持可保存大量数据的可移动存储卡。

此外,许多设备包含允许用户读取和操作不同类型文件和文档的应用程序。

当个人拥有的设备被允许在不受限制、监督或控制的情况下随意进出安全设施时,会带来潜在的巨大危害。

心怀歹意的内部人员可以把来自外部的恶意代码装在各种存储设备里,包括手机、音频播放器、数码相机、存储卡、光盘和优盘驱动器,再将这些设备带进机构。

这些存储设备可用来泄露或窃取机构内部的保密和私人数据,进而把它们披露给外界。

(你以为维基解密的大部分内容来自哪儿?)恶意的内部人员会执行恶意代码,访问危险网站或故意进行有害活动。

—————————————————————————————————————————

注意:

以下几个词语都指个人拥有的设备:便携式设备(portable device) 、移动设备、个人移动设备(personal mobile device, PMD)、个人电子设备(personal electronic device)或便携式电子设备(portable electronic device, PED)和个人拥有的设备(personally owned device, POD)。

—————————————————————————————————————————

移动设备往往包含敏感数据,如通讯录、文本消息、电子邮件、日程安排信息以及可能的笔记和文档等。

任何带有照相功能的移动设备都可以拍摄敏感信息或地点的照片。

移动设备的丢失或失窃可能意味着个人或公司秘密的泄露。

许多移动设备还支持USB连接,以实现它与台式机或笔记本电脑的通信和接触同步,以及文件、文档、音乐、视频等的传输。

因此,移动设备在功能上可以起到可移动介质的作用,进而外泄数据或传输恶意代码

有关移动设备作为可移动介质的更多信息,请参见第16 章。

此外,移动设备还难免被人窃听

只要有合适的精密设备,就可以窃听大多数手机的通话且不说任何人在5米内都能听到你讲话的声音。

机构应该教育员工:在公共场所慎用手机讨论重要问题。

—————————————————————————————————————————

Android 和iOS

Android和iOS是两种被使用得最广泛的移动设备操作系统。

1.Android

Android是基于Linux的移动设备操作系统,于2005年被谷歌收购。

2008年,首批搭载Android系统的设备面世。

经Apache许可,Android源代码成为开放源码,但大多数设备还包含专有软件。

Android虽然主要用于手机和平板电脑,但已被广泛用到各种设备上,包括电视机、游戏机、数码相机、微波炉、手表、电子阅读器、无绳电话和滑雪护目镜。

Android在手机和平板电脑上的使用使其具有了广阔的用户定制范围:

你可以安装Google Play Store的应用程序以及来自未知外部来源(如Amazon Appstore)的应用程序,而且许多设备支持用定制或备选版本的Android替换默认版Android。

不过,当Android系统在其他设备上使用时,它执行起来更接近于一种静态系统。

无论是静态的还是非静态的,Android都存在许多安全漏洞,包括:

把自己暴露给恶意应用程序,运行来自恶意网站的脚本,以及允许进行不安全的数据传输。

随着新版本的不断发布, Android的安全性有了不少的改进。

用户可以通过调整许多配置设置来减少漏洞和风险。

此外,用户还可在平台上安装添加了安全性能的应用程序。

安全强化版Android (Security-Enhanced Android, SEAndroid)是针对Android系统的安全改进。

SEAndroid是一个将安全强化版Linux的元素集成到Android设备的框架。

这些改进包括:增加了对强制访问控制(MAC)和中间件强制访问控制(MMAC) 的支持,减少了特权后台程序漏洞,沙箱化并隔离了应用程序,阻止了应用程序的特权提升,在安装和运行时允许应用程序进行权限调整,还定义了一项可审查的集中化安全策略。

2.iOS

iOS是苹果公司开发的用于iPhone、iPad和Apple TV的标淮移动设备操作系统。

苹果没有授权iOS在任何非苹果硬件上使用。因此,苹果完全控制着iOS的性能和功能。

然而,iOS并不是静态环境的典型,因为用户可以从苹果的App Store下载、安装超过200万款应用程序(尽管也可以说iOS是静态操作系统)。

—————————————————————————————————————————

9.17.1 移动设备的安全性能

移动设备(如便携式电脑、平板电脑和智能手机)上可能会有各种可用的安全性能,但是,并非所有移动设备的安全性能都令人满意。

你在决定购买新设备之前,务必把它的安全选项考虑周全。

然而,即便设备有可用的安全性能,若未被启用并适当配置,其价值还是等于零。

安全性能只有被执行了,才会产生安全效益。

务必检查所有被允许连接机构网络或进入机构设施的设备,以确保所有必要的安全性能都在按要求运行。

下面几个小节将讨论移动设备往往具备或可供使用的各种安全性能的例子。

1. 移动设备管理(mobile device management, MDM)

管理员在移动设备管理系统上注册员工的设备。

移动设备管理(MDM)系统是一种软件解决方案,旨在管理员工用来访问公司资源的无数移动设备。

MDM系统监控和管理移动设备,并确保移动设备是即时更新的。

MDM的目标是提高安全性,提供监控,实现远程管理,以及支持故障排除

许多MDM解决方案支持涉及范围很广的各种设备,可以跨多家服务提供商运行。

你可以用MDM在空中(跨运营商网络)和Wi-Fi连接上推送或移除应用程序,管理数据,以及执行配置设置。

MDM既可以管理公司设备,也可以管理个人设备。

统一端点管理(unified endpoint management, UEM)是一种软件工具,它提供一个管理平台来控制移动设备、PC机、物联网设备、可穿戴设备、ICS和其他设备。

UEM的推出把众多产品的性能整合到了一个解决方案中,以取代MDM和企业移动性管理(EMM)产品。

2. 设备身份认证(device authentication)

在移动设备上或对移动设备进行身份认证的操作通常非常简单,对于移动电话和平板电脑来说,尤其如此。

这便是所谓的设备身份认证。

然而,电子识别卡或模式访问算不上真正的身份认证。

只要可能,就应该使用口令,出示个人身份识别码(PIN),用眼球或面部进行识别,扫描指纹,提供优盾或者使用近场通信(NFC)或射频识别(RFID)环或瓦片等近距离设备。

这些设备身份认证方法如果使用得当,将成为窃贼很难绕过的屏障。

另一种谨慎的做法是将设备身份认证与设备加密结合起来,以阻止通过连接线缆访问存储的信息的行为。

—————————————————————————————————————————

注意:

基于视网膜、虹膜、面部和指纹的身份认证都是生物识别技术的例子。

有关生物识别技术或“你是谁"身份认证因子的全面论述,请见第13章。

—————————————————————————————————————————

如果说锁定手机可以真正确保安全,那么不妨给手机或其他移动设备设置一个强口令,这未尝不是一个好主意。

但是大多数移动设备并没有那么安全,即便设置了强口令,设备依然可以被人通过蓝牙、无线或USB电缆访问

如果特定移动设备启用系统锁后可以阻止他人对设备的访问,那么不妨这样设置:设备一段时间不活动或手动初始化后可自动触发该性能(通常与屏幕锁有关)。这将是不错的选择。

如果你既启用设备口令又给存储加密,那将会令你受益匪浅。

—————————————————————————————————————————

注意:

当你从移动设备访问在线网站、服务或云服务时,你可以通过综合使用用户凭证和背景感知认证来进行某种形式的多因子身份认证。

背景感知认证将评估用户尝试访问系统的本源和背景。

如果用户来自一个已知可信系统,比如公司设施内的系统或同一个个人移动设备,则背景是低风险的,经过适当级别的身份认证便可

荻得访问权限。

如果用户的背景和本源显示他来自一个未知的设备或外部/未知的位置,则背景是高风险的。

这时,身份认证系统将要求用户接受更复杂的多因子身份认证才能荻得访问权。

因此可以说,背景感知认证是一种自适应身份认证,它既可以在低风险场景中减轻身份认证负担,又可以在高风险场景中阻止冒名顶替的访问尝试。

—————————————————————————————————————————

3. 全设备加密(full-device encryption, FDE)

一些移动设备,包括便携式电脑、平板电脑和移动电话,可以提供全设备加密。

许多移动设备要么是预先加密的,要么可以由用户/拥有者自行加密

移动设备被加密后,每当屏幕锁闭时,设备上的物理数据端口就会被禁用,从而保护用户的数据。

这样可以防止有人在未经授权的情况下通过物理电缆连接访问设备中的数据——前提是屏幕一直锁闭。

如果一个设备的大部分或所有存储介质都可以加密,那么这个性能往往值得启用。

然而,加密并不能保证数据得到保护,特别是当未上锁的设备失窃的时候,或者当系统本身存在一个已知的后门攻击漏洞的时候。

—————————————————————————————————————————

注意:

MicroSD硬件安全模块(hardware security module,HSM)是一种小型硬件加密和安全模块,可被添加到任何带MicroSD卡插槽的移动设备上。

这样的设备将存储功能与HSM性能结合起来使用;

HSM可以生成和存储加密密钥和证书,能够与本地应用或网络/互联网/云服务的PKI解决方案互操作。

有关MicroSD HSM以及其他移动密码应用程序和执行方案的详细信息,请见第7章。

—————————————————————————————————————————

4. 通信保护

使用互联网协议电话(VoIP)服务时,可以在移动设备上进行语音加密

与传统的固定电话或典型的移动电话相比,计算机式设备之间的VoIP服务更有可能提供加密选项。

语音通话被加密后,窃听将变得毫无意义,因为对话的内容是无法辨识的。

这一通信保护概念应适用于任何类型的传输,无论是视频、文本,还是数据。

许多应用程序都可加密通信,其中有些使用标准和备受推崇的密码解决方案,如Signal协议(有关加密的更多讨论,请见第6章和第7章)。

5 远程擦除(remote wipe)

设备丢失、被盗后,可对设备进行远程擦除或远程清理(remote sanitization)

远程擦除允许你从一台远程设备删除所涉设备上的所有数据乃至配置设置。

擦除进程可以通过移动电话服务触发,有时也可通过任何互联网连接(如Wi-Fi)触发

但远程擦除并不能保证数据安全。擦除触发信号可能没有被设备收到。

小偷可能足够聪明,在转储数据时阻止了触发擦除功能的连接。

这是可以通过移除用户身份识别模块(SIM)卡禁用Wi-Fi或将设备放进一个法拉第笼实现的。

此外,远程擦除主要是删除操作,同时将设备重新设置成出厂状态。

通过复原或数据恢复实用程序,往往可以恢复被擦除设备上的数据。

为了确保远程擦除把数据破坏到无法恢复的程度,应该对设备进行加密(即全设备加密)

因此,复原操作只会恢复被加密的数据,而这些数据应该是攻击者无法辨识的。

6. 设备锁定(device lockout)

移动设备的锁定与公司工作站上的账户锁定类似。

如果用户多次尝试后仍不能提供凭证,他的账户或设备将被禁用(锁定)一段时间,直到管理员清除锁定标志。

移动设备可能具有设备锁定性能,但只有在配置了屏幕锁后才会启用。

反之,如果通过简单滑屏就能访问设备,并不能保证安全,因为这里面不包含身份认证。

如果出现了更多次数的身份认证失败,一些设备会让访问尝试之间的时间延迟加长。

一些设备允许进行一定次数的尝试(如3次),若依然失败,将触发持续几分钟至几小时的锁定。

其他设备则会触发持久锁定并要求用户用另一个账号或主口令/代码来重新访问设备。

有些设备在安全擦除设备上所有数据并恢复出厂设置之前,甚至可能有最多登录尝试次数(如10次)。

在尝试猜测凭证之前,务必弄清楚设备锁定机制的确切性质,否则你可能会无意中触发安全删除。

7. 屏幕锁(screen lock)

屏幕锁的设计是为了防止有人拿起你的手机或移动设备便能随意使用。

然而,大多数屏幕锁是可以通过滑屏或画一个手势图案解锁的。这两个动作都不是真正的安全操作。

这些轻易就会被绕过的选项可能是设备默认的,应该把它们改成更安全、更能抵制未经授权访问的选项,例如PIN、口令、生物识别等。

否则,屏幕锁只是一个屏幕保护程序而己,起不到安全屏障的作用。

屏幕锁在一些设备上有变通方案,例如通过紧急呼叫功能访问电话应用程序。

因此,如果恶意黑客通过蓝牙、无线或USB 电缆连接设备,屏幕锁不一定能保护设备。

屏幕锁通常在设备空闲一段时间后触发。

大多数设备经过配置以后都可以在系统闲置几分钟后自动触发有口令保护的屏幕保护程序。

同样,许多平板电脑和手机经过设置以后都可以在一定时间(比如30 秒)后触发屏幕锁,使屏幕变暗或关闭

屏幕锁性能可确保当你的设备无人看管、丢失或被盗时,其他人很难访问你的数据或应用程序。

要解锁设备,你必须输入有效凭证(参见上一节”设备身份认证”)。

8. GPS和定位服务

全球定位系统(Global Positioning System, GPS)是一种基于卫星的地理位置服务。

许多移动设备都包含GPS芯片,以支持本地化服务(比如导航)并从中受益,因此这些设备是可以被跟踪的。

GPS芯片本身通常只是一个接收器,用于接收来自沿轨道飞行的GPS卫星的信号。

然而,移动设备上的应用程序可以记录设备的GPS位置,然后将其报告给一项在线服务。

你可以用GPS跟踪性能来监控自己的移动,跟踪他人(如未成年人或送货人员)的移动,或跟踪失窃的设备。

但要想实现GPS跟踪,移动设备必须有互联网或无线电话服务,并通过它们来传递设备的位置信息。

应用程序能够提供基于位置的服务,并向第三方(有时未经同意)透露设备(以及其用户/拥有者)的位置。

对于这种风险,需要根据机构的安全策略和相应的位置风险进行评估。

地理定位(geolocation)数据通常用于导航工具、身份认证服务和许多基于位置的服务,例如向附近的零售商店提供折扣或优惠券。

基于位置的授权策略可用来根据主体所处位置准许或拒绝资源访问,从而控制访问。

这可能取决于网络连接是本地有线的、本地无线的,还是远程连接的。

基于位置的策略除了依据逻辑或地理位置(这是网络访问控制和背景感知身份认证的一个性能)进行决策之外,还可根据MAC地址、IP地址、操作系统版本、补丁级别或子网来准许或拒绝访问。

基于位置的策略只能用来强化标准身份认证进程,而不能替代它们。

地理标签是指移动设备在其创建的任何介质(如照片、视频和社交媒体呫子)中收入位置细节的能力。

启用了位置服务的移动设备允许以经纬度的形式嵌入地理位置,以及在设备拍摄的照片上嵌入日期时间信息

这可以让对手(或者愤怒的前任)从社交网站或类似网站查看照片并确定拍摄照片的确切时间和地点。

地理标记(geotagging)可以用于邪恶的目的,例如确定一个人的日常活动规律。

带地理标签的照片被上传到互联网上后,潜在的网络跟踪者从中获取的信息可能超过上传者的预期。

这一点是面向最终用户的安全感知简报的主要材料。

—————————————————————————————————————————

其他定位服务

最常被讨论的移动设备定位服务是GPS。

然而,我们还必须认识到,许多移动设备中至少还有其他4种定位服务或功能,包括:

•无线定位系统(wireless positioning system, WiPS)

•Wi-Fi定位系统(Wi-Fi positioning system, WFPS)

•蜂窝/移动服务塔三角定位

•蓝牙定位服务和环境传感器

WiPS借助无线接入点/基站的已知位置来确定移动设备的位置。

WiPS通常在没有足够的卫星信号可用的时候(例如在地下、建筑物内部或高层建筑附近)被用作GPS的补充

根据美国911条例(E911联邦法令在此基础上建立),对于移动设备,可以通过移动服务塔三角定位确定位置。

然而,E911的位置跟踪没有GPS那么准确

iBeacon是苹果公司开发的一项基于蓝牙设备地址和信号属性跟踪设备的技术。

虽然设计它的初衷是跟踪苹果商店内的人,但是现在有许多机构用它在许多系统环境下通过蓝牙跟踪设备及其相关用户/拥有者

许多移动设备上的环境传感器包括加速计、指南针、温度计、高度计(海拔传感器)和气压传感器。

有了这些广泛的传感数据,如果一个设备的初始位置是已知或可以近似估算的,那么若把连续的传感器数据记录下来,或许可以判断设备在未来任何时间点的位置。

也可通过设备的相机和话筒确定设备的位置,但是迄今为止,这种方法尚不如其他方法可靠。

最后这个概念根据一天中的不同时间,靠测量光照水平、强度和颜色确定设备在室外还是室内,以及是否位于窗户附近,它还根据天空中太阳位置造成的光照水平确定一个笼统的区域(如城市)。

所得出的结论随后可以与话筒监测到的背景噪声相结合,从而进一步细化设备的位置。

但是这要求具备广泛的地区性声音特征、来自世界各地的大量噪声数据集或访问实时话筒网络或传感器的权限。

—————————————————————————————————————————

地理围栏(geofencing)划定指的是指定一个特定的地理区域,移动设备进入该区域后自动执行设备功能或触发设置

地理围栏可通过GPS坐标、WiPS或特定无线信号的存在与否来定义。

可以根据地理围栏划定的区域来配置移动设备,从而启用或禁用设备的各种功能,如车载摄像头或Wi-Fi功能。

9. 内容管理

内容管理旨在控制移动设备及其对被托管在公司系统上的内容的访问,并控制人员对保存在移动设备上的公司数据的访问

组织通常会用一个移动内容管理(mobile content management, MCM)系统控制公司资源以及在移动设备上访问或使用这些资源的方式

当数据被渲染或发送到移动设备时,MCM可以在考虑设备功能、存储容量、屏幕大小、带宽限制、内存(RAM)和处理器能力的基础上实施控制。

用于移动设备的内容管理系统(CMS) 旨在最大化性能和工作效益,同时减少复杂性、混乱和不便

MCM还可以与移动设备管理(MDM)系统捆绑到一起以确保公司数据的安全使用。

内容过滤器可以根据IP地址、域名、协议或关键字阻止对资源、数据或服务的访问,它更常被用作防火墙,而不是设备内置机制。

因此,内容过滤通常由通信流经的网络负责执行。

10. 应用程序控制(application control)

应用程序控制或应用程序管理(application management)是一种设备管理解决方案,规定了哪些应用程序可以被安装到设备上。

它还可以被用来强制安装特定应用程序,或者强制执行某些应用程序的设置,以支持安全基线或保持其他形式的合规。

应用程序控制的使用往往可以使用户难以安装来自未知来源或提供与工作无关功能的应用程序,从而减少将设备暴露给恶意应用程序的机会。

这一机制通常由移动设备管理(MDM)系统执行。

从理论上说,如果没有应用程序控制,用户将能安装恶意代码,运行窃取数据的软件,操作会泄露位置数据的应用程序,或者不安装业务必需的应用程序。

应用程序允许列表(application allow listing)(以前叫白名单)是一个禁止执行未经授权软件的安全选项。

允许列表也被称为默认拒绝(deny by default)隐式拒绝(implicit deny)

在应用程序安全领域,允许列表阻止包括恶意软件在内的所有软件除非这份预先得到批准的例外列表上有这个软件。

这与典型的设备安全立场有很大不同,后者是默认允许并拒绝异常(也叫拒绝列表或阻止列表,以前叫黑名单)。

在默认情况下,拒绝列表默认允许执行任何软件,无论该软件是善意的还是恶意的,除非它被加进拒绝列表,而拒绝列表是阻止软件从这个点向前执行的。

由于恶意软件在不断增加,应用程序允许列表法是少数几个在保护设备和数据方面显示出真正前景的选项之一。

然而,没有一个安全解决方案是完美的,允许列表也不例外。

所有已知的允许列表解决方案都可以被人借助内核层面漏洞和应用程序配置问题避开。

移动应用程序管理(mobile application management, MAM)与移动设备管理(MDM)类似,但是前者只侧重于应用程序管理,而不管理整个移动设备。

11. 推送通知(push notification)

推送通知服务能够向你的设备发送信息,而不是让设备(或设备的应用程序)从在线资源获取信息。

如果要把紧要问题立即告知当事人,那么推送通知确实非常有用,但如果所推送的是广告或垃圾邮件,它们也会变成一种麻烦。

许多应用程序和服务经过配置以后可以使用推送通知下拉式通知

多数情况下,推送通知是一种干扰,但也会有人通过这些消息实施社会工程攻击,或分发恶意代码或链接给不法网站和服务。

推送通知也是移动设备和PC机浏览器的一个问题。

另一个问题是,恶意或有害的通知可以在push locker里捕获用户

如果用户拒绝接受推送提示,通知可以把用户重新导向至显示另一推送通知的子域。

如果用户再次拒绝,通知则会再次把用户重新导向到另外一个子域,让他们看到另一个推送通知,如此无限重复。

在你的浏览器或基于主机的入侵检测系统(HIDS)检测出问题并对push locker做出响应之前,你只能关闭/终止浏览器,并且不再返回同一个URL 。

12. 第三方应用商店

苹果iTunes和Google Play的第一方应用(app)商店是典型或标准iOS和Android智能手机或设备所用应用的合理来源。

在Android设备方面,第二方Amazon Appstore也是一个值得信任的应用来源。

然而,这两个智能设备平台的大多数其他应用来源都被贴上了第三方应用商店的标签。

第三方应用商店(third-party app store)在应用托管方面往往没有那么严格的安全规则。

在Android设备上,仅仅启用一个可安装未知来源应用的性能,便可使用第三方应用商店(以及进行旁加载;相关详情请见本章后面的“旁加载“小节)。

而在苹果iOS设备方面,你只能使用官方的iTunes App Store, 除非你在设备上越狱或生根(这通常不是一种安全的建议)。

当移动设备由一个机构管理时,特别是使用MDM/UEM/MAM时,大多数第三方应用源都将被拦截。

这样的第三方应用来源意味着数据泄露或恶意软件入侵机构网络的风险会显著增加。

13. 存储分段(storage segmentation)

存储分段用于在存储介质上按各种类型和数值对数据进行人为划分

在移动设备上,存储分段可用于把设备的操作系统及预装的应用程序与用户安装的应用程序以及用户数据隔离开来。

一些MDM/UEM还会进行进一步的存储细分,以便将公司的数据、应用程序与用户的数据、应用程序分开

这种做法允许用户保留对自己数据的拥有权和其他权限,同时授予机构对业务数据的拥有权和其他权限(例如远程擦除),即便数据在员工拥有的设备上。

通过最大限度地减少存储在设备上的非重要数据、敏感数据和个人数据(即PII 和PHI)来降低风险。

只要系统上没有什么值得敌对分子访问的有价值数据,那么即便设备丢失或被盗,损失数据的可能性也会保持在最低限度。

14. 资产跟踪和存货控制

资产跟踪是用来保持存货(例如已部署的移动设备)监控的管理进程。

资产跟踪系统可以是被动的,也可以是主动的。

被动系统,依靠资产本身的定期检查管理服务,或者在员工每次上班时检测进入办公室的设备。

主动系统,则通过轮询或推送技术向设备发送查询以获得回应。

•验证设备是否依然由指定的授权用户持有

•定位丢失或被盗的设备

•监控设备上已安装的应用程序、应用的使用情况、存储的数据和数据访问

-验证安全准则是否被遵守

-检查保密信息是否被暴露给了未经授权的实体

存货控制,是指用移动设备来跟踪库房或存储柜中的存货。

大多数移动设备都配有相机。

有了移动设备的相机,应用程序便可拍照,扫描条形码,通过形状/图案识别物品或解析快速响应(QR)码,从而跟踪实物商品。

那些具有RFID或NFC功能的移动设备可以与带电子标签的物品或其容器进行交互。

15. 可移动存储

许多移动设备支持:

•可移动存储/扩展移动设备存储空间的microSD卡

但是,大多数手机需要打开背板,有时还需要卸下电池才能添加或卸下存储卡。

较大的手机、平板电脑和手提电脑可以支持设备侧面的易访问卡槽。

•外置的USB存储设备,如闪存驱动器和外置硬盘驱动器

这些存储器要求有特殊的便携式(OTG) 电缆

USB OTG 是一种规范,允许带USB 端口的移动设备充当主机并使用其他的标准外围USB设备,如存储设备、鼠标、键盘和数码相机。

若视为风险可通过MDM/UEM 禁用。

•通过板载无线接口提供基于蓝牙或Wi-Fi 的存储数据访问

机构需要考虑,可以带来方便,还是一个重大的风险向量

如果是前者,则需要设置适当的访问限制并进行用法培训

如果是后者,则应通过MDM/UEM 禁止使用可移动存储。

16. 连接方法

移动设备可以支持多种不同的连接选项,包括可与外部提供商(如电信公司)相连的网络连接以及与本地专用网络相连的网络连接

对任何一个机构来说,员工需要可靠通信的各种场景都是要仔细考虑的。

他们可能是标准的办公室文员、远程办公人员,甚至可能是到客户单位提供服务的员工。

我们应该只考虑部署那些可以提供可靠和安全(加密)通信的服务。

第11 章讨论了各种无线或基于无线电波的通信概念,包括射频识别(RFID) 、近场通信(NFC) 、无线/Wi-Fi (IEEE 802.11) 、蓝牙(IEEE 802.15)和蜂窝/移动网络。

17. 禁用无用性能

尽管安全性能只有在被启用了的情况下才能产生有益效应,但是那些对业务任务或常规个人用途而言并不重要的应用程序和性能应被移除和禁用,这一点也非常重要。

启用的性能和安装的应用程序范围越广,漏洞利用或软件缺陷给设备或其中所含数据造成损害的可能性越大。

我们应该遵循通用安全实践规范(例如加固),从而缩小移动设备的受攻击面

18. 生根(rooting)或越狱(Jailbreaking)

生根或越狱是苹果设备的特殊用语,指打破移动设备引导加载程序数字权限管理(DRM)的安全保护并以根或全系统特权操作设备的行为。

对于大多数移动设备,可以把最终用户的活动限制为受限用户的活动,以此方式锁定这些设备。

但是根用户可以操控操作系统,启用或禁用硬件性能,以及安装不提供给受限用户使用的软件应用程序。

生根允许用户更改核心操作系统或运行标准应用商店不提供的应用程序。

然而这么做并非没有风险。设备以根状态运行时还会降低安全性,因为任何可执行文件都会以完全根权限的状态启动。

许多恶意代码原本无法在正常模式设备上立足,但是设备被用户生根或越狱之后,它们便能轻易“生根" (双关语)了。

一般来说,机构应该尽可能禁止员工在公司网络上使用根设备,甚至禁止根设备访问公司资源。

如果设备完全归你拥有,或者你签订了一两年的设备付费使用合同,或者你签订了设备租用到期后归你所有的合同但在合同履行完毕之前设备不完全归你拥有,那么生根设备的行为对你来说是合法的。

合法根不能要求制造商、供应商或电信公司承担任何保修责任。

在多数情况下,包括生根在内的任何形式的系统篡改都会导致你的保修失效

生根行为还可能使你的技术支持合同或产品退换合同失效

电信公司、许多运营商和一些产品供应商努力抑制生根行为,苹果公司就是一大例子。

被生根的设备可能会被禁止在电信网上运行、访问资源、下载应用或接收未来的更新。

因此,尽管生根一台设备的行为通常合法,但是在以这种方式改动移动设备之前,你要考虑好这么做会带来的诸多后果。

19. 旁加载(side loading)

旁加载是指通过某种形式的文件传输或USB存储介质安装程序文件带到设备上来安装某款应用程序的行为。

大多数机构都应禁止用户旁加载,因为它可能是绕过应用商店、应用程序允许列表或MDM/UEM/MAM设置的安全限制的一种手段。

通过MDM/UEM/MAM实施的配置能够要求所有应用程序都必须有数字签名,这会消除旁加载以及可能的越狱行为。

20. 自定义固件

移动设备出厂时预装了供应商或电信公司提供的固件或核心操作系统。

设备如果被生根或越狱,它将允许用户安装备选的自定义固件来替代默认固件。

自定义固件可以移除膨胀软件添加或移除性能,以及为优化性能简化操作系统

你可以在网上找到专为苹果和Android设备定制固件的论坛和社区。

机构应该严禁用户使用带自定义固件的移动设备——除非固件事先得到机构批准。

21. 运营商解锁

大多数直接从电信公司购买的移动设备都是被运营商锁定的。

这意味着在运营商锁定被移除或运营商解锁之前,你无法在任何其他电信网络上使用该设备

你完全拥有设备后,电信公司应该免费为你的手机进行运营商解锁,但是你必须专门提出要求,因为他们不会自动给你解锁。

如果你的账户信誉良好,而且你要前往的国家/地区电信服务与本国兼容,你可以要求电信运营商为你的出国旅行解锁你的手机,以便你暂时用另一张SIM卡接受当地的电信服务。

但是你要知道,SIM卡是用于全球移动通信系统(GSM)手机的,而码分多址(CDMA)手机使用的是电子序列号(ESN) ,这个序列号被嵌在手机中,可以识别设备、用户以及控制设备的服务和使用。

对设备进行运营商解锁的行为与生根不同。

运营商解锁状态只允许切换电信服务(只有当你的设备使用的无线电频率与电信公司的相同时,这种切换才在技术上可行)。

运营商解锁的设备应该不会给机构增加任何风险;因此,可能没有必要禁止员工在公司网络上使用运营商解锁的设备。

22. 固件无线(over-the-air, OTA)更新

固件无线更新是指从电信公司或供应商无线下载(通过运营商提供的数据连接或通过Wi-Fi) 的固件更新。

一般来说,作为移动设备的拥有者,你应该在新的固件OTA更新发布后马上将它安装到设备上。

但是,有些更新可能会更改设备配置或干扰MDM/UEM限制。你应该在允许受管控设备接收新更新之前设法对更新进行测试。

你可能不得不等上一段时间,让MDM/UEM 供应商能够更新他们的管理产品,从而适当监控新固件更新的部署和配置。

机构的标准补丁管理、配置管理和变更管理策略应该适用于移动设备。

23. 密钥管理

涉及密码技术时,密钥管理始终都是一个问题。

密码系统的大多数失败都应归咎于密钥管理而非算法。

良好的密钥选择离不开随机数的质量和可用性

大多数移动设备要么必须在本地依赖较差的随机数生成机制,要么必须通过无线连接访问更强的随机数生成器(RNG) 。

一旦创建了密钥,就需要以最大限度地减少丢失或泄露风险的方式存储它们。

存储密钥的最佳选项通常是可移动硬件(如MicroSD HSM)或可信平台模块(TPM) ,但这些在移动设备上并不是普遍可用的。

24. 凭证管理(credential management)

把凭证保存在一个中央位置的行为就是凭证管理。

鉴于互联网站点和服务范围的广泛性,每个站点和服务都有自己的特定登录要求,因此可能难以使用唯一的名称和口令。

凭证管理解决方案可提供一种安全存储大量凭证集的方法。

这些工具往往会在需要的时候用一个主凭证集(多因子是首选)来解锁数据集。

有些凭证管理选项甚至可以为应用程序和网站提供自动登录选项。

口令库(password vault)是凭证管理器的另一种说法。

它们往往属于软件解决方案,有时基于硬件,有时只存在于本地,有时则使用云存储。

它们被用来为站点、服务、设备生成和保存凭证,以及替你保守你想要保守的任何其他秘密。

口令库本身是加密的,必须解锁才能重获访问存储项目的权限。

大多数口令库都用基于口令的密钥派生函数2(PBKDF2)bcrypt(参见第7 章)把口令库的主口令转换成合理强度的加密密钥。

25. 手机短信

短消息服务(SMS)、多媒体消息传递服务(MMS)和富通信服务(RCS)都是具有实用价值的通信系统,但它们也可以成为攻击向量(如smishing 和SPIM——相关讨论请见第2章)。

这些测试和消息传递服务主要由电信供应商运营和支持。

手机短信可被用作所谓的基于短信双因子认证的一个身份认证因子。

基于短信的双因子认证优于只靠单因子口令的身份认证,但是,只要有任何其他第二因子选项可用,就不建议使用只靠单因子密码的身份认证。有关基于短信双因子认证的详细论述,请参见第13 章。

许多非电信/非运营商的手机短信和消息传递服务要靠移动设备上的应用程序支持,包括Google Hangouts、Android Messenger、Facebook Messenger、微信、Apple/iPhone iMessages、WhatsApp、Slack、Discord和Microsoft Teams等。

重要的是保持所有消息传递服务应用程序的即时更新并使它只传递非敏感内容。

9.17.2 移动设备的部署策略

现在,许多部署模型可用于给员工配备移动设备,让他们在上班时和离开办公室后用这些设各执行工作任务。

移动设备部署策略(mobile device deployment policy)必须阐明与机构IT基础设施和业务任务相关的涉及个人电子设备的使用的广泛安全问题。

用户需要了解如果在上班时和工作中使用移动设备,会有哪些好处、限制和后果。

阅读并签署有关BYOD、COPE、CYOD、COMS/COBO 等的策略,并参加相关讲座或培训计划,可让用户达到合理的认识水平。

这些主题将在接下来的小节讨论

—————————————————————————————————————————

注意:

允许个人拥有的或企业提供的移动设备直接与公司资源交互的另一种方去是实施虚拟桌面基础设施(VDI)虚拟移动基础设施(VMI)解决方案(详情请参见本章前面的内容)。

—————————————————————————————————————————

1. 自带设备(bring your own device, BYOD)

自带设备策略允许员工携带自己的个人移动设备上班,且允许他们用这些设备通过公司网络连接业务资源和互联网。

尽管BYOD可以提高员工士气和工作满意度,但它也会增加机构的安全风险。

策略如果是开放式的,则将允许任何设备连接公司网络。

然而并非所有移动设备都具备充分的安全性能,因此这种策略允许不合规设备进入生产网络。

对于机构来说,这或许是最不安全的选项,因为公司数据和应用程序将驻留在个人移动设备上,从而把机构的网络暴露给来自个人电子设备(PED) 的恶意代码,而且设备本身多种多样,安全能力参差不齐(或更有可能缺乏安全能力)。

此外,这个选项还可能把设备上员工的个人身份信息(PII)暴露给机构。

2. 公司拥有,个人使用(corporate-owned, personally enabled, COPE)

“公司拥有,个人使用”的概念是指机构购买设备并将其提供给员工使用。

每个用户随后都可以自定义设备,并将它用于工作和个人活动。

COPE使机构得以准确挑选被允许用在机构网络上的设备——特别是只选用那些经配置后符合安全策略的设备。

这个选项把移动设备的范围缩小到机构预先选中的设备,它们具有公司安全策略规定的最低安全功能。

然而,这个选项依然存在风险,比如通过用户错误暴露公司数据的风险、通过设备把机构暴露给恶意软件的风险,以及员下个人身份信息被机构访问的风险。

3. 自选设备(choose your own device, CYOD)

自选设备的概念为用户提供了一个已获批准的设备列表,用户可以从中挑选自已将要使用的设备。

CYOD策略的实施可使员工根据已获批准的设备列表给自己购买设备(BYOD的—种变体),或者由公司为员工购买设备(COPE的一种变体)。

这一选项试图让员工本人(而非公司)承担购买设备的费用,但这往往会导致更复杂和更具挑战性的情况。

例如,如果员工已经花重金购买了不在已获批准的设备列表上的设备,该如何处理?

公司会另给他一笔钱来购买已获批准的设备吗?

那些购买了已获批准的设备的人怎么办?

公司是否会因为他们已经为别人的设备付钱而给他们报销?

那些确定不需要把移动设备用到工作中的人又该怎么办?

公司是否会以某种方式给他们一笔这样的钱,并允许他们将这笔钱视为津贴?

此外,这个选项与COPE 存在相同的安全问题:传播恶意软件,以及业务数据和个人数据混杂在同一设备上的可能性。

4. 公司拥有移动设备战略(corporate-owned mobile strategy, COMS)

公司拥有移动设备战略或公司拥有仅用于业务(corporate-owned, business-only, COBO)战略是指公司购买可支持安全策略合规的移动设备。

这些设备只能用于公司工作目的,用户不应在设备上执行任何个人任务。

这往往要求员工另外携带一个设备以用于个人目的。

对于机构以及员工个人来说,这是最佳选项。这个选项将工作与个人活动明确分开,因为该设备只能用于工作。

这一选项可保护公司资源,使其免受个人活动风险的困扰,并保护个人数据,使其免受未经授权或不道德的机构访问。

当然,如果要为个人活动而携带第二个设备,确实会很麻烦,但这种不便对于公私双方来说,都是值得为安全利益而付出的代价。

5. 移动设备部署策略的细节

无论你选择采取哪种移动设备部署策略,你的策略都要解决本节前面列出的诸多设备安全性能问题。

为了确保这一点,你可以定义必要性能并为公司安全策略合规配置这些性能。

移动设备部署策略还必须阐明其他几个有关操作、法律和后勤供应的问题。这些将在下面的几个小节中讨论。

6. 数据的拥有权

当个人设备用于业务任务时,可能会出现个人数据与业务数据混杂在一起的情况。

有些设备支持存储分段,但并非所有设备都能按类型隔离数据。建立数据拥有权的工作会非常复杂。

例如,如果设备丢失或被盗,公司可能希望触发远程擦除,并把设备中所有有价值的信息全部清除。

但是,员工往往会对此持反对态度,尤其是在设备有希望被找到或退回的情况下。

擦除操作会删除所有业务数据和个人数据,而这对于个人来说或许是一个重大损失——尤其是在设备被找回的情况下,因为到了这时,擦除就是一种过度反应了。

机构应该制订明确的数据拥有权策略

一些MDM/UEM 解决方案可以在不影响个人数据的怕况下提供数据隔离/分隔功能并支持业务数据清理

有关数据拥有权的移动设备部署策略应该解决移动设备的备份问题。

业务数据和个人数据应该得到备份解决方案的保护——要么将一个解决方案用于设备上的所有数据,要么根据数据的每种类型或类别逐一采用单独的解决方案。

备份可以降低远程擦除以及设备故障或损坏造成数据丢失的风险。

7. 对拥有权的支持

员工的移动设备出现故障、错误或损坏时,该由谁负责设备的维修、更换或技术支持?

移动设备部署策略应该阐明公司将提供哪些支持以及哪些问题该由个人及其服务提供商(如果有关系的话)负责

8. 补丁和更新管理

移动设备部署策略应该规定针对个人拥有的移动设备的安全补丁管理和更新管理方法、机制

用户是否应该负责更新的安装?

用户是否应该安装所有可用更新?

机构是否应该在更新被安装到设备上之前对其进行测试?

更新的下载是以无线方式(通过服务提供商)还是通过Wi-Fi 进行?

是否存在无法使用的移动设备操作系统版本?

需要使用什么级别的补丁或更新?

这些问题同时涉及设备的主操作系统和安装在设备上的所有应用程序。

9. 安全产品管理

移动设备部署策略应该规定是否要在移动设备上安装杀毒软件、反恶意软件、反间谍软件扫描程序、防火墙、HIDS 或其他安全工具

这项策略应该明确建议应该使用哪些产品/应用程序,以及应该怎样设置这些解决方案。

10. 取证

移动设备部署策略应该阐明与移动设备相关的取证和调查问题

用户应该意识到,所发生的安全违规或犯罪活动可能会牵涉到他们的设备。

调查工作会强制要求从这些设备收集证据

有些证据收集进程可能具有破坏性,而且有些司法调查可能需要扣押设备

个人设备的拥有者可以拒绝调查人员访问自己设备上的内容——即便这些内容从理论上说属于公司财产。

公司可以在归属于自己的设备上预装次级账户、主口令或远程管理工具,这些工具将使公司不必得到用户同意便能访问设备内容

注意:

只要遇到法律问题,包括移动设备取证和隐私问题,就应该咨询律师以获得最佳行动方案并了解相关政策。

11. 隐私

移动设备部署策略应该阐明隐私和监控问题

当将个人设备用于业务任务时,用户通常会丧失其把移动设备用于工作之前享有的部分或全部隐私。

员工可能需要同意机构通过移动设备对其进行跟踪和监控,即便用户没有使用公司财产并且在非工作时间。

用户应该把在BYOD 或CYOD 下使用的个人设备视为准公司财产。

在移动设备方面,员工保护自己隐私的主要方法是不把一个设备同时用于工作和个人活动。

12. 列装/退役

移动设备部署策略应该阐明个人移动设备的列装和退役规程

移动设备列装包括安装安全、管理和生产应用程序以及执行安全和生产配置设置。

这些配置的执行过程可由MDM/UEM解决方案负责移动设备退役包括正式擦除业务数据以及删除所有业务专用的应用程序。

在有些情况下,可能还需要完全擦除设备并恢复出厂设置。

这些进程中的任何一个都有可能导致个人数据的丢失或改动。

你应该先让你的用户了解这些风险,再让他们的设备进入列装/退役流程。

13. 遵守公司策略

移动设备部署策略应该清晰阐明,在业务活动中使用个人移动设备时员工仍有义务遵守公司策略。

员工应该把移动设备视为公司财产,并遵守所有限制,即使在非办公场所和下班时间,也是如此。

14. 用户接受

移动设备部署策略必须明确并具体地说明在工作中使用个人设备时应具备的所有要素。

对于许多用户来说,依照公司策略实施的限制、安全设置和MDM/UEM 跟踪远比他们想象的麻烦。

因此,在允许一台个人设备进入你的生产环境之前,你应该努力讲清楚移动设备部署策略的详细规定。

只有在员工表示同意和接受后(通常需要在文件上签字),他们的设备才能列装并投入使用。

15. 架构/基础设施方面的考虑

机构在落实移动设备部署策略时,应该对自己的网络和安全设计、架构和基础设施进行评估。

如果每名员工都自带一台个人设备,则网络上的端点设备数量可能会翻一倍。

这要求你做出计划以处理以下问题: IP地址分配、通信隔离、数据优先级管理、不断增加的入侵检测系统(IDS)/入侵预防系统(IPS)监控负担,以及不断增加的带宽消耗(包括内部的和任何跨互联网连接的)问题。

大多数移动设备都可启用无线通信,而这可能要求有更强大的无线网络以及处理Wi-Fi拥塞和干扰的能力。

你必须考虑移动设备部署策略导致基础设施成本提升的情况。

16. 法律问题

公司律师应该评估移动设备涉及的法律问题。

在执行业务任务的过程中使用个人设备的行为可能导致担责和数据泄露风险的增加。

移动设备可能会让员工开心,但如果它会显著增加风险和法律责任,那么对于你的机构来说,移动设备的使用可能不值得或不划算。

17. 可接受的使用策略(AUP)

移动设备部署策略应该参考公司可接受的使用策略,或者从中吸收专门针对移动设备特有问题的内容。

个人移动设备在工作中的使用会增加信息泄露、员工注意力分散和访问不当内容的风险。

员工应始终牢记, 上班的本职是完成生产任务。

18. 板载相机/摄像头

移动设备部署策略需要论及带板载相机的移动设备。有些环境不允许使用任何类型的相机。

这要求移动设备不得自带相机。如果允许使用相机,则策略应该阐明相机何时可以使用、何时不可使用,并对员工解释清楚。

移动设备可充当存储设备,为外部供应商或服务提供备选无线连接路径,并可用于收集图像和视频,这些图像和视频可能泄露保密信息或设备。

如果有地理围栏可用,则可通过MDM/UEM 实施针对具体位置的硬件禁用规定,从而使设备在进入公司办公场所时关闭相机(或其他组件),并在设备离开地理围栏区域后把功能恢复到可操作状态。

19. 可录音的麦克风

大多数带扬声器的移动设备都有麦克风。麦克风可用来记录附近的音频、噪声和人们讲话的声音。

许多移动设备还支持通过USB适配器、蓝牙或1/8英寸立体声插孔连接外部麦克风。

如果麦克风录言被视为一种安全风险,就应该通过MDM/UEM禁用此项功能或禁止在敏感区域或开会过程中使用移动设备。

20. Wi-Fi Direct

Wi-Fi Direct是临时或对等连接无线拓扑的新名称。它是无线设备之间直接连接而不需要中间基站的一种方式。

Wi-Fi Direct支持WPA2和WPA3, 但并非所有设备都能支持这些可选的加密方案。

Wi-Fi Direct可用于许多功能,包括传送可在显示器或电视机上显示的媒体资源,向打印机发送打印作业,控制家用自动化产品,与安全摄像头交互,以及管理数码相框。

在业务环境下,应该只在可以使用WPA2或WPA3的地方使用Wi-Fi Direct。否则明文通信风险太大。

21. 网络共享和热点

网络共享(tethering)也被称为热点(hotspot) ,是指将移动设备的蜂窝网数据连接和其他设备共享的行为。

它可以有效地允许移动设备充当便携式无线接入点(WAP)。数据连接的共享可以通过Wi-Fi、蓝牙或USB电缆实现。

一些服务提供商将网络共享纳入他们的服务计划中,而另外一些要为此收取额外费用,还有一些则完全阻止网络共享。

网络共享会给机构带来风险。

它能被用户用来向被网络隔离的设备授予互联网访问权,也可用于绕过公司针对互联网的使用而执行的过滤、拦截和监控。

因此,对于被用户带进公司的移动设备,应该阻止网络共享。

热点设备可以充当便携WAP,用于创建与电信公司或运营商数据网络连接的Wi-Fi 网络。

大多数机构都应该禁止热点设备的使用,因为它们在避开公司安全限制的情况下提供了与互联网的直接连接。

22. 无接触支付方式(contactless payment method)

基于移动设备的支付系统被称为无接触支付方式,其中有许多系统不要求移动设备与PoS机直接物理接触。

它们有的基于NFC, 有的基于RFID, 有的基于SMS, 还有的基于依靠光学相机的解决方案,例如扫描快速响应(QR)码。

移动支付可以给购物者带来方便,但它算不上一种安全的机制。

用户应该只采用下面这样的移动支付解决方案:

要么要求每笔交易都必须得到用户确认,要么要求用户解锁设备并启动应用程序来执行交易。

如果没有这些预防措施,你的设备的无接触支付信号可能会被人克隆,然后被拿去乱做交易。

你供职的机构可能对移动支付解决方案带来的额外风险缺乏认识。

但无论如何,在公司拥有的设备上执行这些解决方案时,或者在把它们连接到你公司的财务账户时,都务必格外小心。

23. SIM 卡克隆

用户身份识别模块(SIM)卡可被用来在移动或无线电信公司把设备与用户身份以及服务关联起来。

SIM卡可以被人轻易在设备之间交换和克隆,从而滥用受害者的电信服务。

如果SIM卡被人克隆,则被克隆的SIM卡可以将其他设备与电信服务连接起来并把用费连回原拥有者的账户。

机构必须保持对移动设备的物理控制,并在电信运营商的移动服务上建立账户或服务锁。

9.18 基本安全保护机制

操作系统内部对安全机制的需要源自这样一个简单的事实:任何软件都不可信任

第三方软件从本质上说都是不可信赖的,无论它们来自谁或来自何处。

这倒并不是说所有软件都有害。

相反,这是一种保护态度——因为所有第三方软件都由操作系统创建者以外的其他人编写,它们带来问题的可能性很大。

因此,若把所有非操作系统软件视为具有潜在破坏性的软件,将使操作系统得以通过软件管理保护机制预防许多灾难性事件的发生。

操作系统必须采用保护机制来保持计算环境的稳定并把各个进程隔离开来。

如果没有这些努力,数据的安全性永远谈不上可靠,甚至不可能实现。

这便是零信任原则的有效落实(参见第8 章)。

计算机系统设计人员在设计安全系统时应该严守各种通用保护机制。

这些机制是统辖着安全计算实践的通用安全规则的具体体现。

如果在系统开发的早期阶段就把安全保护机制设计到系统中,将有助于确保整个安全架构的成功和可靠。

9.18.1 进程隔离(process isolation)

进程隔离要求操作系统为每个进程的指令和数据提供单独的内存空间

它还要求操作系统为这些进程设定边界,从而阻止一个进程读写属于另一进程的数据。

进程隔离技术有两大优点:

•可防止未经授权的数据访问。

•可保护进程的完整性。

如果没有这样的控制,设计不当的进程可能会陷于混乱,把自己的数据写进分配给其他进程的内存空间,进而导致整个系统变得不稳定,而不是仅仅影响错误进程的执行。

如果操作具有恶意性质,则进程会尝试(甚至可能成功)进行超出其内存空间范围的读写操作,侵入或攻击其他进程。

许多现代操作系统在每个用户或每个进程的基础上实现虚拟机,从而满足进程隔离的需要。

虚拟机为用户或进程提供了个处理环境,包括内存、地址空间和其他关键系统资源和服务,这些资源和服务允许用户或进程表现得就像其对整台计算机拥有唯一的独占访问权一样。

这允许每个用户或进程独自运行,而不必识别可能在同一台机器上同时处于活动状态的其他用户或进程。

作为操作系统提供的对系统的中介访问的一部分,虚拟机映射用户模式下的虚拟资源和访问,以便他们通过管理程序模式调用需要访问的相应实际资源。

这不仅可以简化程序员的工作,而且能使各个用户和进程彼此不受影响。

9.18.2 硬件分隔(hardware segmentation)

硬件分隔与进程隔离类似,旨在阻止人员对属于不同进程/安全级别的信息的访问。

主要区别在于,硬件分隔通过使用物理硬件控制(而不是操作系统强加的逻辑进程隔离控制)来达到这些目的。

硬件分隔被使用得很少,通常仅用于国家安全执行方案,其中所涉信息的敏感性和未经授权访问或泄露信息的固有风险会抵消额外的成本和复杂性。

9.18.3 系统安全策略

安全策略引导着机构的日常安全运行、流程和规程,与此类似,系统安全策略在系统的设计和实现过程中也发挥着重要作用。

无论系统是完全基于硬件,完全基于软件,还是两者组合的,情况都是如此。

在本节的语境下,系统安全策略的作用是告知和指导特定系统的设计、开发、实现、测试和维护

因此,这种安全策略要紧紧围绕具体执行方案展开(尽管安全策略可能由其他类似策略改编而来,但它还是应该尽可能准确和全面地反映当前工作的目标)。

系统开发人员最好让安全策略正式成文,以文件形式定义一套规则、实践规范和规程,并阐明系统应该怎样管理、保护和分发敏感信息。

禁止信息从高安全级别流向低安全级别的安全策略被称为多级安全策略

我们应该在开发系统的过程中设计、构建、执行和测试安全策略,因为安全策略涉及所有适用的系统组件或元素,包括以下任何一项或全部:物理硬件组件、固件、软件以及机构与系统交互和使用系统的方式。

总之,项目的整个生命周期都必须考虑安全性。如果只是到最后才采取安全措施,项目往往会失败。

9.19 常见的安全架构缺陷和问题

没有哪个安全架构是万无一失的。每个计算机系统都有自己的弱点和漏洞。

安全模型和架构的目标就是最大限度地弥补已知弱点。

9.19.1 隐蔽通道(covert channel)

隐蔽通道是指在不常被通信使用的路径上传递信息的一种方法。

由于这种路径一般不用于通信,因此可能也不受系统常规安全控制的保护

隐蔽通道的使用提供了一种违反、绕过或避开安全策略且不会被检测到的手段。隐蔽通道是安全架构漏洞的一个重要例子。

如你所想,隐蔽通道与公开通道完全相反。

公开通道(overt channel)是一种已知、预期、得到授权、经过设计、受监视和受控制的通信方法

因此,隐蔽通道是一种未知、意外、未经授权、未经设计(至少不是由原系统设计者设计)、不受监视和不受控制的数据传输方法。

隐蔽通道分两种基本类型。

隐蔽时序通道(covert timing channel)

隐蔽时序通道通过改变系统组件的性能或以某种可预测方式修改资源时序来传达信息。

隐蔽时序通道通常是秘密传输数据的方法,并且很难被检测出来。

•隐蔽存储通道 (covert channel)

隐蔽存储通道通过将数据写入可由另一进程读取的公共存储区来传达信息。

评价软件的安全性时,务必留意能把数据写入可由另一进程读取的任何内存区域的任何进程。

下面是隐蔽时序通道的例子。

•大楼外闪烁着一盏可见的灯,假设每两秒记录一次读数,灯亮时,读数为1,灯灭时,读数为0。

通过连接到记录系统的外部摄像机,可发生二进制数据的缓慢传输。

•用麦克风收听某一区域内或与计算机系统相关的噪声。

然后调整机箱风扇的转速,加快(为1)或放漫(为0) ,从而使噪声每10 秒发生一次变化。

•由一名内部人员每30秒手动填充或限制流量,从而监控互联网连接的利用率水平。

当流量利用率超过80%时记录为1, 利用率低于40%时记录为0。

下面是隐蔽存储通道的例子。

值得注意的是,它们全都需要把数据放到一个操作系统看不到或忽略的位置。

•把数据写入未分配或未分区的空间可由一个十六进制编辑器完成。

•把数据直接马入HDD 的一个坏扇区或SSD上的一个坏块。

•把数据写入集群末尾的未使用空间(空闲空间)。

•未在目录系统、文件容器或标头适当注册便把数据直接写入扇区或集群。

这两种隐蔽通道都依靠通信技术和其他未经授权的主体交换信息。

隐蔽通道位于正常数据传输环境之外,因此很难把它们检测出来。

最好的防御是,对所有用户和应用程序活动进行仔细和彻底的审计,同时分析日志文件,从中查找隐蔽通道活动的蛛丝马迹这些活动可能表现为异常行为,也可能会通过启发式或模式匹配诱发已知的恶意活动。

9.19.2 基于设计或编码缺陷的攻击

某些攻击可能源自糟糕的设计技术、有问题的执行实践和规程,也可能源自不恰当或不充分的测试。

一些攻击可能是由故意的设计决策导致的,因为在代码投入生产时,代码中内置的特殊入口点(用于绕过访问控制、登录或其他安全检查,通常在开发过程中添加到代码中)未被移除。

出于显而易见的原因,这些入口点被恰如其分地称为维护陷阱或后门,因为它们在设计上就是要避开安全措施。

对于这种隐蔽的访问渠道,需要进行广泛测试和代码审查才能将其找出来;

在系统开发的最后阶段可以轻而易举地把它们移除,而到了测试和维护阶段,却很难检测到它们。

编码实践不当和安全考虑的缺乏是系统架构漏洞的常见来源或原因,这些漏洞可归因于设计、执行、预发布代码清理的失败或彻底的编码错误。

尽管这些缺陷是可以避免的,但为了发现和修复它们,我们需要从开发项目之初就进行有安全意识的严格设计,并拿出额外的时间和精力进行测试和分析。

这虽然有助于解释造成软件安全可悲状态的原因,但是它并不能成为借口!

尽管功能测试在商业代码和应用程序中很常见,但是针对安全问题的专门测试直到最近几年才得到重视和信任,这主要得益于媒体对病毒和蠕虫攻击、SQL 注入攻击、跨站点脚本攻击以及被广泛使用的在线公共网站偶尔遭受的损毁或破坏的广泛报道。

人类永远编写不出绝对安全(没有缺陷)的代码。任何无力正常应对异常的程序都有以不稳定状态退出的危险。

程序为完成一项正常任务而提高安全级别后,有人可以借此巧妙地让程序崩溃。

攻击者如果在正确的时间成功致瘫程序,他们便能达到更高的安全级别,进而破坏系统的保密性、完整性和可用性。

而这些仅仅是无数破坏代码手段的冰山一角。

完美的安全或许不可能实现,但是你肯定可以采取各种强有力的措施来更好地保护代码。

用于整个开发周期的源代码分析工具将最大限度地减少被发布产品存在的缺陷,而若能在产品发布之前就把缺陷识别出来,将大大降低弥补缺陷的成本。

所有直接或间接执行的程序都必须经过全面的测试,以确保它们符合你的安全模型。

你必须确保自己安装的任何软件都是最新版本,并对已知的安全漏洞了然于心。

由于每个安全模型和每项安全策略都是不同的,你必须确保自己执行的软件没有超出你允许的权限范围。

安全代码的编写虽然非常困难,但绝非不可能完成的任务。

你必须确保自己使用的所有程序的设计都考虑到了安全隐忧的解决。

第15 章将讨论代码审查和测试的概念。

9.19.3 rootkit

rootkit 是嵌入操作系统的一种恶意软件。

这个词是生根概念和一种黑客实用工具包的衍生物。

生根是指获得对一个系统的整体或全面控制。

rootkit可以操纵能被操作系统看到并显示给用户的信息。

rootkit可以更换操作系统内核,在内核下填充其自身,更换设备驱动程序,或者渗透应用程序库,从而使操作系统把rootkit提供给它或对它隐藏的任何信息都看作正常的和可接受的。

这使rootkit得以把自己隐藏起来而不被检测到,防止它的文件被文件管理工具查看,同时防止它的活跃进程被任务管理或进程管理工具检查。

因此可以说,rootkit是一种用来隐藏其自身以及其他恶意工具的隐形盾牌

目前有多种rootkit检测工具可供使用,其中一些能够移除已知的rootkit。

然而,一旦你怀疑自己的系统存在rootkit, 唯一真正安全的响应是重建或更换整个计算机系统

重建时需要对系统上的所有存储设备执行彻底的存储清理操作,重新安装来自可信原始来源的操作系统和所有应用程序,然后从不存在rootkit的可信备份恢复文件。

显然,对抗rootkit的最佳保护手段是防御而不是响应,也就是说,预防感染是第一位的。

系统被rootkit感染后,往往没有遭破坏的明显症状或迹象。

在rootkit安装后的初始时间段可能会有一些系统延迟和无响应,这是因为rootkit在安装自己,否则它会主动掩盖任何症状。

在某些rootkit感染中,恶意软件的初始感染程序、删除程序或安装程序会执行特权提升。

检测系统是否存在rootkit的一种方法是注意系统文件(如设备驱动程序和动态链接库)何时在文件大小或哈希值上发生变化。

文件哈希值的跟踪可以由管理员手动执行,也可由HIDS和系统监控安全工具自动执行。

9.19.4 增量攻击(incremental attack)

有些形式的攻击以缓慢、渐进的方式发生,而不是通过明显或可识别的尝试来危害系统的安全性或完整性。

这便是增量攻击,这种攻击有两种形式:数据欺骗和萨拉米香肠攻击。

当攻击者获得对系统的访问权并在数据的存储、处理、输入、输出或交易过程中不断对数据进行微小、随机或增量更改,而不是明显修改文件内容或者损坏或删除整个文件时,意味着发生了数据欺骗(data diddling)

除非文件和数据受加密保护,或者每次读取或写入文件时都按惯例进行某种完整性检查(例如校验或消息摘要),否则很难检测到这些改动。经过加密的文件系统、文件层面的加密技术或某种形式的文件监控(包括由文件完整性监控工具执行的完整性检查)通常可以为杜绝数据欺骗提供充分的保障。

人们通常认为数据欺骗是主要由内部人员而非外部人员(外部入侵者)实施的攻击。

数据欺骗是一种改变数据的攻击,因而显然应该把它视为主动攻击。

所有公开发表的报告都说萨拉米香肠攻击(salami attack)太诡秘。

之所以给攻击起这个名是因为它会系统性地消减账户或其他具有财务价值的记录中的资产定期和常规性地从余额中扣除不起眼的金额

这种攻击就好比每当有客户付钱从香肠切片机上取香肠时,攻击者都从香肠上多切出薄薄的一片偷走。

事实上,尽管目前还没有萨拉米香肠攻击的书面证据,但是大多数安全专家都承认,这种攻击是完全可以实现的,特别是当有机构内部人员参与的时候。

只有通过适当的职责分离和代码控制,机构才能完全防止或消除此类攻击。

不妨通过设置财务交易监视器来跟踪极小金额的资金转移或其他有价值的项目,这应该有助于检测此类活动;

也可定期向员工通告工作准则,这应该有助于阻止发起此类攻击的企图。

—————————————————————————————————————————

注意:

如果你想以一种寓教于乐的方式了解萨拉术香肠攻击或萨拉术香肠技术,不妨看看电影《上班一条虫》和《超人Ⅲ》。

你也可以读读《连线》(Wired)杂志2008 年发表的一篇有关分析此类攻击的文章。

—————————————————————————————————————————

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值