电子表格显示未知应用程序 spill溢出区域未知或位于表中,怎么解决?#office办公技巧

小编 2024-11-24 电子应用 23 0

spill溢出区域未知或位于表中,怎么解决?#office办公技巧

spill溢出。

上节课讲解了spill溢出错误,讲解了三种原因,今天再讲解两种原因。

·就显示溢出区域未知或者是溢出区域位于表中是什么意思?如果显示的是溢出区域位置,也就是依然报错spill的意思是里面全套了一个run the beat函数,这样一个数组函数是不能全套随机函数的,所以才会报错,所以不能尽量减少使用run the beat。

·溢出区域位于表中,首先什么意思?它改成了超级表,在超级表里面输入一个数组函数,来试一下,数组函数,回车就会直接报错。这什么原因?就是数组函数是不能用于超级表的,这个时候要想让它正确,就转换成普通区域,把它删除掉。

因为只要是在超级表里面,数组是没有办法使用的,所以只能转化为普通区域,转化为普通区域之后再去输就没有任何问题了。来看一下,再回车就没问题了。

所以还有如果出现随便有这样的溢出错误,还有两种情况,一个是和专道比特函数使用了,要么就是在超级表中,所以以后出现这种问题尽量去避免。

你了解了吗?

基于系统调用日志的 Android 恶意软件检测方法

导语:利用动态分析方法可以监视android程序的运行,如网络访问、通话记录和发送的消息。由于动态分析是在沙箱环境中进行的,所以该方法可以以防止恶意软件对实际运行造成损害。

所谓的恶意软件就是旨在歪曲和阻碍移动或计算机应用程序的软件,从而收集重要信息,执行恶意操作。这些恶意的操作包括获取隐私信息,窃取有价值的信息,显示钓鱼广告,并监视用户的活动,下图就是恶意软件的不同分类。

现如今,计算机安全已经上升到了国家安全的层面,但随着移动终端的出现,移动安全也同样值得关注。目前的手机市场,采用android应用程序运行的占了大多数。所以攻击者对android应用程序的攻击主要是从以下两方面进行的:

首先,对于个人用户来说,攻击者利用智能手机上的android应用程序,来实时获取用户设备上的图片、联系人、电子邮件和其他隐私信息。

其次,对于组织来说,攻击者可以利用android应用程序监测组织的IT基础设施。

目前研究人员已经建立了两种恶意软件检测方法。第一种是静态分析,静态分析中使用的一些技术包括反向编译、模式匹配和解密等。但是对于未知的应用程序来说,它们可以通过混淆和加密来获得不同的签名,因此静态分析通常无法识别未知的恶意软件。

因此,本文会采用第二种方法,即动态分析方法来检测android恶意软件。利用动态分析方法可以监视android程序的运行,如网络访问、通话记录和发送的消息。由于动态分析是在沙箱环境中进行的,所以该方法可以以防止恶意软件对实际运行造成损害。许多这样的沙箱都是虚拟的系统,在分析完成后可以恢复到原始状态。

新检测方法的出现

由于各种源码的开放,大多数恶意应用程序都想在android手机上攻城略地一番,最常见的就是攻击者可以很容易地将自己的代码嵌入到一个良性应用程序的代码中。所以可以很容易理解,为什么近年来,攻击android应用程序的恶意软件会以惊人的速度增长。在这种情况下,android设备的安全性和这些设备所允许访问的资源都处于危险之中。此外,由于android设备的移动性质,android本身具有一些明显的特点和局限性。因此,用常规方法检测恶意软件就变得很麻烦并且低效,所以,这就需要开发一种新的、有效的方法来检测恶意应用程序。虽然这些新方法目前还是研究之中,但很明显有些已经初见端倪。

相关的研究工作

在恶意软件检测领域有很多研究方向,比如,在“Deep4MalDroid:基于Linux内核系统调用图的Android恶意软件检测的深度学习框架”中,就有研究者提出了一种新的动态分析方法,名为组件遍历,它可以自动执行每个给定的Android应用程序的代码程序。在提取的Linux内核系统调用的基础上,这些被分析的代码程序又进一步构建加权有向图(weighted directed graphs),然后再在基于加权有向图的基础上应用深度学习框架。最后,在模拟器中运行Android应用程序,并从这些分析的数据中提取系统调用。然而,由于在该方法中,Android应用程序是在仿真器中执行的,并且从该数据中提取系统调用。所以在这种情况下,运行在仿真器上的未知恶意软件功能可能回去发生改变,并不能判断出它们是否在真实环境中也会发生。因此,这种方法无法检测到某些恶意软件的。

