搜索
科学网 群组 计算机 从硬件角度分析未来操作系统如何实现黑客和病毒的免疫
查看: 140|回复: 0
go

[原创] 从硬件角度分析未来操作系统如何实现黑客和病毒的免疫

Rank: 1

发表于 2017-3-13 22:41 |显示全部帖子

任何的杀毒软件和防火墙都是存在漏洞的,这些漏洞有的是人为的目的存在被称为后门,有的是技术缺陷而存在,无论哪种方式存在对于用户来说都是不想要的,但是作为一名用户却也无计可施,但如果我们的操作系统支持多个子操作系统,每个关键的应用都独立使用一个子操作系统,并且各个子操作系统之间是物理上独立的,则这些问题都可以避免。

1 多操作系统功能和特性

未来的计算机系统是可以同时运行多个操作系统的,这些操作系统之间的切换,就像现在的程序切换一样简单,请注意它不是我们现在的所谓的虚拟系统,(虚拟系统存在着太多的问题,至少目前是,这导致了它不能被很好的普及),这些操作系统具有下列特性:

1.1:多个操作系统存在于同一台电脑里面,但是只有一个操作系统是主控操作系统,其他的我们称之为子操作系统。

1.2:无论主控操作系统还是子操作系统都是同时并行运行的。但是我们可以通过主控操作系统来调节每个系统的运行时间,包括可以随意的挂起任何一个除主控操作系统之外的子操作系统,随意的删除内存中除任何一个正在运行的子操作系统。

1.3:各个操作系统之间是物理上隔离的,这种隔离包括内存隔离和对硬盘资源访问的隔离,其它资源例如声卡、打印机、U盘、网络等的资源的访问可以通过控制面板来调控。(这通过系统硬件来实现,不在本文讨论范围,我将在其它的文章阐述具体的硬件功能的实现)

1.4:主控操作系统使用真实的硬件地址和internet 或 intranet进行数据传输,其他的每个子系统在系统初始化的时候都将获得硬件虚拟地址(或者在被允许的情况下使用硬件的真实地址同internet或intranet进行数据传输,例如公司的情况下,子操作系统将被允许使用无线的真实硬件地址进行网络数据传输)。如果多个操作系统同时都要求同internet或intranet 进行数据传输,主控操作系统的网络驱动程序将起到HUB的作用(一定是简单的数据分流,并不具有数据过滤的功能,而且主控操作系统本身不接受任何的数据,这样是为了保证在受到任何攻击的时候,主控操作系统不会因为处理太大的数据而瘫痪)。同时每个子操作系统之间以及子操作系统同主控操作系统之间是物理上隔离的,所以除主控操作系统知道每个子操作系统的虚拟硬件地址外,每个子操作系统之间都不知道互相的硬件地址。(备注:希望网卡设计者在设计网卡的时候,考虑加入虚拟通道的概念,每个虚拟通道可以具有不同的虚拟地址和数据缓冲区,这样就可以通过主控操作系统来配置哪个虚拟通道的虚拟硬件地址被分配给哪个操作系统,用来避免主控操作系统因承担HUB的作用而处理大量的数据导致瘫痪的危险,网卡设计者还可以考虑让网卡具有自己的微CPU来加快数据的分流)

1.5:子操作系统本身被存放在一个对它来说是一个只读的硬盘区域,并且根据不同的参数可以建立不同的子操作系统实例,然后根据参数的不同被允许访问不同的硬盘区域,因此对于这些由相同的一个硬盘区域中的文件而建立起来的不同的操作系统实例来说,他们之间只有操作系统本身所在的区域是可以共同访问的(这种访问也是只读访问,这样做的目的是为了节省硬盘空间),其他的所有区域都是物理上分开的。(当硬盘的空间足够大时,每个子操作系统也可以有自己的操作系统存储区域)

