《Web安全之机器学习入门》一 1.4 人工智能在安全领域的应用

简介: 本节书摘来自华章出版社《Web安全之机器学习入门》一 书中的第1章,第1.4节,作者:刘焱,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.4 人工智能在安全领域的应用

人工智能在安全领域的应用还属于起步阶段,各大安全公司以及互联网巨头都投入大量的人力物力,试图使用人工智能的技术来颠覆安全这个行业,目前在黄反鉴定、恶意链接、业务风控领域、病毒分析、APT检测方面都取得了不错的进展,典型案例的就是2015年的一次数据挖掘比赛。
2015年,微软在Kaggle上发起了一个恶意代码分类的比赛,并提供了超过500G的原始数据。有意思的是,取得第一名的队伍三个人都不是搞安全出身的,所采用的方法与我们常见的方法存在很大不同,展现了机器学习在安全领域的巨大潜力。早期的反病毒软件大都单一的采用特征匹配的方法,简单的利用特征串完成检测。随着恶意代码技术的发展,恶意代码开始在传播过程中进行变形以躲避查杀,此时同一个恶意代码的变种数量急剧提升,形态较本体也发生了较大的变化,反病毒软件已经很难提取出一段代码作为恶意代码的特征码。Kaggle比赛中最重要的环节就是特征工程,特征的好坏直接决定了比赛成绩。在这次Kaggle的比赛中冠军队伍选取了三个“黄金”特征:恶意代码图像、 OpCode n-gram 和 Headers 个数,其他一些特征包括 ByteCode n-gram ,指令频数等。机器学习部分采用了随机森林算法,并用到了 xgboost 和 pypy 加快训练速度,最终他们检测的效果超过了常见传统检测方式,取得了冠军。
1.恶意代码图像
这个概念最早是2011年由加利福尼亚大学的 Nataraj 和 Karthikeyan 在他们的论文 Malware Images: Visualization and Automatic Classification 中提出来的,思路非常新颖,把一个二进制文件以灰度图的形式展现出来,利用图像中的纹理特征对恶意代码进行聚类。此后,有许多研究人员在这个思路基础上进行了改进和探索。就目前发表的文章来看,恶意代码图像的形式并不固定,研究人员可根据实际情况进行调整和创新。

  1. OpCode n-gram
    n-gram 是自然语言处理领域的概念,早期的语音识别技术和统计语言模型与它密不可分。 n-gram 基于一个简单的假设,即认为一个词出现的概率仅与它之前的n-1个词有关,这个概率可从大量语料中统计得到。例如“吃”的后面出现“苹果”或“披萨”的概率就会比“公路”的概率大(正常的语料中基本不会出现“吃公路”这种组合),可以看出 n-gram 在一定程度上包含了部分语言特征。

将 n-gram应用于恶意代码识别的想法最早由Tony等人在2004年的论文 N-gram-based Detection of New Malicious Code 中提出,不过他们的方法是基于 ByteCode 的。2008年 Moskovitch 等人的论文 Unknown Malcode Detection Using OPCODE Representation 中提出利用 OpCode 代替 ByteCode 更加科学,如图1-6所示。

screenshot

在移动应用领域,使用类似的思路也取得了不错的成绩,我的同事王磊使用深度学习识别恶意APK,准确率达到99.96%,召回率达到了80%,2016年,反映该研究成果的论文“AI Based Antivirus: Can Alphaav Win The Battle in Which Man Has Failed?”被享誉国内外的Blackhat会议收录并做了相关演讲。
恶意APK伴随移动互联网井喷式的发展,其数量在近几年几何级别增长,如图1-7所示。传统的基于规则的检测技术已经无法覆盖如此大量的恶意程序。

screenshot

王磊团队在大量的人工分析恶意APK的工作中发现,人工分析的过程很类似图像识别的过程。深度学习在图像识别领域有着成熟的应用,是否可以通过提取APK特征,通过深度学习的方法来自动化识别恶意APK呢?如图1-8所示。

screenshot

王磊团队对APK的特征提取主要分为三大类特征:
结构化特征,包括APK申请的权限的个数,资源文件中包含的图像文件个数和参数大于20的函数的个数等。
统计类特征,包括近千条统计特征。
长期恶意APK检测的经验总结的特征,包括资源文件中是否包含可执行文件,assets文件夹中是否包含APK文件等。
特征提取过程如图1-9所示。

screenshot

归一化处理一千多个特征,取值控制在-1和1之间,如图1-10所示。

screenshot

使用深度学习网络训练,训练过程如图1-11所示。

screenshot

整个训练过程中使用超过了15万个样本,训练使用了百度开源的深度学习框架Paddle。本书的第二部中关于深度学习的案例也主要使用Paddle和TensorFlow框架编写。

