2017年Android恶意软件专题报告

安卓恶意软件检测论文内容整理 Transferable Cost-Aware Security Policy Implementation for Malware Detection Using Deep Reinforcement Learning 一、提出背景 为了提高准确率,大家常常部署多个检测器来进行检测,虽然有效,但是在计算资源上是昂贵的,每个文件都需要由所有检测器分析,随之文件数量增多,处理时间和成本就更大。 二、提出方法 SPIREL框架,一种基于强化学习的有效恶意软件检测方法。 具体实现效果:给每个文件分配一组不同的检测 阅读详情

摘    要

  • 2017年全年,360互联网安全中心累计截获Android平台新增恶意软件样本757.3万个,平均每天新增2.1万。全年相比2016年(1403.3万)下降46.0%,从2015年来看,新增恶意软件呈现总体下降趋势。
  • 2017全年,从手机用户感染恶意软件情况看,360互联网安全中心累计监测到Android用户感染恶意软件2.14亿,相比2016年2.53亿人次下降15.4%,平均每天恶意软件感染量约为58.5万人次。
  • 2017年Android平台新增恶意软件主要是资费消耗,占比高达80.2%;相比2016年增加了6个百分点。
  • 2017年从地域分布来看,感染手机恶意软件最多的地区为广东省,感染数量占全国感染数量的10.4%;其次为河南(6.8%)、山东(6.5%)、河北(5.9%)、浙江(5.9%)。
  • 2017年Android平台恶意软件感染量最多的十大城市。北京(4.9%)、广州(2.1%)、重庆(1.8%)、成都(1.7%)、东莞(1.5%)。位居Top10的城市还有石家庄、深圳、郑州、南京、杭州。
  • 2017年恶意软件使用了多种新技术,分别是针对系统运行库的攻击,利用Telegram软件协议远控,手机挖矿,手机僵尸网络发起DDOS攻击,使用SOCKS代理和SSH协议穿透内网防火墙,恶意软件多级化,滥用应用多开技术以及高级定向攻击持续化。
  • 2017年度CVE Details报告显示,Android系统以842个漏洞位居产品漏洞数量榜首,与2016年523个相比,增长61.0%。
  • 2017年不断曝出Android漏洞在恶意样本上利用,利用的漏洞主要有屏幕录制漏洞(CVE-2015-3878)、脏牛漏洞(CVE-2016-5195)、TYPE_TOAST(CVE-2017-0752)和Janus安卓签名漏洞(CVE-2017-13156)。
  • Google通过引入最新的机器学习模块和技术,显著提升了Google Play的安全检测能力,并能够有效发现假冒的软件、包含了违规内容的软件、以及恶意软件。除此之外,Google还从系统和研发两个方面提升了整体安全环境。
  • 在协同打击网络犯罪方面,截至2017年底,猎网平台已与全国300个地区的公安机关建立联系。全年协助各地区公安机关协查案件219起,破案23起,抓获嫌疑人共计137人。同时,360烽火实验室对外开展移动平台电子取证培训10余次,涵盖河南、长春、浙江等全国多地。在涉及移动平台的网络犯罪案件侦办中,实验室通过溯源等分析手段,协助公安机关找到恶意软件作者QQ号,手机号及邮箱线索31万余条,案件涉及的恶意软件分析报告18篇。
  • 从移动威胁趋势上看,具备自动化和对抗能力的恶意软件工厂不断涌现,恶意挖矿木马愈演愈烈,公共基础服务成为恶意软件利用的新平台,脚本语言成为恶意软件新的技术热点,这4个方面将成为今后的主要趋势。

 

关键词:移动安全、恶意软件、漏洞利用、网络犯罪、威胁趋势

 

第一章      总体态势

一、恶意软件新增量与感染量
2017年全年,360互联网安全中心累计截获Android平台新增恶意软件样本757.3万个,平均每天新增2.1万。全年相比2016年(1403.3万)下降46.0%,从2015年来看,新增恶意软件呈现总体下降趋势,且今年下降幅度较大,显示了移动恶意软件总体进入平稳高发期。

下图是2017年各月Android平台新增恶意软件样本量的分布图。由图可见,新增恶意软件整体呈现上半年高、下半年低的态势,即1-5月新增恶意软件量整体呈现曲线上升,在5月达到最高峰。下半年除8月为78.0万个新增样本外,其余月份均较低。

2017全年,从手机用户感染恶意软件情况看,360互联网安全中心累计监测到Android用户感染恶意软件2.14亿,相比2016年2.53亿人次下降15.4%,平均每天恶意软件感染量约为58.5万人次。

从近六年的移动恶意软件感染人次看,经过2012-2015年的高速增长期,2016和2017年呈现下降趋势,说明手机恶意软件进入平稳期。

下图是2017年Android平台新增恶意软件感染量的按季度对比情况,每季度的新增恶意样本均在下降。

全年来看,2017年四个季度的感染量呈现下降趋势。其中二季度最高约为5934.8万人次,四季度的感染量则最少,仅为4493.7万人次。

二、恶意软件危害分析
根据中国反网络病毒联盟的分类标准,360互联网安全中心在2017全年监测的Android平台恶意软件的分类统计如下图。从图中可见,2017年Android平台新增恶意软件主要是资费消耗,占比高达80.2%;相比2016年增加了6个百分点。

资费消耗类型的恶意样本占比已达到3/4,说明移动端恶意软件依然是以推销广告、消耗流量等手段,增加手机用户的流量资费等谋取不法商家的经济利益。当前主流运营商的资费模式重心已经转向流量,而不再单纯倚重语音通话。资费消耗类恶意软件对用户资费造成的影响还是比较明显。

三、地域分析
2017年从地域分布来看,感染手机恶意软件最多的地区为广东省,感染数量占全国感染数量的10.4%;其次为河南(6.8%)、山东(6.5%)、河北(5.9%)、浙江(5.9%)。

下图给出了2017年Android平台恶意软件感染量最多的十大城市。毫无疑问,北京用户感染Android平台恶意软件最多,占全国城市的4.9%;其次是广州(2.1%)、重庆(1.8%)、成都(1.7%)、东莞(1.5%)。位居Top10的城市还有石家庄、深圳、郑州、南京、杭州。

 

第二章      盘点恶意软件的新技术

一、针对系统运行库的攻击出现
今年4月在Google Play应用商店上发现了新的系统级恶意软件Dvmap[1]。它根据Android系统的版本将恶意代码注入到系统库libdmv.so或libandroid_runtime.so中,这两个库都是与Dalvik和ART运行时环境相关的运行时库。注入之后会以Root权限替换系统正常文件,同时部署恶意模块。恶意模块能够关闭谷歌对于应用的安全检查(Verify Apps)功能,并且更改系统设置去操作安装任何来自第三方应用市场的应用程序。

图2.1:Dvmap家族代码片段

二、利用Telegram软件协议的木马首次出现
今年6月国外安全厂商首次发现利用Telegram软件协议控制的木马Android.Spy.377.origin[2]。它不但能够盗取用户手机中的隐私信息,并且还可以远程控制手机拨打电话、发送短信,删除手机中指定文件等。

