可以防病毒检测所有病毒?

<h1>防病毒的工作原理</h1>
<blockquote>是的,它在1935 – 36年被Alonzo Church在数学上证明,此后不久由Alan Turing在1936年独立证明.</blockquote>
<h2>是否在数学上证明了防病毒软件无法检测到所有病毒?</h2>
<p>我认为已经不可能对计算机病毒首先进行完整的正式定义,我.e. 描述&ldquo;恶意&rdquo;到底是什么. 但是需要这样的定义才能甚至争论可决定的. 不确定的问题. 但是,即使您发现一种有用的定义,即使您发现了一种有用的定义,但由于停止问题,它可能是不可决定的.</p>
2018年3月17日,17:17
<p>帖子之所以锁定,是因为它会产生大量的猜测和意见. 问题是询问另一篇文章中引用的论文的来源.</p>
2019年1月24日,7:51
<p>这个问题让我想起了道格拉斯R的对话. 霍夫斯塔特解释了戈德尔的不完整定理:天才.com/douglas-hofstadter-contractipunctuspunsus</p>
2019年1月26日,23:03
<p>停止问题说是? 如果您无法确定程序是否停止,似乎您也无法确定程序是否有恶意/是病毒.</p>
2019年1月29日,10:39
<p>您的标题提出的问题与报价中所说的不同. 报价声称并非所有病毒都可以停止. 这显然与询问是否可以像您的标题中那样检测到它们都不同. (这是正确的情况,因为可以在不检测到病毒的情况下停止病毒)</p>
2019年1月29日,13:38
<h2>19答案19</h2>
<p>在一种可能的解释下,这是稻米定理的结果. 如果程序执行一些恶意动作,则是恶意的,这使其成为语义属性. 有些程序是恶意的,有些不是,这使其成为非平凡的财产. 因此,根据赖斯定理,在总体情况下是不可否认的,是否是恶意的.</p>
回答2019年1月23日3:10
Joseph Sible-Reinstate Monica Joseph Sible-Reinstate Monica
7,268 3 3金徽章22 22 22银徽章35 35青铜徽章
<p>更不用说&ldquo;恶意&rdquo;几乎是一个完全主观的术语. 我已经看到拆卸程序被标记为恶意软件,因为AV作者显然认为反向工程是&ldquo;恶意&rdquo;的事情(即使我想不出一个不想要的人在计算机上说拆卸器的情况会结束在那里).</p>
2019年1月25日,20:17
<p>@doktorj:关键是,即使您提出了一些僵化的非句法定义,以&ldquo;恶意&rdquo; <i>(无论该定义是否错过了某些病毒,或包括一些非病毒))</i>, 仍然不可能标记所有/唯一的恶意程序.</p>
2019年1月25日,22:49
<p>@stéphanechazelas自我复制也是一种非平凡的语义属性,这是不可证实的.</p>
2019年1月26日,23:49
<p>我认为赖斯的定理仅在您必须决定时适用 <i>提前时间</i> 如果程序是恶意的,并且如果您不允许误报. 如果病毒扫描仪可以E.G. 拦截API调用,修改程序(E.G. 要插入运行时检查)并偶尔拒绝&ldquo;安全&rdquo;程序,应该有可能证明安全. 基本上就是这样.G. Java VM可以提供安全保证,不是吗?</p>
2019年1月28日,18:07
<p>@JeroenMostert:不,它与静态与运行时分析无关. 区别在于定义是语义还是句法. &ldquo;允许程序执行的动作列表&rdquo;是句法定义. 这就是为什么编写沙盒要比编写防病毒软件容易得多的原因.</p>
2019年1月28日23:11
<p><strong>实际上,可以很容易地证明相反</strong>:由于所有计算机病毒都是以一种或另一种方式可执行的代码,因此您要做的只是 <strong>编写一个防病毒程序,该程序将报告任何可执行代码为病毒. 从逻辑上讲,这样的程序将检测所有可能的病毒</strong>:</p>
<ul>
<li>所有代码均由您的防病毒软件(C→D)检测到</li>
<li>所有病毒都是代码(V→C)</li>
<li>所有病毒均由您的防病毒软件(V→D)检测到</li>
</ul>
<p>当然,可以就此防病毒软件提出一个争论. 但是,决定肯定是错误还是真实的标准是什么? 啊! 事实证明,良性代码和恶意代码之间的区别,诚实的&ldquo;远程PC控件&rdquo;套件和像Netbus这样的特洛​​伊木马是完全任意的,因此整个问题毫无意义.</p>
回答2019年1月23日14:21
1,775 1 1金徽章7 7银徽章6 6青铜徽章
可爱的. 我的意思是,完全无关,但也很可爱又聪明.
2019年1月23日,14:39
<p>@supercat,您的版本的问题是您需要提出可以通过编程应用的&ldquo;病毒行为&rdquo;的定义. 例如,访问《纽约时报》网站时,JavaScript比特币矿工可能会像病毒一样,但在访问Joe的折扣海盗软件时需要行为. 当您的FDE软件执行此操作时,加密硬盘驱动器的内容可能是良好的行为,并且在勒索软件完成时类似于病毒.</p>
2019年1月23日,21:17
<p>该防病毒计划将检测到 <i>本身</i> 作为病毒并关闭自己,使其无法检测到其他任何东西.</p>
2019年1月23日,21:43
<p>@supercat在操作员的同意下安装了许多病毒,但要做操作员不同意的事情. 但是,如果您防止自动运行,那么重新启动会杀死它,而不是副作用.</p>
2019年1月23日,22:41
<p>听起来像是一个争论 <i>白上</i> 只需要安装的仅测试软件的存储库中(甚至与大多数Linux存储库不同),至少避免故意安装恶意的东西</p>
2019年1月24日,10:53
<blockquote><p>1987年,弗雷德·科恩(Fred Cohen)发表了一个证明,没有算法可以完美检测所有可能的病毒.</p> </blockquote>
<p>它也引用了本文. 这可能是分析MR. Schneier指的.</p>
2019年1月23日在6:20回答
哈里·约翰斯顿·哈里·约翰斯顿
1,667 10 10银徽章14 14青铜徽章
<p>Schneier在这里指出,这是他在另一种情况下发表非常相似陈述时所指的结果:Schneier.com/blog/archives/2009/07/make_an_opera.html</p>
2019年1月23日,11:31
<p>@stephan:对于每一个可能的二元,都有一个假设的平台,它是有毒的,并且是一个假设的平台,它不是强大的. 该定理比大米的定理更强大,因为它也适用于超计算机.</p>
2019年1月23日,16:47
<p>@user1067003,我不是计算机科学家,但是我很确定&ldquo;没有算法&rdquo;一词意味着没有可能的算法,而不仅仅是没有 <i>已知</i> 算法. 否则这将不是一个非常有趣的结果. (不过,书面的证明可能仅适用于古典计算机,可能需要重做涵盖量子计算机或任何其他更令人abtruse的体系结构.)</p>
2019年1月24日,20:45
<p>这个答案在很大程度上依赖外部链接来回答这个问题. 您可以从该论文中汇总论点吗?</p>
2019年1月25日,8:52
<p>@harryjohnston:量子计算机在可计算性方面等同于图灵机,所以不,它不需要重做. 实际上,几乎每个计算机科学家都认为 <i>每一个</i> 物理可靠的计算机充其量等同于图灵机器</p>
2019年1月25日,22:57
<p>该声明不能在数学上证明,除非它被重新重新为数学命题.</p>
<p>至少,这需要数学上对&ldquo;病毒&rdquo;是什么的自然定义:这是具有挑战性的;您可能最终会得到一个在实践中没有用的抽象,因为它包括一些人们认为完全良性和有用的行为,并且/或排除人们认为反社会的某些行为.</p>
<p>这里很难的是,病毒是一个以某种方式改变其环境的程序,任何严格定义环境的尝试都将过于限制用于实际使用.</p>
<p>所以我会说不:不能在数学上证明命题,这是因为它不能在数学上提出.</p>
回答2019年1月23日18:24
迈克尔·凯·迈克尔·凯
491 3 3银徽章6 6青铜徽章
<p>反例:我会通过定义来擅长原始问题(失去其普遍性) <i>病毒</i> 作为任何bash脚本在没有参数的情况下运行时调用rm -rf /*的脚本;我将定义 <i>防病毒软件</i> 作为bash解释器的版本,否认执行中的rm -rf /*命令. 我希望您同意我们可以一直严格地定义一个&ldquo; bash解释器&rdquo;,&ldquo;执行&rdquo;等是在数学上意味着什么. 我是否刚刚制定了原始问题的较弱版本? 这是否反驳了您的主张 <i>它不能在数学上制定</i>? 是的,是的.</p>
2019年1月23日,18:36
<p>@ulidtko no. 您不能只是任意将病毒定义为您想要的任何东西. 否则,我可以将病毒定义为&ldquo;具有’反病毒’的软件&rdquo;,这将无助于讨论,因为这是对哲学的讨论,而不是安全或数学的讨论. 实际上,您对病毒的定义就像是说:&ldquo;我将一组偶数定义为 <2>&ldquo;. 继续前进,如果需要的话,就可以制作这样的系统,但是您没有这样做的任何事情. 正如迈克尔所建议的那样,&ldquo;病毒&rdquo;不能以任何对对话有用的方式数学定义.</2></p>
2019年1月23日,20:48
<p>回复:&ldquo;至少,这需要数学上对’病毒’是什么的自然定义:不一定是. 如果有适用的特征 <i>任何</i> &ldquo;病毒&rdquo;的定义,那么您也许可以数学上对其中一些特征进行形式化,而无需产生特定的完整定义. 这种部分的特征足以让您应用大米定理.</p>
2019年1月23日,21:16
<p>@ulidtko在同一基础上,我可以将病毒定义为任何发送电子邮件的程序. 我敢肯定,我可以对那类程序做一些理由,但这对普通人在现实世界中归类为病毒的程序一类都不会告诉我.</p>
2019年1月23日,22:07
<p>@michaelkay:我知道;我只提到赖斯的定理,以此为为什么您的陈述不正确. 对不起,如果那不清楚.</p>
2019年1月23日,22:17
<p><strong><em>tl; dr</em>-</strong> 答案取决于您对问题的要求.</p>
<ol>
<li>如果您只想在没有进一步约束的情况下检测所有病毒,那么只需将任何事物标记为病毒,就完成了.</li>
<li>如果您想正确地将所有程序识别为病毒,那么在未结合的情况下是不可能的,因为分类问题减少了停止问题.</li>
<li>如果您想正确地将所有程序识别为病毒,并且您正在考虑有限的机器,那么从理论上讲是可能的,但在实践中通常不可行.</li>
<li>如果允许计算机可能会产生随机错误,那么任何程序都可以是病毒.</li>
</ol>
<h3>病例1:完整的病毒检测</h3>
<p>显然,将所有程序标记为病毒捕捉到所有程序. ((<em>pok’e’mon!</em>)</p>
<p>从这种情况开始,以表明并不难检测所有病毒。相反,特定的理论问题是正确分类的 <em>iff</em> 程序是病毒.</p>
<h3>案例2:无法在一般无限的场景中正确分类</h3>
<p>考虑程序:</p>
<pre><code>dohaltingproblem(); //不是病毒操作本身InstalleveryVirusever(); //绝对是病毒操作,但会发生?</code> </pre>
<p>在这种情况下,只有在停止问题停止时,该程序才是病毒. 因此,病毒检测减少到一般未结合的情况下的停止问题.</p>
<h3>案例3:在有限的场景中,可能通过蛮力搜索</h3>
<p>如果要被归类为病毒或不在有限的机器上操作的程序,那么您可以简单地模拟从每个可能的启动状态运行的机器. 有限的机器最终将循环回到先前的状态,因此它一定是有限的(如果是冗长的)分析.</p>
<h3>案例4:可能出错的机器可以自发出现病毒</h3>
<p>假设一台机器可以运行一个被视为病毒的程序,并且将其随机突变转移到该状态的可能性非零的机会,那么它最终应得出病毒状态.</p>
<p>这是一个无聊的点,但仅出于完整的目的.</p>
<h3>关于该问题的报价的讨论</h3>
<blockquote><p>病毒没有&ldquo;治愈.&rdquo;在数学上证明,始终有可能写任何现有的防病毒程序无法停止的病毒.</p> <p> – &rdquo;<em>秘密和谎言</em>&ldquo;,布鲁斯·施耐尔(Bruce Schneier),第154页</p> </blockquote>
<p>如上(1)的情况下,可以通过标记来标记所有病毒 <em>一切</em> 作为病毒;这很容易. 不可能的是,在未结合的情况下,确定每个可能的程序是否是病毒.</p>
<p>此外,很难确定在有限案例中特定程序是否是病毒. 例如,考虑程序:</p>
<pre><code>var toexecute = decryptbyBruteForce([[Ciphertext]); //通过Brute-Force Run(toexecute)解密程序的下一部分; //运行程序的已分配部分</code> </pre>
<p>如(3)所讨论的,在有限的机器上运行时,该程序可以归类为病毒或不可行,但是由于这样做可能需要野蛮的加密消息,因此在实际情况下这是不可行的.</p>
<p>因此,在现实世界中,它减少了启发式方法:反病毒计划对什么是一种病毒进行猜测. 或者,如果您想要更可靠的安全性,则可以拥有一个反病毒程序标记它不能证明是安全的任何东西,躲避需要对所有可能的程序进行分类的问题.</p>
<p>不幸的是,启发式方法的使用使知识渊博的攻击者安全漏洞将. 没有阅读报价来源,我怀疑这个问题是他们试图参考的问题.</p>
2019年1月25日在5:00回答
1,443 2 2金徽章11 11银徽章13 13青铜徽章
<p>案例(4)不仅很无聊,而且表明场景和有问题的情况更可能. 如果(CannoThappen)InstalleveryVirusever()考虑包含一些调用的代码;如果机器运行正常,Cannothappen将不会发生Cannothappen,但是如果机器超频,可能会发生. 如何正确分类?</p>
2019年1月25日,12:34
<p>@hansolsson是的,它需要概括本体,以捕获不太适合确定性模型的问题;据推测,我们必须考虑可能的结果的合奏,然后根据我们认为它们的安全性进行分类,否则,即使计划并非旨在行事,也可能会承认该计划可能会采取恶意行动. 我希望对Row Hammer之类的问题表示赞誉,无错误操作的推定确实可以弄乱分析.</p>
2019年1月25日,12:42
<p>&ldquo;强迫加密的消息&rdquo;为什么不在沙箱中运行程序,并弄清楚它如何解密消息本身? IIRC这就是某些防病毒软件已经起作用的.</p>
2019年2月1日,5:50
<p>@micsThepick在沙箱中运行程序是一种更好的级别解决方案,在非平凡的情况下通常可以优越,因此您是对的,在实践中倾向于首选. 正是,就先发制人的意义而言,问题是关于反病毒的;沙箱是一个不同的主题.</p>
2019年2月1日,6:03
<p>值得注意的是,可以通过简单地标记有可能安装病毒为病毒的任何程序来绕过停止问题示例(i.e. 专用的字节代码来执行此操作,因此该软件可以这样做).</p>
2020年1月3日,3:29
<p>这取决于您对&ldquo;停止&rdquo;的定义.</p>
<p>如果您将停止定义为&ldquo;提前检测到该代码可以做一些恶意并防止其运行&rdquo;,那么正如其他人所提到的,这是不可能的,赖斯的定理是不可能的.</p>
<p>如果您将停止定义为&ldquo;检测跑步程序何时尝试做一些不好的事情,然后停止它&rdquo;,则赖斯的定理不适用. 您的防病毒软件不需要决定该程序是否可以做一些恶意的事情,只有现在是否在做恶意.</p>
<p>阿法克(Afaik),第二个版本在数学上没有被证明是不可能的. 确实,对于任何对&ldquo;恶意&rdquo;的足够特定的定义.</p>
<p>但是,似乎没有对&ldquo;恶意&rdquo;的良好定义,而是涵盖病毒可能尝试的所有恶意形式. 那矿山比特币的病毒呢? 或为海盗电影提供? 或代表您的垃圾邮件留言板? 所有这些都与真正想做这些事情的用户运行的代码无法区分. 因此,我怀疑(尽管我不知道任何尝试证明)创建防病毒软件是完整的.</p>
回答2019年1月23日17:03
2,570 2 2金徽章18 18银徽章22 22 22青铜徽章
<p>定义恶意的问题几乎不是一个示威者. 不同的人会有不同的兴趣来构建适合他们的定义,但这没关系.</p>
2019年1月23日,23:55
<p>因此,有人在网站上产生链接,该网站在计算机上安装软件以监视您正在观看的电影,并将数据馈送到Megacorp. 这是一种病毒吗? 您的答案是否取决于&ldquo;某人&rdquo;是Microsoft,而不是青少年黑客? 您对软件的数学评估是否考虑到发起人的可信度? 简而言之,这实际上可以作为数学问题提出?</p>
2019年1月24日,0:25
<p>@Michael AI竞争是(我相信更羊毛)的想法:&ldquo;如果不创造人工通用情报,您将无法解决这个问题&rdquo;. 我认为它没有像NP那样明确定义,因此可能不适合数学证明.</p>
2019年1月25日,7:37
<p>谢谢,这很有意义. 我听到了这一点不那么严格的版本,沿着:以下是五个(或10个)问题,这将是很高的解决方案,但事实证明,实际上仅解决了其中一个(创建AGI/ASI)提供解决其他方法的方法(假设它不会消灭我们 /让我们宠物 /等.)</p>
2019年1月25日,18:25
<p>让我想起了一个古老的问题:&ldquo;什么是杂草?回答&ldquo;您不想在花园里生长的任何东西&rdquo;,回复:您对@R的评论</p>
2019年1月25日,18:27
<p>是的,它在1935 – 36年被Alonzo Church在数学上证明,此后不久由Alan Turing在1936年独立证明.</p>
回答2019年1月23日11:35
MichałKulińskiMichałKuliński
261 1 1银徽章4 4青铜徽章
<p>如果说明 <i>曾是</i> 某种程度上可简化停止问题,有趣的一点是表明这种情况,而不仅仅是命名为. 或者,要更直接地说:不,这绝对不是教会和图灵证明的(甚至与他们设定的证明还不是很近).</p>
2019年1月23日,13:13
<p>是的@jeroenmostert你有正确的. 我错了. 教会和图灵证明,没有任何机制来决定是否可以写出所有检测所有病毒的程序. 我把这些概念混淆了. 鲍勃叔叔在写博客:博客.清洁罩.com/叔叔/2018/06/21/…</p>
2019年1月23日13:20
因此,是否需要删除或完全重写此答案?
2019年1月23日,13:53
<p>马丁的博客虽然很有趣,但在解释停止问题时会承担一些更常见的谬论. 例如,&ldquo;程序的规范是一个很大的大型房地产方程式中的一个很大的大型方程式&rdquo;是错误的,简单而简单的. 当然是 <i>A</i> 指定程序的方式(如果您斜视),但是您需要成为 <i>很多</i> 比这更谨慎,以对证明是什么是有意义的陈述,是不可能的. 这样的解释倾向于混淆而不是澄清 – 实际数学是微妙的,但是有充分的理由这些事情 <i>是</i> 微妙的.</p>
2019年1月23日,14:15
<p>我不太确定这个答案是错误的:如果&ldquo;停止&rdquo;的意思是&ldquo;生成列出系统上所有病毒的报告,则不再或多或少&rdquo;,那么我们无法事先证明该程序会随着一个正确答案,除非我们运行它以找出答案. 请注意,引用的论文还指停止问题:Web.档案.org/web/20140525233117/http:// grnlight.网/…</p>
2019年1月23日,22:16
<p>不,您不能,因为恶意软件和有用程序之间的区别是完全主观的. 任何&ldquo;邪恶&rdquo;行为都可以是意图的行为. 例如,我现在在计算机上运行以下程序:</p>
<ul>
<li>一个加密我所有文件的程序. 是加密货币勒索软件还是完整的磁盘加密工具?</li>
<li>允许远程访问控制我的计算机的程序. 是特洛伊木马还是团队观众?</li>
<li>一个程序,可以通过Internet建立网络连接到各种计算机,并与他们交换模糊的数据. 是僵尸网络还是分布式计算平台?</li>
<li>一个将我所有个人文件发送到远程服务器的程序. 是间谍软件还是云备份??</li>
<li>一个从Internet下载可执行文件并运行的程序. 是恶意软件滴管还是蒸汽?</li>
</ul>
<p>您无法说出区别,因为从纯粹的技术角度来看,他们做了完全相同的事情. 唯一的区别是. 一个程序会欺骗用户的所作所为,并对用户兴趣采取行动,另一个程序完全按照用户想要它做的事情. 但是用户真正想要的软件是机器无法决定的东西. 至少不是在AI技术的当前阶段. 这就是为什么所有病毒扫描仪主要基于签名的原因.</p>
回答2019年1月25日8:58
49.1K 8 8金徽章127 127银徽章159 159青铜徽章
<p>要数学上证明可以始终可以撰写可以绕过所有现有反病毒程序的病毒,您首先必须数学上定义什么是病毒,并顺利.</p>
<p>也许是一个&ldquo;执行不希望动作的程序&rdquo;? 好吧,这简直是不可能的,想象一个程序可以打开与您的PC的连接并启用遥控器. 防病毒软件可以看到该程序执行此操作,但是如何知道是否需要?</p>
<p>它可能是一个合法的遥控程序,例如TeamViewer,也可能是一种病毒,作为一个简单的图像查看程序,特征器方式,您的防病毒软件将看到一个可以从您的PC读取和查看图像并打开远程连接的程序,并且将无法分辨出&ldquo;所需的&rdquo;行为是否没有,因为它不知道您为什么要安装该程序.</p>
回答2019年1月24日12:43
151 3 3青铜徽章
<p>正如@Walen指出的那样,如果允许假阳性,实际上可以检测所有病毒:只需将所有内容报告为病毒.</p>
<p>假设如果不允许假阳性,也可以检测所有病毒. 我们将拥有一个可以在任何程序上运行的ISVIRUS功能,并返回该程序是否为病毒. 现在,考虑我们称之为P的程序:</p>
<pre><code>如果Isvirus(P):退出else:dovirusthings</code> </pre>
<p>Isvirus的价值是多少(P) ? 如果是真的,那么p只是在不做任何事情的情况下退出,因此我们有一个假阳性. 但是,如果是错误的,那么P会做病毒,我们有未发现的病毒.</p>
<p>这证明如果不允许假阳性,则无法检测所有病毒.</p>
回答2019年1月25日11:45
161 3 3青铜徽章
下降器请解释为什么. 据我所知,此证明是有效的.
2019年1月25日11:54
<p>我没有下调,尽管看起来确实有些不足,因为似乎没有矛盾. 这是,如果Isvirus(p)是正确的,那么您的脚本不是病毒。但是,Isvirus(P)声称P是病毒的,而不是您的脚本.</p>
2019年1月25日12:20
<p>实际上,没有人会在乎ISVIRUS是否报告P确实是一种病毒,尽管实际上并不是P的定义。 . 确实,这一点并不是不合理的 <i>称呼</i> p病毒,因为它旨在做坏事并与我们聪明,如果我们试图识别它. 换句话说,调用ISVIRUS的行为可以用作任何不是我们自己的反病毒计划的程序的病毒标识符. (有多种方法可以&ldquo;修复&rdquo;这种推理线,但它们涉及在我们的定义上更加精确.)</p>
2019年1月25日,13:08
@nat P是脚本
2019年1月25日,21:25
<p>@matthew hah,opps,错过了那部分! 那时,这确实是一个矛盾,尽管这似乎是一个自我指的问题,例如&rdquo;<i>这个语句是错误的.</i>&rdquo;,而不是病毒分类.</p>
2019年1月25日,21:59
<p>最初的问题是 <strong>&ldquo;是否在数学上证明了防病毒软件无法检测到所有病毒?&ldquo;</strong></p>
<p>很可能说我们永远不会 <strong>证明</strong> 我们已经写了可以检测所有病毒的代码.</p>
<p>连接到Internet的通用计算机,能够下载和执行代码的能力等于通用图灵机器. 该等效性包括图灵的无限磁带大小:如果机器网络接口的带宽小于可访问数据的总增长率,则该机器永远无法达到&ldquo;磁带的末端&rdquo;. (很久以前,我在本文的结论中介绍了一点. 虽然从实际意义上说明这是可以证明的,但提出数学证明可能需要添加一些限制.)</p>
<p>如果以上是正确的,并且&ldquo;停止&rdquo;的意思是&ldquo;生成一个报告中列出系统中所有病毒的报告,则不再或多或少&rdquo;,那么我们无法事先证明该程序将以正确的答案停止;我们必须运行它才能找出.</p>
<p>如果以上两个段落都是正确的,那么我们永远无法验证结果报告的正确性,因为我们永远无法编译所有可能与之比较的病毒的完整列表:这些病毒都在录音带上的某个地方,它是无限的大小,我们永远无法阅读整个东西.</p>
<p>如果这三段都是正确的,那么我们永远无法证明我们已经写了100%正确的病毒检测器.</p>
回答2019年1月23日23:21
189 3 3青铜徽章
<p>好吧,病毒的定义很模糊. 是的,这是一个恶意的实体,但恶意是同样模糊的. 取决于系统及其政策,恶意实体的可能性将改变. 定义一个不断变化的实体是各个领域,数字理论,州机器等中出现的事情. 至少是基于我们所知道的,已经以不同的方式证明了它是不可能的.</p>
<p>一种方法是,而不是定义什么是恶意,我们可以定义一个非常严格和独立的系统,只允许执行某些操作序列. 这样可以确保安全.</p>
<p>此问题IMO就像定义随机的一样困难.</p>
回答2019年1月24日10:13
Adithya Sama Adithya Sama
121 3 3青铜徽章
<p>病毒只是代码 – 如果说&ldquo;我的AI割草机可以告诉杂草与植物之间的差异&rdquo;,那就可以了 – 如果是这样,它会吸引危险?</p>
<p>如果您下载了将电子邮件发送给联系人列表中的每个人的程序,是病毒还是垃圾邮件发送者? 取决于您为什么下载程序的原因,而不是程序中的任何特定字节.</p>
<p>因此,您甚至不必去数学证明 – 您可以理由无法做到这一点.</p>
<p>另一方面,您可以说如果您通过行为定义病毒很容易识别病毒. 程序将作为更新过程的一部分进行更新,如果有任何尝试在此过程之外更改计算机上的代码,则可以将其定义为病毒. 通过此定义,您可以轻松地检测到在特定安装过程之外发生的更改. 可能需要硬件,可以将代码与数据分开并在不持续按钮时锁定代码空间,但是可能(如果很烦人).</p>
<p>这也假定您在更新过程中故意安装的代码不是病毒本身,但是由于我们是按照此示例的行为定义病毒的,因此根据定义,我想这不是.</p>
回答2019年1月24日23:52
407 2 2银徽章6 6青铜徽章
<blockquote><p>是否在数学上证明了防病毒软件无法检测到所有病毒?</p> <p>布鲁斯·施尼耶(Bruce Schneier)撰写什么分析:</p> <p>病毒没有&ldquo;治愈.&rdquo;在数学上证明,始终有可能写任何现有的防病毒程序无法停止的病毒.&ldquo; [0]</p> <p>[0]秘密和谎言. 布鲁斯·施尼尔(Bruce Schneier). 第154页</p> </blockquote>
<p>这个答案并未直接解决布鲁斯·施耐尔(Bruce Schneier)参考哪种分析. 一个对主要来源在发表声明时意味着什么感兴趣的人应该努力 <strong>与主要来源联系以提出特定问题</strong>, 避免猜测或混乱.</p>
<p>库尔特·戈德尔(KurtGödel)的不完整定理于1931年出版 <em>über正式unentscheidbaresätzeder&ldquo; principia mathematica&rdquo; und verwandter systeme</em> (用英语称呼 <em>&ldquo;关于&ldquo; Mathematica&rdquo;及相关系统的正式命题,</em>)当仔细考虑时,与分析非常有启发性 <em><strong>任何</strong></em> 正式系统,从计算机病毒到政治</p>
<blockquote><p><strong>1. 如果(逻辑或公理形式)系统是一致的,则无法完成.</strong> <br /><strong>2. 公理的一致性无法在自己的系统中证明.</strong></p> </blockquote>
<p>这些定理结束了半个世纪的尝试,从弗雷格(Frege)的工作开始,最终在Mathematica和Hilbert的形式主义中达到最终形式,以找到足以满足所有数学的公理.</p>
<p>事后看来,不完整定理的核心基本思想非常简单. <strong>Gödel实质上构建了一个公式,该公式声称它在给定的正式系统中是无法证明的. 如果可以证明,那将是错误的. 因此,总会至少有一个真实但无法证明的陈述. 也就是说,对于任何用于算术的公理集(即,可以由具有无限资源的理想计算机打印出来的一组),有一个算术的真实公式,但在该系统.</strong> 然而,为了确切地说,戈德尔需要产生一种编码(自然数字)陈述,证明和可证明性概念的方法;他使用称为哥德尔编号的过程来做到这一点.</p>
<h2>防病毒的工作原理?</h2>
<p>防病毒软件扫描文件,将代码的特定位与其数据库中的信息进行比较,如果在数据库中找到复制一个模式,则将其视为病毒,它将隔离或删除该特定文件.</p>
<p><img src=”https://antivirus.comodo.com/images/how-antivirus-work.png” alt=”防病毒软件如何工作” /></p>
<h2>抗病毒软件如何检测病毒?</h2>
<p>输入系统的所有程序文件(可执行文件)通过防病毒扫描进行. 那些匹配签名的人被归类为病毒,并被列入黑名单. 然后,其他程序文件通过防御 +臀部(主机入侵预防系统). 在这里,已知的文件将被允许进入并在系统中运行,而未知文件,无论是好是坏,都将被发送到Defense+ Sandbox. 这些将被允许运行,但只有在这个受限制的环境中. 用户允许作为好文件的那些将添加到白名单中,而其他所有其他文件都将保留在沙箱中,然后他们将转到Comodo Labs进行分析.</p>
<p><img src=”https://antivirus.comodo.com/images/how-antivirus-work.png” alt=”防毒软件” width=”450″ height=”350″ /></p>
<h2>防病毒软件的功能</h2>
<ul>
<li>背景扫描</li>
<li>完整的系统扫描</li>
<li>病毒定义</li>
</ul>
背景扫描
<p><i>防毒软件</i> 扫描您从后端打开的所有文件;这也称为访问扫描. 它提供了实时保护,以保护计算机免受威胁和其他恶意攻击.</p>
<h3>完整的系统扫描</h3>
<p>当您已经拥有访问扫描设施时,完整的系统扫描通常不是必需的. 首次安装防病毒软件时,完整的系统扫描至关重要,或者您最近更新了防病毒软件. 这样做是为了确保系统上没有隐藏的病毒. 当您修复受感染的计算机时,完整的系统扫描也很有用.</p>
<h3>病毒定义</h3>
<p>防病毒软件取决于病毒定义以识别恶意软件. 这就是它更新新病毒定义的原因. 恶意软件定义包含签名的任何新病毒和其他被归类为野外的恶意软件. 如果防病毒软件扫描任何应用程序或文件,并且发现与恶意软件相似的恶意软件感染的文件. 然后,防病毒软件终止文件从将其推到隔离的情况下. 相应处理恶意软件与病毒保护的类型相应.</p>
<p>对于所有防病毒公司而言,使用最新的恶意软件更新定义至关重要,以确保PC保护甚至是最新形式的恶意威胁.</p>
<h2>如何摆脱恶意软件?</h2>
<p><strong>基于签名的检测</strong> – 这在传统的防病毒软件中最常见,该软件检查所有 .EXE文件并使用已知的病毒和其他类型的恶意软件验证. 或它检查未知的可执行文件是否显示出任何不当行为是未知病毒的标志.</p>
<p>文件,程序和应用程序使用时基本上会扫描. 下载可执行文件后. 它可以立即扫描任何恶意软件. 也可以在没有访问扫描的背景的情况下使用防病毒软件,但是建议在访问扫描中使用它,因为一旦恶意软件感染了您的系统,请删除它很复杂</p>
<p><strong>基于启发式的检测</strong> – 这种类型的检测最常与基于签名的检测结合使用. 启发式技术部署在大多数 <b>防病毒计划</b>. 这有助于防病毒软件检测新的或变体或更改的恶意软件,即使没有最新的病毒定义.</p>
<p><i>防病毒软件</i> 程序通过在运行时虚拟环境中运行易感程序或具有可疑代码的应用程序使用启发式方法. 这使脆弱的代码无法感染现实世界环境.</p>
<p><strong>基于行为的检测</strong> – 这种检测用于入侵检测机制. 这更多地集中于在执行过程中检测恶意软件的特征. 这种机制仅在恶意软件执行恶意软件操作时检测到恶意软件.</p>
<p><strong>沙盒检测</strong> – 它最有可能起作用的基于行为的检测方法. 它在虚拟环境中执行任何应用程序,以跟踪其执行的操作. 验证登录程序的操作,防病毒软件可以识别该程序是否恶意.</p>
<p><strong>数据挖掘技术</strong> – 这是检测恶意软件的最新趋势. 有了一组程序功能,数据挖掘有助于查找该程序是否恶意.</p>
<h2>为什么更新防病毒软件如此重要?</h2>
<p>更新防病毒软件对于任何系统的安全至关重要. 这是因为任何系统每天都会不断受到新病毒的威胁和攻击. 防病毒更新将具有识别和对抗新病毒的最新定义文件.</p>
<h2>恶意软件和利用检测</h2>
<p><img src=”https://www.kaspersky.com/content/en-global/images/repository/isc/2017-images/hardware-and-software-safety-img-04.jpg” /></p>
<p>为了提供足够的计算机保护,防病毒软件应能够:</p>
<ul>
<li><strong>检测到非常广泛的现有恶意程序 – 理想情况下,所有现有恶意软件</strong></li>
<li>检测已知的计算机病毒,蠕虫和特洛伊木马病毒的新修饰</li>
<li>检测包装文件中的恶意软件 – 我.e. 由存档实用程序修改的可执行文件,然后扫描档案和安装软件包的内容</li>
</ul>
<h2>并非所有的防病毒产品都提供相同水平的计算机保护</h2>
<p>由于各种防病毒产品已经上市了很多年,因此一些用户可能会陷入以为各种产品之间几乎没有选择的陷阱 – 并且它们都具有相似的恶意软件检测功能. 这些用户可能决定以相对不重要的条件为基础,例如具有吸引人的设计或在某些引人注目的广告中介绍的标准.</p>
<p>虽然很长一段时间都可以使用各种防病毒计划,但近年来,威胁的数量和多样性(计算机和其他设备都受到约束)发生了巨大变化. 有效的计算机保护取决于防病毒供应商适应新需求的能力. 当他们在检测和防止恶意软件的技术性能方面判断时,不同的防病毒产品可能会有很大差异.</p>
<h2>持续的投资和奉献精神</h2>
<p>防病毒供应商必须不断投资研究 – 以便他们可以保护客户免受越来越复杂的网络犯罪攻击,并在发布新恶意软件时会迅速响应. 没有供应商致力于与高度专业的网络犯罪分子进行持续的战争,您可能会危及以下风险:</p>
<ul>
<li>你的电脑</li>
<li>您的数据</li>
<li>您的数字身份</li>
<li>你的财务</li>
</ul>
<h2>一些防病毒产品正在失去&ldquo;军备竞赛&rdquo;</h2>
<p>如果一个供应商的防病毒产品仅检测到互联网上活跃的所有病毒中的50%,而另一个则检测到90%,第三个产品检测到99.9% – 很容易解决这将为您提供最好的计算机保护.</p>
<p>实际上,很少有防病毒产品或服务提供的保护水平接近100%. 实际上,大多数产品未能达到90%的安全水平.</p>
<p>一些防病毒供应商似乎无法跟上新的恶意软件开发. 这些供应商实际上正在失去恶意软件&ldquo;军备竞赛&rdquo;,因此他们的客户并没有完全保护当今的网络威胁.</p>
<p>与恶意软件和利用检测有关的其他文章和链接</p>
<ul>
<li>如何摆脱恶意软件?</li>
<li>免费反病毒软件和付费反病毒软件有什么区别?</li>
<li>选择防病毒溶液</li>
<li>常规,频繁的防病毒更新</li>
</ul>
<h2>恶意软件和利用检测</h2>
<p>为了提供足够的计算机保护,防病毒软件应能够检测到非常广泛的现有恶意程序,检测已知的计算机病毒,蠕虫和特洛伊木马病毒的新修饰,并检测位于包装文件中的恶意软件.</p>

<h4>推荐文章</h4>
<p><img src=”https://www.kaspersky.com/content/en-global/images/repository/isc/2022/macbook-hacking-1.jpg” alt=”https://www.kaspersky.com/content/en-global/images/repository/ISC/2022/macbook-hacking-1.jpg” /></p>
<h2>MacBook Hacking:如何知道您的Mac是否已被黑客入侵</h2>
<p><img src=”https://www.kaspersky.com/content/en-global/images/repository/isc/2022/mac-security-1.jpg” alt=”https://www.kaspersky.com/content/en-global/images/repository/ISC/2022/mac-security-1.jpg” /></p>
<h2>MAC安全:确保MacBook的综合指南</h2>
<p><img src=”https://www.kaspersky.com/content/en-global/images/repository/isc/2022/mac-malware-removal-1.jpg” alt=”https://www.kaspersky.com/content/en-global/images/repository/ISC/2022/mac-malware-removal-1.jpg” /></p>
<h2>如果您认为Mac上有恶意软件该怎么办</h2>
<p><img src=”https://www.kaspersky.com/content/en-global/images/repository/isc/2022/how-to-prevent-cyberattacks-1.jpg” alt=”https://www.kaspersky.com/content/en-global/images/repository/ISC/2022/how-to-prevent-cyberattacks-1.jpg” /></p>
<h2>如何防止网络攻击</h2>
<p><img src=”https://www.kaspersky.com/content/en-global/images/repository/isc/2022/endpoint-detection-and-response-1.jpg” alt=”https://www.kaspersky.com/content/en-global/images/repository/ISC/2022/Endpoint-detection-and-detection-and-response-1.jpg” /></p>
<h2>了解终点检测和响应</h2>
<p>我们使用cookie使您对我们网站的体验更好. 通过使用并进一步浏览本网站,您可以接受此信息. 可以通过单击更多信息,可以找到有关在本网站上使用cookie的详细信息.</p>
<h2>可以检测到抗病毒病毒类型?</h2>
<p><img src=”https://antivirusjar.com/wp-content/uploads/2020/02/iss_4567_04174.jpg” /></p>
<p>面对现实吧. 我们喜欢免费的东西! 得到一些不付款的东西会让我们开心和授权. 可以使用免费的. 您从免费物品获得的最常见的恶意软件类型之一是特洛伊木马. 如果您有防病毒软件或想购买一个,很可能,您就问自己.</p>
<p>可以抗病毒检测到特洛伊木马病毒类型? <strong>是的,它可以. 所有防病毒解决方案都有知识,他们知道特洛伊木马是如何工作的. 它标识了它的签名和行为,并防止特洛伊木马会造成的损害. 甚至可以相对较快地检测到一种新型恶意软件.</strong> </p>
<p>您的PC上不应该存在任何类型的恶意软件,如果我们考虑一下,它们根本不应该存在. 但是,由于它们是现实,我们必须在黑客面前保持几步并做好准备. 我们与网络犯罪分子战斗中最重要的武器是我们的知识. 让我们潜入并进一步了解Trojan所造成的损害以及我们如何预防和保护自己免受它的伤害.</p>
<h2>防病毒如何检测到特洛伊木马?</h2>
<p>防病毒没有独特的工具来检测木马. 像其他任何恶意软件或病毒一样,特洛伊木马正在做他们不应该的事情. 它可以尝试获取您的机密信息或与PC混乱. 特洛伊木马的问题是它伪装成您要使用的合法程序.</p>
<p>您的防病毒软件有几种方法可以检测到特洛伊木马:</p>
<ul>
<li><strong>基于签名的检测.</strong> 每个程序都有签名. 签名不过是二进制图案. 当防病毒扫描您下载的文件时,它会查看其签名,并将其与广泛的病毒签名数据库进行比较. 如果这是已知的恶意签名,它将立即警告您.</li>
<li><strong>基于启发式的检测.</strong> 分析代码中的行为和模式,以查看您的文件或程序是否感染. 任何可疑代码都在运行时虚拟环境中运行以进行更多测试. 此方法可以找到不在您的防病毒数据库中的新病毒.</li>
<li><strong>基于行为的检测.</strong> 您的防病毒软件不断查看您的PC. 如果您的程序之一表现得很奇怪并且正在做有害的事情,那么您的防病毒软件将看到这一点,并让您知道.</li>
<li><strong>沙盒检测</strong> – 如果您的防病毒软件不确定程序或文件是否有病毒,并且怀疑某些东西,它将在沙箱中运行. 与基于行为的检测类似,沙盒检测将使您的文件在虚拟机中运行,并查看其行为方式.</li>
</ul>
<p>您的防病毒病比这四件事所做的更多,可以使用更多类型的检测来识别特洛伊木马. 这些只是最重要的,因为任何恶意软件都有签名和类似的行为.</p>
<h3>可以防病毒去除木马?</h3>
<p>如果您的防病毒病毒知道如何检测特洛伊木马,您敢打赌,它也知道如何删除它! 防病毒软件不仅要检测到威胁. 它也将保护您免受威胁. 您可以在此处阅读有关抗病毒软件如何去除病毒的更多信息.</p>
<h2>我怎么知道我是否有特洛伊木就病毒?</h2>
<p>我们认为自己是忙碌的人. 我们从黎明到暮光左右跑,我们几乎没有时间做其他事情. 有时我们忘记或没有时间等待20分钟以进行系统更新. 我们忽略了防病毒更新,计算机上的所有软件都落后于您,因此您决定坐下来更新. 但是有些不对劲,您可能会认为您有病毒. 以下是让您想知道您的PC上是否有特洛伊木马的一些迹象:</p>
<h3>您的电脑很慢</h3>
<p>这是您有病毒的最明显迹象. 您开始等待一个新程序启动. 即使您右键单击以创建新文件夹,弹出窗口也很难出现. 浏览您的文件不再活泼. 这应该引起关注.</p>
<h3>奇怪的弹出窗口</h3>
<p>对我来说,没有什么比弹出窗口更烦人了. 这是我使用Mac或Linux机器比Windows One更频繁地使用Mac或Linux机器的原因之一. 但是,尽管如此,Windows的大多数弹出窗口都是合法的,并且可以在那里通知您有关软件和系统更新,新闻和其他有用的内容. 但是当广告弹出不好时. 不是您安装的免费软件的广告,告诉您要更新其高级版本. 关于您从未见过或访问的广告.</p>
<h3>您无法访问某些设置或文件</h3>
<p>特洛伊木马或任何病毒都会试图保护自己免于被清除. 如果您无法访问以前从未见过的文件夹,也无法打开一些现在关闭的安全设置,很可能是您被感染的.</p>
<h3>您的浏览器上的另一个主页</h3>
<p>病毒可以更改您的计算机设置和软件设置. 在黑客赚钱的追求中,它也将改变您的浏览器设置. 他们需要您访问该网站,以便他们可以让您购买产品或更多类型的恶意软件感染您</p>
<h3>打开计算机时未知程序正在运行</h3>
<p>当您的PC打开时,一些应用程序正在启动. 它可以是一些必不可少的应用程序,因此您的系统可以运行. 打开PC时,这可能是您设置的要开始的. 但是,如果您注意到未经您允许的任何其他软件,并且是可疑的软件,那么您可能会被感染.</p>
<h3>您的电子邮件中有很多垃圾邮件</h3>
<p>一些病毒可以获取您的个人信息. 特洛伊木马也可以做到这一点. 如果您看到您的电子邮件充斥着大量带有怪异标题和未知发件人的电子邮件,您猜对了!</p>
<h3>笔记本电脑电池的问题</h3>
<p>您的计算机更新,或者您没有经常使用,并且您发现电池电量的排水非常快. 一段时间后电池可能会变质,这不一定意味着您有病毒. 您购买了一个新电池,电池一直在耗尽. 这可能意味着您有病毒</p>
<h3>很多崩溃</h3>
<p>您正在尝试将某些文件从一个文件夹复制到另一个文件夹,然后探索者崩溃. 您再试一次,同样也会发生. 您的浏览器正在崩溃,现在您开始经常获得蓝屏. 发生这种情况时,您首先必须考虑您的系统是否旧,而在他的最后一条腿上. 但是,如果不是,您可能会有病毒;</p>
<h2>你可以在手机上戴上特洛伊木马吗?</h2>
<p>如果您不是软件工程师,或者不必使用PC上班,那么您正在使用更多手机. 它几乎可以用PC代替您可以做的任何事情. 您正在接触在线威胁.</p>
<p>好消息是您无法在手机上获得病毒. 它们的建造方式很难破裂. 另外,要使您在手机上安装某些内容,您必须从App Store或Google Play商店下载它. 黑客几乎不可能上传恶意应用程序. 但不是不可能的. 迟早会发现并将其从商店中删除.</p>
<p>当您在专用App Store之外安装应用程序时,问题出现. 如果您从网站下载并安装了某些内容,则可以感染. 请记住,特洛伊木马看起来像一个合法的应用程序,并试图说服您适合您! 这是您可以入侵的方式之一.</p>
<p>另一种方法是扎根或越狱您的设备. 这意味着您可以超级管理员访问手机,并且绕过内置的安全功能. 这不是那么普遍,您必须知道该怎么做. 如果出于任何原因,您必须扎根手机,请不要对主设备这样做. 在没有存储个人信息的情况下使用二级电话.</p>
<h2>如何防止特洛伊木马?</h2>
<p>预防是最好的方法. 您可以确保不会被感染. 新的特洛伊木马在运行之前不会被发现,如果它运行,它可以窃取您的个人信息,然后在您的防病毒检测到它之前. 这是我要做的一些事情:</p>
<ul>
<li><strong>使用防病毒软件.</strong> 我喜欢在互联网浏览上额外的眼睛. 这可以阻止我做一些愚蠢的事情,以后我会后悔. 当然,防病毒软件不会保护您免受任何影响</li>
<li><strong>保持系统的最新状态.</strong> 即使有防病毒软件,您也必须保持操作系统和软件的最新状态. Windows或Mac OS不断尝试使其操作系统更安全. 他们从现在开始发布新的更新,您应该花时间对其进行更新. 另外,您在PC上拥有的其他软件将使您知道他们已有的任何更新. 您也应该更新这些.</li>
<li><strong>为您的所有帐户使用强密码</strong>. 如果您无法记住或创建强密码,请使用密码管理器. 这种类型的软件可以创建强密码并为您存储. 如果您不想使用一个,即使很简单,也可以创建长密码. 10个字符密码非常强大,很难中断. 但是,使用具有特殊字符以及上和下案字母的字母数字密码.</li>
<li><strong>备份您的文件.</strong> 如果出于某种原因,您被感染了并且无法掌握数据或数据感染,请备份文件将帮助您! 您可以格式化整个PC以破坏病毒,而您不必担心丢失数据.</li>
<li><strong>不要从可疑网站下载和安装软件.</strong> 特洛伊人是表面上的好软件. 内部包含可能伤害您的恶意代码! 因此,请保持安全并仅从出版商的网站下载和安装软件.</li>
<li><strong>提防点击bae电子邮件.</strong> 电子邮件是一种很好的通信形式,但也可以用来欺骗您下载受感染的文件. 如果您不知道发件人,请帮自己一个忙并删除电子邮件!</li>
<li><strong>利用你的常识.</strong> 如果某事可疑或您不信任它,请远离. 您阅读和了解病毒和在线威胁的越多,您就会知道如何避免它!</li>
</ul>
<p>如果您做到这一点,那意味着您比黑客领先. 您了解了防病毒软件如何检测到特洛伊木马的恶意软件以及如何防止特洛伊木马进入PC. 恭喜! 您是与网络犯罪分子战斗的一步!</p>
<h3>相关文章</h3>
<p><img src=”https://antivirusjar.com/wp-content/uploads/2021/04/Computer-hardware-300×245.jpg” /></p>
<h3>9种计算机病毒会损坏硬件的方式</h3>
<p>计算机病毒或恶意软件是为了监视您并窃取您的宝贵数据,或者只是使用您的……继续阅读</p>
<h3>为什么Avast使用这么多CPU以及该怎么做</h3>
<p>如果您使用的是Avast防病毒软件,则面临此问题. 有时,此防病毒软件只是在使您的PC运行,所以……继续阅读</p>
<h3>10个迹象是该防病毒扫描的时间</h3>
<p>安全解决方案并不完美. 不管一家防病毒公司告诉您多少您受到100%的保护……继续阅读</p>
<p><ul>
<li> </li>
<li>由Alvin发表</li>
</ul></p>
<h3>概括</h3>
<ul>
<li>防病毒如何检测到特洛伊木马?</li>
<li>我怎么知道我是否有特洛伊木就病毒?</li>
<li>你可以在手机上戴上特洛伊木马吗?</li>
<li>如何防止特洛伊木马?</li>
</ul>
<h3>顶级防病毒交易</h3>
<table ><tbody><tr><td> </td><td>75%<br />达成交易</td></tr><tr><td> </td><td>70%<br />达成交易</td></tr></tbody></table>