让我们看看这个学期的网安课给了我们啥。
法律法规
2010 10.1《中华人民共和国保守国家秘密法》
2016.11《中华人民共和国网络安全法》
2019.10.26 《中华人民共和国密码法》
介绍
安全的定义:一个系统,应用或协议的安全通常与一个包含期望属性的集合,一个有特定能力的对手相关。
C.I.A模型:
Confidentiality 保密性:
信息安全的首要重点是保密性,保密性是指避免未授权的信息披露。强调数据保护,为有权限的提供访问,同时禁止未授权的进行信息获取。
保密方法:
加密:使用密钥进行信息的转换,获取信息必须持有密钥。
访问控制:针对保密信息的限制规则。
身份验证:校验角色权限,基于持有信息,所知信息,身份信息。
授权:基于访问控制。
物理安全:对保护机密资源的物理隔离,保密柜,保密室。
Integrity 完整性,不可修改性:
信息具有不被未授权方式修改的属性。
完整性方法:备份,校验,纠错码
Availability 有效性:
信息可以被授权的人及时进行访问和修改的属性。
有效性方法:
物理保护:使用保持信息在物理变更后仍有效的基础设施
计算冗余:可以进行回滚操作恢复信息的计算机或存储设备
A.A.A 模型:
Authenticity 真实性:
判断人或系统所发出的声明,政策,权限是真实的能力
方法:数字签名
Assurance 保证性:
指计算机系统中信任管理提供的方法
信任管理依赖于:规则,授权,保护
Anonymity 匿名性:
某些记录或事务不能归属于个人的属性。
方法:
聚合:来自许多个人的数据的组合,使得公开的总数或平均数不能与任何个人联系在一起。
混合:以一种无法追溯到任何个人的方式将事务、信息或通信交织在一起。
代理:信任的代理,愿意以一种无法追溯到那个人的方式为一个人采取行动。
假名:可以在通信和事务中填入真实身份的虚构身份,但其他情况下只对受信任的实体知道。
攻击和威胁:
窃听 Eavesdropping:在通讯发生的传输信道上进行信息拦截
修改 Alteration:未授权对信息修改,如中间人攻击,拦截信息修改后再传输。
拒绝服务 Denial-of-service:数据服务和信息访问的中断和退化,如垃圾邮件,邮件炸弹攻击
伪造 Masquerading:伪造信息来源
否认 Repudiation:拒绝承认或数据接收,通常用于尝试退出需要数据接收方返回确认信息的协议。
关联和追踪 Correaltion adn traceback:集成多个数据源和数据流以确认某一特定数据流或者信息片段的源。
十大安全法则:
1.机制经济性
2.故障安全默认
3.完全仲裁
4.设计开放
5.特权分离
6.最小特权
7.最少公共机制
8.心理可接受
9.工作因素
10.危害记录
访问控制
访问控制矩阵:定义权限的一张表,每行是一个角色,每列是一个可访问对象
访问控制列表:定义每个可访问对象的可执行权限
密码系统组成:
可能的明文的集合
可能的密文的集合
加密密钥的集合
解密密钥的集合
加密密钥和解密密钥之间的对应关系
使用的加密算法
使用的解密算法
凯撒密码 给偏移量,进行基于字母顺序的移位
对称密钥:加解密使用的密钥一致,n个角色进行两两保密通讯需要n(n-1)/2个对称密钥。
公钥密码学:公钥加密,私钥解密
数字信封:使用会话密钥加密一次明文,再用对端的公钥加密一次会话密钥,对端获取两个信息后,用自身私钥解密会话密钥,再用解密出来的会话密钥解密密文。(若公钥是通过公钥证书获取的,则认为是有效的公钥。)
数字签名:为了保证一个信息的权威性,发布方先对该消息进行消息摘要,发布方使用自身持有的私钥对消息摘要进行加密,然后发送该密文。倘若能用发布方发布的公钥进行解密,得到实际获取信息一致的消息摘要,那么可以说明信息是完整有效的且权威的。
加密哈希函数(SHA-1,SHA-256):对一消息的校验,有如下特点:
单向,容易自消息计算出哈希值,但难以逆运算计算出原文。
碰撞抵抗,难以找到一个碰撞消息使其哈希值与原消息哈希值相同。
社会工程学内容:
Petexing 假托:引诱受害者暴露其信息
Baiting 诱饵:欺诈性使用户或代理进行不安全行为
Quid pro quo 相等补偿:提供一个行为或服务期待回馈
物理安全:被广泛定义为使用物理措施保护贵重的物品或信息,访问受限制的资源。
位置保护:保护计算机硬件的物理位置.
物理入侵检测:非法访问计算机硬件所在的物理位置的检测。
硬件攻击:对保存信息或计算的硬件进行攻击的方法,如硬件驱动器、网络适配器、内存芯片和微处理器
窃听:监视光、声音、无线电或其他信号以探测通信或计算的攻击。
物理接口攻击:利用系统物理接口的弱点来渗透系统安全性的攻击
边信道攻击:曲线救国,通过寻找系统保护漏洞简单实现攻击。
ATM安全:目前ATM的行业标准是三重DES(3DES)加密系统,这是一种具有112比特位对称密钥加密的系统。
对ATM的攻击:
黎巴嫩结:在ATM入口伪造吞卡工具,让顾客以为ATM损坏了,然后在顾客离开进行求助的时候使用该卡进行存取。
略读器:刷卡时读取和存储磁条信息的设备,攻击者使用该设备在ATM卡插槽上读取客户的磁卡信息,然后使用该信息复制出另一张卡。
假ATM:同时获取信用卡和个人识别码。
计算机取证:在计算机上保存,识别,提取,记录和解释数据的科学过程,用于获取潜在的法律证据。
在电子媒介上获取信息的实践,例如计算机系统、硬盘驱动器和光盘,通常用于收集用于法律诉讼的证据。而因此攻击者也可以使用这些取证技术来揭露敏感信息。
操作系统安全
缓存区:用于存储用户输入的固定大小的存储区域。
缓存区溢出:当用户输入超过了最大的缓冲区大小时发生。额外输入会进入不可预计的存储位置。
利用:一种输入(程序段,声明串,指令序列),对缺陷,漏洞或故障进行利用以进行攻击。
攻击:是一种对计算机软硬件或电子设备进行的预期外,未预料的能给攻击者带来好处的行为。
缓冲区溢出攻击:最常见的操作系统缺陷。
开发者对缓冲区控制有缺陷,使得输入覆盖一部分进程缓存运行,攻击者可以使用该方法执行恶意代码,或者恶意数据,若进程是在ROOT权限下运行的,则该恶意代码也是在ROOT指令下进行的。
基于UNIX的地址空间组织:
低位地址 0x0000 0000开始
文本域:程序机器码,源码编译结果
数据域:在源码执行前被初始化的静态变量。
BBS 符号起始的块 :未初始化的静态变量
堆:程序执行时动态构造的数据
栈:向下增长的结构,跟踪被调用方法和其参数,局部变量
高位地址 0xFFFF FFFF 结束
堆溢出攻击、栈溢出攻击
返回地址溢出攻击(实验内容):在缓冲区内写入恶意代码,并覆盖掉返回地址,使之指向恶意代码,当抵达返回地址时,将开始完整权限执行恶意代码。
实验里是通过将x=1语句覆盖掉,完成返回地址溢出,具体内容涉及具体的操作系统和语言里的堆栈存储设计 实验代码如下,函数最后一行的地址偏移量基于不同的实验环境会不同,需要具体观察
intmain(){
int x = 0;
function(1,2,3);
x = 1;
printf(“%d\n”,x);
}
voidfunction(int a, int b, int c){
char buffer1[5];
char buffer2[10];
int *r;
r = buffer1 + 12;
(*r) += 8;
}
恶意软件:为了破坏或拒绝操作而设计的程序(代码,脚本,活动内容和其他软件),收集敏感信息,获取对系统资源的未经授权的访问,以及其他滥用行为。它将
窃取个人信息
删除文件
点击欺诈操作
窃取软件序列号
将受害主机作为中继
恶意软件分类:
Viruses 病毒:人为或非人为的情况下产生,在用户不知情或未批准下,能自我复制运行的恶意计算机程序,需要人为帮助传播。
Trojans 木马: 经加壳制作伪装传播的后台程序,通过欺骗用户进行运行而运行。有可控制和不可控制两种。
Worms 蠕虫:与病毒相似,可自我复制,但其不需要附在其他程序内运行,可能不需要使用者介入操作也能自我复制或执行。
Rootkits:一种使用操作系统工具集,通过向操作系统内核注入程序执行的恶意程序(原本不一定是恶意的,rootkit最开始是给用户用的工具而已。)
后门:计算机系统中用于越过正常验证,安全远端登陆计算机,访问其资源的方法。
逻辑炸弹:一种基于特定逻辑条件执行结果而产生恶意行为的程序。好比Fork炸弹,千年虫问题
僵尸网络:由被入侵控制的计算机组成的庞大网络,集中控制该网络的头节点即为该网络的所有者,可用其发送垃圾邮件,作为跳板窃取信息。
隐私侵入软件:运行目的是用户的有价值或隐私的信息,广告软件,监视软件
John Von Neumann 冯 诺伊曼 的 《复杂自动机理论及组织进化》1949 提出了计算机病毒,蠕虫等自复制程序的理论基础。
网络安全
电路交换 (传统电话网):通过通信双方开始通讯时建立的电路进行的数据交换
包交换(互联网):数据分包,数据包独立基于网络传播,被当前最优处理节点逐级处理,路径不定
协议: 定义计算机通讯规则,基于面向连接和面向无连接等特征划分。
包封装:数据包一般包括:用于控制和标识数据包来源和目的地的信息+载荷数据
DDoS攻击 拒绝服务攻击:垃圾邮件攻击,邮件炸弹,Ping风暴攻击,TCP同步攻击,DNS劫持,接收缓冲区溢出攻击
Ping风暴攻击:通过大量ICMP响应请求占用对端资源 只能通过封锁广播网络的响应请求,进行过滤,封锁来源IP地址进行防范
这种方法需要大量的网络资源发起
TCP SYN Flood 同步风暴攻击:通过发送SYN请求且不进行请求确认,迫使对端打开大量半开连接,持续消耗对端资源
DNS Hijacaking DNS劫持:变更DNS信息,使对端在访问域名时获得错误的IP地址
中间人攻击:通过拦截通讯数据并且修改后正常转发,使该通讯过程双方得到虚假信息或使攻击者获取自身所需信息。
社会工程学:利用影响力和说服力迫使人们泄露敏感信息,这并不涉及技术手段
防火墙和IDS入侵检测系统:
防火墙:一组用于防止未授权的对网络计算机系统的访问的完整的安全措施,作为两个网络间的安全网关,通常处于可信网络和不可信网络间。
防火墙规则:用于从更大的互联网中保护隐私网络和独立主机的过滤规则集合。
主要有接收,丢弃,拒绝主要三种形式,有黑名单,白名单两种
防火墙有无状态过滤,有状态过滤,应用层过滤三种
UTM Unified Threat Management Products 一体化威胁管理产品
IDS Intrusion-detection system 入侵检测系统:
一种对网络传输进行即时监控,在发现可以传输时发出警报或主动采取反应措施的网络安全设备。是一种积极主动的安全技术。
IDS 原理:
基于知识的检测也称为误用检测,误用检测对检测的系统活动进行分析,试图发现那些与预定义好的入侵特征相匹配的事件和事件集,与入侵相对应的模式被称为特征,所以误用检测也被称为基于特征的检测。目前最常见的是将每一个入侵事件行为定义为一个特征描述,所有入侵行为特征描述组成特征库。误用检测系统通过对事件进行分析提取特征模式与特征库进行匹配,以判断是否有发生入侵行为。
基于行为的检测也称为异常检测,异常检测技术基于用户行为和进程行为都有较大稳定性的特点,建立用户行为和进程行为的正常模式,当出现较大的偏差异常时判定有入侵行为发生。通常实现为搜集一段时间的正常操作活动历史数据,建立起代表用户-主机-网络连接的正常行为轮廓,然后收集事件数据判断是否符合该行为模型。
IDS类型: 基于主机,基于网络,混合
组件:传感器(收集数据),分析器(判定入侵是否发生),用户界面
web安全
密码学
明文(Plaintext):伪装前的原始数据
密文(Ciphertext) :伪装后的数据
加密(Encrypt):伪装的过程
密钥(Key):参与密码变换的参数
加密算法:用于对数据加密的一组数学变换
解密(Decrypt):将密文恢复为明文
解密算法:用于解密的一组数学变换
滚筒密码=栅栏密码
凯撒密码:字母序偏移
对称加密过程
流密码加密过程
克劳德香农的基于现代块密码的 替换-置换网络 提供了混淆-扩散消息和密钥 替换如凯撒密码,置换如DES
混淆Confusion扩散Diffusion
密码需要完全抹除原生消息的特征,通过一次性填充进行
香农建议
扩散——耗散明文在密文上的统计结构
混淆——使密文和密钥间的关系尽可能复杂
费斯托密码结构
加密步骤:基于明文分组交叉进行加密函数运算和异或运算
1.明文划分成同等大小两组,L for Left group,E0 for encrypt level zero,R for Right group.
2.右组进行加密函数计算后,与左组进行一次异或,得到下一层右组
3.右组直接成为下一层左组
4.下一层右组进行加密函数计算后,与左组进行一次异或,得到下一层右组
5.右组直接成为下一层左组
6.经过8次该循环后,交换两组位置,输出密文
解密步骤:
1.密文划分成同等大小两组,左组解密顶层等于右组加密底层,右组解密顶层等于左组加密底层。
2.右组进行加密函数计算后,与左组进行一次异或,等到下一右组。
3.右组直接成为下一层左组。
4.下一层右组进行加密函数计算后,与左组进行一次异或,得到下一右组
6.右组直接成为下一层左组
6.经过8次该循环后,交换两组位置,输出明文。
Feistel网络的设计特点
分组大小:较大的分组意味着较强的安全性,但会降低加密解密速度。64位的分组大小是合理的折中,几乎所有的分组设计中都使用它
密钥大小:较大的密钥意味着较强的安全性,但会降低加密解密速度。现代算法中最常用的是128位密钥
循环次数:本质是单一循环的不足,多重循环能够加强安全性。典型的循环次数为16
子密钥生成算法:较大的复杂性会增大密钥分析的难度
循环函数:较大的复杂性意味着给密码分析带来更大的难度
DES加密算法
DES解析:
初始置换:
DES算法的入口参数
Key:8个字节64位,作为工作密钥
Data:8个字节64位,操作数据
Mode:DES工作方式
迭代过程
逆置换
子密钥生成
在费斯托密码结构上引入了子密钥生成过程,以及加密函数内容
64位密钥在忽略每8位一个的校验位后只剩下56位
密钥对等划分,进行一次左右对换后作为一个加密循环的输入密钥。
加密函数F:
通过使用一张表使32位输入拓展到48位,与密钥做一次异或
结果输入S盒,S盒内是以6位地址指向的4位值,以地址取值,最终8*6=8*4=32bit
最后再执行一次P盒变换。
DES涉及大量的基于已有表的变换操作。
雪崩效应:明文和密文中的一个小变化应当在密文中产生显著变化,一个比特更改能引起密文多个比特更改,若更改很小,则可能会提供了减少搜索的明文和键空间的大小的方法,DES具有强烈的雪崩效应。
RC4:
步骤:
1.初始化256位S盒,使用密钥K循环填充256位T盒
2.使用T盒,循环对S盒进行置换以确保混淆 规则为 S[i]<->S[j] j=j+S[i]+S[j]
3.生成流密钥:循环S盒,S[i]<->S[j]规则为 j=j+S[i] 流密钥T[i]=S[i]+S[j]
4.流密钥与明文做异或,得出密文
公钥密码学 Whitfield Diffie &Martin Helleman《New Directions in Cryptography》 1976
Differ-Helleman 密钥交换过程
1.协商一致全局变量 素数q,g为q的原根,(即g的n次方mod q是不同的整数)
2.每个用户选择一个随机密钥Xa 3.交换Ya后,计算共享密钥 对A来说 K=Yb^Xa mod q 对B来说 K=Ya^Xb mod q 这都等于 g^Xa*Xb mod q 4.使用共享密钥对需加密信息进行加密,攻击者只能获取到Ya,Yb,q,g 这时他必须自己选择X 进行碰撞才能计算出内容,但倘若使用中间人攻击从一开始便伪造信息进行密钥协商,还是可以攻击成功的。 RSA公钥算法 由Rivest ,Shamir ,Adleman于1978提出《A Method for Obtaining Digital Signature and Public-Key Cryptosystems》,建立于欧拉定理对大整数分解的难度上。 步骤: 1.选定两个大素数 p,q 2.使N=pq作为系数 3.根据欧拉算法,不大于N且与N互质的整数个数为(p-1)(q-1),选择一个这样的整数e 4.取一个d,使ed=1 mod(p-1)(q-1) 5.公钥即为(N,e) 私钥即为(d) 加解密 加密 密文=明文^e mod N 解密 明文=密文^d mod N 供应链安全 供应链:供应链是以完成从采购原材料到制成中间产品及最终产品,然后将最终产品交付用户为功能的,由一系列设施盒分布选择形成的网络。 ICT供应链/IT供应链/网络供应链:网络基础设施的全部集合包括终端用户、政策制定者、采购方、系统集成商、网络提供者以及软件/硬件供应商。用户/供应商之间通过组织盒过程互动来计划、构建、管理、维护和保护网络基础设施。