Telegram是以云端为基础的轻量级即时通讯软件,Telegram Bot是基于Telegram客户端的第三方程序。用户可以通过向Bot发送信息、照片、指令、在线请求等一系列的方式于Bot互动。Bot的所有者通过Bot的API访问并请求Telegram Server的信息。

由于电报信息交换协议提供了简单的通信方式,攻击者无需在受害者的设备上启用端口转发。然而攻击者首先需要开发自己的Bot,这个Bot生成的令牌嵌入到木马的配置文件中。一旦受害者设备被感染,攻击者就能够通过自动创建的通道来控制它。

图2.2:使用Telegram protocol控制原理

三、挖矿木马再现身
挖矿木马最早是2013年在PC平台上被发现,而首个手机挖矿木马CoinKrypt[3]最早被国外安全厂商在2014年3月曝光。手机挖矿木马经过一阵沉寂后,随着电子加密货币价格的一路走高,恶意软件作者又重新将目标转向了挖矿。

在代码层上的表现形式为,早期恶意软件使用了开源的矿池代码库进行挖矿,今年曝光的恶意软件使用矿池提供的浏览器JavaScript脚本进行挖矿。由于浏览器JavaScript挖矿脚本配置灵活简单,具有全平台化等特点,受到越来越多的恶意挖矿木马的青睐,同时也导致了利用JavaScript脚本挖矿的安全事件愈发频繁。

图2.3:攻击者通过挖矿木马赚取收益的攻击流程

四、僵尸网络发起DDOS攻击
2017年8月多个内容分发网络(CDN)和内容提供商受到来自被称为WireX的僵尸网络的严重攻击。

图2.4:WireX僵尸网络每小时增长量[4]

WireX僵尸网络主要由运行恶意应用程序的Android设备组成,它使用了三种攻击方式:

1.       UDP Flood:WireX会创建50个线程,每个线程中都会连接该主机和端口,开启Socket之后,使用UDP协议发送随机数据,每次会发送512个字节的数据,一个线程中一共会发送一千万次,也就是 10000000512=5120000000 字节的数据,因为一共实现了创建了50个线程,所以,理论上会发送10000000512*50=256000000000(2560亿)字节。

2.       Deceptive Access Attack:WireX会创建20个WebView,然后使用每个WebView访问要攻击的网站。

3.       Deceptive Click Attack:WireX会模拟鼠标事件进行点击,点击要攻击的网站页面中所有的URL链接。

图2.5:WireX僵尸网络三种攻击方式

五、企业攻击进阶
针对企业内网安全的攻击,继去年6月份首次出现的DressCode[5]恶意家族后,今年又出现了利用移动设备攻击企业内网的新的恶意家族MilkyDoor[6]。

然而,与DressCode不同的是,MilkyDoor不仅利用SOCKS代理实现从攻击者主机到目标内网服务器之间的数据转发,而且利用SSH(Secure Shell)协议穿透防火墙,加密传输数据,进而实现数据更隐蔽的传输。

MilkyDoor木马采用远程端口转发实现数据加密传输,整个过程步骤如下:

1.         木马主动与攻击者主机建立一个SSH安全连接。

2.         攻击者主机将数据发送到它的R端口上。

3.         位于攻击者主机端的SSH服务器接收到R端口上的数据后,将其加密并转发到位于木马端的SSH客户端上。

4.         SSH客户端解密收到的数据并将其转发到木马监听的L端口上。

图2.6:攻击者利用远程端口转发传输数据的过程

六、恶意软件出现多级化
在恶意软件对抗方面,今年曝光的Chamois恶意家族,拥有多种分发渠道。它是Google认为迄今为止在Android平台上看到的最大的PHA(Potentially Harmful Application)家族之一。

早在2013年在Google Play上就发现有通过联网指令控制延迟下载恶意软件,从而绕过Google扫描器检测阶段的恶意家族Badnews[8]。相比Badnews,Chamois采用了多级化技术手段,它的代码使用不同的文件格式在4个不同的阶段执行。这个多阶段的过程使得这个家族在检测过程中变得更加复杂,因为必须执行第一阶段才能达到第二阶段,执行第阶段才能达到第三阶段,依次执行才能到达恶意的部分。

图2.7:Chamois恶意家族使用不同的文件格式在4个不同的阶段中执行流程[7]

七、应用多开技术被滥用
VirtualApp[9](简称VA)是一个App虚拟化引擎。它能够创建一个虚拟空间,可以在虚拟空间内任意的安装、启动和卸载APK,这一切都与外部隔离,如同一个沙盒。运行在VA中的APK无需在外部安装,即VA支持免安装运行APK。VA目前被广泛应用于双开/多开、应用市场、模拟定位、一键改机、隐私保护、游戏修改、自动化测试、无感知热更新等技术领域。

正是由于VA的应用广泛,也被恶意软件滥用。滥用实例主要为免杀、木马及广告。

图2.8:VirtualApp滥用情况

1.       免杀:由于VA特性,恶意软件常以子包形式加密存储在VA内,在引擎扫描时使用VA的样本,主包代码特征表现一致,而子包由于加密导致引擎无法识别,从而绕过杀软静态检测。

2.       木马:以Trojan-Spy.AndroidOS.Twittre[10]家族为例,通过VA启动Twitter,Twitter启动后,修改后的VirtualCore模块Hook了EditText类的getText函数,从而在Twitter登录窗口劫持用户的输入。用户的登录凭据被捕获后,恶意软件将其上传到远程服务器上。

3.       广告:今年使用VA技术的广告开始出现,通常使用VA的主包会在手机桌面创建了多个快捷方式,当用户点击快捷方式时,它会启动主包内相应的应用程序。对于这种启动方式与默认的启动方式相比很难进行区分,并且无需安装减少了用户操作过程,很大程度上既推广了应用,又避免了被用户发现。

八、高级定向威胁持续进行
APT攻击(Advanced Persistent Threat,高级持续性威胁)堪称是在网络空间里进行的军事对抗,攻击者会长期持续的对特定目标进行精准的打击。

2017年,曝光了一系列涉及移动平台的APT组织行动。与2016年相比,从披露的组织活跃度看,双尾蝎(APT-C-23)[11]组织在2017年中较为活跃。其在攻击中使用的恶意软件不断改进,所使用的新变种VAMP[12]、FrozenCell[13]和GnatSpy[14]相继曝光。

对比攻击目标和攻击国家,从攻击目标上,2017年移动平台的APT攻击目标增加医疗、教育和金融方向;从攻击国家上,包括中国在内全球多个国家均是APT攻击的受害国。

从影响的移动平台看,去年曝光的NSO Group[15]组织制作的恶意软件Android版本被发现,与iOS版本最大的不同是Android版本使用的是Framaroot方案提升软件权限,而没有使用零日漏洞。另外,像双尾蝎、Operation Manul[16]组织在PC端和移动端出现了相同控制C&C信息,这也表明APT攻击向着平台组合化方向发展。

图2.9:2017年涉及移动平台的APT攻击行动

 

第三章      移动威胁持续进化