1.6:每个子操作系统可以根据参数的不同而进行定制,使其功能单一,以降低其对系统资源的使用率,例如QQ可以运行在一个最基本的只支持网络访问的MINI操作系统中,其他的软件都无法在这样的环境下运行和生存。(试想你在这样的环境下运行网银,还有什么样的黑客可以偷走你的资料呢,当然不包括黑客对网络数据的截留和分析所获得的方式)

2 多操作系统应用

2.1:对于公司来说,这种系统将会实现下列特性和功能。

A:公司网络存在方式。

公司里至少存在俩个网络,一个被称为内部网络,这个内部网络不同任何的外部网络相连(internet),而且这个内部网络必须是通过网线来相连的,或者通过特殊的加密方式,使用无线来相连的(无线方式必定存在被破解的风险,或者同一根网线连接2个网络,则需要网卡支持这种特殊的连线方式)。另外一个网络可以通过无线或有线来进行连接,根据公司财力在装修时的具体情况来决定,除非这俩个网络都是无线接入方式,否则这俩个网络之间是物理上隔离的。(俩个网络的存在方式,有线+无线,无线+无线)内部网络提供终端和公司内部服务器之间的连接,外部网络提供终端和internet 之间的连接。

B:终端操作系统和服务器的连接方式。

每台电脑都有两个网络接入点,并且至少有一个有线网卡接入点(对于目前的无线技术水平来说,有线可以提供更稳定和更快的传输速度,只有将来无线的稳定性和传输速率达到甚至超过有线的时候,才可以改变这种接入方式,但是前提是必须有足够安全的无线传输加密技术提供保障),外加无线接入点。每台电脑的主控操作系统通过网线接入公司的内部网络,子操作系统在被主控操作系统允许的情况下通过无线或有线接入公司的外部网络(新开发的网卡可以同时支持两个网络,8芯的网线中每4芯一个网络)。

C:公司域控制方式。

公司通过域服务器来控制每台终端主控操作系统的策略,这些策略包括主控操作系统下软件的安装,删除,文件权限的控制。每个员工不能在主控操作系统下安装或删除任何的软件。每台电脑的硬盘上都存在一些共享缓冲区域,虽然员工可以把服务器上的文件随意的拷贝到本地主控操作系统,但是如果需要拷贝任何文件到子操作系统下,都必须通过特殊的授权方式获得允许,然后由主控操作系统拷贝到共享缓冲区域(该区域只是用来进行文件交换的,任何软件都不被允许在该区域被运行并加载),然后再由子操作系统从缓冲区拷贝到别的地方,子操作系统也必须获得许可才能拷贝文件到共享缓冲区。这样可以最大限度的保护公司的资源不外泄。员工根据公司域规则的不同可以在某些子操作系统下做部分或全部的操作。此外这些子操作系统也可以被公司通过域规则随时进行重置,以用来删除员工私自安装的任何违法软件。另外终端的某些资源可以被设置成不能从主控操作系统访问,例如光驱、U盘等,要访问这些资源只能从某个特定的子操作系统进行。

D:公司网络风险评估。

公司用办公软件安装到主控操作系统下,并且宏被禁用,邮件系统安装到一个单独的子操作系统下,并与主控操作系统共享一些文件缓冲区域。此时公司内部网络被黑客或病毒攻击的几率是零。另外由于公司域规则的限制,员工要想把公司资料通过拷贝的方式窃走,必须先获得相关人员的允许,因此由此而产生的犯罪将降低99%。即使员工把电脑带出公司,主控操作系统如果无法获得相关许可,也无法将文件从主控操作系统拷贝至其它子操作系统并被拷贝至最终介质中。公司域规则还可以允许员工创建特定的子操作系统实例,以用来允许员工的聊天软件,网银需求,以及上网需求等。

2.2:对于个人来讲。

A:家庭网络的组成。

随着网络时代的到来,家庭中的每个电器都将具有接入网络的功能(冰箱、洗衣机、以及所有的使用电的设备),接入方式可能是有线的,也可能是无线的,不管哪种方式,这个电器都将是未来家庭网络的一部分,这样我们就可以远程(或由电脑根据预定的参数)来控制这些电器的运行方式和模式,以达到远程来调节家庭的环境和舒适度的目的。

