首页 > 技术文章 > 操作系统——操作系统安全性

wkfvawl 2019-11-19 19:50 原文

一、安全性概述

系统的安全性涉及系统的保护(防破坏)保密(防窃)两个方面,旨在保障系统中数据的完整性、可用性和机密性。

1、安全性的内涵

系统的安全性包括以下几方面的内容:
① 保护系统内的各种资源免遭自然与人为的破坏;
② 估计到操作系统存在的各种威胁,以及它存在的特殊问题;
③ 开发与实施卓有成效的安全策略,尽可能减少系统所面临的各种风险;
④ 准备适当的应急措施,使系统在遭到破坏或攻击时能尽快恢复正常;
⑤ 定期检查各种安全管理措施的实施情况。

信息安全(Information Security)

计算机安全(Computer Security)
计算机本身及存储在其内部的软件及数据的安全
网络安全(Network Security)
在用户端与计算机、计算机与计算机之间通过通信线路交换数据时,对数据传输实施的保护

计算机系统中的实体

硬件(Hardware)
软件(Software)
数据(Data)
通信线路和网络(Communication Lines and Networks)

硬件安全

例子:
   突然掉电硬盘损坏、设备被偷、设备失效拒绝服务
安全措施:
    物理上
    管理上
    如:加防盗门、雇用保安、安装闭路监视系统

软件安全

软件的删除
软件的更改/破坏
软件被篡改:病毒及相关攻击
软件的非法复制
……

数据安全

文件或其他形式的数据
如:
    删除文件/DB中的记录
    读取未经授权的数据
    通过分析统计数据以找出隐藏的信息
    更改已存在文件或伪造文件
    ……

通信线路和网络安全

如:
    破坏或删除报文
    读取报文,观看报文及其传输模式
    更改、延滞、重新排序或复制、伪造报文

 

系统安全的特性

不同的计算机操作系统有不同的安全要求,但总的来说系统应具有如下特性:
(1) 保密性(Security)  由已授权者访问
(2) 完整性(Integrity)   由已授权者更改
(3) 可用性(Availability)  对已授权者可用
(3) 可靠性(Authenticity)  能够证实用户身份

 

安全威胁 — 威胁源

对计算机系统安全性的威胁主要来自以下3个方面:
(1) 偶然无意
(2) 自然灾害
(3) 人为攻击-主动性威胁

系统的安全威胁分类

正常的信息流动:

 阻断(Interrupt)

又叫拒绝服务。攻击者通过发送海量的无用请求,使合法用户无法访问系统资源,即得不到系统提供的服务

 

截取、窃听(Interception)

攻击者非法截获未授权访问的信息。威胁小,难防,应对关键数据加密。

篡改(Modification)

攻击者修改或删除信息

伪造(Fabrication)

攻击者往系统中插入伪造信息。

 

网络攻击

被动攻击        

试图了解和使用系统信息,不破坏系统资源

主动攻击        

试图改变系统资源、影响系统运行

伪装
拒绝服务

重发
更改消息

 

2、操作系统的安全性

操作系统是软硬件资源的掌管者
操作系统的安全是整个计算机系统安全的基石

针对操作系统的威胁

 

目的:防止OS本身被破坏,禁止对未授权资源的访问

操作系统安全涉及的功能

① 用户身份鉴别。
② 内存保护。
③ 文件及I/O设备存取控制。
④ 对一般实体进行分配与存取控制,并对其实行一定的控制与保护。
⑤ 共享约束。
⑥ 在考虑操作系统安全机制的同时,也要确保系统用户享有公平的服务,而不出现永久的等待服务;还要确保操作系统为进程同步与异步通信提供及时的响应。

保密安全操作系统设计原则

安全OS的设计原则
最小权限
最少通用
安全机制的经济性
开放式设计
安全策略完整性
权限分离

隔离性——最少通用

虚拟存储空间
隔离多道程序,逻辑分离

虚拟机
为每个用户提供一个完整的硬件特性概念

内核机制——最少权限、经济性

安全内核指负责实现整个OS安全机制的部分,它提供硬件、OS及计算机系统其它部分间的安全接口

分层结构——开放式设计及整体规划

分层基础:
可信度
存取权限
运行保护模式
存取域
可信度

系统安全可信度验证

形式化验证-数学方法
非形式化确认-软件工程技术
系统入侵分析-攻击性测试

