CN108737332B - 一种基于机器学习的中间人攻击预测方法 - Google Patents
一种基于机器学习的中间人攻击预测方法 Download PDFInfo
- Publication number
- CN108737332B CN108737332B CN201710248427.7A CN201710248427A CN108737332B CN 108737332 B CN108737332 B CN 108737332B CN 201710248427 A CN201710248427 A CN 201710248427A CN 108737332 B CN108737332 B CN 108737332B
- Authority
- CN
- China
- Prior art keywords
- data
- man
- analyzing
- decision tree
- machine learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于机器学习的中间人攻击预测方法,属于信息安全领域。其步骤如下,1.数据采集前的准备工作;2.数据筛选;3.对数据进行敏感过滤处理,剔除隐私信息;4.解析数据,匹配特征库;5.将解析完成的数据,使用决策树算法进行机器学习。该中间人攻击预测方法通过爬虫技术可以快速的对一个网址进行扫描,得到大量训练数据,提高了本发明中决策树生成的可靠性,使用数据筛选和隐私保护技术保证了数据来源的安全性和训练数据的保密性,所生成的决策树在大量训练集下进行训练,其特征均来源于人工提取,因此决策过程科学可靠。
Description
技术领域
本发明属于涉及信息安全领域,更具体地说,涉及一种基于机器学习的中间人攻击预测方法。
背景技术
中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机就称为“中间人”。随着计算机通信网技术的不断发展,MITM攻击也越来越多样化。最初,攻击者只要将网卡设为混杂模式,伪装成代理服务器监听特定的流量就可以实现攻击,这是因为很多通信协议都是以明文来进行传输的,如HTTP、FTP、Telnet等。后来,随着交换机代替集线器,简单的嗅探攻击已经不能成功,必须先进行ARP(Address Resolution Protocol地址解析协议)欺骗才行。如今,越来越多的服务商(网上银行,邮箱登陆)开始采用加密通信,SSL(Secure Sockets Layer安全套接层)是一种广泛使用的技术,HTTPS(加密的HTTP协议)、FTPS(文件传输协议)等都是建立在其基础上的。
要防范中间人攻击,可以将一些机密信息进行加密后再传输,这样即使被“中间人”截取也难以破解,但是随着信息技术的发展,这些加密的信息依旧可以被攻击。以HTTPS为例,这些加密过的信息依旧可以被中间人攻击,只不过攻击的方式和以前不同了,甚至可以说,根本就没有“完全安全”的传输环境,甚至一些我们认为是安全的安全设备也可能被中间人劫持了。现在中间人攻击会针对的网站架构,流量导向等来通过各种方式对数据进行嗅探,窃取。网络爬虫是搜索引擎技术的基础组成部分。网络爬虫技术是从一个或若干初始网页的URL(Uniform Resource Locator,统一资源定位符)开始,获得初始网页上的URL,在抓取网页信息的过程中,根据网页的抓取策略,不断从当前页面上抽取新的URL放入队列,直到满足某种停止条件。然后将抓取到的网页信息存储在搜索引擎的服务器中,从而可以加快用户的搜索速度。
发明内容
针对现有技术中存在的中间人攻击导致***加密信息被截取,本发明针对现有的中间人攻击方式,提取他们攻击模式下的特征,通过爬虫技术来获取特征,并通过机器学习下决策树的算法来大概给出可能会被攻击的方式和被攻击的概率。
基于机器学习的中间人攻击预测***,其特征在于,步骤如下,
S1.数据采集前的准备工作;
S2.数据筛选;
S3.对数据进行敏感过滤处理,剔除隐私信息;
S4.解析数据,匹配特征库;
S5.将解析完成的数据,使用决策树算法进行机器学习。
更进一步的,所述步骤S1中采集前的准备工作步骤为第一编写爬虫程序,爬取的方式以广度的形式爬取,因为第一次爬取的数据是我们的训练集,要求数据的多样性;通过学习分析中间人攻击的特征,可以分为两个大类:前端攻击和后端攻击;安装WireShark抓包软件,主要是针对中间人攻击的后端攻击行为,比如重定向,证书伪造,讲查到的文件存储为dump文件,可以判断是否有Tcp代理来实现中间人攻击的;安装sklearn模块,现在最主流的机器学习Python包,所有算法都是一个函数,相当简单;安装解析软件,本发明测试使用的Binpac解析的Dump文件,如对此软件不熟悉,请使用Python正则表达式对Dump文件进行解析。
更进一步的,所述步骤S2中数据筛选过程如下:预留充足的存出空间,为得到可靠的决策树,需要充足的训练集来支持;在爬虫程序和WireShark程序中设置数据的存储路径,并进行动态化管理;静态文件,存储到静态文件目录,动态包文件存储到动态包文件。
更进一步的,所述步骤S3中对数据进行敏感过滤处理,剔除隐私信息,其过程如下:生成隐私保护库;将通常涉及隐私的协议字段添加到隐私库;将保存的数据与隐私保护进行比对;判断数据是否含有隐私信息,如果是,则删除数据包。
更进一步的,所述步骤S4中解析数据,匹配特征库,其过程如下:先解析静态文件数据,若数据中含有http,https,form,location,href,click,listen等字段,则截取上层标签下的数据,如某段JS函数,含有click这个字段,则截取这个函数即可;解析动态文件数据,使用binpac解析文件,解析出文件中数据的传输时延和路由路径。
更进一步的,所述步骤S5中将解析完成的数据,使用决策树算法进行机器学习,其具体过程如下:使用sklearn使用提取好的特征生成决策树,利用生成好的决策树对需要进行预测的网址进行预测。
相比于现有技术,本发明的优点在于:
(1)本发明方法中通过爬虫技术可以快速的对一个网址进行扫描,因此可以得到大量的训练数据保证了本发明中决策树生成的可靠性。
(2)本发明方法中使用了数据筛选,和隐私保护的技术,保证了本发明中数据来源的安全性和训练数据的保密性。
(3)本发明方法在所生成的决策树在大量训练集下进行训练,特征来源于人工提取,其决策过程科学且可靠。
附图说明
图1为本发明方法收集数据及学习流程图;
图2为本发明方法整体架构图。
具体实施方式
下面结合说明书附图和具体的实施例,对本发明作详细描述。
实施例1
基于机器学习的中间人攻击预测***,搭建过程包括如下5个步骤,如图1所示:
步骤1:编写爬虫程序,爬取的方式要以广度的形式爬取,因为第一次爬取的数据是我们的训练集,要求数据的多样性。安装WireShark抓包软件,主要是针对中间人攻击的后端攻击行为,比如重定向,证书伪造,讲查到的文件存储为dump文件,可以判断是否有tcp代理来实现中间人攻击的。安装sklearn模块,安装解析软件,本发明测试使用的Binpac解析的Dump文件,如对此软件不熟悉,请使用Python正则表达式对Dump文件进行解析。
步骤2:在爬虫程序和WireShark程序中设置数据的存储路径,动态化的方便管理,爬虫爬取的多为静态的Html,Js文件而WireShark抓取的多为动态的包文件。
步骤3:对数据进行敏感过滤处理,剔除隐私信息,并生产隐私库。将保存的数据与隐私保护进行比对,判断数据是否含有隐私信息,如果是,则删除数据包。
步骤:4:先解析静态文件数据,若数据中含有Http,Https,Form,Location,Href,Click,Llisten等字段,则截取上层标签下的数据,如某段JS函数,含有click这个字段,则截取这个函数即可。使用Binpac解析动态文件,解析出文件中数据的传输时延和路由路径。
步骤5:将解析完成的数据,使用决策树算法进行机器学习,使用sklearn使用提取好的特征生成决策树,利用生成好的决策树对需要进行预测的网址进行预测。
如图2所示,本发明提供一种基于机器学习的中间人预测***的搭建方案,利用pyspider进行网页抓取获得我们想要的训练样本。通过对得到的训练样本进行过滤处理,提出不完整的,无用的或包含敏感信息的数据包,再根据我们提取的特征,进行决策树搭建,其实现步骤为:
步骤1)如图1所示,采集前的准备工作;
步骤1.1)编写爬虫程序,第一编写爬虫程序,爬取的方式要以广度的形式爬取,因为第一次爬取的数据是我们的训练集,要求数据的多样性;
步骤1.2)通过学习分析中间人攻击的特征,可以分为两个大类:前端攻击和后端攻击;
步骤1.3)安装WireShark抓包软件,主要是针对中间人攻击的后端攻击行为,比如重定向,证书伪造,讲查到的文件存储为Dump文件,可以判断是否有Tcp代理来实现中间人攻击的;
步骤1.4)安装Sklearn模块,现在最主流的机器学习Python包,所有算法都是一个函数,相当简单;
步骤1.5)安装解析软件,本发明测试使用的Binpac解析的Dump文件,如对此软件不熟悉,请使用Python正则表达式对Dump文件进行解析;
步骤2)数据筛选模块
步骤2.1)预留充足的存出空间,为得到可靠的决策树,需要充足的训练集来支持;
步骤2.2)在爬虫程序和WireShake程序中设置数据的存储路径,动态化的方便管理;
步骤2.3)静态文件,存储到静态文件目录
步骤2.4)动态包文件存储到动态包文件
步骤2.3)爬虫爬取的多为静态的Html,Js文件而WireShark抓取的多为动态的包文件;静态文件转步骤2.3);动态文件转步骤2.4)否则执行下面的步骤;
步骤3)对数据进行敏感过滤处理,剔除隐私信息;
步骤3.1)生成隐私保护库;
步骤3.2)将通常涉及隐私的协议字段添加到隐私库;
步骤3.3)将保存的数据与隐私保护进行比对;
步骤3.4)判断数据是否含有隐私信息,如果是,则删除数据包;
步骤4)解析数据,匹配特征库
步骤4.1)先解析静态文件数据
步骤4.2)若数据中含有和Http,Https,Form,Location,Href,Click,Llisten等字段,则截取上层标签下的数据,如某段JS函数,含有click这个字段,则截取这个函数即可。
步骤4.3)静态文件解析完成则转步骤4.4;否则转步骤4.2;
步骤4.4)解析动态文件数据;
步骤4.5)使用binpac解析文件,解析出文件中数据的传输时延和路由路径;
步骤5)将解析完成的数据,使用决策树算法进行机器学习;
步骤5.1)使用sklearn使用提取好的特征生成决策树;
步骤5.2)利用生成好的决策树对需要进行预测的网址进行预测,本***预测准确率在训练集的增长下呈线性上升收敛于1。
以上示意性地对本发明创造及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明创造的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本专利的保护范围。
Claims (1)
1.一种基于机器学习的中间人攻击预测方法,其特征在于,步骤如下,
S1.数据采集前的准备工作,数据采集前的准备工作步骤为两步,第一步为编写爬取数据集的爬虫程序,第二步安装本***所需要的相关软件;
S2.数据爬取及筛选,数据爬取及筛选过程为使用已经编写好的爬虫程序进行广度爬取,筛选相关数据;
S3.对数据进行敏感过滤处理,剔除隐私信息,对数据进行敏感过滤处理,剔除隐私信息,其过程如下:生成隐私保护库,将通常涉及隐私的协议字段添加到隐私库,将保存的数据与隐私保护进行比对,判断数据是否含有隐私信息,如果是,则删除数据包;
S4.解析数据,匹配特征库,解析数据,匹配特征库,其过程如下:先解析静态文件数据,若数据中含有http,https,form,location,href,click,listen等字段,则截取上层标签下的数据,如某段JS函数,含有click这个字段,则截取这个函数即可;而后解析动态文件数据,使用binpac解析文件,解析出文件中数据的传输时延和路由路径;
S5.将解析完成的数据,使用决策树算法进行机器学习,将解析完成的数据,使用决策树算法进行机器学习,其具体过程如下:使用sklearn提取好的特征生成决策树,利用生成好的决策树对需要进行预测的网址进行预测;
其中,S1的具体步骤为:
S11、编写爬虫程序,第一编写爬虫程序;
S12、通过学习分析中间人攻击的特征,可以分为两个大类:前端攻击和后端攻击;
S13、针对中间人攻击的后端攻击行为安装WireShark抓包软件;
S14、安装机器学习Python包;
S15、安装解析软件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710248427.7A CN108737332B (zh) | 2017-04-17 | 2017-04-17 | 一种基于机器学习的中间人攻击预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710248427.7A CN108737332B (zh) | 2017-04-17 | 2017-04-17 | 一种基于机器学习的中间人攻击预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108737332A CN108737332A (zh) | 2018-11-02 |
CN108737332B true CN108737332B (zh) | 2021-07-02 |
Family
ID=63924582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710248427.7A Active CN108737332B (zh) | 2017-04-17 | 2017-04-17 | 一种基于机器学习的中间人攻击预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108737332B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109474603B (zh) * | 2018-11-27 | 2023-05-30 | 平安科技(深圳)有限公司 | 数据抓包处理方法及终端设备 |
CN111343127B (zh) * | 2018-12-18 | 2021-03-16 | 北京数安鑫云信息技术有限公司 | 一种提升爬虫识别召回率的方法、装置、介质及设备 |
CN110781367B (zh) * | 2019-09-25 | 2023-10-20 | 中国科学院计算技术研究所 | 一种基于中间人的互联网数据采集方法及*** |
CN111314310B (zh) * | 2020-01-19 | 2021-02-12 | 浙江大学 | 一种基于机器学习的不可解析网络数据特征选择的攻击检测方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102420723A (zh) * | 2011-12-14 | 2012-04-18 | 南京邮电大学 | 一种面向多类入侵的异常检测方法 |
CN104135475B (zh) * | 2014-07-18 | 2017-05-24 | 国家电网公司 | 一种面向移动互联网的电力信息安全防护方法 |
CN105512285B (zh) * | 2015-12-07 | 2018-11-06 | 南京大学 | 基于机器学习的自适应网络爬虫方法 |
CN106126512A (zh) * | 2016-04-13 | 2016-11-16 | 北京天融信网络安全技术有限公司 | 一种集成学习的网页分类方法及装置 |
CN105939222B (zh) * | 2016-05-30 | 2019-08-23 | 南京邮电大学 | 一种基于开放网络和位置采集App信息的方法 |
-
2017
- 2017-04-17 CN CN201710248427.7A patent/CN108737332B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108737332A (zh) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10021129B2 (en) | Systems and methods for malware detection and scanning | |
US11399288B2 (en) | Method for HTTP-based access point fingerprint and classification using machine learning | |
US10395031B2 (en) | Systems and methods for malware detection and scanning | |
KR101689299B1 (ko) | 보안이벤트 자동 검증 방법 및 장치 | |
US8812652B2 (en) | Honey monkey network exploration | |
CN108737332B (zh) | 一种基于机器学习的中间人攻击预测方法 | |
US20150326588A1 (en) | System and method for directing malicous activity to a monitoring system | |
CN104580249B (zh) | 一种基于日志的僵木蠕网络分析方法和*** | |
CN103595732B (zh) | 一种网络攻击取证的方法及装置 | |
WO2015142755A1 (en) | Behavior profiling for malware detection | |
WO2015047803A1 (en) | Malware detection based on vm behavioral analysis and machine learning classification | |
Kaur et al. | Automatic attack signature generation systems: A review | |
CN111786966A (zh) | 浏览网页的方法和装置 | |
Hatada et al. | Empowering anti-malware research in Japan by sharing the MWS datasets | |
CN104954384B (zh) | 一种保护Web应用安全的url拟态方法 | |
WO2016081561A1 (en) | System and method for directing malicious activity to a monitoring system | |
Bachupally et al. | Network security analysis using Big Data technology | |
KR101005866B1 (ko) | 룰기반 웹아이디에스 시스템용 웹로그 전처리방법 및 시스템 | |
CN104202206A (zh) | 报文处理装置及方法 | |
US11019083B2 (en) | System for coordinating distributed website analysis | |
CN115102785B (zh) | 一种针对网络攻击的自动溯源***及方法 | |
CN114491229A (zh) | 攻击者的身份溯源方法、装置、设备、存储介质和程序 | |
Iavich et al. | 5G security function and its testing environment | |
CN110138719B (zh) | 一种网络安全的检测方法、装置及电子设备 | |
Patel et al. | Analyzing network traffic data using Hive queries |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |