0. 写在前面
- 安全的算法开发人员需要:精通算法,了解攻防,理解数据.
- 人工智能在各个领域得到了广泛的应用,特别是图像识别,自然语言处理,语音合成和语义识别等.但是在网络安全方向的应用显得相对较少.
- 近期很火爆的ChatGPT也再次证明了,人工智能的强大之处.
1. AI + 安全势在必行
- 安全的很多难题需要借助AI的工具来实施;
- AI在其他领域得到了广泛的应用;
2. 课题1:恶意代码
2.1 恶意代码图像
- 2011年由加利福尼亚大学的Nataraj和Karthikeyan在他们的论文Malware Images:Visualization and Automatic Classification中提出来的,思路非常新颖,把一个二进制文件以灰度图的形式展现出来,利用图像中的纹理特征对恶意代码进行聚类。
2.2 n-gram
- 将n-gram应用于恶意代码识别的想法最早由Tony等人在2004年的论文N-gram-based Detection of New Malicious Code中提出,不过他们的方法是基于ByteCode的。2008年Moskovitch等人的论文Unknown MalcodeDetection Using OPCODE Representation中提出利用OpCode代替ByteCode更加科学
3.安全数据集
3.1 KDD99 数据集
- KDD是知识发现与数据挖掘(Knowledge Discovery and DataMining)的简称,KDDCUP是由ACM组织的年度竞赛如图3–1所示。KDD99数据集就是KDD竞赛在1999年举行时采用的数据集。这是基于计算机智能的网络入侵检测奠定了基础.
- 41个特征分别的含义:
- TCP连接基本特征:9个
- TCP连接的内容特征:13个
- 基于时间的网络流量统计分析:9个
- 基于主机的网络流量统计特征
3.2 HTTP DATASET CSIC 2010
- HTTP DATASET CSIC 2010包含大量标注过的针对Web服务的36000个正常请求以及25000个攻击请求,攻击类型包括sql注入、缓冲区溢出、信息泄露、文件包含、xss等,被广泛用于WAF类产品的功能评测。
3.3 ADFA-LD数据集
垃圾邮件:SpamBase数据集
4. 特征工程
4.1 数字型特征提取
- 标准化
- 正则化
- 归一化
4.2 文本特征提取
- 词袋模型
- 词集模型
- 实例化分析
5. 攻击类型
5.1 XSS攻击
- XSS是一种经常出现在Web应用中的计算机安全漏洞,它允许恶意Web用户将代码植入到提供给其他用户使用的页面中。比如,这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制,例如同源策略。这种类型的漏洞由于被黑客用来编写危害性更大的网络钓鱼攻击而变得广为人知。对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击”,而JavaScript是新型的“ShellCode”。
- XSS的危害:
- ·盗取各类用户账号,如机器登录账号、用户网银账号、各类管理员账号;
- ·控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力;
- ·盗窃企业重要的具有商业价值的资料;
- ·非法转账;·强制发送电子邮件;·
- 网站挂马;·控制受害者机器向其他网站发起攻击。
5.2 SQl注入
- 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将SQL命令注入到后台数据库引擎执行的能力,比如先前的很多影视网站泄露VIP会员密码大多就是通过Web表单递交查询字符曝出的,这类表单特别容易受到SQL注入攻击。
- 推演可以通过:靶场和演示攻击
webshell概述
- WebShell就是以ASP、PHP、JSP或者CGI等网页文件形式存在的一种命令执行环境,也可以将其称为一种网页后门。黑客在入侵了一个网站后,通常会将ASP或PHP后门文件与网站服务器Web目录下正常的网页文件混在一起,然后就可以使用浏览器来访问ASP或者PHP后门,得到一个命令执行环境,从而达到控制网站服务器的目的。
僵尸网络
- 僵尸网络(Botnet)是指采用一种或多种传播手段,使大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络.