第4章 系统安全

4.1 操作系统概述

计算机是由硬件、操作系统、应用软件共同构成的复杂系统。
计算机操作系统的功能主要包括:

  • 进程管理:也被称为处理器管理,对CPU的时间进行合理分配、对处理器的运行进行有效的管理。
  • 内存管理:对内存空间进行合理分配、保护和扩充,解决多到进程共享内存资源时的冲突,并通过有效的管理方式提高计算机内存空间和利用率。
  • 设备管理:根据一定的分配原则对计算机的硬件设备进行调度与分配。
  • 文件管理:负责有效的管理计算机磁盘的存储空间,合理的组织和管理文件系统,为文件访问和文件保护提供更有效的方法及手段。
  • 用户接口:用户操作计算机的界面称为用户接口或用户界面。用户接口主要分为命令行接口、图形界面接口和程序调用接口几种类型。

4.2 操作系统安全

4.2.1 操作系统的安全威胁与脆弱性

1.操作系统的安全威胁

  • 非法用户或假冒用户入侵系统
  • 数据被非法破坏或数据丢失
  • 不明病毒的破坏和黑客入侵
  • 操作系统运行不正常

2.操作系统的脆弱性

  • 操作系统的远程调用和系统漏洞
  • 进程管理体系存在问题
    • 黑客会把间谍软件通过某种方法传输给远程服务器或客户机,并进一步植入操作系统之中,进而达到控制主计算机的目的。
    • 将网站、资源甚至流媒体文件放在因特网上,用户下载到本地机器上并执行时,间谍软件就被安装到用户的系统,是黑客获取该用户对系统的合法权利。
  • 操作系统的常见漏洞包括:
    • 空口令或弱口令
    • 默认共享密钥
    • 系统组件漏洞
    • 应用程序漏洞

4.2.2 操作系统中常见的安全保护机制

  • 1.进程隔离和内存保护
    内存管理单元模块(Memory Management Unit,MMU)
  • 2.运行模式
    • 内核模式:也被称为特权模式,在Intel x86系列中,称为核心层(Ring 0)
    • 用户模式:非特权模式,用户层(Ring 3)
  • 3.用户权限控制
  • 4.文件系统访问控制

4.2.3 操作系统的安全评估标准

  • D类(无保护级)
    经过评估、但不满足较高评估等级要求的系统。这种系统不能在多用户环境下处理敏感信息。MS-DOS
  • C类
    自助保护级别,具有一定的保护能力,采用的安全措施是自主访问控制和审计跟踪。一般只适用于具有一定等级的多用户环境。
    • C1(自主安全保护级)
    • C2(控制访问级)
  • B类强制保护级别,主要要求是TCB(可信计算基)应维护完整的安全标记,并在此基础上执行一系列强制访问控制规则。B类系统中的主要数据结构必须携带敏感标记,系统的开发者还应为TCB提供安全策略模型以及TCB规约。应提供证据证明访问控制器得到了正确的实施。
    • B1(标记安全保护级)
    • B2(机构化保护级)
    • B3(安全区域保护)
  • A类(验证保护级)
    • A1(验证设计级)
    • 超A1级

4.2.4 常用的操作系统及其安全性

1.Windows系统安全
以Windows安全子系统为基础,辅以NTFS文件系统、Windows服务与补丁包机制、系统日志等。

  • Windows安全子系统
    • 系统登录控制流程(Winlogon)
    • 安全安账号管理器(SAM)
    • 本地安全认证(LAS)
    • 安全引用监控器(SRM)
  • NTFS文件系统
    • NTFS可以支持的分区(如果采用动态磁盘则称为卷)大小可以达到2TB。而Windows2000中的FAT32支持的分区大小可达到32GB。
    • NTFS是一-个可恢复的文件系统。
    • NTFS支持对分区、文件夹和文件的压缩及加密。
    • NTFS采用了更小的簇,可以更有效率地管理磁盘空间。
    • 在NTFS分区上,可以为共享资源、文件夹以及文件设置访问许可权限。
    • 在NTFS文件系统下可以进行磁盘配额管理。
    • NTFS文件系统中的访问权限是累积的。
    • NTFS的文件权限超越文件夹的权限。
    • NTFS文件系统中的拒绝权限超越其他权限。
    • NTFS权限具有继承性。
  • Windows服务包和补丁包 微软公司有四种系统漏洞解决方案:
    • Windows Update
    • SUS
    • SMS
    • WUS
  • Windows系统日志

2.Linux系统安全

  • (1)Linux系统的安全机制
    • 1)PAM机制 插件式鉴别机制
    • 2)加密文件系统
    • 3)防火墙
  • (2)Linux系统安全防范及设置
    • 1)Linux引导程序安全设置
    • 2)防止使用组合键重启系统
    • 3)安全登录、注销
    • 4)用户账号安全管理
    • 5)文件的安全
    • 6)资源使用的限制
    • 7)清除历史记录
    • 8)系统服务的访问控制
    • 9)系统日志安全
    • 10)关闭不必要的服务
    • 11)病毒防范
    • 12)防火墙
    • 13)使用安全工具
    • 14)备份重要文件
    • 15)升级
    • 16)Rootkit安全防范
      Rootkit的组成
      以太网嗅探器程序
      隐藏攻击者的目录和进程的程序
      一些复杂的Rootkit还可以向攻击者提供telnet、shell和finger等服务
      一些用来清理/var/log和/var/adm目录中其他文件的脚本。