一、 严峻的系统环境
Android系统开源就意味着在安全问题上显得更加透明,运用工具审查安全漏洞变得更容易。根据汇总CVE数据的网站出具的2017年度CVE Details报告显示,Android系统以842个漏洞位居产品漏洞数量榜首,与2016年523个相比,增长61.0%,继续蝉联漏洞之王。

图3.1:2017年CVE网站产品漏洞数量TOP排名情况[17]

Google每次发布Android新版本,对系统安全性都有所增强,但是由于Android系统碎片化严重,系统版本更新速度慢,系统安全环境整体提升受到影响。

截止2018年1月,Google发布的Android系统版本分布统计,Android Marshmallow(Android 6.0)总占比已达28.6%,占比第二的是Android Nougat(Android 7.0/7.1)达到26.2%,而最新系统版本Android Oreo(Android 8.0/8.1)仅占0.7%。

图3.2:截止2018年1月Android系统版本分布占比情况[18]

二、 厂商漏洞修复情况
Android操作系统目前仍未有非常完善的补丁机制为其修补系统漏洞,再加上Android系统碎片化严重,各手机厂商若要为采用Android系统的各种设备修复安全问题则需投入大量人力物力。受到Android系统的诸多特性的影响,系统版本的碎片化问题日益突出。就每一款手机而言,厂商在其维护周期内,通常会隔一段时间向用户推送一次升级版本,而用户在大多数情况下可以自主选择升级或不升级。综合这些特性,在Android系统的安全漏洞方面,也产生了严重的碎片化问题。

根据《2017年度安卓系统安全性生态环境研究》报告数据,下图为各厂商手机中实际存在的安全补丁级别情况,该情况是将各厂商现存手机中实际补丁日期与谷歌官方最新版本(2017年12月)版本对比,综合安全补丁级别最高、最新的手机品牌前5名。图中绿色方块面积越大,说明该厂商的手机补丁级别相对越高,漏洞修复相对越及时;相反,如果黄色和橙色面积越大,则说明补丁级别越低,漏洞修复越滞后。

图中我们可以看出,在及时推送安全补丁级别方面,TOP5的厂商在本季度的检测结果显示较好,而且在本季度的调研中这五个厂商均有保持与谷歌最新安全补丁同步的更新提供,这也显示了厂商对于用户手机中安全补丁等级的逐步重视。

三、漏洞利用情况
综合上述对Android系统环境的介绍,我们可以看出仍然存在大量未升级至新版本系统和未打补丁的设备正在被使用,这些与安全更新脱节的现象直接导致用户手机暴露于各种漏洞的威胁之下,可造成用户的隐私、财产安全。

2017年开始不断曝出Android漏洞在恶意样本上利用,下面我们以恶意样本漏洞利用的实例,来分析漏洞对Android用户的实际威胁:

(一)    屏幕录制漏洞
屏幕录制漏洞(CVE-2015-3878)[19]是我们在2015年发现并提交给Google安全团队,

Google在Android 5.0中引入了MediaProjection服务,MediaProjection服务可以让应用开发者获取屏幕内容和记录系统音频。在Android 5.0之前,应用开发者需要应用在Root权限下运行或者用设备的Release Key对应用进行签名,只有这样才可以使用系统保护的权限来获取屏幕内容。而且,使用MediaProjection服务时,不需要在AndroidManifest.xml中声明请求的权限。

为了使用MediaProjection服务,应用只需要通过intent请求系统服务的访问权限。对系统服务的访问是通过System UI的弹窗提示用户请求的应用要获取屏幕内容来授权的。 攻击者可以用任意消息来覆盖System UI的弹窗提示,诱使用户点击并授权攻击者的应用获取屏幕内容。

2017年12月被ANVA反病毒联盟曝出,有恶意样本使用该漏洞针对Android 5.0-6.0系统的手机进行屏幕截图,使用进程保护技术,窃取用户隐私。

图3.3:恶意软件执行流程[20]

(二)    脏牛漏洞
脏牛漏洞(CVE-2016-5195)[21]首次公开于2016年,是基于Linux kernel的一个严重的提权漏洞,允许攻击者获得目标系统访问的Root权限。

2017年9月,国外安全厂商披露了第一个利用脏牛漏洞的恶意样本。而实际上,我们早在4月份就已经捕获到了利用该漏洞的恶意软件,脏牛漏洞最早被运用在Dvmap家族中,主要作用是利用脏牛漏洞提升权限并且替换系统文件。

图3.4:在Dvmap中利用脏牛漏洞替换系统文件代码片段

(三)    Toast Overlay攻击
Overlay攻击需要在其他运行的应用、窗口或进程上绘制和叠加Android视图(例如图像或者按钮)。Toast Overlay攻击的典型场景是,欺骗用户点击攻击者指定的非法的窗口或按钮。“Toast”窗口(TYPE_TOAST)是Android上支持的Overlay类型之一,用于显示其他应用程序的通知。然而,TYPE_TOAST类型的窗口未进行权限检查,所以不需要请求SYSTEM_ALERT_WINDOW权限。

TYPE_TOAST(CVE-2017-0752)[22]漏洞影响范围广,除了Android最新版本(8.0/Oreo)外,所有低版本的用户均受到该漏洞的影响。

图3.5:TYPE_TOAST类型的窗口未进行权限检查[23]

2017年11月,国外安全厂商发现第一例使用Toast Overlay攻击的恶意家族TOASTAMIGO,它利用Android的Accessibility辅助功能,使其具有广告点击、应用程序安装、自我保护/持久性功能。TOASTAMIGO在授权后,会启动一个窗口,表明可以“分析”应用程序。而在这个窗口背后,应用程序会执行操作或指令,包括安装第二个恶意应用。

图3.6:利用Toast Overlay攻击的恶意家族TOASTAMIG攻击原理[24]

(四)    Janus安卓签名漏洞
Android 12月安全公告中披露了一个名为“Janus”的高危漏洞(CVE-2017-13156)[23],攻击者可以利用该漏洞绕过Android系统的Signature Scheme V1签名机制,直接对App进行篡改。由于签名和验证机制是Android系统整体安全机制建立的最基础部分,利用该漏洞可以绕过整个Android系统的安全机制。基于Signature Scheme V1签名机制的App在Android 5.1到8.0系统均受“Janus”漏洞影响。

一般来说,恶意软件有两种方式来利用这个漏洞。一种是可以用来隐藏Payload。恶意软件会把自己伪装成一个干净的DEX文件,而恶意Payload文件存储在APK文件中之后加载,同期,国外安全厂商捕获到利用该漏洞的恶意软件ANDROIDOS_JANUS.A[24]就使用了这种方式;另一种是在原始开发者不知情的情况下更新已经安装的应用。攻击者可以用这种方式来访问原来的应用中受保护的数据,比如用户身份证书信息和隐私信息。冒充合法应用的身份还可以绕过杀软等安全解决方案。

 

第四章      技术创新夯实安全的堤防