相关文章
|
14天前
|
机器学习/深度学习 监控 算法
机器学习在图像识别中的应用:解锁视觉世界的钥匙
机器学习在图像识别中的应用:解锁视觉世界的钥匙
231 95
|
20天前
|
机器学习/深度学习 人工智能 安全
CCF-CV企业交流会:打造大模型时代的可信AI,探索AI安全治理新路径
近日,由中国计算机学会计算机视觉专委会主办的《打造大模型时代的可信AI》论坛顺利举行。论坛邀请了来自上海交通大学、中国科学技术大学等机构的专家,从立法、监管、前沿研究等多角度探讨AI安全治理。合合信息等企业展示了图像篡改检测等技术,助力AI向善发展。
60 11
CCF-CV企业交流会:打造大模型时代的可信AI,探索AI安全治理新路径
|
10天前
|
机器学习/深度学习 人工智能 安全
阿里云先知安全沙龙(武汉站) ——AI赋能软件漏洞检测,机遇, 挑战与展望
本文介绍了漏洞检测的发展历程、现状及未来展望。2023年全球披露的漏洞数量达26447个,同比增长5.2%,其中超过7000个具有利用代码,115个已被广泛利用,涉及多个知名软件和系统。文章探讨了从人工审计到AI技术的应用,强调了数据集质量对模型性能的重要性,并展示了不同检测模型的工作原理与实现方法。此外,还讨论了对抗攻击对模型的影响及提高模型可解释性的多种方法,展望了未来通过任务大模型实现自动化漏洞检测与修复的趋势。
|
22天前
|
机器学习/深度学习 传感器 人工智能
人工智能与机器学习:改变未来的力量####
【10月更文挑战第21天】 在本文中,我们将深入探讨人工智能(AI)和机器学习(ML)的基本概念、发展历程及其在未来可能带来的革命性变化。通过分析当前最前沿的技术和应用案例,揭示AI和ML如何正在重塑各行各业,并展望它们在未来十年的潜在影响。 ####
84 27
|
8天前
|
人工智能 安全 算法
PAI负责任的AI解决方案: 安全、可信、隐私增强的企业级AI
在《PAI可信AI解决方案》会议中,分享了安全、可信、隐私增强的企业级AI。会议围绕三方面展开:首先通过三个案例介绍生活和技术层面的挑战;其次阐述构建AI的关键要素;最后介绍阿里云PAI的安全功能及未来展望,确保数据、算法和模型的安全与合规,提供全方位的可信AI解决方案。
|
15天前
|
人工智能 安全 机器人
OpenAI重拾规则系统,用AI版机器人定律守护大模型安全
在人工智能领域,大语言模型(LLM)展现出强大的语言理解和生成能力,但也带来了安全性和可靠性挑战。OpenAI研究人员提出“规则基于奖励(RBR)”方法,通过明确规则引导LLM行为,确保其符合人类价值观和道德准则。实验显示,RBR方法在安全性与有用性之间取得了良好平衡,F1分数达97.1。然而,规则制定和维护复杂,且难以完全捕捉语言的多样性。论文:https://arxiv.org/pdf/2411.01111。
57 13
|
11天前
|
机器学习/深度学习 传感器 人工智能
开源AI视频监控系统在监狱安全中的应用——实时情绪与行为分析、暴力预警技术详解
针对监狱环境中囚犯情绪波动和复杂人际互动带来的监控挑战,传统CCTV系统难以有效预警暴力事件。AI视频监控系统基于深度学习与计算机视觉技术,实现对行为、情绪的实时分析,尤其在低光环境下表现优异。该系统通过多设备协同、数据同步及自适应训练,确保高精度识别(95%以上)、快速响应(<5秒),并具备24小时不间断运行能力,极大提升了监狱安全管理的效率与准确性。
|
22天前
|
机器学习/深度学习 数据采集 运维
机器学习在运维中的实时分析应用:新时代的智能运维
机器学习在运维中的实时分析应用:新时代的智能运维
73 12
|
1月前
|
机器学习/深度学习 人工智能 算法
人工智能浪潮下的编程实践:构建你的第一个机器学习模型
在人工智能的巨浪中,每个人都有机会成为弄潮儿。本文将带你一探究竟,从零基础开始,用最易懂的语言和步骤,教你如何构建属于自己的第一个机器学习模型。不需要复杂的数学公式,也不必担心编程难题,只需跟随我们的步伐,一起探索这个充满魔力的AI世界。
51 12
|
4天前
|
人工智能 运维 API
PAI企业级能力升级:应用系统构建、高效资源管理、AI治理
PAI平台针对企业用户在AI应用中的复杂需求,提供了全面的企业级能力。涵盖权限管理、资源分配、任务调度与资产管理等模块,确保高效利用AI资源。通过API和SDK支持定制化开发,满足不同企业的特殊需求。典型案例中,某顶尖高校基于PAI构建了融合AI与HPC的科研计算平台,实现了作业、运营及运维三大中心的高效管理,成功服务于校内外多个场景。