我必须教一群非 CS 学生什么是计算机病毒。课程材料仅包含有关这些病毒的功能的定义和一些详细信息。但是那些知道什么是计算机的人都知道这些事情。
我想以非技术方式谈及病毒的编程或技术方面。解决方案可以是编写一个非程序员可以理解的程序,或者将计算机病毒的行为与现实世界的情况进行比较。关于我该如何去做的任何想法、建议或示例?幽默的回答也是可以接受的。
Hei*_*bug 18
我认为与生物系统(病毒一词的来源)的相似性很好。
就像生物病毒导致细胞行为被颠覆一样,计算机病毒对计算机程序也是如此。
他们还有其他类似的行为:
“病毒”这个词有帮助。大多数遗传材料是受益者,但有些是危险的。同样,大多数计算机软件都是为了用户的利益而编写的,但计算机病毒不是。
请注意,我使用“病毒”一词的通俗用法来指代所有恶意软件。在自己描述事物时,请务必使用术语恶意软件来指代恶意软件。病毒只是一种恶意软件。
不要去解释所有不同类型的恶意软件,而是解释它们可能产生的影响:
使用计算机的每个人都知道计算机病毒可以做什么(例如窃取文件或造成物理损坏,特别是因为有些病毒已经造成了物理损坏),但没有多少人知道它们是如何做到的。我认为这就是你的问题。还值得一提的是,计算机没有意识(然而,对于AI 的支持者而言),它只是执行它发送的指令。
病毒本身会在用户的计算机上执行恶意任务(窃取/删除个人数据、破坏系统文件等),并且由于计算机运行代码,因此病毒本身必须以纯代码形式存在。病毒可以作为独立程序存在(即它们的唯一目的是恶意的),它们可以伪装成“好”程序,或者它们可以感染您机器上已有的其他程序。病毒以所有这三种方式或在网络上传播(我认为将其称为蠕虫更正确)。
在“受感染”程序的情况下,病毒会用它自己的代码覆盖应用程序的某些部分,或者将它自己的代码注入应用程序(因此它似乎可以正常工作)。然后计算机将启动应用程序,并开始正常执行指令。一旦病毒代码被命中,病毒的恶意操作就开始了。
病毒接下来会做什么取决于病毒创建者。它可能只是一个概念验证,并且可能在您的记忆中处于休眠状态。它可能会损坏各种系统文件,将自身发送到您的地址簿,或者坐等您输入信用卡号码。
这些恶意程序/代码被称为病毒,因为它们与生物对应物的操作等效。病毒传播和感染主机,就像恶意软件一样。
您可能要提到的最后一件事是,新病毒实际上可以即时“重写”自己。它们通过各种类型的多态性来伪装实际代码并使防病毒软件难以检测到它们。较新的防病毒程序依赖于对程序的启发式分析,并确定它们试图做什么,以及它们是否对系统构成威胁(或不构成威胁)。
归档时间: |
|
查看次数: |
4340 次 |
最近记录: |