在对抗不良应用和恶意开发者方面,根据Google官方数据[25]显示,2017年Google Play应用商店下架了超过70万款违反了Google Play政策的应用程序,而这个数字跟2016年相比增长了70%。这不仅说明Google移除了更多的恶意软件,而且还表明Google能够在恶意软件攻击阶段的早期更加准确且快速地发现它们。实际上,其中有99%的恶意软件在用户真正安装它们之前就已经被成功识别并删除了。

Google通过引入最新的机器学习模块和技术,显著提升了Google Play的安全检测能力,并能够有效发现假冒的软件、包含了违规内容的软件、以及恶意软件。

另外,Google还研发出了新的检测模块以及检测技术来发现那些恶意开发者。在2017年,Google对10万名恶意开发者创建新账号并发布其他软件增加了难度。

除此之外,Google还从系统和研发两个方面提升了整体安全环境。

一、系统更新遏制手机勒索
Google对Android系统安全十分重视。从2015年开始提出了月度公共安全更新计划,主要是为了及时提供漏洞信息和补丁,带动各个手机厂商及时更新系统修复漏洞。同时,Android系统版本在不断更新,每一个版本在系统安全方面都有明显的改进。

纵观Google在Android系统安全方面的更新,每一版都在遏制恶意软件方面做出了积极应对,这其中就包括勒索软件。

在早期的Android L版本中,获取当前运行栈顶程序getRunningTasks方法被废弃,阻止了了劫持Activity类的勒索软件。

Android M版本中,悬浮窗权限SYSTEM_ALERT_WINDOW开始被列为一种危险程度较高的权限,使用时需要用户动态授权,防止用户手机在毫无防备的情况下被锁定,通过用户授权干预,能起到一定程度的缓解作用。

Android N版本中明确规定,第三方应用开发者只能使用resetPassword API为无密码设备设置初始密码,而不能重置或清除已有的设备密码。Android N中对于resetPassword API所添加的限制能阻止手机勒索软件对已有锁屏密码的重置,从而使得部分使用该手段的勒索软件失效。

2017年Google发布了最新Android版本(Android 8.0/Oreo),在新版本中Android禁用了5种窗口类型。其中,3种是勒索软件常用的系统窗口类型,从而进一步遏制手机勒索软件。

图4.1:Android在各个版本中遏制恶意软件的措施

 

二、开发规范约束进一步增强
开发阶段是一个应用生命周期的启点,开发规范既能够约束开发者养成了良好的编码习惯,同时又能保障应用的代码安全。为了避免权限被滥用,Android 8.0/Oreo加强了权限控制[26]。在Android 8.0/Oreo之前,如果应用在运行时请求权限并且被授予该权限,系统会错误地将属于同一权限组并且在清单中注册的其他权限也一起授予应用。

对于针对 Android 8.0 的应用,此行为已被纠正。系统只会授予应用明确请求的权限。然而,一旦用户为应用授予某个权限,则所有后续对该权限组中权限的请求都将被自动批准。例如,假设某个应用在其清单中列出 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE。应用请求 READ_EXTERNAL_STORAGE,并且用户授予了该权限。如果该应用针对的是 API 级别 24 或更低级别,系统还会同时授予 WRITE_EXTERNAL_STORAGE,因为该权限也属于同一STORAGE 权限组并且也在清单中注册过。如果该应用针对的是Android 8.0/Oreo,则系统此时仅会授予 READ_EXTERNAL_STORAGE;不过,如果该应用后来又请求 WRITE_EXTERNAL_STORAGE,则系统会立即授予该权限,而不会提示用户。

在软件功能使用方面,Google开始正确引导开发者使用Android提供的Accessibility服务,该服务意在帮助残疾人士更好地使用Android设备。我们在2016年发布的《ANDROID ACCESSIBILITY安全性研究报告》报告,报告对Accessibility服务进行了全面的分析,对Accessibility的滥用情况进行了举例分析,本应该用在辅助残疾人的应用上,却被用在红包外挂、免Root安装、广告应用甚至是恶意应用上。

2017年,有开发者收到了来自Google的邮件[27],邮件中指出Google计划从Google Play应用商店中删除所有利用Accessibility服务的应用,除非使用该服务的应用目的确实是为了给有缺陷的用户提供便利功能。

虽然许多用户和开发者对Google的决定表示担忧,指出一些合法应用经常使用Accessibility服务作为功能的解决方法,否则可能难以或不可能实现。但是,从这个邮件能够看出Google在解决安全问题上的态度和决心。

图4.2:Google通知开发者关于约束Accessibility服务功能的邮件

 

第五章      万物皆变人是安全的尺度

今年中国互联网安全大会(ISC)主旨是万物皆变人是安全的尺度,谈到关于人的重要性,即人是网络安全中的软肋,也是安全中的关键一环。值得注意的是,在注重培养安全人才的同时也要注重整个社会安全意识的提高。以当前泛滥的网络诈骗为例,大多数网络诈骗的发生都是骗子利用受害者安全意识低,防范能力不足而实施的。数据显示,绝大多数网络诈骗并不是通过高超的技术盗取受害者钱财,而依旧是靠“忽悠”。

一、网络诈骗综述
2017年,由北京市公安局联合360共同推出的,通过互联网平台和互联网技术打击网络诈骗犯罪的创新平台——猎网平台共收到全国用户提交的有效网络诈骗举报24260例,举报总金额3.50亿余元,人均损失14413.4元。与2016年相比,网络诈骗的举报数量增长了17.6%,人均损失却增长了52.2%。2014-2017年统计以来,每年的人均损失均出现大幅增长,可见网络诈骗正在严重的威胁着网民的财产安全。

在猎网平台2017接到的用户举报中,有15911人是通过银行转账、第三方支付、扫二维码支付等方式主动给不法分子转账,占比65.6%,其次有7442人在虚假的钓鱼网站上支付,占比30.7%;安装木马软件从而被盗刷的用户有328人,占比1.4%;在钓鱼网站上填写用户的账号、密码等隐私信息后,被盗刷的用户有302人,占比1.2%;主动告知账号密码/二维码/验证码/付款码盗刷从而被盗刷的有185人,占比0.8%,还有88人遭到勒索软件、恐吓电话等被勒索盗刷,占比0.4%。

如果从涉案总金额来看,钓鱼网站支付,占比64.3%,累计2.2亿元;其次受害者主动转账占比33.7%,累计1.2亿元;木马软件导致盗刷占比0.8%,累计279.7万元;钓鱼网站导致盗刷占比0.6%,累计215.6万元;主动告知账号密码/二维码/验证码/付款码从而被盗刷占比0.5%,累计167.8万元。

二、警企协同打击网络犯罪
截至2017年底,猎网平台已与全国300个地区的公安机关建立联系。全年协助各地区公安机关协查案件219起,破案23起,抓获嫌疑人共计137人。

同时,360烽火实验室对外开展移动平台电子取证培训10余次,涵盖河南、长春、浙江等全国多地。在涉及移动平台的网络犯罪案件侦办中,实验室通过溯源等分析手段,协助公安机关找到恶意软件作者QQ号,手机号及邮箱线索31万余条,案件涉及的恶意软件分析报告18篇。

下面列举我们协助警方破获的重点案件:

案例一

今年2月3日,营口市开发区公安局接到孟女士报警称,其农业银行卡内50余万元人民币被盗。警方发现,1月20日,孟女士收到含有木马链接的短信,不慎点击后手机中招,短信被拦截,11天内其银行卡内的50余万被犯罪分子分800余笔交易到其他消费网站。

经初步调查,犯罪分子事先在网上购买大量身份证、银行卡等信息,通过群发短信的方式将木马病毒植入受害人银行卡绑定的手机。该木马病毒可以拦截手机短信、提取手机通讯录、获取网上银行的手机验证码,骗子借此盗刷受害人银行卡内资金。通过资金流追查,警方从第三方支付平台为孟女士追回被骗资金2700余元。

借助猎网平台,通过溯源分析,找到木马劫持受害人短信所使用的邮箱,帮助警方成功锁定了嫌疑人的线索。

经过两个多月缜密细致的调查取证,营口警方发现确认这是一伙分工明确、链条完整的诈骗团伙,分布在广西、北京、福建三地。其中,广西宾阳嫌疑人负责操作木马,套取被害人银行卡消费的验证码;北京窝点负责被害人的钱以话费形式转移至手机充值卡,然后再将话费转卖,回款后与宾阳嫌疑人三七分成;福建窝点将被害人的钱充值到苹果云账户,购买苹果商品消费,再低价转卖。

4月13日和20日,警方分赴北京、福建、广西,抓获刘某、梁某、黄某、黄某某等四名嫌疑人,缴获作案电脑5台、机箱3台、平板电脑2台、手机21部、银行卡23张。

案例二

今年年初,淮北市民刘先生突然收到短信,写道“海峰,你看这个女的面熟吗”,文字后带有一个链接。看到是熟人发来的信息,刘先生没多想就点击了链接,进入后发现是英文看不懂,刘先生就随手删除了短信。

次日一早,刘先生突然连续收到短信提示,银行卡先后两次被消费1960元。密码从未告诉过他人,怎么会被消费?担心卡内100多万资金的安全,刘先生赶紧到银行求助,将卡内余额转存,随后向警方报案。

淮北公安通过检测刘先生的手机发现,他收到的实为一条诈骗短信,其点击短信链接后手机自动安装了木马程序,通讯录、短信等信息都被犯罪分子拦截盗取。根据盗取到的短信验证码等信息,犯罪分子盗刷了刘先生手机绑定的银行卡内的钱。同时,刘先生点击链接后,类似短信还被自动发送给了他的多名通讯录好友。

在360烽火实验室技术支持协助下,关联出同源代码木马199个,这199个木马共绑定了用于接收受害人短信的邮箱2个、手机号码7个。通过淮北警方对木马设置的邮箱和手机号进一步调查,成功摧毁了木马制作、传播、盗刷、销赃整个犯罪团伙,跨越四省抓获9名犯罪嫌疑人。据初步调查,短短半年时间,全国近10万部手机被木马感染,近800人遭遇经济损失,团伙诈骗金额超过155万。

 

第六章      威胁趋势预测

一、具备自动化和对抗能力的恶意软件工厂不断涌现
2017年,BlackHat的议题《AVPASS: Automatically Bypassing Android Malware Detection System》[28]引发业内关注,这是首次在国际黑客会议上公开的,关于自动化探测安全软件规则工具的集合介绍。

AVPASS是一个可以探测Android杀毒软件的检测模型,并结合探测到的信息和混淆技术构造特定APK来绕过杀毒软件检测的工具。AVPASS不仅可以推测出杀毒软件使用的特征,而且可以推导出其检测规则,因此,(理论上)它可以自动的变形APK,使得任何杀软将一个恶意APP误认为一个正常APP,即免杀。

图6.1:AVPASS检测模型

AVPASS实现了自动化免杀,这种技术已经衍生出多种类型软件的一键生成器,比如广告软件和勒索软件。

图6.2:恶意广告(左)和勒索软件(右)一键生成器

在2016年我们发布的《ANDROID逃逸技术汇编》报告,报告汇总了60多种恶意软件对抗检测的手段。由此可见,恶意软件与检测手段的对抗从未停止,恶意软件工厂取代了人工繁琐的代码编写、编译过程,进一步降低了制作门槛,不仅生成速度变快,并且能够根据需要进行定制,这种恶意软件生产模式必将成为未来的发展趋势之一。

二、恶意挖矿木马愈演愈烈
2017年最疯狂的莫属电子货币,以比特币为代表的电子货币,年内单价突破了2万美元,随着电子货币价格暴涨,针对电子货币相关的攻击事件也越来越频繁。

今年5月,以比特币为勒索目标的WannaCry[29]勒索病毒全球大爆发,至少150个国家、30万名用户中招,造成损失达80亿美元,已经影响到金融,能源,医疗等众多行业,造成严重的危机管理问题。中国部分Windows操作系统用户遭受感染,校园网用户首当其冲,受害严重,大量实验室数据和毕业设计被锁定加密。部分大型企业的应用系统和数据库文件被加密后,无法正常工作,影响巨大。

而在移动平台上,从2013年开始至2018年1月,360烽火实验室共捕获Android平台挖矿木马1200余个,其中仅2018年1月Android平台挖矿木马接近400个,占全部Android平台挖矿类木马近三分之一。

相比PC平台,移动终端设备普及率高,携带方便,更替性强,因而安全问题的影响速度更快,传播更广。然而,移动平台在挖矿能力上受限于电池容量和处理器能力,并且在挖矿过程中会导致设备卡顿、发热、电池寿命骤降,甚至出现手机物理损坏问题,就目前来看移动平台还不是一个可持续性生产电子货币的平台。

今年曝光的Android挖矿木马事件,初步显示应用盈利模式由广告转向挖矿,门罗币成为挖矿币种首选以及攻击目标向电子货币钱包转移成为Android平台挖矿木马的演变的三大趋势。挖矿和勒索成为2017年两大全球性的安全话题,2018年将会继续延续。

三、公共基础服务成为恶意软件利用的新平台
今年恶意软件使用的新技术中,出现了利用Telegram软件协议和VA应用多开技术,在早期还出现过恶意软件还使用了Google的GCM推送服务以及第三方消息推送服务,这些公共基础服务、开源代码被恶意利用,成为恶意软件的新平台。

以使用Telegram软件协议服务和Google的GCM服务为例,需要恶意作者申请自己唯一的ID,进行指令控制时仅通过ID来区分,访问的都是服务提供商的服务器,并不是恶意软件作者自己的服务器,从而避免了通过C&C追踪溯源。

而在使用VA应用多开技术时,也可以实现对公共基础服务的恶意利用。恶意软件不但在Manifest中声明的权限和组件结构、数量上基本相似,又常以子包形式加密存储在VA内,主包代码特征也表现一致,在检测引擎扫描时使用VA的样本引擎无法识别,从而绕过杀软静态检测。

综合来看,公共基础服务被恶意利用,一方面,是由于这些基础服务提供了简便易用的接入方法,使得恶意软件方便快速的接入;另一方面,恶意软件利用这些基础服务,能够实现绕过检测、躲避跟踪溯源。

四、脚本语言成为恶意软件新的技术热点
脚本语言具有跨平台、配置灵活简单特性,方便开发者增强应用体验效果。但同时,也为恶意软件躲避查杀提供了便利。2017年我们发现了三种利用JavaScript脚本语言实施恶意行为的隐蔽方式。

第一种是利用JavaScript模拟点击刷网页、广告流量。我们在《移动平台流量黑产研究——流量作弊与流量泡沫》报告中,以某个渠道近一周的数据为例进行抽样分析,恶意软件每30秒完成一次刷量行为,据此每个受害用户的手机每天能产生2880次虚假访问,最近一周产生的虚假访问总数为1.8亿次。按照每千次10元到20元的收费标准,最近一周能为该渠道创造185万元的收入。

图6.3:某恶意软件使用的JavaScript模拟点击脚本

第二种是利用JavaScript私自发送短信,我们在《Expensivewall家族变种再现Google Play》报告中发现Google Play上存在Expensivewall恶意家族变种。该家族运行原理是先根据getSimCountryIso获取到的国别码获取不同的广告URL;其次,通过webview方法加载的含有JavaScript脚本的广告页面;最后,在打开的广告展示页面上,点击关闭按钮×时触发发短信操作。

图6.4:Expensivewall使用JavaScript脚本发送短信

第三种是利用JavaScript进行挖矿,Coinhive提供的灵活方便的JavaScript API,在网页中调用Coinhive官网中的JavaScript文件coinhive.min.js并指定一个唯一的标识符即可。

图6.5:Coinhive提供的JavaScript API[30]

以上这三种隐蔽方式,展现了一种新的恶意软件发展的新趋势。由于这种方式不依赖与核心代码,在软件动态运行时才会触发调用,给安全软件检测提出了更高的要求和挑战。未来在脚本语言的检测防御上,各个安全厂商应该提高重视程度,提供更加全面的安全防护模式。

 

附录一:参考资料

[1] Dvmap: the first Android malware with code injection:https://securelist.com/dvmap-the-first-android-malware-with-code-injection/78648/

[2] Doctor Web: Android Trojan controlled via Telegram spies on Iranian users:https://news.drweb.com/show/?i=11331&lng=en

[3] CoinKrypt: How criminals use your phone to mine digital currency:https://blog.lookout.com/coinkrypt

[4] The WireX Botnet: How Industry Collaboration Disrupted a DDoS Attack:https://blog.cloudflare.com/the-wirex-botnet/

[5] 内网穿透——ANDROID木马进入高级攻击阶段:http://blogs.360.cn/360mobile/2016/12/01/analysis_of_dresscode/

[6] 内网穿透——ANDROID木马进入高级攻击阶段(二):http://blogs.360.cn/360mobile/2017/05/25/analysis_of_milkydoor/

[7] Detecting and eliminating Chamois, a fraud botnet on Android:https://security.googleblog.com/2017/03/detecting-and-eliminating-chamois-fraud.html

[8] The Bearer of BadNews:https://blog.lookout.com/the-bearer-of-badnews

[9] VirtualApp:https://github.com/asLody/VirtualApp

[10] Malware posing as dual instance app steals users’ Twitter credentials:https://blog.avast.com/malware-posing-as-dual-instance-app-steals-users-twitter-credentials

[11] 双尾蝎组织(APT-C-23)伸向巴以两国的毒针:http://zt.360.cn/1101061855.php?dtid=1101062514&did=490322462

[12] Targeted Attacks in the Middle East Using KASPERAGENT and MICROPSIA:https://researchcenter.paloaltonetworks.com/2017/04/unit42-targeted-attacks-middle-east-using-kasperagent-micropsia/

[13] FrozenCell: Multi-platform surveillance campaign against Palestinians:https://blog.lookout.com/frozencell-mobile-threat

[14] New GnatSpy Mobile Malware Family Discovered:http://blog.trendmicro.com/trendlabs-security-intelligence/new-gnatspy-mobile-malware-family-discovered/

[15] Pegasus for Android: the other side of the story emerges:https://blog.lookout.com/pegasus-android

[16] Mobile Advanced Persistent Threat actor conducting global espionage campaign from Lebanon:https://blog.lookout.com/dark-caracal-mobile-apt

[17] Top 50 Products By Total Number Of “Distinct” Vulnerabilities in 2017:https://www.cvedetails.com/top-50-products.php?year=2017

[18]Android平台版本:https://developer.android.com/about/dashboards/index.html

[19] CVE-2015-3878:https://source.android.com/security/bulletin/2015-10-01

[20] 利用CVE-2015-3878的安卓间谍软件信息共享:https://mp.weixin.qq.com/s?__biz=MzAxNjMzOTY1OA==&mid=2655229765&idx=1&sn=4413d2d58573c8274c79ac7c884a0e9a&chksm=804170e0b736f9f6d9f3639047016ddc5b83ff06f7723f55257a87800332061bbe545b3fa68a&mpshare=1&scene=1&srcid=1207GsaNCJsAU7r9o5zmbLy3&pass_ticket=7cAS2PAVyXh3tk6OiVp8TbOmX3VRCO9qfULmiQDSaJ0%3D#rd

[21] CVE-2016-5195:https://source.android.google.cn/security/bulletin/2016-11-01

[22] CVE-2017-0752:https://source.android.com/security/bulletin/2017-09-01

[23] Android Toast Overlay Attack: “Cloak and Dagger” with No Permissions:https://researchcenter.paloaltonetworks.com/2017/09/unit42-android-toast-overlay-attack-cloak-and-dagger-with-no-permissions/

[24] Toast Overlay Weaponized to Install Several Android Malware:https://blog.trendmicro.com/trendlabs-security-intelligence/toast-overlay-weaponized-install-android-malware-single-attack-chain/

[23] CVE-2017-13156:https://source.android.google.cn/security/bulletin/2017-12-01

[24] Janus Android App Signature Bypass Allows Attackers to Modify Legitimate Apps:http://blog.trendmicro.com/trendlabs-security-intelligence/janus-android-app-signature-bypass-allows-attackers-modify-legitimate-apps/

[25] How we fought bad apps and malicious developers in 2017:https://android-developers.googleblog.com/2018/01/how-we-fought-bad-apps-and-malicious.html

[26] Android 8.0 Behavior Changes:https://developer.android.com/about/versions/oreo/android-8.0-changes.html

[27] Google to Ban Android Apps Misusing Accessibility Service:https://www.securityweek.com/google-ban-android-apps-misusing-accessibility-service

[28] AVPASS: LEAKING AND BYPASSING ANTIVIRUS DETECTION MODEL AUTOMATICALLY:https://www.blackhat.com/us-17/briefings/schedule/#avpass-leaking-and-bypassing-antivirus-detection-model-automatically-7354

[29] 勒索病毒WannaCry:https://baike.so.com/doc/1727832-27028923.html

[30] Coinhive – Monero JavaScript Mining: https://coinhive.com/

 


http://blogs.360.cn/blog/review_android_malware_of_2017-2/