而在“基于AndroidManifest文件的恶意软件检测方法”中,研究人员会从AndroidManifest文件中提取了一个特征向量,该文件组合了Android应用程序的权限信息和组件信息。结合朴素贝叶斯分类算法,研究人员提出了一种基于AndroidManifest文件信息的恶意应用检测方法。这种方法是一种静态的恶意软件检测方法,这意味着应用程序在运行时,是不会被执行分析的。因此,它无法检测到任何能够重新封装和混淆的未知恶意软件,如此以来,未知恶意软件就可以绕过内部防御机制。

在“ANASTASIA:使用静态分析应用程序的android恶意软件检测”方法中,研究者提出了一个通过静态分析应用程序来检测恶意Android应用程序的思路。ANASTASIA的思路就是对安全行为进行一个完整的覆盖,它利用静态提取的特性,从应用程序的各种安全行为中提取了大量相关特征。由于这是一种静态方法,因此它无法保护设备不受零日攻击和未知恶意软件的攻击。

在“AntiWare:基于机器学习方法和官方市场元数据的自动化Android恶意软件检测工具”方法中,研究者使用了一种自动化的基于安全特征的静态分析方法来检测Android设备上的恶意移动应用。该方法采用了应用元数据和朴素贝叶斯算法进行恶意软件检测。这种方法是恶意软件检测的一种静态方法,因此它无法保护设备不受未知恶意软件的影响,这些恶意软件可以重写自己的代码来改变自己的恶意特征。

基于系统调用日志的Android恶意软件检测方法

鉴于以上方法都存在着不同程度的短板,因此我自己开发了一个新的检测方法。该方法分为三个步骤:

第一步是系统调用日志的生成。

第二步是利用卡方检验。

第三步是创建数据集。

目前我已经成功地把66个应用程序的系统调用日志信息添加到了该数据集中,且收集了每个应用程序的19个安全特性。我相信,这种大量的安全特性组合可以让检测精度到达最高的准确度。由于第三步是在机器学习算法上实现的数据集。所以,我有必要说一下三种常用的机器学习方法,它们分别是朴素贝叶斯算法、随机森林算法和随机梯度下降算法。最后通过怀卡托智能分析环境得出结果。另外,朴素贝叶斯算法和随机森林算法还可以在C#和Python中实现。

译者注:怀卡托智能分析环境(Waikato Environment for Knowledge Analysis,WEKA)是一个开放源码的数据挖掘软件。

系统调用日志的生成

首先,我会安装一个Android模拟器Genymotion,构建一个沙箱,让每个应用程序都在其中运行,这样做是为了防止我自己的设备受到恶意应用程序的攻击。每个应用程序会运行大约5分钟以观察其行为,如此一来,这将产生一个使用“strace”命令生成的系统调用日志。系统调用日志的所有代码都是使用python脚本执行的,下图显示了日志生成的整个流程。

利用卡方检验

一旦我有了每个应用程序的系统调用日志信息,我就可以开始创建数据集了。由系统调用信息组成的文件是这样创建的:对于每个应用程序来说,系统调用的存在或缺失是由1/0表示的。使用下图中提到的算法,我可以将上述过程自动化。这个算法的复杂度是O(n),其中n是字符的数目。

译者注:O(n)也是差不多的意思,也就是说n很大的时候复杂度约等于Cn,C是某个常数,下图是生成系统调用的二进制输出算法。

在创建了数据集之后,为了提高正确识别实例的准确性,我通过使用卡方检验算法来筛选第一步提取的系统调用日志,下图清楚地说明了我用来实现卡方检验过滤机制的算法。

结果,我选择了前18个特征来作为调用日志,并将恶意软件检测计数功能也添加了进来。这就构成了一个完整的数据集,该数据集包括了66个应用程序和19个特性。

机器学习算法

在创建数据集之后,我会提供三个算法来进行分析。第一个算法是朴素贝叶斯算法,它是用C语言来实现的。我会首先将训练集(刚创建的数据集的一部分)存储在Microsoft Access(用于数据库连接和存储)。其余部分存储在另一个表中,以提高获得未知样本的准确性。在此之后,我会根据每个特性以及计算出来的平均值和方差构建一个目标标识符表,用于对未知应用程序进行识别、分类。而在另一个表中,其每一行都代表一个未知样本,下图演示了朴素贝叶斯目标标识符列表生成的整个流程。

然后将相同的数据集利用第二个分类算法即随机森林算法再进行一次数据集的创建,在创建数据集之后,可以将其划分为随机子集。然后为每个子集创建决策树。根据创建的结果,这些决策树被重新分组。为了将未知样本标识为良性或恶意,我使用了最多树的组。下图显示了随机森林算法的整个流程。

