机器学习与网络安全相关的资料

近日,外媒刊登了一篇机器学习与网络安全相关的资料大汇总,文中列出了相关数据源的获取途径,优秀的论文和书籍,以及丰富的教程。大部分都是作者在日常工作和学习中亲自使用并认为值得安利的纯干货。

数据源

SecRepo.com 网站,该网站汇聚了大量的与机器学习和网络安全相关的数据源,并提供免费下载。据网站首页介绍,所有可用的数据源包含两个部分:一是网站方面自己整理的,二是来自第三方的。其内容包括互联网扫描数据,恶意软件源码,以及和网络安全相关的系统日志等。

论文

1. Fast, Lean, and Accurate: Modeling Password Guessability Using Neural Networks

(https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/melicher)

本文来自卡内基梅隆大学,分析了通用符号密码的脆弱性,以及目前常见的密码健壮性检验的各种缺点,甚至给出了他们在实验室利用神经网络算法攻破各种符号密码的具体步骤,非常强大。

2. Outside the Closed World: On Using Machine Learning for Network Intrusion Detection

(http://ieeexplore.ieee.org/document/5504793/)

本文来自加州伯克利大学,分析了利用机器学习探测网络安全的优势和劣势,并给出了一些改善这些劣势的解决方案。

3. Anomalous Payload-Based Network Intrusion Detection

(https://link.springer.com/chapter/10.1007/978-3-540-30143-1_11)

通常一个互联网上的恶意请求都会在真正的恶意代码外部包装一层善意的外衣,这大大阻碍了相关探测程序的正常工作。来自哥伦比亚大学的Ke Wang和Salvatore J. Stolfo两位学者在本文中给出了一种全新的探测恶意代码中有效代码段的方法,并在实测中达到了接近100%正确率和0.1%的误报率。

4. Malicious PDF detection using metadata and structural features

(https://dl.acm.org/citation.cfm?id=2420987)

当前,随着防范措施的升级,恶意代码隐藏在PDF和Word等文本文件中的例子屡见不鲜,用户防不胜防。在本文中,来自乔治梅森大学的学者介绍了一种通过机器学习技术探测恶意文本文件的技术,特别是内含恶意代码的PDF文件。

5. Adversarial support vector machine learning

(https://dl.acm.org/citation.cfm?id=2339697)

来自德州大学,介绍了两种利用机器学习技术探测网络恶意攻击的分析模型,即无边界攻击模型(free-range attack model)和限制边界攻击模型(restrained attack model)。

6. Exploiting machine learning to subvert your spam filter

(https://dl.acm.org/citation.cfm?id=1387709.1387716)

垃圾邮件过滤系统不算什么高新技术,但如何提升过滤的准确性一直是一个难题。本文中来自加州伯克利大学的学者们介绍了一种基于机器学习开发的垃圾邮件过滤器,为垃圾邮件的过滤提供了一种全新的实现思路。

以下论文来自 covert.io 网站,该网站的论文(或博客)数量庞大,但并不像上文提到的那些论文一样全部来自美国高校,covert.io 的文章也来自各大科技公司和研究所。

7. CAMP: Content-Agnostic Malware Protection

(http://www.covert.io/research-papers/security/CAMP%20-%20Content%20Agnostic%20Malware%20Protection.pdf)

来自谷歌,介绍了一种名为CAMP的恶意软件保护系统,该系统能够通过对二进制可执行文件的探测,确保互联网的软件应用安全。

8. Building a Dynamic Reputation System for DNS

(http://www.covert.io/research-papers/security/Notos%20-%20Building%20a%20dynamic%20reputation%20system%20for%20dns.pdf)

DNS服务器一直是互联网中非常重要的组成部分,针对目前越来越流行的DNS攻击,来自乔治亚理工学院的学者介绍了一种名为Notos的动态的域名信誉系统,可以有效防范各种针对DNS服务器的匿名的网络黑客攻击。

9. Detecting malware domains at the upper dns hierarchy

(http://www.covert.io/research-papers/security/Kopis%20-%20Detecting%20malware%20domains%20at%20the%20upper%20dns%20hierarchy.pdf)

本文介绍了一种名为Kopis的新型域名检测系统,可以有效探测互联网上包含恶意攻击代码的域名,由网络安全公司Damballa、乔治亚理工学院和乔治亚大学联合研发。

10. From Throw-away Traffic To Bots – Detecting The Rise Of DGA-based Malware

(http://www.covert.io/research-papers/security/From%20throw-away%20traffic%20to%20bots%20-%20detecting%20the%20rise%20of%20dga-based%20malware.pdf)

本文同样来自Damballa公司和乔治亚大学,介绍了一种针对僵尸网络的新技术,该技术够探测来自动态域名系统的恶意攻击,整合了聚合和分类两类算法。

11. EXPOSURE: Finding Malicious Domains Using Passive DNS Analysis

(http://www.covert.io/research-papers/security/Exposure%20-%20Finding%20malicious%20domains%20using%20passive%20dns%20analysis.pdf)

DNS服务器成为了越来越多黑客的攻击对象,本文介绍了一种名为EXPOSURE的域名分析系统,可以针对大批量的域名恶意访问进行探测,由Eurecom研究所、波士顿东北大学和加州大学共同研发。

12. Polonium: Tera-Scale Graph Mining for Malware Detection

(http://www.covert.io/research-papers/security/Polonium%20-%20Tera-Scale%20Graph%20Mining%20for%20Malware%20Detection.pdf)

本文来自网络安全公司Symantec、卡内基梅隆大学,介绍了一个名为Polonium的高效的可扩展的恶意软件探测系统。

13. Nazca: Detecting Malware Distribution in Large-Scale Networks

(http://www.covert.io/research-papers/security/Nazca%20-%20%20Detecting%20Malware%20Distribution%20in%20Large-Scale%20Networks.pdf)

大量用户在现实生活中下载并安装恶意软件的行为通常包含一定的规律性。来自加州大学圣巴巴拉分校、Narus公司的学者们将这些无人问津的数据利用起来,提出了一个名为Nazca的网络安全探测系统。

14. Anagram: A Content Anomaly Detector Resistant to Mimicry Attack

(http://www.covert.io/research-papers/security/Anagram%20-%20A%20Content%20Anomaly%20Detector%20Resistant%20to%20Mimicry%20Attack.pdf)

来自哥伦比亚大学,介绍了一个名为Anagram的异常数据报文探测器。

书籍

讲述数据科学和机器学习在网络安全领域的应用的书籍并不多,作者只介绍了以下两本。

1. Data Mining and Machine Learning in Cybersecurity

(https://www.amazon.cn/Data-Mining-and-Machine-Learning-in-Cybersecurity-Dua-Sumeet/dp/B00BU1CDFI/ref=sr_1_1?s=books&ie=UTF8&qid=1483425388&sr=1-1&keywords=Data+Mining+and+Machine+Learning+in+Cybersecurity)

作者是来自路易斯安那理工大学的Sumeet Dua博士和Xian Du博士,探讨了目前普遍存在的网络安全问题以及最先进的机器学习和数据挖掘解决方案。

2. Machine Learning and Data Mining for Computer Security

(https://www.amazon.cn/Machine-Learning-and-Data-Mining-for-Computer-Security-Methods-and-Applications/dp/184628029X)

编者是来自乔治城大学的Marcus A. Maloof,该书系统介绍了数据挖掘和机器学习技术在计算机安全领域的最新研究成果。

目前两本书都没有中文版,纸质版在亚马逊上的售价都超过1000人民币,第一本有Kindle电子版。

演讲

原文作者收集了如下一些关于机器学习和网络安全的演讲,演讲者们要么是来自相关领域的公司副总、技术负责人,要么是各大高校的研究人员、博士或者教授。

1. Using Machine Learning to Support Information Security

(https://www.youtube.com/watch?v=tukidI5vuBs)

视频系统介绍了机器学习在信息安全领域的应用,时长约1小时。

2. Defending Networks with Incomplete Information

(https://www.youtube.com/watch?v=36IT9VgGr0g)

要在限定的时间内(通常是24小时)对恶意攻击做出反应通常需要耗费巨大的人力和物力,但是如果利用机器学习的方法,首先对网络攻击进行优先级和攻击方式分类,甚至处理一些简单的套路式的攻击,则可以大大降低网络安全工程师的工作强度。本视频就介绍了这一思路的具体应用,时长约47分钟。

3. Applying Machine Learning to Network Security Monitoring

(https://www.youtube.com/watch?v=vy-jpFpm1AU)

这个视频介绍了如何将机器学习应用于网络安全探测,时长约1小时。

4. Measuring the IQ of your Threat Intelligence Feed

(https://www.youtube.com/watch?v=yG6QlHOAWiE)

目前互联网上存在着各种各样的网络安全的探测系统,但是用户对它们褒贬不一,究竟如何判断一个探测系统的可靠性,视频介绍了一种实用的判断方法,时长约40分钟。

5. Data-Driven Threat Intelligence: Metrics On Indicator Dissemination And Sharing

(https://www.youtube.com/watch?v=6JMEKnes-w0)

视频介绍了数据驱动下的安全情报分析,特别是和社交网络分享和传播相关的,时长约48分钟。

6. Applied Machine Learning for Data Exfil and Other Fun Topics

(https://www.youtube.com/watch?v=dGwH7m4N8DE)

为了帮助网络安全相关的研究者、分析师和极客爱好者了解机器学习,以及如何将机器学习应用在网络安全中领域中,例如数据泄露,本视频做了详细介绍,时长约43分钟。

7. Secure Because Math: A Deep-Dive on ML-Based Monitoring

(https://www.youtube.com/watch?v=TYVCVzEJhhQ)

视频介绍了以机器学习技术为基础的互联网监控,时长约46分钟。

8. Machine Duping 101: Pwning Deep Learning Systems

(https://www.youtube.com/watch?v=JAGDpJFFM2A)

44分钟教你攻克一个深度学习系统,必看系列。

9. Weaponizing Data Science for Social Engineering

(https://www.youtube.com/watch?v=l7U0pDcsKLg)

视频介绍了社交网络中的恶意攻击行为和数据科学对此可能发挥的作用,时长约44分钟。

10. Defeating Machine Learning What Your Security Vendor Is Not Telling You

(https://www.youtube.com/watch?v=oiuS1DyFNd8)

还是关于攻破机器学习的话题,视频介绍了如何攻破以机器学习为基础的互联网安全产品,时长约50分钟。

11. CrowdSource: Crowd Trained Machine Learning Model for Malware Capability Det

(https://www.youtube.com/watch?v=u6a7afsD39A)

视频介绍了如何利用机器学习模型来探测互联网安全,时长约28分钟。

12. Defeating Machine Learning: Systemic Deficiencies for Detecting Malware

(https://www.youtube.com/watch?v=sPtbDUJjhbk)

系统的“缺陷”也能用来探测恶意软件?这个视频用45分钟为你详细讲解利用机器学习和系统“缺陷”来探测恶意软件的方法。

13. Packet Capture Village – Theodora Titonis – How Machine Learning Finds Malware

(https://www.youtube.com/watch?v=2cQRSPFSY-s)

视频介绍了如何利用机器学习探测移动端恶意软件,时长约44分钟。

14. Build an Antivirus in 5 Min – Fresh Machine Learning

(https://www.youtube.com/watch?v=iLNHVwSu9EA&t=245s)

视频用5分钟介绍了如何用互联网上开源的机器学习框架编写一个全新的防病毒程序。

15. Hunting for Malware with Machine Learning

(https://www.youtube.com/watch?v=zT-4zdtvR30)

视频介绍了针对企业用户的自动化恶意软件探测系统,时长约48分钟。

项目和教程

1. Click Security Data Hacking Project

(http://clicksecurity.github.io/data_hacking/)

该项目包含了一系列与IPython、Pandas、Scikit Learn相关的练习,包含笔记和原代码,每个练习都会故意设置一些常见的代码错误、数据库错误和逻辑错误供使用者改正。该系列教程几乎是机器学习在信息安全领域应用的必学教程。

2. Using Neural Networks to generate human readable passwords

链接中是一位大神自己编写的一个基于Keras框架和python语言的密码生成器,利用了深度神经网络原理,在保证密码安全性的同时也保证了易读性。该项目的代码已经在Github上开源,可以结合上文提到的论文《Fast, Lean, and Accurate: Modeling Password Guessability Using Neural Networks》一起学习。

原代码:https://github.com/keras-team/keras/blob/master/examples/lstm_text_generation.py

3. Machine Learning based Password Strength Classification

该项目关于用机器学习算法判断一个已知密码的健壮性,代码已经在Github上开源。

源代码:https://github.com/faizann24/Machine-Learning-based-Password-Strength-Classification/tree/master

4. Using Machine Learning to Detect Malicious URLs

该项目关于如何利用机器学习探测恶意的互联网链接地址,据称可以达到98%的正确率。

源代码:https://github.com/faizann24/Using-machine-learning-to-detect-malicious-URLs

5. Big Data and Data Science for Security and Fraud Detection

(https://www.kdnuggets.com/2015/12/big-data-science-security-fraud-detection.html)

这是一篇综述文章,文中介绍了多个国家/地区/大公司正在使用或研发的大数据分析工具和技术,这些技术结合了文本挖掘、机器学习或者网络分析,能够在早期阶段对网络安全威胁进行检测和预防。

6. Using deep learning to break a Captcha system

(https://deepmlblog.wordpress.com/2016/01/03/how-to-break-a-captcha-system/)

这是一篇博客文章,介绍了如何利用深度学习技术破解烦人的验证码系统,作者在文中给出了部分关键功能模块的源代码,并且在文末还给出了许多参考链接。

7. Data Mining for Cyber Security

(http://web.stanford.edu/class/cs259d/)

这是斯坦福大学开设的一个系列公开课,关于数据挖掘在互联网安全中的应用。在链接中可以直接看到课程安排,下载到讲师演讲的文本记录、PPT,查看课后作业的题目和此前同学上传的答案,以及课后的深入阅读列表。这一课程可能是数据科学目前在网络安全领域已经公开的最好的课程之一。

其他

1. System predicts 85 percent of cyber-attacks using input from human experts

(news.mit.edu/2016/ai-system-predicts-85-percent-cyber-attacks-using-input-human-experts-0418)

这是一篇研究成果介绍的文章,介绍了来自MIT计算机科学与人工智能实验室(CSAIL)和一家机器学习初创公司PatternEx的最新研究成果:一个名为AI2的人工智能平台,能够根据人类网络安全专家输入的数据,对当前网络可能遭到的安全威胁做出预测,正确率高达85%,超越了目前已知的其他同类预测系统。文中通过文字和视频的方式讲解了这一预测系统的基本工作原理。

2. MLSec

(www.mlsecproject.org/#open-source-projects)

这是一个开源项目相关的网站,该网站聚合了一系列将机器学习技术应用于网络安全领域的开源项目,同时还开设了博客文章和社区讨论频道,帮助开发者对这些项目深入理解。

3. An Introduction to Machine Learning for Cybersecurity and Threat Hunting

(blog.sqrrl.com/an-introduction-to-machine-learning-for-cybersecurity-and-threat-hunting)

这是一篇深度文章,通过与几位数据科学大牛访谈的形式,详细介绍了机器学习和网络安全的关系以及相关应用。

 

原文:https://www.kdnuggets.com/2017/01/machine-learning-cyber-security.html

附原文作者简介:Faizan Ahmad,Fulbright 计划大学生,目前在巴基斯坦国立计算机与新兴科学大学(National University of Computer and Emerging ScienCES)学习,同时在巴基斯坦的拉合尔管理科学大学(Lahore University of Management Sciences)担任研究助理,主攻计算机和网络安全研究方向。

上一篇:后量子时代的应用密码策略

下一篇:MySQL UDF开发