3、操作系统的安全性级别

美国国防部把计算机系统的安全从低到高分为4等和8级

A ( A1、A2 )
B ( B1、B2、B3 )
C ( C1、C2 )
D ( D1 )


1. D等——最低保护等级
只有一个级别D1
安全保护欠缺级
整个系统都是不可信任的


2. C等——自主保护等级
C1级: 自主安全保护级。它支持用户标识与验证、自主型的访问控制和系统安全测试;它要求硬件本身具备一定的安全保护能力,并且要求用户在使用系统之前一定要先通过身份验证。
C2级: 受控安全保护级,它更加完善了自主型存取控制和审计功能。


3. B等——强制保护等级
    检查对象的所有访问并执行安全策略,因此要求客体必须保留敏感标记,可信计算机利用它去施加强制访问控制保护。
B1级: 标记安全保护级。
B2级: 结构化保护级。
B3级: 安全域级。


4.A等——验证保护等级
它使用形式化安全验证方法,保证使用强制访问控制和自主访问控制的系统,能有效地保护该系统存储和处理秘密信息和其他敏感信息。
A等又分为两级(A1、A2)。

 

二、实现系统安全的基础技术

鉴别机制

口令(password)

一个用户身份的确认符号串
口令的安全性:使穷举攻击不可行,限制明文系统口令表的存取,加密口令文件


口令的非法获取
穷举、经验尝试、搜索系统口令表、询问用户、编程截取、字典式/概率式搜索

口令的选择
字符种类、长度、避免常规单词、保护口令秘密、一次性口令

口令的加密
对口令/口令文件进行加密、传统加密法、单向加密法


口令身份鉴别机制存在的问题
特洛依木马(Trojan Horse)
特洛伊木马和病毒、蠕虫之类的恶意程序一样,也会删除或修改文件、格式化硬盘、上传和下载文件、骚扰用户、驱逐其他恶意程序
特洛伊木马还有其独一无二的特点——窃取内容,远程控制——这使得它们成为最危险的恶意软件。

其他身份鉴别机制

多重鉴别机制
多重口令
身份鉴别 + 存取权限
登录应答机制
一次性口令概念、多个应答函数,不同用户不同应答函数
辅助身份鉴别
笔迹、声音、指纹、视网膜等

加密技术

传统加密方法
现代加密方法
密钥的管理

易位法

置换法

后移三位替代(如:明文 house 密文KRXVH)

 

 

 

但可以利用频率分析法破解单字替换法的:  A 0.082 | B 0.015 | C 0.028 | D 0.043 | E 0.127 | F 0.022 | G 0.020……| T 0.091 | ……| Z 0.001 


最早影响世界的加密技术诞生于战争年代,由德国人发明,用于传递攻击信息;而最早影响世界的解密技术,也诞生于战争年代,由英美开发出来破译德国人的攻击信息。正是战争让加解密技术不断改进发展,直到现在,仍然在为信息时代的数据安全而服务。

密码体制的划分

根据密码算法使用的加密密钥和解密密钥是否相同,能否由加密过程推导出解密过程分
对称密码体制
非对称密码体制

根据密码算法对明文信息的加密方式分
序列密码体制
分组密码体制


按照加密过程中是否注入了客观随机因素分
确定型密码体制
概率型密码体制


按照是否能进行可逆的加密变换分

传统加密方法(对称加密)

1.传统加密过程
传统加密过程就是把明文信息利用某种加密算法加以编码以防止未授权的访问,从而实现其保密的过程。

 

 

 

对称加密两方面需求:1、需要一个强壮的加密算法  2、密钥传输的安全性

攻击对称加密的方法:密码分析、强力攻击


每微秒处理100万个密钥

 

 

 

2.数据加密标准(DES)

DES属于传统加密方法
DES是由美国国家标准局(NBS)在1977年研制的一种数据加密、解密的标准方法,56位密钥。
1998年出现专用“DES解密机”,造价25万美元,用三天时间破译该密码体系。
3DES,用2个或3个密码重复执行DES,密钥112、168位
高级加密标准(AES),密钥支持128、192、256位

公开密钥加密方法(不对称加密)

传统加密的一个主要困难是要以一种保密的方式来分配密钥。对这一点最彻底的解决方法就是不分配密钥,也就是采用公开密钥加密,它是在1976年被首次提出的。

 

 

  它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名Ron Rivest, AdiShamir 和Leonard Adleman。