B:家庭电脑的环境。

家庭电脑是家庭网络的主控部分,并且只有主控操作系统接入了家庭网络(或根据每个人的爱好而选择接入家庭网络的系统),每个人都可以把自己必须得且正版的软件安装到主控操作系统下(我们假设每个人都购买了正版的主控操作系统软件和其它的正版软件,以保证自己的秘密的安全),而把带有风险的其它软件安装到其它的子操作系统下。例如:我们把常用到的办公软件等安装到主控操作系统下,把MSN单独安装到一个子操作系统下,把用于网银的上网软件单独安装到一个子操作系统下,把游戏软件安装到一个子操作系统下等。

C:家庭网络风险评估。

假设大多数人为了自己秘密的安全而购买正版软件,并且被安装到主控操作系统下,宏被禁用,邮件被单独安装到一个子操作系统下,如果不是自己主动把秘密拷贝到共享缓冲区域,则被黑客或病毒窃取的概率是零。

由于网银也被安装到了一单独的子操作系统,假如没有被黑客从网络传输中截取,则账号被盗的概率也是零。

其他聊天工具同理。

3 多操作系统实现

3.1CPU硬件的增加。

        A:寄存器和缓冲区域。

1:增加全套影子寄存器的数量。


例如:如果想要CPU同时支持4OS运行,则影子寄存器的数量增加到4套。所谓全套就是指,所有的寄存器,包括指令计数器,eflag标志寄存器,控制寄存器,数据寄存器等。

2:增加内存标尺寄存器。


存储着当前的OS的开始内存。当后面提到的OS标志位被置位时,任何的内存操作都会以此寄存器的值为标尺。

3:在CPU内部增加OS描述内容区域。


例如OS的开始内存,内存的大小上限,硬盘的开始扇区,硬盘的大小上限等。在此只是存储OS的简单内存,具体的内容在内存中。在此存在的目的是为了加快访问OS重要属性的速度。其应当包括一个简单的IO许可位图区域。但是其定义和任务状态里面的IO许可位图不同。我们硬性规定,第一位代表硬盘,第二位代表键盘等。而不是代表具体的端口号码。

4:增加OS描述存放区域地址寄存器


表明OS描述内容区域存在CPU缓冲区中的地址。(如果规定只使用地址0开始,那么这个寄存器可以省略)

5:增加OS描述符索引寄存器。


表明刚刚操作的是哪个OS的描述符,因为我们需要快速的判断是哪个OS在运行。

此寄存器同影子寄存器的切换相关联。指明当前正在使用哪一套影子寄存器。

        B:标志位。

1:增加OS标志位。(0为复位,1为置位)


复位状态表示此时CPU不会对任何内存的操作进行累加的动作。此时必然运行在                     OS调度程序或主控操作系统的状态。任何的操作系统在任何时间都可以对该标志
位操作,但是复位操作会引起当前的OS会被中断,CPU马上切换到OS调度程序
或主控操作系统运行。复位操作还会引起影子寄存器的快速切换,并且影子寄存器
的内容会被写入所有相对应的寄存器中(只有复位操作才会引起影子寄存器的单向
逆向传递),软件复位还会引发OS调度的时钟中断并重新进行OS的调度。这可以
用在主动放弃自己的运行时间的OS中。我们称之为友好调度。因为我们使用了多
套影子寄存器,所以当发生主动调度时,当前OS的所有寄存器内容都保存在影子
寄存器中,并且指令计数器指向了复位指令的后一条指令。



复位操作只能通过一条特殊的指令来进行,任何的其他eflag的恢复或重置指令都
无效。