分析过程:服务器被黑安装Linux RootKit木马 疫情还没有结束,放假只能猫家里继续分析和研究最新的攻击技术和样本了,正好前段时间群里有人说服务器被黑,然后扔了个样本在群里,今天咱就拿这个样本开刀,给大家研究一下这个样本究竟是个啥,顺便也给大家分享一些关于Linux Rootkit恶意软件方面的相关知识点吧。全球高端的黑客组织都在不断进步,做安全更应该努力学习,走在黑客前面,走在客户前面,加强自身安全能力的提升才能应对未来各种最新的安全威胁事件,才能帮助客户更好的解决安全问题。这个样本是一个Linux。 阅读详情

相关推荐

网络安全:制作 windows 和 linux 客户端恶意软件进行渗透

制作 windows 和 linux 客户端恶意软件进行渗透(拿到权限后开启屏幕共享 开启摄像头等等)

weixin_46035615的博客 5801

信安软考 第十四章 恶意代码防范技术原理

恶意代码(Malicious code),是一种违背目标系统安全策略的程序代码,会造成目标系统信息泄露、资源滥用,破坏系统的完整性及可用性。它能够经过存储介质或网络进行传播,从一台计算机系统传到另一外一台计算机系统,未经授权认证访问或破坏计算机系统。通常许多人认为“病毒”代表了所有感染计算机并造成破坏的程序,但实际上,换成“恶意代码”更为贴切,病毒只是恶意代码的一种。恶意代码的种类包括。

梦想不是挂在嘴边炫耀的空气,而是需要认真实践,等到对的风,就展翅翱翔! 3333

流星加速器木马分析与处置方案

LocalNetwork.exe会通过接收C&C服务器(58.218.92.196)的代理策略,执行代理逻辑转发服务器下发的数据流量,在未经用户允许的情况下占用用户的网络资源,使用户机器沦为帮助其牟取利益的工具。此外,当用户卸载“流星加速器”后,上述病毒模块会依旧驻留用户电脑中,继续作恶。SecurityGuard.exe模块的主要功能就是将自身注册为服务并接收C&C服务器(api.jm.taolop.com)下发的后门命令控制码来执行不同的后门功能,如:更新模块,创建、删除服务,运行远程命令。...

不忘初心,护天下安全! 2121

无文件恶意软件感染完整指南

目录 什么是无文件感染 ? 为什么网络罪犯使用无文件恶意软件 无文件感染的工作机制 EXPLOIT KITS ——无文件感染的必要工具 如何保护您的计算机免受无文件感染 Level 1:保持应用程序和操作系统应用安全更新 Level 2:阻止携带 Exploit kits 的页面 Level 3:阻止 payload 传递 Level 4:阻止你的电脑和攻击者的服务器之间的通信 结论 什么是无文件感染 ? 正如其名,恶意软件或病毒在感染的过程中不使用任何文件。 要了解它的含义...

m0_37442062的博客 887

8、安卓恶意软件的发展与威胁

本文深入探讨了安卓恶意软件的发展历程,分析了多个知名恶意软件家族的特点与传播方式,包括RAMNIT、Triada、Chamois、Gooligan、Snowfox、Hummingbad和YouTube Downloader等。文章还讨论了2017年及以后的恶意软件趋势,如SDK嵌入、代理网络、WAP欺诈和数据经纪商的兴起,重点介绍了OneAudience案例及其技术细节。最后总结了恶意软件的演变路径,并提出用户、开发者和安全公司应如何应对这些威胁。

oo7890的博客 165

46、安卓应用中恶意软件模式的可视化发现

本文探讨了利用可视化技术在安卓应用日志文件中发现恶意软件模式的方法。随着安卓设备的普及,恶意软件问题日益严重,传统的静态分析方法难以应对代码混淆等挑战。通过使用DocuBurst、Word Tree、Word Cloud和Textexture等可视化工具,研究人员可以更直观地识别隐藏的恶意行为模式。文章还介绍了一款应用检查工具,支持多应用分析和异常检测,适合非专家用户使用。实验评估结果显示,该工具具有良好的易用性和可视化效果,为安卓应用安全分析提供了有效支持。

4k5l6j7h8的博客 83

【恶意软件检测论文】通过提取 API 语义来实现的一个新颖的安卓恶意软件检测方法

由于Android框架和恶意软件的持续进化,使用过时应用程序训练的传统恶意软件检测方法在有效识别复杂的进化恶意软件方面已不足够。为了解决这个问题,本文提出了一种新颖的安卓恶意软件检测方法,名为API语义提取的安卓恶意软件检测方法(AMDASE),它可以有效识别进化的恶意软件实例。首先,AMDASE执行API聚类以获取代表API功能的聚类中心,然后在恶意软件检测之前设计API句子来总结API特征,并使用自然语言处理(NLP)工具获取API句子的嵌入,用于聚类。

czc的博客的csdn版本,欢迎访问我的还在建设的个人网站:czchx.cc 1649

1、安卓恶意软件检测与分析全解析

本文全面解析了安卓恶意软件的检测与分析方法,从安卓安全模型、恶意软件分类、发展历程到手动分析与机器学习检测技术进行了深入探讨。同时,文章还详细解析了不同恶意软件的特征,以及未来趋势和应对策略,为安卓安全防护提供了实用的指导和建议。

oo7890的博客 120

[论文翻译]结合权限和应用程序接口调用序列预测安卓恶意软件

恶意软件检测是软件维护中的一项重要任务。它能有效保护用户信息免受恶意开发者的攻击。现有研究主要侧重于利用权限信息和 API 调用信息来识别恶意软件。然而,许多研究只关注了 API 调用,却没有考虑 API 调用序列的作用。在本研究中,我们提出了一种结合权限信息和 API 调用序列信息来区分恶意应用程序和良性应用程序的新方法。首先,我们使用反编译工具提取权限和 API 调用序列的特征。然后,采用单次编码和 Word2Vec 分别表示每个应用程序的权限特征和 API 调用序列特征。

my991201的博客 1270

8、安卓恶意软件检测系统综述

本文综述了安卓恶意软件检测系统的研究现状,详细介绍了检测流程中的关键步骤,包括数据集构建、特征提取与选择、机器学习分类算法的应用等。文章讨论了三种主要的恶意软件检测方法:基于签名的检测、基于异常的检测和基于启发式的检测,并通过比较它们的优缺点,提出了结合多种检测方法的多层次体系结构。此外,文中还总结了多个相关研究工作,并给出了未来发展方向,旨在提高安卓系统的安全性并保护用户隐私。

play7的博客 148

24、安卓恶意软件特征转换与检测技术解析

本文深入解析了安卓恶意软件的特征转换与检测技术,重点探讨了特征聚类和基于相关图的特征转换方法在减少特征数量和提高检测准确性中的应用。结合多种机器学习分类器,文章通过实验数据展示了其在区分根权限恶意软件、良性软件及其他类型恶意软件中的性能表现。同时,对恶意软件的权限请求特征进行了详细分析,提出了应对恶意软件变种的策略,并展望了未来安卓系统安全防护的发展方向。

oo7890的博客 111

