攻击技术:(5种)
1.网络监听:只是监听B和C的通信数据
2.网络扫描:利用程序去扫描B开发的端口等
3.网络入侵:探测到漏洞后,入侵到B获取信息
4.网络后门:在B种植木马等后门
5.网络隐身:入侵完毕后退出B,清除入侵痕迹,防止被B的管理员发现
网络安全处理过程(5个阶段):
1.评估阶段
2.策略制定阶段
3.实施阶段
4.培训阶段
5.审计阶段
IDS与扫描关系
攻击技术分析:
拒绝服务攻击(DoS):1.基于错误配置或软件弱点,可以补丁解决
如:Tear dorp (收到含有重叠偏移的伪造分段时将崩溃); Land(自己和自己对话ACK-SYN) ; Kiss of Death(逆序发送11个ICMP分片)
2.利用合理的服务请求占用过多资源,服务器超载,无法响应其他请求
如:PING OF DEATH (超大ICMP数据包); SYN FLOOD ; SMURF(ICMP 目的为广播地址,源会受到所有的回复)
ANTI-sniffer技术:
sniffer:混杂模式计算机接受IP正确,MAC错误包
ANTI-SNIFFER:发现网络中哪些主机是在混杂模式下,用这种方式发现入侵者。IDS使用了与sniffer一样的混杂技术,所以攻击者可以用ANTI-SNIFFER发现哪些主机装了IDS
1.DNS TEST:
创建大量假TCP连接,垃圾的sniffer就会对不存在的IP地址做DNSS查询。通过监听 DNS查询,确认对方是否进行网络窃听
2.Etherping Test:
发送ICMP ECHO包给B,正确IP,错误MAC,混杂就会接受
3.ARP test:(地址解析协议,IP-MAC)
发送ARP请求,只有MAC错误,混杂会接收
缓冲区溢出:
栈的作用①传参②返回地址③子程序变量
通过灌注大量nop指令,好命中shellcode,注入shellcode,可执行程序,通过自己指定的重复返回地址来命中nop+shellcode 使入侵代码得以执行
格式化字符串攻击:
可以利用不规范printf获取任意地址信息内容,访问栈中原本不能访问的内容
printf |
格式化字符串的地址 |
A的地址 |
B的地址 |
A |
B |
格式化字符串%A%B |
多用户权限:
linux为多用户系统,将所有特权给ROOT的管理员用户
进程的识别号:
真实用户ID- real user ID
真实用户组ID- real group ID
有效用户ID- effective user ID
有效用户组ID- effective group ID
通常:真实用户ID=有效用户ID=运行进程的用户ID
当设置set-user-id标志位后:真实用户ID=运行进程用户ID
有效用户ID=文件所有者ID
组同理
Ruid=我们 ;Euid=uucp;保存设置用户id=uucp(有效用户id副本,恢复用)
||
\/
Ruid=我们;euid=我们;保存设置用户id=uucp
| |
\/
Ruid = 我们;euid=uucp ;保存设置用户id=uucp
授予用户root特权:像root用户一样执行程序
Suid权限的程序:执行时:euid=所有者uid
完成后:euid=原本的uid
Usr/bin/passwd: root的suid权限程序
如果程序流程可以改变执行任意一段攻击者注入的代码,即用root身份执行任意代码
入侵检测:入侵检测是用于检测任何损害或企图损害系统的保密性、完整性或可用性行为的一种网络安全技术。
目的:发现非授权的或恶意的系统及网络行为
问题:充分可靠提取描述行为特征的数据,准确判断行为的性质
术语:
警报:IDS向操作人员报告被入侵
异常:用户行为或网络行为超过轮廓距离阈值为异常,需要发出警报
网络入侵特征数据库:入侵行为抽象成的特定的字符集合,可用于发现网络入侵。误用检测重要组成
构造数据包:不遵守数据包结构,构造数据包,进行欺骗,or接受者无法处理这样的数据包
自动响应:IDS能对攻击作出防御反应(reset切断/重置路由or防火墙,拒绝来自相同地址的流量)
攻击者可以利用自动响应达成DOS攻击
蜜罐:模拟漏洞系统,作为被攻击者。有道攻击者在上面浪费时间,延缓真正目标的攻击
安全策略:事先定义的正式文档声明,定义服务-网段-支持组织。包括哪些主机不许外部网络访问
感应器:从数据源收集数据
分类:
误用检测(滥用):用网络入侵特征数据库,高效的入侵检测系统,精确性高,不能发现未知的入侵,不能检测变种的入侵,发生漏报
异常检测:建立正常活动模型,对系统/用户的实际活动审计,判断用户是否不是好人,是否对系统构成威胁
数据源:
基于主机的数据源:
操作系统审计日志:操作系统内部产生,反应系统活动,审计记录组成
缺点:可读差,特异性强,不兼容,无关信息多
特点:信源可信度高(操作系统保护),细节多-精确模式匹配,入侵者难改变审计日志
系统日志(文本存放):反映系统事件和系统设置,系统不保护,软件产生,容易被篡改,需要备份
特点:可读强,无法得到审计就可用系统日志,提供更多角度
基于网络的数据源:
网络监听对受保护系统影响小/几乎没有;
网络监视器对用户是透明的,受攻击可能性小
发现对主机的基于网络协议的攻击方法(畸形数据包)
与受保护的主机操作系统无关
基于统计的模型:刻画正常模型
CIDF规格文档:
1.体系结构:IDS的通用模型
2.规范语言:描述各种检测信息的标准语言
事件:需要分析的数据(网络/主机)
3.内部通讯:IDS组件间通信的标准协议
通用入侵检测对象GIDO,特定时刻发生的特定事件/执行某个行动的指令
4.程序接口:提供一整套标准的应用程序接口
事件产生器
||GIDO
\ /
事件分析器
||GIDO
\ /
响应器
IDS:简单模式匹配技术
IDS在安全体系结构中层次的两种观点:
1.检测与保护不交叉,与OS无关,可靠性好,但是IDS需要协议还原,Unicode解码工作等原本OS/程序完成的工作,加重IDS负担,IDS对协议理解可能和OS/程序不一样,产生误报漏报
2.检测与保护紧密结合,有机结合,内核补丁/驱动程序形式,简洁方式准确检测
响应类型:
1.被动响应:只记录问题和报告问题
警报和通知
2.主动响应:用自动/用户指定的方式阻断攻击过程
类别:
1.针对入侵者采取的措施
联动响应:检测到需要阻断的入侵行为,启动联动机制,通知防火墙和其他安全控制设备对攻击源封堵,达到整体安全(防火墙-封堵外部网络;网络管理系统-封掉攻击者利用的网络设备和主机;操作系统-封掉有恶意的用户账号)
2.修正系统
3.收集更详细的信息
入侵响应按时间和紧急程度分类:
即时措施:入侵发生时
及时措施:入侵被完全检测出来时
本地长期措施:处于本地安全的长期考虑
全局长期措施:对社会安全状况很重要
数据生成:自动完成;可重复性;健壮性
方法:1.抓取正常/被攻击时的运行通信数据,处于隐私和安全,不可行
2.从实际运行数据中清除秘密信息,在其中加入攻击,不可行,难清除秘密信息
3.在内部网中重建正常通信和攻击数据,√
防火墙:
概念
防火墙:位于两个或多个网络之间,执行访问控制策略的一个或一组系统,是一类防范措施的总称
应具备:内-外网之间数据数据流通都经过防火墙;只有符合安全策略数据流才能通过防火墙;防火墙自身应对渗透(攻击)免疫
堡垒主机:配置了安全防范措施的网络上的计算机,网络间通信阻塞点,没有堡垒主机,网络之间不能相互访问,最显露,最安全,防火墙/内部网络应用代理
双宿主机:有两个网络接口的计算机系统,一个接内部网,一个接外部网
DMZ非军事区/停火区:在内部网与外部网之间增加的一个子网,旁边路由器,阻塞路由器,缓冲区,进一步隔离公网-内部网,放置必须公开的服务器
局限性:
1.为了安全,要关掉有用但可能有安全缺陷的网络服务
2.对内部网络攻击无能为力
3.不能防范不经过防火墙的攻击,如内部通过SLIP/PPP直接进入外部网
4.防火墙对用户不透明,传输延迟,瓶颈,单点失效
5.不能完全防止病毒文件/软件传播,不可能细致的检查,不然效率太低了
6.不能有效防范数据驱动式攻击
7.被动防护手段,不能防范新威胁和攻击
种类:
1.包过滤防火墙:
一台路由器实现,对接受的数据包检查,通过过滤规则决定转发/丢弃(双向)(规则:IP源/目的;TCP/UDP端口;ICMP消息类型;TCP中的ACK位),不匹配的缺省策略(没有被拒绝都通过-危险-新攻击-新策略;没有被允许都拒绝-保守-根据需要逐渐开发)
优点:简单,费用低,透明,效率高
缺点:维护困难,不支持用户鉴别
2.双宿/多宿主机模式:
堡垒主机用多个网卡和多个受保护子网连,每个网卡都有独立IP,必须禁止网络层的路由功能
3.屏蔽主机模式:
外部网-一堆过滤路由器-堡垒主机-内部网络,堡垒主机是外部网络唯一可直达的主机。保护内部网络不收未授权的外部用户攻击。网络层和应用层的安全。过滤路由器配置正确很重要,路由表不能被破坏,堡垒主机不能被越过,不然内部网就会暴露。
4.屏蔽子网模式:
外部网-一个外部过滤路由器-子网(非军事区/周边网)-一个内部过滤路由器-内部网
内部/外部都能访问非军事区,但是禁止他们穿过军事区。
外部入侵到堡垒主机,只能看到堡垒主机-内部过滤路由器的信息流,不知道内部网络的具体信息流,要访问内部还是要经过内部过滤路由器
过滤子网:可以只包含堡垒主机,也可以增加需要对外提供服务的web服务器,不通过外部网络和内部网络之间的通路。
外部路由器:保护过滤子网+内部网,只做小部分包过滤,对过滤子网的主机提供保护。有效任务为阻隔外部伪造内部的数据包。
内部路由器:保护内网,完成大部分包过滤工作
优点:堡垒主机运行各自代理服务,更有效提供服务
相关技术:
1.静态包过滤(通过数据包地址信息,固定决定是否通过)(IP层)
2.动态包过滤(临时通过,动态过滤,身份验证,动态开发数据通道)
3.应用程序网关*
4.网络地址翻译(NAT,解决IPv4网络地址空间不足的问题,向外部隐藏内部网络,解决地址交迭,负载均衡,静态网络地址翻译(人工);动态网络地址翻译)
5.虚拟专用网*
PKI系统主要组成:
认证机构CA
证书库:证书-用ca的私钥签名
密钥备份和恢复系统
证书撤销处理系统:CRL撤销证书列表,定期公布
PKI应用程序接口
数字证书验证流程:
验证签名-检查有效期-检查证书的预期用途是否符合CA在本证书指定的策略限制-确认没有在CRL里
使用证书的应用程序:
1.安全套接字层SSL:web C/S 服务器发证书给Web浏览器供其认证/web请求用户证书认证
2.安全的电子邮件:发送者签名随邮件发送/用接受者的公钥加密
3.虚拟专用网:信息加密
IPsec
IETF设计的端到端的确保IP层通信安全的机制,一组协议,IPv6必须支持,IPv4可选
IP可能的攻击:窃听、篡改、IP欺骗、重放
IPsec:透明,预防窃听、篡改,保证完整性、机密性
功能:
1.作为隧道协议实现VPN通信:第三层隧道协议,在IP层建立安全的隧道
2.保证数据来源可靠:IKE认证对方身份并协商密钥,只有IKE认证成功后才能通信。第三方无法冒充发送方(不知道验证和加密算法以及相关密钥)
3.保证数据完整性:验证算法,传输过程中的数据篡改,丢失都被检测
4.保证数据机密性:真正接收方才知道真正内容,其他人无法知道
结构:
(对于进出的每个数据包=丢弃、绕过、应用IPsec)
主报头后面扩展报头:AH(鉴别)|ESP header(加密和鉴别(可选))
策略:SA+SAD+SPD,唯一尚未成为标准的组件
SPD:安全策略库(每条记录对应一个安全策略),
对于外出数据报,先检索SPD,决定提供给他的安全服务;对于进入数据报,查阅SPD,判断为期提供的安全保护是否和安全策略规定的安全保护相符;有序的
SAD:安全关联库,
无序的,为进出数据报维持活动的SA列表,外出SA保障外出数据包安全,进入SA处理进入数据报
SA:安全关联,
一个关联=发送者->接受者的一个单向关系;
SA=SPI(安全参数索引,由AH和ESP携带,使接受系统可以选择合适SA处理接收包)+对方IP地址(单一地址,可是用户/末端系统/防火墙/路由器)+安全协议标识(AH安全关联/ESP安全关联)
安全关联的字段包括:
序号计数器
计数器溢出位
反重放窗口
AH信息
ESP信息
SA的生存期
IPsec协议模式:隧道/运输/通配符
路径MTU
手动or自动IKE管理安全关联,如果没有相应SA,IPsec内核就会启动/触发IKE协商
AH:与NAT冲突
3种服务:
1.数据完整性验证(哈希函数校验)
2.数据源身份认证(计算验证码时加入共享密钥)
3.防重放攻击(AH报头序列号)
传输模式:插入报头内,与NAT冲突,验证区域为整个IP包,源/目的IP地址不能改变
隧道模式:插入原始头前,在AH之前增加一个新IP头,也与NAT冲突,在隧道模式可以单独用,也可以和ESP嵌套
ESP
除了AH的三种额外2种,加密是ESP的基本功能,上面三个是可选:
1.数据包加密:可选整个IP包/IP包载荷加密
2.数据流加密:对整个IP包加密后传输,目的端路由器解密后将原始包转发
传输模式:验证不包括IP头,不会NAT冲突;加密不包括验证数据;加密不包括SPI和序号字段
缺点:除了ESP,任何IP头部字段都可以修改,只要校验和正确,就检测不出来,验证比AH弱
隧道模式:保护整个IP包,对整个包加密,ESP插入原IP头前,再在ESP前面加新IP头
特点:增加带宽(因为新IP头),流加密(源/目的地址也加密)
AH/ESP可单独使用,也可嵌套使用。-->主机-主机;安全网关-安全网关;主机-安全网关
IPsec模式:
1.隧道模式:保护整个IP包,只要IPsec双方有一方是安全网关/路由器,就必须使用隧道模式
短的在外面,因为如果只查看最前面的报头,会把加密信息转发出去,并没有解开
IPsec处理:
1.外出处理,检索SPD数据库,判断服务类型
丢弃:简单丢弃
绕过安全服务:为载荷添加IP头,然后分发IP包
应用安全服务:若有SA,返回指向SA指针;若无SA,调用IKE建立SA,(如果强制IPsec应用,SA没建立好,包不会被传出出去),SA建好后,按正确顺序增添AH和ESP头
2.进入处理,
如果包内没有IPsec,根据安全策略进行检查
丢弃:直接丢弃
应用安全服务:SA没有建立,包一样被丢弃
把包给上层
如果有IPsec包
提取三元组(SPI+目的地址+协议),在SAD检索。根据协议值交给AH/ESP层处理。协议载荷处理完后,在SPD中查询策略,验证SA使用是否得当
源/目的=主机;处理=ESP/AH;端点=开始/结束点
组成(阶段):(IP通信分为两个阶段)
1.协商阶段:通信双方互相认证对方身份,根据安全策略使用的加密、认证算法,生成会话密钥
2.数据交互阶段:利用协商好的算法和密钥对数据进行安全处理
IKE(Internet密钥交换):
用于动态建立SA
ISAKMP协商阶段:
阶段1:本阶段协商的SA=>ISAKMP SA(IKE SA)--->保证阶段2的安全通信
阶段2:本阶段协商的SA=>最终要协商的SA(Ipsec SA)--->保证AH/ESP的安全通信
阶段1产生的SA可以用于协商多个阶段2的SA,阶段2的安全有阶段1的协商结果来保证
IKE交换模式:
第一阶段:建立IKE SA,建立验证过的密钥
主模式:
1.协商建立IKE SA的参数:A->B提议;B->确认提议(加密算法,hash算法,认证方法,DH组选择)(明文)
2.交换密钥相关信息:diffe-hellman密钥交换,大数,随机数,身份标识(签名)
密钥信息推导出4个密钥
SKEYID基础密钥,推导出aed
SKEYID_a :为ISAKMP消息完整性验证密钥
SKEYID_e:为ISAKMP消息加密密钥
SKEYID_d:衍生出IPsec报文加密、验证密钥
3.交换身份信息认证对方身份:标识,证书,签名(SKEYID_e加密)
身份验证方法:预共享密钥;RSA签名;RSA加密认证;数字信封认证
积极模式/野蛮模式:无身份保护(因为密钥和身份一起进行);但是快
1.A->B:安全提议,密钥相关,身份信息
2.B->A: 密钥相关,身份信息,本地认证信息
3.A->B:回应验证结果,建立IKESA
第二阶段:为IPsec协商安全服务
快速模式:(用e加密,a验证完整性和身份验证)
1.A->B:发送本地IKE安全提议、密钥相关信息、身份信息
2.B->A:查找提议,发送密钥相关信息、身份信息、本端认证信息
3.A->B:返回本端认证信息,进行认证
容侵:
密码技术+容错技术,具有容侵能力的系统在受到攻击时,甚至系统的某些部分已经受到破坏、或者被恶意攻击者操控时,仍然能够对合法用户继续提供服务或降级服务,保持系统数据的机密性和完整性,并且具备自诊断、自恢复以及重新构造的能力。
分类:
基于攻击屏蔽的入侵容忍:,设计时就考虑被入侵的可能,成功屏蔽入侵,仿佛好像没有发生入侵一样。不要求检测,响应,全部依赖于预先采取的安全措施
基于攻击响应的入侵容忍:入侵检测识别入侵,根据具体入侵行为以及系统在入侵状态下的具体情况,选择合适的安全措施(进程清除/拒绝服务请求/资源重分配/系统重构)
计算机网络体系结构的脆弱性:
网络体系结构分析:分组交换、认证与可追踪、尽力而为的服务策略、匿名与隐私、无尺度网络、级联结构、互联网的级联特性、中间盒子
IPv4安全性分析:
IPv4协议没有认证机制:
无消息源认证:源地址假冒
无完整性认证:篡改
IPv4没有加密机制:
无机密性:监听应用数据
泄露拓扑等信息:网络侦察
无带宽控制:
DDos攻击
IPv6安全分析:
IPv4向IPv6过渡技术的安全风险:
协调攻击,利用协议不足来逃避检测;协议漏洞互相影响;隧道只是简单封装,不进行任何严格检查,复杂安全问题
无状态地址自动配置的安全风险:
NDP邻居发现协议实现IPv6节点无状态地址的自动配置和节点的即插即用。攻击者可以假冒合法路由器,伪造RA报文,使得IPv6节点选择恶意主机为默认网关,实现中间人攻击
PKI管理系统的安全风险
IPv6编址机制的隐患
ICMP安全分析:
利用伪造目的不可达报文对目标发起Dos攻击
利用改变路由报文破坏路由表,导致网络瘫痪
木马利用ICMP协议报文隐蔽通信
利用Echo请求/回答报文进行网络扫描或拒绝服务攻击
RIP协议安全分析:
不支持认证,UDP不靠谱
没有认证,攻击者可以伪造RIP路由更新信息,向邻居发送伪造信息(目的网络地址-子网掩码-下一条地址,结果若干轮路由更新,网络通信可能面临瘫痪 的风险
OSPF安全分析(内部网关路由协议)
攻击类型:
最大年龄攻击(MAX AGE attack):
LSA(链路状态通告)的最大年龄为1h,攻击者发送带有最大年龄设置的LSA信息报文,最开始的路由器通过产生刷新来发送这个LSA,而后引起age项中突然改变值的竞争。攻击者持续插入这个报文给整个路由器,导致网络混乱和DOS
序列号加一攻击:
OSPF根据LSA的序号字段判断是否是旧的LSA,序列号越大越新,攻击者持续插入较大的LSA,最开始的路由器就会产生、发生更新的LSA来与攻击者序列号竞争,导致网络不稳定和DOS
最大序列号攻击:
发送最大序列号的网络设备再次发送报文前,其他设备也将序列号重置,OSPF停15min
攻击者插入最大序列号的LSA报文,触发初始化过程。不断修改发出的LSA序列号->网络运行不稳定
BGP数字大炮攻击:
利用BPG路由表更新机制,在网络上制造某些通信链路的时断时续的震荡效应->网络频繁更新路由表->足够多,瘫痪
TCP协议安全分析:
网络扫描
DoS攻击
TCP会话劫持攻击
DNS安全威胁分类:(域名协议)
HTTP协议安全问题:
简单无状态
基于ASCII码,攻击者易于了解协议中的明文信息
中间盒子的理解不一致,可能导致新攻击
Cookie安全分析:
包含敏感信息,攻击者可以利用cookie进行窃密和欺骗攻击
SQL注入:
web应用程序对特殊字符串过滤不完全缺陷,一般发生在用户输入和sql语句拼接动作访问数据库时
---
整形参数SQL注入漏洞探测:
Select * from 表名 where 字段=YY
http://xxx.xxx.xxx/abc.asp?id=YY ’ =>>>在URL链接中附加一个单引号,运行异常
http://xxx.xxx.xxx/abc.asp?id=YY and 1=1 ====>>>在URL链接中附加一个and 1=1 ,运行正常
http://xxx.xxx.xxx/abc.asp?id=YY and 1=2 =====>>>>附加一个and 1=2,运行异常
说明后面的语句都会被识别进入数据库SQL
字符参数SQL注入漏洞探测:
Select * from 表名 where 字段=‘YY’
http://xxx.xxx.xxx/abc.asp?id=YY ’ ====>>,f附加单引号,运行异常
http://xxx.xxx.xxx/abc.asp?id=YY ‘and ’ 1‘=’1 ===>>运行正常'1'='1'
http://xxx.xxx.xxx/abc.asp?id=YY ‘and ’ 1‘=’2 ===>>运行异常'1'!='2'
防护SQL注入漏洞:
1.字符串长度验证
2.对单引号,双--,下划线_,百分号等sql注释符号转义
3.对接受的参数类型格式化,如id获取后直接转化int
4.不适用动态拼装,使用参数化sql/直接使用存储过程进行数据查询
5.不要用管理员权限连接数据库
6.不要把机密信息明文存放
7.少给应用异常提示,不要把原始异常提示给页面
8.做好xss跨站攻击防护,防止攻击者伪造管理员信息进入后台
9.服务端必须有数据校验(长度/格式/是否必填)