找回密码
 会员注册
查看: 15|回复: 0

图像识别在App安全自动化检测中的应用

[复制链接]

5

主题

0

回帖

16

积分

新手上路

积分
16
发表于 2024-10-7 00:09:44 | 显示全部楼层 |阅读模式
点击上方“百度QA”可订阅哦! 安全检测为什么需要自动化在App内容分发的主战场,窃取用户隐私、捆绑插件、后台发送短信、联网等恶意行为,已成为威胁用户,影响产品口碑的首要元凶。目前应用商店常见的检测技术主要有基于App源代码、权限等的静态检测技术以及动态检测技术。静态检测支持高并发,效率极高,然而因为依赖接入的安全扫描API种类以及病毒特征库的更新时效性,不免存在漏报(用户安装后被杀软报风险),需审核人员二次真机安装验收。目前大多被用于首次安全情况初筛;动态检测技术其主要流程至少包括测试/运营人员安下载安装待测App逐一操作进行遍历运行审核运行界面,确保安装、启动、运行无恶意行为缺点显而易见:审核效率低、过程繁琐。? 引入图像识别技术如何发现风险问题已知前提:当运行过程识别出风险/病毒应用时,安全软件会主动弹框提示。如图采用方案:模拟用户视角,多引擎协杀。预装多款市场主流安全软件(例如百度安全卫士、腾讯管家、360安全卫士等),通过图像识别方式,自动识别风险告警提示。处理“弹框提示”流程包含四个部分灰度化、边缘化处理,获取图片轮廓通过轮廓特征筛选目标轮廓获取目标轮廓坐标,生成有效“提示框“图片对“提示框“进行OCR文字提取,匹配风险特征库关键点——灰度化为了消除图片本身的配色干扰,将截图转化为灰度图灰度化前后图片对比:关键点——边缘化通过canny算子进行边缘化处理,提取图片中的轮廓。(canny算子边缘提取原理参考A Beginner's Guide To Understanding Convolutional ?Neural Networks),为了方便处理,轮廓采用二元值(非黑即白)存储。?canny 算子提取轮廓边缘后进行二元值转化,前后对比(因为已经灰度过,二元值看不出明显变化):关键点——提取轮廓在二元值矩阵中,使用最小矩阵覆盖,找到每个轮廓。关键点——筛选目标轮廓由于截图背景并非完全空白,诸如系统状态栏、应用图标等,都会有其对应的轮廓;另一方面轮廓之间可能相互嵌套,也会对提取造成干扰。因此,需通过自定义策略排除干扰项,例如面积太小、太瘦高、太扁长、不居中、形状不规则的轮廓。分析目标特征:安全软件的“弹框提示”一般是居中,且面积最大。我们的筛选可以按照如下规则提取?筛选出符合条件的目标轮廓,并记录坐标。关键点——目标“弹出框”确定根据目标轮廓坐标、宽、高,就能够轻松的对原图进行裁剪了。对比裁剪前后图片如下:关键点——风险判断通过调用百度OCR识别接口(或者也可以调用开源的OCR图片识别库,准确率有所差别),提取“弹出框”文字,如下:命中风险特征库的“存在风险”关键词,认为截图的应用被安全软件报风险。 工程化落地整体自动化检测流程图以工程化思维落地,持续挖掘潜在风险应用,一劳永逸??作者介绍王辉2013年入职百度,现任百度内容生态质量部资深测试开发工程师,先后在百度地图、百度外卖、百度手机助手从事质量保障工作。擅长问题驱动,以工程思维解决产品TOP问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-11 02:48 , Processed in 0.822607 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表