android恶意软件流量,基于流量分析的安卓恶意软件检测

基于流量分析的安卓恶意软件检测随着智能手机行业的发展,人们在日常的工作学习生活中越来越离不开智能手机。Android系统作为流行度最高的智能手机系统之一,其安全性正受到越来越多恶意攻击者和安全研究者的关注。根据Zhou、Sarma和Yerima等人各自的研究,超过93%的Android恶意软件需要访问网络才能完成攻击,使用网络流量特征检测Android恶意软件具有可行性。近年来,该领域已有了较多研...

weixin_39970369的博客 1022

【学习笔记-QGIS】 QGIS从零快速上手

安装文章参考:https://zhuanlan.zhihu.com/p/370633306。

Xcong_Zhu的博客 1万+

android发布平台排行榜,2017年Android平台新增恶意软件地区感染量排行榜(附榜单)...

中商情报网讯:据数据统计显示,2017年全年Android平台新增恶意软件样本757.3万个,平均每天新增2.1万。在手机用户感染恶意软件方面,2017全年Android用户感染恶意软件2.14亿,相比2016年2.53亿人次下降15.4%,平均每天恶意软件感染量约为58.5万人次。从地城分布来看:感染手机恶意软件最多的地区为广东省,感染量占全国感染数量的10.4%,位列2017年Android平...

weixin_39639049的博客 134

保姆级教程:用SOEM主站搞定汇川SV660N伺服驱动器的EtherCAT通讯(附完整C代码)

本文提供了一份详细的SOEM主站与汇川SV660N伺服驱动器EtherCAT通讯的实战教程,涵盖环境搭建、状态机理解、PDO映射配置、CiA402状态机实战、实时性能优化及诊断调试等关键步骤,并附完整C代码示例,帮助开发者快速实现工业级EtherCAT控制。

weixin_28292761的博客 300

Smart200 PLC实现Bool信号接通延时、关闭延时作用

解决Smart200 PLC时间继电器和脉冲扫描P或N不能重复使用的问题,用于Bool信号延时接通和延时关闭的作用,可调整时间基数

gk_121的博客 4317

谷歌: 2017年,机器学习检测出了60.3%的潜在的有害安卓应用

文章来源:ATYUN AI平台 谷歌今天发布了其安卓(Android)安全系统2017年的评论报告,这是该公司第四次向公众宣传安卓的各种安全级别及其缺陷。报告中最有趣的一项发现是,通过机器学习检测出了60.3%的潜在有害应用(PHAs)。 这项检测是由一项名为Google Play Protect的服务完成的,该服务支持超过20亿台设备(运行Android 4.3及更高的系统),以持续扫...

whale52hertz的博客 328

高速PCB设计中串扰的成因、影响与实战控制策略

在高速数字电路与硬件系统设计中,信号完整性是确保系统稳定可靠的核心基础。其核心原理在于,当信号在传输线上传播时,会伴随产生电场与磁场,若相邻导线距离过近,便会通过电磁场耦合产生不期望的能量转移,即串扰。这一现象会直接导致信号波形畸变、时序偏移和噪声裕量降低,严重影响系统性能。从技术价值看,深入理解并有效控制串扰,是提升数据传输速率、保障系统稳定性和降低误码率的关键。其应用场景广泛覆盖了从高速SerDes链路、DDR内存接口到高精度模拟电路等几乎所有现代电子系统。本文聚焦于高速PCB设计中的串扰问题,系统剖析

weixin_27625589的博客 573

2017年上半年11大知名恶意软件

文刚刚过去的5月15日国际家庭日鼓励家长为孩子传授了解可持续发展、人权、性别平等以及形成多元化文化、全球化公民的其它价值,关注家庭在培养教育和终身学习中发挥的作用。 网络安全领域也离不开教育。目前,威胁格局不容乐观,网络安全公司也在竭力应对各种新旧威胁。恶意软件是安全行业进行继续教育的源泉,因此,认识最知名恶意软件家族的攻击方式对信息安全学习至关重要。 ...

weixin_34329187的博客 263

UFS Host Controller工作流程

contentsUFS架构图HCI接口架构传输请求接口(Transfer Request Interface)UFS 主机控制器寄存器接口(host controller Interface)UTP 层数据传输Host Software与Host Controller的交互Host Controller初始化配置与控制CRYPTOCFG 配置过程 该文档描述了UFS Host Controller的主要运作流程以及在开源内核代码hisi平台中的host controller的接口函数设计 文档大部分内容参

Frank_sample的专栏 1万+

CFturbo 2024保姆级教程:从流量扬程到三维叶轮,手把手搞定离心泵水力设计

本文提供CFturbo 2024离心泵水力设计的全流程实战指南,从流量扬程参数输入到三维叶轮模型导出,详细解析设计步骤与优化技巧。涵盖叶轮尺寸确定、子午面型线设计、叶片角度调整等关键环节,帮助工程师高效完成CAE辅助的离心泵水力设计,提升设计质量与效率。

weixin_42569329的博客 921

精读 HinDroid:基于异构信息网络的安卓恶意软件检测

本文精读2017年KDD最佳论文HinDroid,详解其如何基于异构信息网络与多核学习实现安卓恶意软件检测,在真实数据集上达到98%的F1值与准确率。

zzm628的专栏 310

【雷达通信】雷达信号处理仿真【含Matlab源码 2509期】

雷达信号处理仿真 完整的代码,方可运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 903

【恶意软件检测】一种基于API语义提取的Android恶意软件检测方法(期刊等级:CCF-B、Q2)

由于Android框架和恶意软件的持续演变,使用过时应用程序训练的传统恶意软件检测方法在有效识别复杂演化的恶意软件方面已显不足。为了解决这个问题,本文提出了一种新颖的Android恶意软件检测方法,名为API语义提取的Android恶意软件检测方法(AMDASE),它可以有效识别演化的恶意软件实例。首先,AMDASE执行API聚类以获取代表API功能的聚类中心,然后在恶意软件检测之前设计API句子来总结API特征,并使用自然语言处理(NLP)工具获取API句子的嵌入用于聚类。

czc的博客的csdn版本,欢迎访问我的还在建设的个人网站:czchx.cc 2697

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【恶意软件检测论文】用于 Android 恶意软件检测的混合 ML-DL 方法

随着近年来Android恶意软件的激增,对移动安全构成了重大威胁,因此需要创建稳健的检测解决方案。本研究中用于检测Android恶意软件的主要工具是应用权限。Android应用程序请求的权限信息是数据集中区分恶意应用和良性应用的主要信号。通过分析特定权限与恶意软件活动之间的联系开发的机器学习模型,可以将应用程序分类为安全或可能危险。通过使用监督学习方法评估权限模式的预测潜力,所提出的方法提供了一种便携且高效的恶意软件检测解决方案。

czc的博客的csdn版本,欢迎访问我的还在建设的个人网站:czchx.cc 1254

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: 对深度学习的逃逸攻击 — 探究人工智能系统中的安全盲区
下一篇: Android平台挖矿木马研究报告
Omni-Space
博客等级 码龄11年 2158粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值