恶意代码具有如下共同特征:
①恶意的目的;
②本身是计算机程序;
③通过执行发生作用。
完整性验证:通过对明文M生成摘要信息,然后加密摘要信息附到明文后发送给对方,对方收到后将明文M运用同样的hash函数生成摘要信息,与解密得到的摘要信息对比,可以实现完整的验证。
在传输过程中能够保值信息的保密性、完整性、、不可否认性,设计了一个安全通信模型:
流程图如下:
解析:
M:指Message代表数据;
H:指对Message进行的Hash摘要算法;
H(M):指生成的摘要;
E:加密;
SKA:使用私钥加密(非对称加密密钥);
K:对称加密密钥;
PKA:使用公钥解密(非对称加密密钥)。
Linux系统将用户名存在/etc/passwd文件中,将口令保存在/etc/shadow中。
/etc/passwd权限:rw-r--r--
/etc/shadow权限:r--------
Linux系统的用户名文件包含如下内容:
root:x:0:0:root:root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
hujw:x:500:500:hujianwei:/home/hujw:/bin/bash
用冒号分割:
第一列:root、bin、hujw:代表用户名;
第二列:x:代表对应的帐号的口令都放到了/etc/shadow这个文件中;
第三列:0、1、500:代表用户标识号(userId),取值范围是0~65536,0代表超级用户,1~499代表管理帐号、500以上代表是普通用户;
第四列:0、1、500:代表组标识号(groupId);
第五列:root、bin、huijianwei:代表注释说明,记录用户的属性,如名称,电话地址等等;
第六列:root、/bin、/home/hujw:代表用户家目录,当用户登录就会出现在这个用户中;
第七列:/bin/bash、/sbin/nologin、/bin/bash:代表用户的shell;
心跳包格式如下:
| 心跳包类型(1字节) | 心跳包数据长度(2字节) | 数据/负载 |
如下代码:
p指向心跳包的报文数据,s是对应客户端的socket网络通信套接字
void process_heartbeat(unsigned char *p, SOCKET s){
unsigned short hbtype;
unsigned int payload;
hbtype = *p++; //心跳包数据类型
n2s(p, payload); //心跳包数据长度
pl = p;
if(hbyte == HB_REQUEST){
unsigned char *buffer, *bp;
buffer = malloc(1 + 2 + payload);
bp = buffer; //bp指向刚分配的内存
*bp++ = HB_RESPONSE; //填充1byte的心跳类型
s2n(payload, bp); //填充2byte的数据长度
memcpy(bp, pl, payload);
/*将构造好的心跳响应包通过socket s返回客户端*/
r = write_byte(s, buffer, 3 + payload);
}
}
代码想实现的功能:
获得了心跳包后,将类型,长度,和数据分别获取后,构造一个响应包,其中长度和数据不变,将请求中的数据原封不动的回过去。
但是有个问题,如果数据长度是65535,而真实的数据中就只有HelloWorld,这样会有其他6万个字节的莫名其妙的数据,这些数据可能会带有tcp缓存区其他数据包的数据。
存在的漏洞:
HeartBleed漏洞。由于没有对实际数据载荷长度进行检测,导致攻击者可读出内存中其他重要数据内容
模糊测试:介于手动测试和自动化测试之间的一种测试方式,通过测试工具,随机或半随机生成大量的数据,将这些数据发送给要测试的系统,然后测试工具检测被测系统的状态(能否相应,或者响应结果是否正确)分析出是否存在安全漏洞。
模糊测试属于黑盒测试,模糊测试是自动化的动态的漏洞挖掘技术,不存在误报。
通过模糊测试可以测试出上述代码存在安全漏洞。
通过测试发送请求数据包大小、内容、响应数据包大小、内容,进行比较分析,可以发现上述代码存在漏洞。
IDS(入侵检测系统):网络安全状态的监管,属于被动防护;
IPS(入侵防护系统):对入侵行为的控制,属于主动防护;
入侵检测是动态安全模型P2DR的重要组成部分,P2DR模型的4个主要组成部分:Protection保护、Response响应、Detection检测、Policy策略;
如果通过抓包可以看到,大量的主机与我们的服务发送SYN数据包,如seq=0、win=512、len=0,这个异常的数据包。这就是拒绝服务攻击(DDOS),具体名称为SYN flood。
异常检测:入侵者的活动异常于正常的主体活动。
误用检测:通过攻击行为的特征库,采用特征匹配的方式,确定攻击事件。误报率低,检测快,但不能发现特征库中没有的攻击行为。
snort是一款开源的网络入侵检测系统,他能实时流量分析和IP协议网络数据包记录。
snort的三种工作模式:嗅探器模式、包记录模式、网络入侵检测模式。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq78442761/article/details/121351165
内容来源于网络,如有侵权,请联系作者删除!