查看: 2644|回复: 10
收起左侧

[讨论] 什么是“嵌入式代码检测”?

[复制链接]
paink
发表于 2019-4-30 20:48:13 | 显示全部楼层 |阅读模式
本帖最后由 paink 于 2019-5-7 23:31 编辑



新的脚本分析用来弥补信用评级和沙盒的短板,包括了启发式、嵌入式、自启动式脚本检测。
其余两种都好理解,那么“嵌入式代码”是什么意思呢?

之前对cmd.exe开启了“嵌入式代码”检测,结果命令行、bat脚本都被隔离执行,任何cmd命令都不起作用,命令文件被隔离到“tempscrpt”目录。

官方帮助页:https://help.comodo.com/topic-72 ... lysis-Settings.html
其实并没有关于Embedded Code Detection的介绍。(只有一句:embedded code tracking(嵌入式代码跟踪))

值得留意的是:无论是运行时检测,还是自启动分析,里面都包含着启发式和嵌入式两种检测方式,可见它们是相对而言的。

有经历的朋友来聊一聊。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
paink
 楼主| 发表于 2019-5-1 19:12:51 | 显示全部楼层
本帖最后由 paink 于 2019-5-12 19:47 编辑
rex_bbs 发表于 2019-5-1 17:44
确实不对,说成了对整个script模块的理解,嵌入式个人理解觉得像office里的vbs宏,为了提升office运行的功能 ...

官方关于:启发式-命令行-分析,嵌入式-代码-检测


我开始也是这么想的,认为“启发式-命令行-分析”是使用启发方式对从命令行执行的脚本进行分析;“嵌入式-代码-检测”则是你说的那个样子。

然而现实却不是。
因为*\cmd.exe默认是没有选中“嵌入式代码检测”的,那么从cmd执行的命令理应受到影响。
实际上,默认状态下cmd命令执行正常,反而是在开启“嵌入式……”后,无法达到执行目的,即使是简单的“cd”命令都被隔离。


----------------------------------------------------------------------------------------------------------

大致知道怎么回事了,是我自己不够细心,没能发现。
被隔离的“cd”命令是从右键菜单中激发的

而如果是下面的方式,则不会被(嵌入式代码检测)隔离:
①直接的运行cmd.exe,然后执行命令(在这里运行bat或cmd文件,无论文件还是解释器,都不会被隔离或入沙);
②直接运行.bat/.cmd文件(由于有沙盒规则(所有【未知的】应用程序入沙),会被入沙)。

也就是说“嵌入式代码检测”是针对脚本的激发/启动方式(而非运行方式)进行追踪检测的。
其应对方式也十分生涩,打开姿势不对时,即使是简单的cd命令都会被隔离(这是嵌入式代码检测的隔离行为,而不是沙盒的),执行的cmd命令都会被毛豆创建一个bat文件放在它的临时脚本文件夹里,同时使此脚本进程进入完全虚拟化(无法设为“忽略”,呆不呆?)。

已知的,可以激发嵌入式代码检测的方式(以cmd为例,作为参考):
①几乎是排除上面两点之外的所有方式,详细的见下面:
②从右键菜单(第三方程序添加的菜单)运行cmd;(win10的资源管理器是否能直接打开命令行不太记得了,我用的7)
③从第三方程序激发的cmd命令(通过调用cmd.exe来执行),如git-cmd.exe;
实际上大多数程序运行cmd命令或cmd文件都是调用的cmd.exe,所以嵌入式代码检测的定义从这里就出来了。

至于所有的脚本文件,除非特别定制了沙盒规则,否则的话,不直接通过命令行执行的所有脚本统统都是未知文件,其宿主程序也会被入沙/完全虚拟化。
如果运行cmd命令或cmd文件不需要调用cmd.exe,自己都能编译执行,那就会直接激发沙盒(存在全局未知入沙规则时),而不会激发“嵌入式……”。测试时,cygwin的run.exe就是这么厉害。

----------------------------------------------------------------------------------------------------------
结论:

所以,针对cmd.exe开启“嵌入式脚本检测”后,comodo就会检测第三方程序对cmd.exe的调用动作。

对于其他的类似cmd.exe 的脚本执行程序,comodo除了检测调用,还会检测该程序的文件访问操作(FD)。而且,最后是直接调用了沙盒,对文件(毛豆是定义为脚本进程)以及脚本执行程序都完全虚拟化。

过程中,监控点是列表中的脚本执行器(守株待兔),启发点是其他任意(包括可信)程序的调用行为。
所以,“嵌入式脚本检测”就应该看成是一种特别针对脚本文件的,基于HIPS 的主动沙盒防御。

ps:遇到过(有特别古怪后缀名的)普通纯文本文档也被隔离的情况。恐怕毛豆也不知道哪些才是脚本文件,只是单纯的监视脚本执行器的文件访问行为。

----------------------------------------------------------------------------------------------------------
启发想法:

看过这个帖子后,了解到日常使用的办公程序都会引入“宏”的功能。就是使用脚本命令,去完成一些重复的复杂动作。除了毛豆已经加入分析的应用程序,用户其实可以加入一些第三方程序。
这里如果加入那些办公程序会怎样呢?
在不同的“嵌入式代码分析”开关状态下结果又是怎样的呢?
哪些使用宏执行的编辑操作的部分,是否会生效并保留下列呢?

这里要感谢网友 @rex_bbs的回复,提供了很多有利提示。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
HEMM
发表于 2019-4-30 21:00:33 | 显示全部楼层
本帖最后由 HEMM 于 2019-4-30 21:03 编辑

我忘记了.....天使李子姐姐给我讲过,我听完不久就会忘记,直到后来我理所当然编了套规则,过不了多久又记起来了,防火墙补了个C:\ProgramData\Comodo\Cis\tempscrpt\*禁止出站的规则,之前是允....
我只记得我脑补的是分析借助云,所以我允了外联.....
版区内好像有帖子,搜一搜。我挫!没搜到,我没收藏那个帖子..............
好像还有其他人给我讲过,我忘光了,可怎么好......
对了.....点毛豆的帮助,官方网站好像有详细的介绍,我异次元去不了,有人曾经截图我看过...........反正我每次都会忘光.......

paink
 楼主| 发表于 2019-4-30 21:05:31 | 显示全部楼层
HEMM 发表于 2019-4-30 21:00
我忘记了.....天使李子姐姐给我讲过,我听完不久就会忘记,直到后来我理所当然编了套规则,过不了多久又记 ...

谢谢,我过去看看。
HEMM
发表于 2019-4-30 21:12:40 | 显示全部楼层
paink 发表于 2019-4-30 21:05
谢谢,我过去看看。

谢什么啊?我什么都布吉岛,什么也想不起来了,哈哈哈哈哈~呃......这好像没什么可得意的.....
paink
 楼主| 发表于 2019-4-30 21:19:56 | 显示全部楼层
HEMM 发表于 2019-4-30 21:12
谢什么啊?我什么都布吉岛,什么也想不起来了,哈哈哈哈哈~呃......这好像没什么可得意的... ...

提供了解决问题的可能途径还不好啊。
不知道内容和不知道方法,是两种完全不同的无知。授人以渔挺好。
HEMM
发表于 2019-4-30 21:32:55 | 显示全部楼层
paink 发表于 2019-4-30 21:19
提供了解决问题的可能途径还不好啊。
不知道内容和不知道方法,是两种完全不同的无知。授人以渔挺好。

曾经有位天使授我了渔,然后我就忘记,最后饿死了........
感觉自己好像是只鱼........
无知倒是让我能稍微快乐点,没脑子多好啊,有脑子才会烦恼,看我傻兮兮的好不快乐,咩嘿嘿嘿嘿~
我只能记得那么多.........时间长了,人名,模样,包括倒水后水杯的盖子放在那里都会忘记的一干二净,就是这么的没心没肺。
我只能牢牢记住不要再通行了,其余的都忘记了,只记住了关于这个内容的这个点........
paink
 楼主| 发表于 2019-4-30 21:43:32 | 显示全部楼层
HEMM 发表于 2019-4-30 21:32
曾经有位天使授我了渔,然后我就忘记,最后饿死了........
感觉自己好像是只鱼........
无知倒是 ...

红红火火恍恍惚惚,完全不知到我们在聊什么了……

评分

参与人数 1人气 +1 收起 理由
HEMM + 1 跟我一起学发疯吧,这样你就能懂疯言疯语了

查看全部评分

rex_bbs
发表于 2019-5-1 15:24:37 | 显示全部楼层
对于嵌入式脚本检查这么去理解把,一切未经过任何编译的,需要宿主程序去完成实际操作行为的代码就是嵌入式脚本.
把这些代码想象成寄生虫,自己没有任何行动能力,但它能控制宿主给宿主发布命令,宿主完全根据寄生虫发布的命令去行动.宿主能力很大缺没有行为判断能力,它的行为对周遭的一切都会产生影响.
检测器就是为了防止被寄生的宿主的行为对周遭产生危害而存在.其实这类脚本不去实际运行,要分析是否有害并不容易,所以最稳妥的方放就是大概率的被丢进沙盒中去运行一遍.(命令行启发式检测其实一样,会发现很多重启再运行的脚本都会被丢进沙盒).
这个东西比白+黑更加难以防范.
paink
 楼主| 发表于 2019-5-1 16:40:45 | 显示全部楼层
rex_bbs 发表于 2019-5-1 15:24
对于嵌入式脚本检查这么去理解把,一切未经过任何编译的,需要宿主程序去完成实际操作行为的代码就是嵌入式脚 ...

你确定?
如果是这么理解的话,那么大多数脚本执行程序都可以称为宿主,也就用不着特意划分成启发式检测和嵌入式代码检测了。
rex_bbs
发表于 2019-5-1 17:44:28 | 显示全部楼层
paink 发表于 2019-5-1 16:40
你确定?
如果是这么理解的话,那么大多数脚本执行程序都可以称为宿主,也就用不着特意划分成启发式检测 ...

确实不对,说成了对整个script模块的理解,嵌入式个人理解觉得像office里的vbs宏,为了提升office运行的功能,可以通过vbs接口运行特定的代码去完成更为复杂的作业.
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-4-26 18:00 , Processed in 0.142218 second(s), 20 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

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