算法过程 :
1)选取两个大素数p,q
2)求出n=p*q,以及f(n)=(p-1)*(q-1)
3)随机选取整数d,使得d与f(n)互素
4)选取整数e,使得(e*d)%f(n)==1
5)公钥为n和e,私钥为n和d
加密算法:c=me mod n
解密算法:m=cd mod n

加密

 

 

 认证

MD5(摘要加密算法)

md5的全称是message-digest algorithm 5(信息-摘要算法),经md2、md3和md4发展而来,它们都可将一个随机长度的信息并产生一个128位的信息摘要。

MD5算法的应用
md5的典型应用是对一段信息产生信息摘要,以防止被篡改。
比如在unix系统中用户的密码就是以md5经加密后存储在文件系统中。当用户登录的时候,系统把用户输入的密码计算成md5值,然后再去和保存在文件系统中的md5值进行比较,进而确定输入的密码是否正确。

密钥的管理

加密系统的强度与密钥分配技术有关。密钥分配是指在两个交换数据的主体间传送密钥而不让其他人知道的方法。

网络加密

链路加密(常采用序列加密算法)
指对相邻结点之间通信链路上所传输的数据(报文)进行加密,通信链路两端都配置了硬件加密装置
优点:安全
缺点:交换处易受攻击
端对端加密
端对端加密是在主机或前端机中,对用户数据进行加密
由目标主机或前端机进行解密
中间结点不会出现明文
要求:不能对报头进行加密

端到端及链路加密

 

 

授权机制

存取控制      

在计算机系统中,安全机制的主要目的是存取控制,它包含3个方面的内容:
授权,即确定可给予哪些主体存取实体的权力;
确定存取权限;
实施存取权限。

检查每个存取,拒绝超越存取权限的行为,并防止撤权后对实体的再次存取;
实施最小权限原则,其含义是主体为完成某些任务必须具有的最小的实体存取权限,并且不能对额外信息进行存取;
存取验证除了检查是否存取外,还应检查在实体上所进行的活动是否适当。  

保护域
进程在某个保护域内运行
保护域指明了进程所能访问的对象和访问权

 

存取控制

 

 1. 目录
每个文件有一个惟一的文件主,它拥有大多数存取权限,并且还可以对文件授权、撤权。
为了防止伪造存取文件,系统不允许任何用户对文件目录执行写操作。只能通过文件主命令控制下的操作系统来维护所有的文件目录,用户可以通过系统进行合理的目录操作,但禁止用户直接对目录存取。

 2. 存取控制表
存取控制表是用来记录所有可存取该实体的主体和存取方式的一类数据结构。
每个实体都对应一张存取控制表,表中列出所有的可存取该实体的主体和存取方式。


 

 

 3. 存取控制矩阵
一张行用于表示主体,列表示实体的存取矩阵,每个记录则表示该主体对实体的存取权限集。
稀疏矩阵,大多数主体对大多数实体并无存取权限

恶意程序( Malicious Programs )及其防御

后门(Trapdoor)
程序的秘密进入点
激活:
某些特定输入串
某个特殊用户ID
一些不太可能的事件激活
安全措施:
程序开发和软件更新活动中的安全质量检查

逻辑炸弹(Logic Bomb)
嵌入在程序中的一段代码,在设定的条件满足时运行
例子:
Montgomery County, Maryland图书馆系统


特洛伊木马(Trojan Horses)
Trojan War
嵌在有用程序中的秘密子程序,常用于间接完成某些功能,这些功能对非授权用户而言是不能直接完成的。

“特洛伊木马”(trojan horse)简称“木马”,据说这个名称来源于希腊神话《木马屠城记》。古希腊有大军围攻特洛伊城,久久无法攻下。于是有人献计制造一只高二丈的大木马,假装作战马神,让士兵藏匿于巨大的木马中,大部队假装撤退而将木马摈弃于特洛伊城下。城中得知解围的消息后,遂将“木马”作为奇异的战利品拖入城内,全城饮酒狂欢。到午夜时分,全城军民尽入梦乡,匿于木马中的将士开秘门游绳而下,开启城门及四处纵火,城外伏兵涌入,部队里应外合,焚屠特洛伊城。后世称这只大木马为“特洛伊木马”。如今黑客程序借用其名,有“一经潜入,后患无穷”之意。