由于在应用机器学习算法时,我们通常采用梯度下降法来对采用的算法进行训练。所以,我会将数据集利用梯度下降法进行第三次创建。

三次算法的结果如下:

朴素贝叶斯检验取得了93.75%的准确率;

随机森林标检验取得93.84%的准确率;

随机梯度下降算法达到95.5%的准确率。

这些结果会首先在怀卡托智能分析环境中获得,然后再在C#和Python语言环境中进行检验。

检测结果对比

在这些算法的数据集实现后,我就可以计算出相应的准确率(Precision)、召回率(Recall)、F值(F-Measure)等。下表显示了计算所有值的方法。

下表是利用朴素贝叶斯算法进行的计算。

下表是利用随机森林算法进行的计算。

下表是随机梯度下降算法进行的计算。

我将会使用三种不同的算法对数据集进行创建,并分别计算其精度,下图显示了这些算法之间的比较。从下图中,我可以清楚地证明数据集的检测精度,因为所有的算法都能够识别相当数量的实例。

从三种算法的高准确度可以看出,我的系统调用日志数据集的收集方法是合理的。

结论

本文定义了一个使用系统调用日志信息创建数据集的方法,然后利用朴素贝叶斯算法、随机森林算法和随机梯度下降算法对数据集进行比较,从而对检测结果进行分析。我所使用算法的主要特点包括:

首先,系统调用日志是在内核层工作的,利用系统调用日志可以发现应用程序的恶意行为。其次,整个过程是自动且高效的。

最后,通过使用卡方检验算法,提高了数据集的质量。

这样,我就得到的数据集的就很精确。该方法未来可以用于识别这66个应用程序的所有变异版本,即使这些应用程序能够识别沙箱环境并做出相应的反侦察行为,利用该方法也能检测到。

相关问答

...操作系统当前的配置不能运行此 应用程序 ”是怎么回事?-ZOL问答

应用程序的文件被破坏了。所以当你打开EXCEL文件时,系统就显示该出错信息。...我的电脑就是由于操作系统的某些未知的错误,无法安装MSOFFICE,所以我就使用...

wps 表格 为什么会变成白色的 未知 图标,wps文字是正常的,怎么恢...

如果您的WPS表格变成了白色的未知图标,而WPS文字是正常的,那么可能需要进行以下...有时候软件版本过旧也会出现图标显示异常的情况。2.如果确认已经更新到最新...

应用程序 发生异常 未知 的软件异常(0xe06d7363)是怎么回事?

[回答]内存不能为“read”或“written”的解决方案有些人运行飚车程序的时候会弹出该内存不能为“read”的错误提示。希望以下文章能对大家有所帮助。使...

以下两个英语单字和词,UNKNOWNAPPLICATION_作业帮

[回答]前者为adj未知的、不出名的、从未发生的、从不存在的n不知名或不出名的人、未知的事物(数)未知数复数+s后者n适用、应用、运用、申请、表格、勤...

【把表中 未知 数据填入表下对应的字母后.各修路队修路情况统...

[最佳回答]①一队和二队总人数:15+17=32(人);②两队修的总米数:2700+3400=6100(米);③两队平均每人修路米数:6100÷32=190.625(米);④一队平均每人修路米数:27...

剖面的一些就变成了 未知 命令,怎么处理?-ZOL问答

打开旧文件时,剖面的一些就变成了未知命令,怎么处理?举报复印机京瓷京瓷2...首页资讯查报价排行榜问答论坛应用违法和不良信息举报电话:010-6421816...

苹果手机 来电显示 突然都变成 未知 ,拨号助理也是打开的是为什...

手机来电显示无法显示的原因可能是因为未开通来电显示功能。如果您想开启来电显示功能,可以重新开通该服务。一般套餐会默认提供来电显示功能,但对于联通4G组...

三星手机安装不了 应用 怎么处理,已经把 未知 来源的,也勾选了...

首先,确保您的设备已经打开了开发者选项,并允许安装未知来源的应用。其次,您可以尝试使用第三方应用商店来下载和安装应用,因为这些商店通常具有更多的资源...

如果在打开游戏的时候遇到 未知 错误该怎么办? - 欢仔Sur 的回...

使用Windows操作系统的人有时会遇到这样的错误信息:“0x????????指令引用的0x00000000内存,该内存不能为read或written”,然后应用程序被关闭。如果...

跪求!答案!高手进!我的电脑一开机就弹出“没法找到脚本C:Docu...

哦~~这个是你误删了系统盘里的东西了,删的是“开始菜单”里“程序启动”里的文...重启开机后,再点开“隔离|恢复”,点:“彻底删除”病毒文件和“未知自启动项”...