4.3 移动终端安全

4.3.1 移动终端的概念及其主要安全问题

1.移动终端的概念

  • 有限可移动终端
  • 无线移动终端

2.移动终端面临的安全问题

  • 敏感信息本地储存
  • 网络数据传输
  • 应用安全问题
  • 恶意软件
  • 系统安全问题

4.3.2 Android平台及其安全

1.认识Android平台

2.Android的平台特性

  • 应用层
  • 框架层
  • 运行时
  • 内核层

3.Android平台的安全问题

4.ROOT的危害

5,恶意软件的威胁

4.3.3 IOS平台及其安全

1.认识IOS平台

封闭的开发环境和相对完善的安全机制

2.IOS平台的安全机制

  • 权限分离
  • 强制代码签名
  • 地址空间随机布局
  • 沙盒(Sandbox)
    沙盒机制的功能限制如下:
    • 无法突破应用程序目录之外的位置
    • 无法访问系统上其他的进程
    • 无法直接使用任何硬件设备,只能通过苹果受到约束的API(Application Program Interface,应用程序接口)来进行访问。
    • 无法生成动态代码。

3.XcodeGhost事件分析

造成的危害:

  • 上传用户信息
  • 应用内弹窗通过URLScheme执行其他操作

4.3.4 移动系统逆向工程和调试

1.移动终端逆向工程概述

逆向工程是通过反汇编、反编译等手段从应用程序的可执行(二进制)文件中还原出程序原代码的过程。分为系统分析和代码分析两个阶段。系统分析阶段,通过观察程序正常运行的流程,分析程序各组件行为特征来建立对程序架构逻辑的初步框架。代码分析阶段,

  • 发现安全漏洞
  • 检测恶意代码
  • 病毒木马分析

逆向工程主要的两个作用:

  • 攻破目标程序,拿到关键信息,可以归类于与安全相关的逆向工程。
  • 借鉴他人的程序功能来开发自己的软件,可以归类于与开发相关的逆向工程。

2.Android平台逆向工程

基于Android平台的应用软件经由开发者编写之后,会通过编译、压缩等过程生成一个Android Package,即apk安装包。将一个apk文件的后缀名改为.zip,解压缩后即可看到apk中所包含的内容。一般情况下会包含以下文件:

  • AndroidMainifestxml 文件:应用程序全局配置文件,包含了对组建的定义和应用程序的使用权限。
  • res文件夹:用于存放资源文件的resources 文件夹。
  • casses.dex 文件: Android 系统中的应用程序可执行文件。
  • Resources.arsc: 经过编译的二进制资源文件。META-INF文件夹:存储签名相关的信息。

对apk文件目录审计后,对可执行文件classes.dex进行分析

  • 1)对可执行文件进行反汇编,分析生成的Darvik字节码
  • 2)使用Apktool或Baksmali生成smali文件进行阅读。
  • 3)使用DDMS等工具监控Android程序的运行状态,对Android程序进行动态调试。

为防止应用软件被Android逆向工程,可以采用以下几种防护措施:

  • 1)代码混淆
  • 2)加壳
  • 3)调试器检测

3.IOS平台逆向工程

IOS平台下有对应的IPA文件.
我们先来分析IPA文件。Info.plist是分析-一个iOS应用的人口,记录了一个APP的基本信息。其中比较重要的内容为Executablefile, 即APP可执行文件的名称。可执行文件是IPA的核心文件,也是逆向工程的主要分析目标。在ios中,可执行文件为Mach-O格式。Mach-O是ios系统以及MacOSX系统中主要的可执行文件格式。在IPA文件目录下,还存放有rsorel资源文件夹)、Iproi(语言国际化文件夹)、CodeSigaure 代码签名)和其他文件,对逆向分析有较大的帮助。
常用的ios逆向分析工具有以下几种:

  • Dumpcrypt
  • class-dump
  • IDAPro与HopperDisassembler
  • GDB与LLDB
  • Cycript

4.4 虚拟化安全

4.4.1 虚拟化概述

计算机虚拟化技术是一种资源管理技术,它将计算机的各种物理资源通过抽象、转换后呈现给用户。
更加灵活、高效的方式应用资源。

4.4.2 虚拟化技术的分类

1.按应用分类

  • 操作系统虚拟化
  • 应用程序虚拟化
  • 桌面虚拟化
  • 存储虚拟化、网络虚拟化等

2.按照应用模式分类

  • 一对多
  • 多对一
  • 多对多

3.按硬件资源调用模式分类

  • 全虚拟化
  • 半虚拟化
  • 硬件辅助虚拟化