木马是如何启动的?
1.在Win.ini中启动
      run=c:\windows\file.exe load=c:\windows\file.exe
2.在System.ini中启动
    shell=Explorer.exefile.exe
3.利用注册表加载运行
4.在Autoexec.bat和Config.sys中加载运行
5.在Winstart.bat中启动

木马的隐藏方式
1.在任务栏里隐藏
2.在任务管理器里隐藏
3.端口
4.隐藏通讯

中木马后出现的状况
(1)当你浏览一个网站,弹出来一些广告窗口是很正常的事情,可是如果你根本没有打开浏览器,而览浏器突然自己打开,并且进入某个网站,那么,你要小心。
(2)你正在操作电脑,突然一个警告框或者是询问框弹出来,问一些你从来没有在电脑上接触过的间题。
(3)你的Windows系统配置老是自动莫名其妙地被更改。比如屏保显示的文字,时间和日期,声音大小,鼠标灵敏度,还有CD-ROM的自动运行配置。
(4)硬盘老没缘由地读盘,软驱灯经常自己亮起,网络连接及鼠标屏幕出现异常现象。

被感染后的紧急措施
(1)所有的账号和密码都要马上更改,例如拨号连接,ICQ,mIRC,FTP,你的个人站点,免费邮箱等等,凡是需要密码的地方,你都要把密码尽快改过来。
(2)删掉所有你硬盘上原来没有的东西。
(3)杀毒,检查一次硬盘上是否有病毒存在 。

利用木马绕过存取控制攻击原理分析

 

 

蠕虫(Worms)
网络蠕虫,通过网络连接从一个系统扩散到另一个系统
蠕虫完成自身复制使用的网络机制
电子邮件机制
远程执行能力
远程登录能力

蠕虫繁殖过程
检查主机表或类似存放远程系统地址的地方,搜索要感染的系统
与远程主机建立连接
把自己拷入远程系统并运行拷贝

计算机病毒(Viruses)

生物学上病毒的概念
小的DNA或RNA基因段


根据统计,到2000.11为止,共有55,000多种病毒
病毒的特征
病毒的分类
反病毒方法

病毒的特点
计算机病毒(简称病毒)是一种可传染其他程序的程序,病毒主要有如下的特点:
① 病毒具有依附性。
② 病毒具有传染性。
③ 病毒具有潜伏性。
④ 病毒具有破坏性。
⑤ 病毒具有针对性。

病毒的结构
引导模块
负责将病毒引导到内存,对相应的存储空间实施保护,以防止被其他程序覆盖,并且修改一些必要的系统参数,为激活病毒做准备。
传染模块
负责将病毒传染给其他计算机程序。它是整个病毒程序的核心,由两部分组成:一部分判断是否具备传染条件,另一部分具体实施传染。
表现模块
病毒触发条件判断部分
病毒的具体表现部分。

病毒的生命周期
潜伏阶段( A dormant phase )
繁殖阶段( A propagation phase )
激活阶段( The triggering phase )
执行阶段( The execution phase )

病毒的种类(Types of Viruses)

寄生型病毒(Parasitic virus)
驻留内存型病毒(Memory-resident virus)
引导区病毒(Boot sector virus)
自我隐藏型病毒(Stealth virus) :压缩技术、磁盘I/O截取判断
变形病毒(Polymorphic virus):插入多余指令、改变指令顺序、加密技术

病毒的工作过程

 

 

反病毒方法(Antivirus Approaches)

检测(Detection)
识别(Identification)
消除(Removal)

反病毒软件发展过程

第一代:简单扫描(Simple Scanners)

利用病毒特征识别病毒
利用特征串扫描,只限于检测已知病毒
文件长度变化扫描

第二代:启发式扫描(Heuristic Scanners)

利用启发式规则来搜索可能的病毒感染
搜索经常与病毒相关的代码段,如变形病毒中使用的加密循环的开始部分
完整性检查(integrity checking):程序检验和(checksum)、Hash函数

第三代:行为捕捉(Activity Traps)

常驻内存程序,通过感染程序的行为而不是结构来识别病毒
不需要发展出大量的病毒特征和启发规则,只要识别小的病毒行为集合

第四代:全面保护(Full-featured Protection)
各种反病毒技术的综合应用
扫描
行为捕捉
访问控制

 

入侵检测

入侵越来越多的原因
全球化
向C/S体系结构的转化
黑客的学习曲线难度下降

