news 2026/4/16 19:27:41

AppPoet:基于LLM提示工程的安卓恶意软件检测

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AppPoet:基于LLM提示工程的安卓恶意软件检测

1 研究背景

1.1 问题

Android软件由于其来源特性容易受到hacker攻击
现有的基于传统机器学习的apk检测方法在挖掘软件行为语义信息方面存在局限性,且检测结果缺乏可解释性

1.2 传统机器学习方法

  1. 基于字符串
    方法:将提取的特征表示成字符串序列,然后编码成向量
    优点:易于理解和实现
    缺点:未能捕捉特征之间的深层语义关系
  2. 基于图像
    方法:将APK转换为图像并应用图像识别技术进行分类
    优点:简单高效
    缺点:容易忽视应用内的关键语义信息
  3. 基于图的方法
    方法:构建图结构以捕捉特征之间的语义关系
    优点:能更有效地表示复杂的应用行为
    缺点:构建复杂的图结构会带来较大计算负担和资源消耗

一般流程:
反编译APK->提取多种不同的特征->以不同方式组合和处理,获得所应用的表示向量->将表示向量用于训练分类器以检测恶意软件

2 方法论

2.1 特征提取

方法:静态特征提取
文件:Manifest.xml、class.dex
特征:permission、API、URL、uses-feature
三视图:permission view、API view、URL & uses-feature view
URL、uses-feature的数量较少,因此合并
工具:

  • Androguard:反编译apk,提取特征
  • PScout:建立apk及其使用的权限的映射

2.2 多视图文本生成

使用:gpt-4-1106-preview

2.2.1 功能描述模板


生成键值对形式的功能描述
例如:
[“android.permission.WRITE_SMS”: “allows sending and editing SMS”]
存储机制:
若某个permission、API、URL、uses-feature之前生成过对应的功能描述,则直接使用先前的描述而不再生成
显著提升了LLM生成效率并减少token消耗

2.2.2 视图总结模板

2.3 检测分类

使用OpenAI 的嵌入模型text-embedding-ada-002,将文本描述转化为向量
使用向量训练DNN模型进行二分类

2.4 获取诊断报告

结合多视图文本描述与DNN检测结果生成检测结果诊断报告,为检测结果提供可解释性分析

3 实验

3.1 实验数据

来源:AndroZoo
良性样本:11189
恶意样本:12128

3.2 基准实验

3.3 消融实验

去除其中一个视图,或者去除功能描述、视图总结后检测效果对比

API视图对结果的影响最大

4 改进方向

  1. 引入更多静态特征,丰富视图种类
  2. 采用交互式动态与静态组合特征检测方法
  3. 建立有效的错误检查和纠正机制,预防LLM幻觉
  4. 调用远程LLM易受到网络波动影响,导致巨大token开销。可以本地部署LLM并使用Android安全领域的知识微调
  5. 基于开源LLM结合检索增强生成(RAG)进一步设计思维链,以确保输出的质量和稳定性

原文链接:
AppPoet: Large Language Model based Android malware detection via multi-view prompt engineering

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 19:21:13

嵌入式开发避坑:eMMC HS200/HS400模式下的Sampling Tuning到底怎么工作的?

嵌入式开发实战:eMMC HS200/HS400模式下Sampling Tuning机制深度解析 当你在凌晨三点的实验室里盯着示波器上跳动的波形,试图找出为什么嵌入式系统在高温环境下频繁出现eMMC读写错误时,Sampling Tuning机制可能正是那个被忽略的关键因素。本文…

作者头像 李华
网站建设 2026/4/16 19:20:06

CentOS 5.8下1核2G服务器搭建DNF私服全记录(附资源与常见启动失败排查)

CentOS 5.8下1核2G服务器搭建DNF私服全记录 在低配服务器上搭建游戏私服一直是技术爱好者热衷的挑战。当手头只有1核2G的云服务器,系统还是早已停止维护的CentOS 5.8时,整个过程就变成了一场与硬件限制的博弈。本文将详细记录如何在这样严苛的环境下&…

作者头像 李华
网站建设 2026/4/16 19:19:35

百度网盘macOS版性能优化方案探索:从限速困境到技术突破

百度网盘macOS版性能优化方案探索:从限速困境到技术突破 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 百度网盘作为国内主流的云存储服务…

作者头像 李华
网站建设 2026/4/16 19:18:00

CUDA_VISIBLE_DEVICES设置无效?3种方法彻底解决PyTorch多GPU分配问题

CUDA_VISIBLE_DEVICES设置无效?深度解析PyTorch多GPU分配机制与实战解决方案 当你在深夜调试模型时,突然看到屏幕上跳出"CUDA unknown error"的红色警告,而nvidia-smi显示GPU资源明明充足——这种挫败感每个深度学习工程师都深有体…

作者头像 李华
网站建设 2026/4/16 19:17:45

Java流程控制:用户交互Scanner

一。Scanner实现程序和人的交互,我们可以通过Sconner类来获取用户的输入(也可以不用if进行判断)public static void main(String[] args) {//创建一个扫描器对象,用于用户输入Scanner scanner new Scanner(System.in);//System.i…

作者头像 李华
网站建设 2026/4/16 19:15:51

4月15日

函数类型参数类型,匿名函数力扣经典2道简单题

作者头像 李华