信息安全之操作系统安全防护技术
1、了解操作系统
从目前的PC系统来看,大致可以分为五类,Windows系统,NetWare系统,Unix系统,Linux系统和Mac系统。
Windows操作系统是一款由美国微软公司开发的窗口化操作系统。采用了GUI图形化操作模式,比起从前的指令操作系统如DOS更为人性化。Windows操作系统是目前世界上使用最广泛的操作系统。
Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。
Netware是NOVELL公司推出的网络操作系统。Netware最重要的特征是基于基本模块设计思想的开放式系统结构。Netware是一个开放的网络服务器平台,可以方便地对其进行扩充。
Unix系统是1969年在贝尔实验室诞生,最初是在中小型计算机上运用。最早移植到80286微机上的Unix系统,称为Xenix。 Xenix系统的特点是短小精干,系统开销小,运行速度快。UNIX为用户提供了一个分时的系统以控制计算机的活动和资源,并且提供一个交互,灵活的操作界。
Mac系统
Mac OS操作系统是美国苹果计算机公司为它的Macintosh计算机设计的操作系统的一代操作系统,该机型于1984年推出,在当时的PC还只是DOS枯燥的字符界面的时候,Mac率先采用了一些我们至今仍为人称道的技术。
一、程序是如何运行的?
1.1 程序运行的四大要素
(1)程序设计语言
首先,我们得使用一门程序设计语言进行编程,一般我们使用的都是高级程序设计语言(如C、C++、Java、C#等)。
(2)编译系统
我们写好了代码,但是由于计算机不认识高级语言编写的程序,需要编译成计算机能够识别的机器语言,这就需要编译器和汇编器的帮助。
(3)操作系统
机器语言程序需要加载到内存,才能形成一个运动中的程序(即进程),这就需要操作系统的帮助。
About:进程需要在计算机芯片即CPU上执行才算是真正在执行,而将进程调度到CPU上运行也是由操作系统完成的,这里也就不难理解为什么进程管理会在我们的教科书中排在最重要的位置了。
(4)指令集结构(计算机硬件系统)
在CPU上执行的机器语言指令需要变成能够在一个个时钟脉冲里执行的基本操作,这就需要指令集结构和计算机硬件的支持。
1.2 程序运行的基本流程
基于上面提到的四大要素,我们可以得出下面一幅图,该图从一个线性角度展示了程序的演变过程,能够帮助我们理解整个程序是如何在计算机上执行的。
事实上,程序可以执行在机器语言或汇编语言上编写,用这种被称为“低级”(我更愿意称其为底层)的语言编写出来的机器语言程序无需经过编译器的翻译就可以在计算机指令集上执行。如果是在汇编语言上编写的汇编程序,则只需要经过汇编器的翻译即可加载执行。
二、操作系统是什么?
2.1 两个问题
(1)操作系统到底是什么鬼?
操作系统是介于计算机和应用软件之间的一个软件系统,操作系统的上层和下层都有其他的对象存在:
从上图可以看出,OS上边是应用软件,下边是硬件平台。
(2)操作系统到底操控什么事?
最原始的计算机并没有OS,直接由人来掌管事情。随着计算机复杂性的增长,人已经不能胜任直接掌控计算机了。于是,OS这个软件被编写出来帮我们掌控计算机,使人类从日益复杂的掌控任务中解脱出来。既然OS是专门掌控计算机的,那么计算机上发生的所有事情都需要OS的知晓和认可,未经OS同意的任何事情均被视为非法的(想想病毒和入侵攻击者试图做的事情)。
2.2 两种角色
(1)魔术家
魔术家的目标是把差的东西变好,把少的东西变多,把复杂变简单。同样,OS将计算机以一个更加容易、更加方便、更加强大的方式呈现给用户。
Example:OS通过进程抽象让每一个用户感觉有一台自己独享的CPU,通过虚拟内存抽象,让用户感觉物理内存空间具有无限扩张性,这就是把少变多的一个实例。
(2)管理者
操作系统管理计算机上的软硬件资源,如CPU、内存、磁盘等,使得不同用户之间或者同一用户的不同程序之间可以安全有序地共享这些硬件资源。
那么,问题来了,如何让用户很好地利用这些硬件资源呢?这就是分块(Parcel Out),把硬件分块给应用程序使用。这就涉及到有效和公平的原则,这也是一个管理者的必备素质,更是设计操作系统时的不懈追求!
操作系统的两个角色之间既有区别又有联系,为了完成不同的任务,OS有时需要扮演魔术师,有时有需要扮演管理者,还有时需要同时扮演两个角色。
三、操作系统的范畴
3.1 CPU管理
即如何分配CPU给不同应用和用户,对于进程管理坚持三个目标:一是公平(每个程序都有机会使用CPU),二是非阻塞(任何程序不能无休止地阻挠其他程序的正常推进),三是优先级(优先级高的程序开始运行则优先级低的就需要让出资源—>让一部分人先富起来)。
3.2 内存管理
即如何分配内存给不同应用和用户,主要管理缓存、主存、磁盘、磁带等存储介质所形成的内存架构。其目的主要有二:一是将少变多(比如虚拟内存的使用能够使得运行程序的大小大大地增加),二是让多个程序共享同一个物理内存(这就需要对物理内存进行分割和保护,不让一个程序访问另一个程序所占的内存空间,专业术语称为运行时不能越界访问)。
3.3 外存管理
即如何分配外存(磁盘)给不同应用和用户,外存管理也称存储管理,也就是我们所说的文件系统,其目的是将磁盘变为一个很容易使用的存储介质以提供给用户使用。
3.4 I/O管理
即如何分配输入输出设备给应用和用户,也称为设备管理,也就是管理输入输出设备。其目的主要有两个:一是屏蔽不同设备的差异性(用户用同样的方式访问不同的设备,从而减低编程的难度),二是提供并发访问(即将那些看上去并不具备共享特征的设备如打印机变得可以共享)。
操作系统的四个核心功能如下图所示:
四、小结
操作系统的技巧也应用于很多领域,如抽象、缓存、并发等。操作系统简单说来就是实现抽象:进程抽象、文件抽象、虚拟存储抽象等。而很多领域都会使用抽象,例如数据结构和程序设计(抽象数据类型?抽象类?);很多地方也会用到缓存,例如开发Web应用程序时使用缓存降低数据库访问压力,加快页面响应速度等等。更为重要的是,对于一个程序员来说,要想知道计算机在软件层面是怎么运转的,就得学习操作系统。
2、操作系统的安全威胁
windows最有用的一个命令,记住它就可以了。
DOS最有用的命令就是“help”了,
有关某个命令的详细信息,键入 ”HELP 命令名“
ping www.baidu.com -n 10 然后按enter键。对IP地址是192.168.0.1测试网络10次
ping www.baidu.com -l 100 。 改变发送包的大小。
tracert www.baidu.com
我们访问www.baidu.com 主机(当然这里可以是IP地址),经过12次路由之后,就到达目标主机了。
我们可以用ping命令来进行验证!
ping www.baidu.com -i 11
ping 命令的-i参数用于设置发出数据包的“生存时间”。
若设为n,则该数据包经过n个结点即停止传送。若两个地址之间实际节点数大于n(即包未送至目的地),
威胁种类、端口、漏洞扫描、恶意代码