入侵目的:
获取对系统的访问权,或增加授权范围
入侵技术:
口令破解、窃取
存取控制

入侵检测的机理假设
假设:入侵者的行为与合法用户的行为可以用某种方法加以区分
入侵者的攻击与授权用户对资源的正常使用之间没有明确区别,两者之间存在重叠现象

 

入侵检测的方法
统计反常检测( statistical anomaly Detection )
Threshold detection
Profile-based
基于规则的检测( Rule-based Detection)
Anomaly detection
Penetration identification

 

防火墙的概念及相关术语

原义:防火墙的本义原是指古代人们房屋之间修建的那道墙,这道墙可以防止火灾发生的时候蔓延到别的房屋。
定义:指隔离在本地网络与外界网络之间的一道防御系统,是这一类防范措施的总称。

机制
第一种是除了非允许不可的都被禁止。安全不好用
第二种是除了非禁止不可都被允许。 好用不安全
第三种是综合体。在比较安全的前提下,提高效率

防火墙特征
保密性:是用户不需要被别人知道的
完整性:是用户不需要被别人修改的
可用性:是用户希望自己能够使用的

并发连接数
  并发连接数是指防火墙或代理服务器对其业务信息流的处理能力,是防火墙能够同时处理的点对点连接的最大数目.
   是衡量防火墙性能的一个重要指标 .

吞吐量
  吞吐量是指在不丢包的情况下单位时间内通过防火墙的数据包数量 。
   吞吐量太小,就会成为网络瓶颈 。
   百兆级    千兆级
用户数
   防火墙的用户数限制分为固定限制用户数和无用户数限制两种。
   用户数≠并发连接数
内网口(trust)
   局域内部网也就是要保护的局域网接在防火墙的内网口,采取内网口允许访问外部,禁止外部网访问公司局域网,内网口又称之为安全区
外网口(untrust)
   外部网(公用网)接在外网口,外网口又称之为非安全区
DMZ
   对外服务的计算机放在DMZ口,即让内网用户访问也让外部用户访问的计算机放在DMZ口,DMZ口又称为中立区、停火区

防火墙的作用

 

过滤进出网络的数据包
管理进出网络的访问行为
封堵某些禁止的访问行为
记录通过防火墙的信息内容和活动
对网络攻击进行检测和告警

功能:负载均衡
企业内部网络有三个WEB服务器,每个服务器内容完全一样,每个服务器的内部IP地址不同。防火墙将三个内部地址映射为一个外部地址202.96.23.10,Interent的用户在访问外部地址时,防火墙将根据预先设定的算法将外面进来的服务请求转发给其中一台服务器。负载均衡可以最大限度地发挥WEB服务器使用效率,提供最大的访问带宽。

功能: QOS (quality of service)

流量控制: 假设实际带宽为100兆,可以在防火墙上定义市场部访问Internet的带宽为20兆,财务部访问Internet的带宽为10兆。也可为Internet 访问公司对外的WEB服务器分配带宽。

 

 功能: Nat


软、硬件形式

软件防火墙
  安装在计算机上,单机版 天网防火墙,网络版checkpoint等
   需要熟悉计算机系统
硬件防火墙
   PC架构,Unix、Linux和FreeBSD系统
芯片级防火墙
  ASIC 芯片,专用OS。

防火墙的局限性
不能防范恶意的知情者
    防火墙可以禁止系统用户经过网络连接发送专有的信息,但用户可以将数据复制到磁盘、磁带上,放在公文包中带出去。如果入侵者已经在防火墙内部,防火墙是无能为力的。内部用户可以窃取数据,破坏硬件和软件,并且巧妙地修改程序而不接近防火墙。对于来自知情者的威胁,只能要求加强内部管理,如管理制度和保密制度等。
不能防范不通过它的连接
    防火墙能够有效地防止通过它的传输信息,然而它却不能防止不通过它而传输的信息。例如,如果站点允许对防火墙后面的内部系统进行拨号访问,那么防火墙绝对没有办法阻止入侵者进行拨号入侵。


不能防备全部的威胁
  防火墙是被动性的防御系统,用来防备已知的威胁,如果是一个很好的防火墙设计方案,就可以防备新的威胁,但没有一扇防火墙能自动防御所有新的威胁。
防火墙不能防范病毒
      防火墙一般不能消除网络上的病毒、木马、广告插件等。

推荐阅读