4.按运行平台分类

  • X86平台
  • 非X86平台

4.4.3 虚拟化环境中的安全威胁

  • 1)虚拟机逃逸
  • 2)虚拟化网络环境风险
  • 3)虚拟机镜像和快照文件的风险
  • 4)虚拟化环境风险

4.4.4 虚拟化系统的安全保障

1.Hypervisor安全

  • 1)安装厂商发布的Hypervisor的全部更新。大多数Hypervisor具有自动检查更新并安装的功能,也可以用集中化补J管理解决方案来管理更新。
  • 2)限制Hypervisor管理接口的访问权限。应该用专]的管理网络实现管理通信,或采用加密模块加密和认证管理网络通信。
  • 3)关闭所有不用的Hypervisor服务,如剪贴板和文件共享,因为每个这种服务都可能提供攻击向量。
  • 4)使用监控功能来监视每个Guest OS的安全。如果一一个Guest OS被攻击,它的安全控制可能会被关闭或重新配置来掩饰被攻击的征兆,应使用监控功能来监视GuestOS之间的行为安全。在虚拟化环境中,网络的监控尤为重要。
  • 5)仔细地监控Hypervisor自身的漏洞征兆,可以使用Hypervisor提供的自身完整性监控工具和日志监控与分析工具完成上述工作。

2.Guest OS安全

  • 1)遵守推荐的物理OS管理惯例,如时间同步、日志管理、认证、远程访问等。
  • 2)及时安装Guest os的全部更新,现在的所有oS都可以自动检查更新并安装。
  • 3)在每个Guest os里,断开不用的虚拟硬件。这对于虚拟驱动器(虚拟CD、虚拟软驱)尤为重要,对虚拟网络适配器,包括网络接口、串口、并口也很重要。
  • 4)为每个Guest OS采用独立的认证方案,特殊情况下会需要两个Guest OS共享证书。
  • 5)确保GuestOS的虚拟设备都正确关联到宿主系统的物理设备上,例如在虚拟网卡和物理网卡之间的映射。

3.虚拟化基础设施安全

4.规划个部署的安全

  • (1)规划 该阶段是组织在开始方案之前要做的工作,规划阶段需确定当前和未来需求,确定功能和安全的需求。

  • (2)设计
    设计虚拟化方案,需考虑的安全性技术如下:

    • 1)认证问题
    • 2)密码问题
  • (3)实施:虚拟化解决方案设计好以后,下一步就是把解决方案变成实际的系统。
    • 1)物理到虚拟的转化
    • 2)监控方面
    • 3)实施的安全性
    • 4)运维

7.2 云安全

7.2.1 云的相关概念

1.云

云是一种比喻说法,是一个计算资源池,通常为一些大型服务器集群,每一群包括了几十万台甚至上百万台服务器,是一种为提供服务而开发的整套虚拟环境。
技术架构:服务软件即服务(SaaS)、平台及服务(PaaS)和基础设施即服务(IaaS)
云面向的对象:公有云、私有云、混合云。

2.云计算

云计算(Cloud Computing)是一中计算方法,即将按需提供的服务汇聚成高效资源池(包括网络、服务器、存储、应用软件、服务),以服务的形式交付给用户使用。
动态、易扩展、经常是虚拟化的资源
分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡、热备份冗余等传统计算机和网络技术发展融合的产物。

3.云服务

在云计算环境下的服务交付模式

4.云主机

云计算产业链金字塔的底层。云主机是在一组集群主机上虚拟出的多个类似独立主机,集群中每个主机上都有云主机的一个镜像,拥有自己的操作系统,完全不受其他主机的影响。

5.云安全

从云计算衍生而来,指云及其承载的服务

7.2.2 云面临的安全挑战

  • 1)如何解决新技术带来的新风险。
  • 2)如何规划资源、数据等带来的风险
  • 3)如何落实政策、法规方面的各项要求指标的风险。
  • 4)如何去运维管理云及其资源的风险。

1.新技术

  • 1)可控性
  • 2)动态性
  • 3)虚拟机逃逸

2.集中化

  • 1)云数据中心安全防护方面存在网络结构的规划与设计,系统的识别迁移,权限集中等问题。
  • 2)云平台管理员权限滥用
  • 3)用户的安全隔离
  • 4)资源池内用户抢夺资源和恶意攻击等。

3.合规性

4.运维管理

7.2.3 云环境下的安全保障

1.云安全标准

  • CSA(国际)
  • ENISA(欧盟)
  • NIST(美国)
  • OWASP(国际)
  • CPNI(英国)
  • SANS(美国)
  • PCL-DSS(国际)

2.云安全建设

  • 1)物理安全
  • 2)网络安全
    通过FW、IDS/IPS、DDoS、VPN
  • 3)主机安全需要考虑终端安全、主机安全、系统完整性保护、OS加固、安全补丁、病毒防护等方面的信息安全建设。
  • 4)虚拟化安全建设
  • 应用安全建设
  • 数据安全

Copyright © 2024 罗雪峰
Powered by .NET 8.0 on Kubernetes