置位状态则CPU对任何内存的操作都会以内存标尺寄存器的值为参考进行操作。
例如如果内存标尺寄存器的值是0x10000000,则如果此时程序中涉及的内存值是0         x0,那么CPU实际访问的内存则是0x10000000 +0x0,而不是真正的地址0x0,这
样任何当前运行的OS都不可能访问低于当前OS开始地址的内存,当然根据上限,
当前OS也不能访问高于本OS上限的内存。这样我们通过内存标尺寄存器保护了
不属于当前OS的内存的内容不被当前OS访问。任何的OS对该位的置位操作都不
会引起任何的中断,因为置位操作,CPU并不会改变内存标尺寄存器的内容,因为
它本来就是置位的。


    CPU进行的地址累加是简单的把物理地址进行累加,而不是对线性地址进行累加。
所以内存标尺寄存器保存的必然是一个物理地址。

2IO许可标志位。(0为复位,1为置位)


当该位复位时,当前OS拥有所有的IO访问许可,当然每个操作系统还会根据任务
状态里面的IO许可位图来进行具体的任务的IO控制。



置位时,则所有的不在被允许IO访问位图中的IO访问都会触发一个中断,当然硬
盘、鼠标、键盘、打印机等硬件的IO不应当在任何一个OSIO许可位图中,因
为我们要通过OS调度来控制。



根据实际的情况来决定哪些中断不被允许OS直接访问:

             A:如果多个系统之间在同一时刻,只允许一个OS被激活,其他OS都处于睡
眠状态,并且在睡眠之前的所有IO访问都被放弃,那么鼠标、打印机
等硬件中断可以被OS直接控制,此时能够激活OS调度程序的中断只有NMI
时钟中断、硬盘中断、键盘中断(因为我们需要特殊的组合键来呼唤出调度程
序)以及对硬盘的IO访问,显存的访问。各个OS都会在特定的内存位置拥有
自己的键盘缓冲区。

             B:硬盘、显存都做过改良的情况,在硬盘控制单元中加入一个扇区标尺寄存
器,扇区上限寄存器。并且对这些寄存器的访问无需状态询问可以直接写入(写
入命令属于敏感指令,只有当OS标志位复位时才被允许),同时硬盘允许多
通道并发,显存中同样增加一个显存标尺寄存器和一个显存上限寄存器,而且
同样无需状态查询即可以直接写入,此时的硬盘访问都会以扇区标尺寄存器为
基准,但是新的硬盘与内存之间的数据传输不会影响已经发生的传输。

CCPU功能的增加。

1:所有的不在当前OS的硬件允许访问列表中的硬件中断都会触发OS标志位的复位,
并且会进入相对应的硬件处理中断中。此时会有一个全局变量指明当前正在进行硬
件的中断处理。如果在进行硬件中断的过程中,又触发了时钟中断,那么时钟中断
处理程序会优先判断是否先处理硬件的中断请求,然后才会进行OS的调度。

2:所有的不在当前OSIO访问许可列表中的IO访问都会触发OS标志位的复位,
并进入IO中断处理中。

3:所有OS的软件中断都不会触发OS标志位的复位。

4:增加CPU开机自检过程中对硬盘的判断,硬盘会在特殊的区域表明自己是一个多             OS支持的硬盘,如果通过某种算法,例如使用CPU自身的序列号与哈希表算法结
合的方式来判断当前硬盘是否是以前使用过的硬盘,如果不是则要求输入密码等方
式来阻止对非法硬盘的数据访问。

D:指令的增加。

  1:内存标尺寄存器指令。STM 操作数

  2:硬盘扇区标尺寄存器指令。STS 操作数

  3:显存标尺寄存器指令。STVM 操作数


3条指令都属于敏感指令,受OS标志位高电平保护,当OS标志位置位时,任何尝试这3条指令的操作都无效。


你需要登录后才可以回帖 登录 | 注册
验证码 换一个

Archiver|科学网 ( 京ICP备14006957 )

GMT+8, 2017-3-30 03:01

Powered by ScienceNet.cn

Copyright © 2007-2017 中国科学报社