通信量。因特网将从一个单纯的大型数据中心发展成为一个更加聪明的高智商网络,将成为人与信息之间的高层调节者。其中的个人网站复制功能将不断预期人们的信息需求和喜好,用户将通过网站复制功能筛选网站,过滤掉与己无关的信息并将所需信息以最佳格式展现出来。同时,个人及企业将获得大量个性化服务。这些服务将会由软件设计人员在一个开放的平台中实现。由软件驱动的智能网技术和无线技术将使网络触角伸向人们所能到达的任何角落,同时允许人们自行选择接收信息的形式。
2、带宽的成本将变得非常低廉,甚至可以忽略不计。随着带宽瓶颈的突破,未来网络的收费将来自服务而不是带宽。交互性的服务,如节目联网的视频游戏、电子报纸和杂志等服务将会成为未来网络价值的主体。
3、在不久的未来,无线网络将更加普及,其中cnet:短距无线网络前景看俏。短距无线通讯标准Zigbee与超宽频UWB(Ultra wideband)即将制订完成,未来将与蓝芽(Bluetooth)共同建构短距离无线网络环境,包括蓝芽、Zigbee与UWB等相关产品出货量都将大幅成长。随着电子电机工程师协会(IEEE)推出80215个人局域网络(WPAN)标准后,新一代的短距离无线通讯发展趋势逐渐确定,除了蓝芽(802151)外,Zigbee(802154)与UWB(802153a)标准也将于今年或明年初陆续通过,未来Zigbee与UWB将以各自不同特性,如速度、价格等切入短距离无线网络环境。
4、计算机网络飞速发展的同时,安全问题不容忽视。网络安全经过了二十多年的发展,已经发展成为一个跨多门学科的综合性科学,它包括:通信技术、网络技术、计算机软件、硬件设计技术、密码学、网络安全与计算机安全技术等。
在理论上,网络安全是建立在密码学以及网
络安全协议的基础上的。密码学是网络安全的核心,利用密码技术对信息进行加密传输、加密存储、数据完整性鉴别、用户身份鉴别等,比传统意义上简单的存取控制和授权等技术更可靠。加密算法是一些公式和法则,它规定了明文和密文之间的变换方法。由于加密算法的公开化和解密技术的发展,加上发达国家对关键加密算法的出口限制,各个国家正不断致力于开发和设计新的加密算法和加密机制。
从技术上,网络安全取决于两个方面:网络设备的硬件和软件。网络安全则由网络设备的软件和硬件互相配合来实现的。但是,由于网络安全作为网络对其上的信息提供的一种增值服务,人们往往发现软件的处理速度成为网络的瓶颈,因此,将网络安全的密码算法和安全协议用硬件实现,实现线速的安全处理仍然将是网络安全发展的一个主要方向。
在安全技术不断发展的同时,全面加强安全技术的应用也是网络安全发展的一个重要内容。因为即使有了网络安全的理论基础,没有对网络安全的深刻认识、没有广泛地将它应用于网络中,那么谈再多的网络安全也是无用的。同时,网络安全不仅仅是防火墙,也不是防病毒、入侵监测、防火墙、身份认证、加密等产品的简单堆砌,而是包括从系统到应用、从设备到服务的比较完整的、体系性的安全系列产品的有机结合。
总之,网络在今后的发展过程中不再仅仅是一个工具,也不再是一个遥不可及仅供少数人使用的技术专利,它将成为一种文化、一种生活融入到社会的各个领域。
*** 作系统(Operating System,简称OS)传统上是负责对计算机硬件直接控制及管理的系统软件。 *** 作系统的功能一般包括处理器管理、存储管理、文件管理、设备管理和作业管理等。当多个程序同时运行时, *** 作系统负责规划以优化每个程序的处理时间。
一个 *** 作系统可以在概念上分割成两部分:内核(Kernel)以及壳(shell)。一个壳程序包裹了与硬件直接交流的内核:硬件<->内核<->壳<->应用程序
在有些 *** 作系统上内核与壳完全分开(例如Unix、Linux等),这样用户就可以在一个内核上使用不同的壳;而另一些的内核与壳关系紧密(例如Microsoft Windows),内核及壳只是 *** 作层次上不同而已。
Windows 98是一个发行于1998年6月25日的混合16位/32位的图形 *** 作系统。这个新的系统是基于Windows 95上编写的,它改良了硬件标准的支持,例如USB、MMX和AGP。其它特性包括对FAT32文件系统的支持、多显示器、Web TV的支持和整合到Windows图形用户界面的Internet Explorer,称为活动桌面(Active Desktop)。Windows 98 SE(第二版)发行于1999年6月10日。它包括了一系列的改进,例如Internet Explorer 5、Windows Netmeeting 3、Internet Connection Sharing和对DVD-ROM的支持。Windows 98被人批评为没有足够的革新。即使这样,它仍然是一个成功的产品。第二版被批评为不能在第一版的基础上自由升级。
Windows 98的最低系统需求:486DX/66MHz或更高的处理器,16MB的内存,更多的内存将改善性能;如果使用FAT16文件系统, 典型安装需250兆;因系统设置和选项不同, 所需空间范围在225兆到310兆之间;如果使用FAT32文件系统, 典型安装需245兆;因系统设置和选项不同, 所需空间范围在200兆到270兆之间;CD-ROM或DVD-ROM驱动器和VGA或更高分辨率的显示器,微软鼠标或兼容的指向设备。
Windows ME是一个32位图形 *** 作系统,由微软公司发行于2000年9月14日。这个系统是在Windows 95和Windows 98的基础上开发的。它包括相关的小的改善,例如Internet Explorer 55。其中最主要的改善是用于与流行的媒体播放软件RealPlayer竞争的Windows Media Player 7。但是Internet Explorer 55和Windows Media Player 7都可以在网上免费下载。Movie Maker是这个系统中的一个新的组件。这个程序提供了基本的对视频的编辑和设计功能,对家庭用户来说是简单易学的。但是,最重要的修改是系统去除了DOS,而由系统恢复代替了。
在概念上,这是一个大的改进:拥护不再需要有神秘的DOS行命令的知识就可以维护和修复系统。实际上,去除了DOS功能对维护来说是一个障碍,而系统恢复功能也带来一些麻烦:性能显著的降低;它也被证明并不能有效的胜任一些通常的错误。由于系统每次都自动创建一个先前系统状态的备份,使得非专业人员很难实行一些急需的修改,甚至是删除一个不想要的程序或病毒。有观点认为这个系统只是Windows 98的升级版本,不应该独自成为一个版本。也有观点认为这是微软自30版以后最差的第一个没有发行第二版的Windows。
Microsoft Windows 2000(起初称为WinNT 50)是一个由微软公司发行于2000年12月19日的32位图形商业性质的 *** 作系统。Windows 2000有四个版本:Professional、Server、Advanced Server和Datacenter Server。另外,微软提供了Windows 2000 Advanced Server限定版,用于运行于英特尔Itanium 64位处理器上。所有版本的Windows 2000都有共同的一些新特征:NTFS5,新的NTFS文件系统;EFS,允许对磁盘上的所有文件进行加密;WDM,增强对硬件的支持。
Microsoft Windows 2000的最低系统要求:133 MHZ或更高主频的Pentium级兼容CPU,推荐最小内存为64MB,更多的内存通常可以改善系统响应性能[最多支持4GB内存],至少有1GB可用磁盘空间的2GB硬盘(如果通过网络进行安装,可能需要更多的可用磁盘空间),Windows 2000 Professional支持单CPU和双CPU系统。
Windows XP,或视窗XP是微软公司最新发布的一款视窗 *** 作系统。它发行于2001年10月25日,原来的名称是Whistler。微软最初发行了两个版本,家庭版(Home)和专业版(Professional)。家庭版的消费对象是家庭用户,专业版则在家庭版的基础上添加了新的为面向商业的设计的网络认证、双处理器等特性。字母XP表示英文单词的“体验”(experience)。
在XP之前,微软有两个相互独立的 *** 作系统系列,一个是以Windows 98和Windows ME为代表的面向桌面电脑的系列,另一个是以Windows 2000和Windows NT为代表的面向服务器市场的系列。Windows XP是微软把所有用户要求合成一个 *** 作系统的尝试,而为此付出的代价是丧失了对基于DOS程序的支持。
Windows XP是基于Windows 2000代码的产品,同时拥有一个新的用户图形界面(叫做月神Luna),它包括了一些细微的修改,其中一些看起来是从Linux的桌面环境(desktop environmen)诸如KDE中获得的灵感。带有用户图形的登陆界面就是一个例子。此外,Windows XP还引入了一个“基于人物”的用户界面,使得工具条可以访问任务的具体细节。然而,批评家认为这个基于任务的设计指示增加了视觉上的混乱,因为它除了提供比其它 *** 作系统更简单的工具栏以外并没有添加新的特性。而额外进程的耗费又是可见的。
它包括了简化了的Windows 2000的用户安全特性,并整合了防火墙,以用来确保长期以来以着困扰微软的安全问题。
由于微软把很多以前是由第三方提供的软件整合到 *** 作系统中,XP受到了猛烈的批评。这些软件包括防火墙、媒体播放器(Windows Media Player),即时通讯软件(Windows Messenger),以及它与Microsoft Pasport网络服务的紧密结合,这都被很多计算机专家认为是安全风险以及对个人隐私的潜在威胁。这些特性的增加被认为是微软继续其传统的反竞争行为的持续。
另外受到强烈批评的是它的产品激活技术。这使得主机的部件受到监听,并在软件可以永久使用前(每30天一个激活周期)在微软的记录上添加一个唯一的参考序列号(reference number)。在其它计算机上安装系统,或只是简单的更换一个硬件,例如网卡,都将产生一个新的与之前不同的参考序列号,造成用户必须重新输入安装序列号来激活Windows XP的麻烦。
Windows XP的最低系统要求:推荐计算机使用时钟频率为 300 MHz 或更高的处理器;至少需要 233 MHz (单个或双处理器系统);推荐使用Intel Pentium/Celeron 系列、AMD K6/Athlon/Duron 系列或兼容的处理器,推荐使用 128 MB RAM 或更高(最低支持64M,可能会影响性能和某些功能),15 GB可用硬盘空间,Super VGA (800x600) 或分辨率更高的视频适配器和监视器,CD-ROM或DVD驱动器,键盘和Microsoft 鼠标或兼容的指针设备。
计算机 *** 作系统发展现状与存在的问题 发展模式比较单一,越来越多的人先入为主,先接受了windows,其实它并没有那么好,导致越来越多的人依赖它。
16
*** 作系统课程设计报告
一. 简介
Linux系统是从UNIX发展来的。UNIX是世界上最流行的 *** 作系统之一,它是一种实时 *** 作系统,可以运行于大型和小型计算机上的多任务系统。但由于它比较庞大,而且价格昂贵,所以不适合PC机用户使用。而Linux正好弥补了这些缺点,同时还继承了UNIX大多数优点。由于它基于PC机上运行的 *** 作系统,并且内核源代码是公开的,使得Linux成为时下最浒的 *** 作系统。Linux是一种适用于PC机的计算机 *** 作系统,它适合于多种平台,是目前唯一免费的非商品化 *** 作系统。由于有结构清晰、功能强大等特点,它很快成为许多院校学生和科研机构的研究人员学习和研究的对象。在他们的热心努力下,Linux渐渐成为一个稳定可靠、功能完善的 *** 作系统。Linux是由UNIX发展来的,它不仅继承了UNIX *** 作系统的特征,而且许多方面还超过了UNIX系统。另外它还有许多UNIX所不具有的优点和特征。它的源代码是开放的,可运行于许多硬件平台 ,支持多达32种文件,支持大量的外部设备等。 Linux有广泛的用处,它可用于:
个人UNIX工作站。
终端用户和应用服务器。
UNIX开发平台。
商业开发。
网络服务器。
Internet服务器。
终端服务器、传真服务器、Modem服务器。
二、Linux系统下C编程原理
1. Linux系统的主要优异性能
Linux系统是真正的爽用户。多任务、多平台 *** 作系统。
Linux系统提供提供具有内置安全措施的分层的文件系统,支持多达32种文件系统。
Linux系统提供命令解释程序和编程语言。
Linux系统提供强大的管理功能。
Linux系统具有内枋的编程接口。
Linux系统具有图形用户接口。
Linux系统许多组成部分的源代码是开放的,任何人都能修改和重新发布它。
Linux系统不公可以运行许多自由发布的应用软件,还可以运行许多商业化的应用软件。
2. Linux系统的主要构成
存储管理
在Linux中,每一个进程都有一个比实际物理空间大得多的进程虚拟空间,每个进程还保留一张页表,用于将本进程空间中的虚地址变换成物理地址,页表还对物理页的访问权限作了规定,从而达到存储保护的目的。
进程管理
在Linux中,进程是资源分配的基本单位,所有资源都是以进程为对象进行分配的,在一个进程的生命周期中,会用到许多系统资源,Linux的设计可以准确描述进程的状态和资源的使用情况,以确保不出现某些进程过度占用系统资源而导致另一些进程无休止地等待的情况。
文件系统
Linux最重要的特征之一就是支持多种不同的文件系统。在Linux中,一个分离的文件系统不是通过设备标志来访问,而是把它合到一个单一的目录树结构中去,通过目录访问。Linux把一个新的文件系统安装到系统单一目录树的某一目录下,则该目录下的所有内容被新安装的文件系统所覆盖,当文件系统被卸下后,安装目录下的文件将会被重新恢复。
进程间通信
Linux提供多种进程间的通信机制,管道和信号是其中最基本两种,其他还有消息队列、信号灯及共享内存。为支持不同机器之间的进程通信,Linux还引入了机制。
3. gcc编译器的使用
在Linux开发环境下,gcc是进行程序开发不可或缺的编译工具,是GUN C Compile的缩写,它是在GUN系统下的标准C编译器。gcc作为Linux平台下的标准C编译器,功能强大。人们可以使用gcc编译器编译单一文件的最基本的命令,正是有了gcc编译器人们才能使用它编译C源程序。
gcc的完整格式是gcc [options] [filenames] ,编译选项指定的 *** 作对给定的文件进行编译处理。在后面可以有多个编译选项,同时进行多个编译 *** 作。
三、总体设计
下面介绍Linux系统中的文件以及与文件有关的 *** 作。在C编程环境中,与文件有关的 *** 作主要是I/O *** 作,即基于文件描述符的 *** 作。此外,还将介绍其他一些与文件有关的 *** 作。
在Linux系统中,有关的I/O *** 作可以分为两类。它们是基于文件描述符的I/O *** 作和基于流I/O的 *** 作。它们有各自不同的特点和优势。基于文件描述符的I/O *** 作是通过文件描述符对一个文件执行I/O *** 作的。文件是一个十分重要的概念。通常保存在外存中的数据都是以文件的形式保存的。文件描述符则是用于描述被打开文件的索引值。通常情况下,都是通过文件描述符打开一个文件执行I/O *** 作。
文件和文件系统是重要而复杂的概念。文件是有名字的一组相关信息的集合。在Linux系统中,文件的准确定义是不包含有任何其他结构的字符流。通俗的说,就是文件中的字符与字符之间除了同属于一个文件之外,不存在任何其他的关系。文件中字符的关系,是由使用文件的应用程序来建立各解释的。每一个文件都具有特定的属性。Linux系统的文件属性比较复杂,主要包括文件类型和文件权限两个方面。
1.文件类型
Linux下的文件可以分为5种不同的类型 。它们是普通文件、目录文件、链接文件、设备文件和管道文件。
(1)、普通文件
普通文件也称正规文件,是最常见的一类文件,也是最常使用到的一类文件。其特点是不包含有文件系统的结构信息。通常所接触到的文件,包括图形文件、数据文件、文档文件、等等都属于普通文件。这种类型的文件按其内部结构又可细分为两个文件类型:文本文件和二进制文件。
(2)、目录文件
目录文件是用于存放文件名及其相关信息的文件。是内核组织文件系统的基本节点。目录文件可以包含下一级目录文件或普通文件。
(3)、链接文件
链接文件是一种特殊的文件。它实际上是指向一个真实存在的文件的链接。根据链接对象的不同,链接文件又可以细分为硬链接文件和符号链接文件。
(4)、设备文件
设备文件是Linux中最特殊的文件。正是由于它的存在,使得Linux系统可以十分方便地访问外部设备。Linux系统为外部设备提供一种标准接口,将外部设备视为一种特殊的文件。用户可以像访问普通文件一样访问外部设备。这就使Linux系统可以很方便的适应不断发展的外部设备。
(5)、管道文件
管道文件也是一种很特殊的文件。主要用于不同进程间的信息传递。当两个进程间需要进行数据或信息传递时,可以通过管道文件。一个进程将需传递的数据或信息写入管道的一端,另一进程则从管道的另一端取得所需的数据或信息。
2.进程基本介绍
在Linux环境下,进程是一个十分重要的概念。按现在通行的认识,进程是具有一定功能的程序关于一个数据集合的一次执行过程。对一个特定程序来说,它的每一个正在运行中的副本都有自己的进程。就是说,如果用户在一个进程的一次运行尚未结束时再次启动该程序,则将有两个进程在运行这一程序。多个进程可以同时运行,各个进程之间相互隔开,除非不同进程之间需要进行数据交换,否则互不影响。
一个进程的存在过程,可以分为进程的产生、进程的执行和进程的结束3个步骤。当一个程序被启动时,就产生一个新的进程。进程在系统内核的管理下得到执行。当某个进程执行完毕后,该进程就消亡了。
Linux系统支持多个进程同时进行。所谓同时,其实是Linux系统在各个进程之间调度,轮流是每个进程占用CPU 的一个时间片。由于每个时间片和宏观的时间相比很小,而每个进程可以频繁的得到时间片,于是就使用户看到了多个进程“同时”运行的情况。在每个进程属性的安全信息里都设有一个优先级,系统根据它来决定各个进程从CPU获得的时间片的大小。
用户在执行一个程序以完成一定的功能时,为了提高程序执行的效率,可以把一个程序设计成由若干个部分组成,由若干个部分组成,由若干个进程同时执行。这就是所谓并发程序的概念。此外,不同进程之间可能会需要相互合作,即进程通信和进程同步。
当然,多个进程并不需要同上时间产生并都维持到整个程序运行结束。用户可以根据需要动态地产生结束进程。也就是说,一个进程可以派生另一个进程,这就是所谓父进程和了进程的关系。
每个进程都有各自的属性,其中包括了进程的详细信息。
3库的使用
代码的重用性是当代计算机编程语言中一个重要的概念,可以把编译好的目标文件模块统一放到一个库中,使得程序员可以在不同的程序中共享这些代码。
在 *** 作系统中,最终链接生成可执行文件时,如果链接的是一般的文件,则
整个文件的内容都会被装入可执行文件中;如果链接的是库,则只是从库存中找到程序中用到的变量和数,将它们装入可执行文件中,那些放在库中但是没有被程序所引用的变量和数则不会被链接到最终的可执行文件。
所以,使用库可以节省在大量的开发时间,在写较大的程序时,最好把程序
模块放在库中。
对于任何典型的 *** 作系统命令都由简单命令、参数、输入文件名、输出文件名、I\O重定向文件名等组成。(关于以上术语的数据字典见下表)
以命令 gcc –ggdb3 –o moon sunc 为例:
数据字典一:
术语 说明
简单命令 一个Linux长命令可以有多个像gcc,more等这样的纯命令组成。其中每个纯命令如gcc,more就是这里说的简单命令
参数 范例命令中的-g,-o就是参数,它们是命令的扩展,可以根据用户的不用需要提供相应的不同服务
输入文件名 范例命令中的sunc就是输入文件名,它相当于一个源文件,在文件的连接和复制的命令中也常常用到这样的文件
输出文件名 范例命令中的moon就是输出文件名,它相当与一个目标文件,在文件的连接和复制的命令中也常常用到这样的文件
I\O重定向文件名 在Linux系统中所有的设备都被看作文件进行管理,I\O文件(设备)作为输出的目标时是可以根据用户的需要进行调整的,I\O重定向文件名就是用来指定I\O文件(设备)名的
模块说明:
模块名称 功能说明
总控模块
main() 该模块调用其他模块实现命令解释功能,保证无论命令执行成功与否都在命令执行后返回命令提示符
命令初始化模块
init_command() 使用singnal函数对进程进行处理,达到初始化命令的效果
命令行输入
get_comln() 该模块接受用户键盘输入的所有字符并存入相应的字符数组,供其他模块使用
分析简单命令个数
get_simcom() 该模块对用户键盘输入的长命令进行分析并最终将长命令分割成数据字典一中的元素,存入相应的结构数组,供执行模块执行
执行指令
execute() 对各种的数据字典一中的元素进行最后的处理,完成区分前后台程序,封锁、开启键盘等功能
分析简单命令
get_simarg() 对简单命令进行分割,为执行模块提供最直接的信息
得到下一个标志符
get_word() 该过程用来记录输入文件名、输出文件名、I\O重定向并存入相应的结构数组
查看字符串是否匹配
check() 用来区分长命令中各个数据字典一中的元素的标准,为分割长命令提供参考信息
执行简单命令
run_com() 该模块与 *** 作系统底层联系,使用系统调用完成各个简单命令的最终执行
程序初始化
init_once() 对程序中用到的所有变量和数据结构进行初始化
如果你没有毕业那建议你自学,如果你即将毕业或已经毕业,那么建议你去参加培训班,具体要学那些东西呢,一般国内培训班的课程是这样的:
1、linux基础和shell编程
2、C/C++语言编程基础
3、linux环境下高级编程
4、ARM体系结构(ARM体系结构介绍、裸板开发、汇编基础)
5、嵌入式系统的构建与移植(包括bootloader、kernel、rootfs的构建和移植)
6、QT图形化编程设计
7、linux设备驱动程序开发
8、无线传感基础(包括zigbee、RFID)
你可以从这几个方面找资料学校,这个课程体系都是经过轮证的,建议你一步一步来。
当然如果培训,有老师带着学的更畅快,更舒服。
希望能帮助到你,如果帮助到你希望采纳为答案
不一定,自组网在一些具体的应用中就不一定合适,在节点数量很多的情况下,如果大家都采用自组网的方式,整个网络中的延时和丢包包括功耗就会变得无法控制,大多数的应用中采用的最多的是星型网和混合组网。
2010年10月,国内外多家媒体相继报道了Stuxnet蠕虫对西门子公司的数据采集与监控系统SIMATIC WinCC进行攻击的事件,称其为“超级病毒”、“超级工厂病毒”,并形容成“超级武器”、“潘多拉的魔盒”。
Stuxnet蠕虫(俗称“震网”、“双子”)在2010年7月开始爆发。它利用了微软 *** 作系统中至少4个漏洞,其中有3个全新的零日漏洞;伪造驱动程序的数字签名;通过一套完整的入侵和传播流程,突破工业专用局域网的物理限制;利用WinCC系统的2个漏洞,对其开展破坏性攻击。它是第一个直接破坏现实世界中工业基础设施的恶意代码。据赛门铁克公司的统计,截止到2010年09月全球已有约45000个网络被该蠕虫感染, 其中60%的受害主机位于伊朗境内。伊朗政府已经确认该国的布什尔核电站遭到Stuxnet蠕虫的攻击。
安天实验室于7月15日捕获到Stuxnet蠕虫的第一个变种,在第一时间展开分析,发布了分析报告及防范措施,并对其持续跟踪。截止至本报告发布,安天已经累计捕获13个变种、600多个不同哈希值的样本实体。 21 运行环境
Stuxnet蠕虫在以下 *** 作系统中可以激活运行: Windows 2000、Windows Server 2000 Windows XP、Windows Server 2003 Windows Vista Windows 7、Windows Server 2008 当它发现自己运行在非Windows NT系列 *** 作系统中,即刻退出。
被攻击的软件系统包括: SIMATIC WinCC 70 SIMATIC WinCC 62 但不排除其他版本存在这一问题的可能。
22 本地行为
样本被激活后,典型的运行流程如图1 所示。
样本首先判断当前 *** 作系统类型,如果是Windows 9X/ME,就直接退出。
接下来加载一个主要的DLL模块,后续的行为都将在这个DLL中进行。为了躲避查杀,样本并不将DLL模块释放为磁盘文件然后加载,而是直接拷贝到内存中,然后模拟DLL的加载过程。
具体而言,样本先申请足够的内存空间,然后Hookntdlldll导出的6个系统函数: ZwMapViewOfSection ZwCreateSection ZwOpenFile ZwClose ZwQueryAttributesFile ZwQuerySection 为此,样本先修改ntdlldll文件内存映像中PE头的保护属性,然后将偏移0x40处的无用数据改写为跳转代码,用以实现hook。
进而,样本就可以使用ZwCreateSection在内存空间中创建一个新的PE节,并将要加载的DLL模块拷贝到其中,最后使用LoadLibraryW来获取模块句柄。
图1 样本的典型运行流程
此后,样本跳转到被加载的DLL中执行,衍生下列文件:
%System32%\drivers\mrxclssys %System32%\drivers\mrxnetsys%Windir%\inf\oem7APNF%Windir%\inf\mdmeric3PNF %Windir%\inf\mdmcpq3PNF%Windir%\inf\oem6CPNF其中有两个驱动程序mrxclssys和mrxnetsys,分别被注册成名为MRXCLS和MRXNET的系统服务,实现开机自启动。这两个驱动程序都使用了Rootkit技术,并有数字签名。
mrxclssys负责查找主机中安装的WinCC系统,并进行攻击。具体地说,它监控系统进程的镜像加载 *** 作,将存储在%Windir%\inf\oem7APNF中的一个模块注入到servicesexe、S7tgtopxexe、CCProjectMgrexe三个进程中,后两者是WinCC系统运行时的进程。
mrxnetsys通过修改一些内核调用来隐藏被拷贝到U盘的lnk文件和DLL文件(图2 )。
图2驱动程序隐藏某些lnk文件
图3 样本的多种传播方式
23 传播方式 Stuxnet蠕虫的攻击目标是SIMATIC WinCC软件。后者主要用于工业控制系统的数据采集与监控,一般部署在专用的内部局域网中,并与外部互联网实行物理上的隔离。为了实现攻击,Stuxnet蠕虫采取多种手段进行渗透和传播,如图3所示。
整体的传播思路是:首先感染外部主机;然后感染U盘,利用快捷方式文件解析漏洞,传播到内部网络;在内网中,通过快捷方式解析漏洞、RPC远程执行漏洞、打印机后台程序服务漏洞,实现联网主机之间的传播;最后抵达安装了WinCC软件的主机,展开攻击。
231 快捷方式文件解析漏洞(MS10-046)
这个漏洞利用Windows在解析快捷方式文件(例如lnk文件)时的系统机制缺陷,使系统加载攻击者指定的DLL文件,从而触发攻击行为。具体而言,Windows在显示快捷方式文件时,会根据文件中的信息寻找它所需的图标资源,并将其作为文件的图标展现给用户。如果图标资源在一个DLL文件中,系统就会加载这个DLL文件。攻击者可以构造这样一个快捷方式文件,使系统加载指定的DLL文件,从而执行其中的恶意代码。快捷方式文件的显示是系统自动执行,无需用户交互,因此漏洞的利用效果很好。
Stuxnet蠕虫搜索计算机中的可移动存储设备(图4)。一旦发现,就将快捷方式文件和DLL文件拷贝到其中(图5)。如果用户将这个设备再插入到内部网络中的计算机上使用,就会触发漏洞,从而实现所谓的“摆渡”攻击,即利用移动存储设备对物理隔离网络的渗入。
图4 查找U盘
拷贝到U盘的DLL文件有两个:~wtr4132tmp和~wtr4141tmp。后者Hook了kernel32dll和ntdlldll中的下列导出函数:
FindFirstFileW FindNextFileW FindFirstFileExWNtQueryDirectoryFile ZwQueryDirectoryFile 实现对U盘中lnk文件和DLL文件的隐藏。因此,Stuxnet一共使用了两种措施(内核态驱动程序、用户态Hook API)来实现对U盘文件的隐藏,使攻击过程很难被用户发觉,也能一定程度上躲避杀毒软件的扫描。
图5 拷贝文件到U盘
232 RPC远程执行漏洞(MS08-067)与提升权限漏洞
这是2008年爆发的最严重的一个微软 *** 作系统漏洞,具有利用简单、波及范围广、危害程度高等特点。
图6 发动RPC攻击
具体而言,存在此漏洞的系统收到精心构造的RPC请求时,可能允许远程执行代码。在Windows 2000、Windows XP和Windows Server 2003系统中,利用这一漏洞,攻击者可以通过恶意构造的网络包直接发起攻击,无需通过认证地运行任意代码,并且获取完整的权限。因此该漏洞常被蠕虫用于大规模的传播和攻击。
Stuxnet蠕虫利用这个漏洞实现在内部局域网中的传播(图6)。利用这一漏洞时,如果权限不够导致失败,还会使用一个尚未公开的漏洞来提升自身权限(图1),然后再次尝试攻击。截止本报告发布,微软尚未给出该提权漏洞的解决方案。
233 打印机后台程序服务漏洞(MS10-061)
这是一个零日漏洞,首先发现于Stuxnet蠕虫中。
Windows打印后台程序没有合理地设置用户权限。攻击者可以通过提交精心构造的打印请求,将文件发送到暴露了打印后台程序接口的主机的%System32%目录中。成功利用这个漏洞可以以系统权限执行任意代码,从而实现传播和攻击。
图7 利用打印服务漏洞
Stuxnet蠕虫利用这个漏洞实现在内部局域网中的传播。如图7所示,它向目标主机发送两个文件:winstaexe、sysnullevntmof。后者是微软的一种托管对象格式(MOF)文件,在一些特定事件驱动下,它将驱使winstaexe被执行。
234内核模式驱动程序(MS10-073)
235任务计划程序漏洞(MS10-092)
24 攻击行为
Stuxnet蠕虫查询两个注册表键来判断主机中是否安装WinCC系统(图8):
HKLM\SOFTWARE\SIEMENS\WinCC\Setup
HKLM\SOFTWARE\SIEMENS\STEP7
图8 查询注册表,判断是否安装WinCC
一旦发现WinCC系统,就利用其中的两个漏洞展开攻击:
一是WinCC系统中存在一个硬编码漏洞,保存了访问数据库的默认账户名和密码,Stuxnet利用这一漏洞尝试访问该系统的SQL数据库(图9)。
二是在WinCC需要使用的Step7工程中,在打开工程文件时,存在DLL加载策略上的缺陷,从而导致一种类似于“DLL预加载攻击”的利用方式。最终,Stuxnet通过替换Step7软件中的s7otbxdxdll,实现对一些查询、读取函数的Hook。
图9 查询WinCC的数据库
25 样本文件的衍生关系
本节综合介绍样本在上述复制、传播、攻击过程中,各文件的衍生关系。
如图10所示。样本的来源有多种可能。
对原始样本、通过RPC漏洞或打印服务漏洞传播的样本,都是exe文件,它在自己的stud节中隐形加载模块,名为“kernel32dllaslr<随机数字>dll”。
对U盘传播的样本,当系统显示快捷方式文件时触发漏洞,加载~wtr4141tmp文件,后者加载一个名为“shell32dllaslr<随机数字>dll”的模块,这个模块将另一个文件~wtr4132tmp加载为“kernel32dllaslr<随机数字>dll”。
图10 样本文件衍生的关系
模块“kernel32dllaslr<随机数字>dll”将启动后续的大部分 *** 作,它导出了22个函数来完成恶意代码的主要功能;在其资源节中,包含了一些要衍生的文件,它们以加密的形式被保存。
其中,第16号导出函数用于衍生本地文件,包括资源编号201的mrxclssys和编号242的mrxnetsys两个驱动程序,以及4个pnf文件。
第17号导出函数用于攻击WinCC系统的第二个漏洞,它释放一个s7otbxdxdll,而将WinCC系统中的同名文件修改为s7otbxsxdll,并对这个文件的导出函数进行一次封装,从而实现Hook。
第19号导出函数负责利用快捷方式解析漏洞进行传播。它释放多个lnk文件和两个扩展名为tmp的文件。
第22号导出函数负责利用RPC漏洞和打印服务漏洞进行传播。它释放的文件中,资源编号221的文件用于RPC攻击、编号222的文件用于打印服务攻击、编号250的文件用于提权。 31 抵御本次攻击
西门子公司对此次攻击事件给出了一个解决方案,链接地址见附录。下面根据我们的分析结果,给出更具体的措施。
1使用相关专杀工具或手工清除Stuxnet蠕虫
手工清除的步骤为: 使用Atool管理工具,结束系统中的父进程不是winlogonexe的所有lsassexe进程; 强行删除下列衍生文件:
%System32%\drivers\mrxclssys
%System32%\drivers\mrxnetsys
%Windir%\inf\oem7APNF
%Windir%\inf\mdmeric3PNF
%Windir%\inf\mdmcpq3PNF
%Windir%\inf\oem6CPNF 删除下列注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRxCls
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MRxNET 2 安装被利用漏洞的系统补丁
安装微软提供的下列补丁文件: RPC远程执行漏洞(MS08-067) 快捷方式文件解析漏洞(MS10-046) 打印机后台程序服务漏洞(MS10-061) 内核模式驱动程序漏洞(MS10-073) 任务计划程序程序漏洞(MS10-092) 3 安装软件补丁
安装西门子发布的WinCC系统安全更新补丁,地址见附录。
32 安全建议
此次攻击事件凸显了两个问题: 即便是物理隔离的专用局域网,也并非牢不可破; 专用的软件系统,包括工业控制系统,也有可能被攻击。 因此,我们对有关部门和企业提出下列安全建议:
加强主机(尤其是内网主机)的安全防范,即便是物理隔离的计算机也要及时更新 *** 作系统补丁,建立完善的安全策略;
安装安全防护软件,包括反病毒软件和防火墙,并及时更新病毒数据库;
建立软件安全意识,对企业中的核心计算机,随时跟踪所用软件的安全问题,及时更新存在漏洞的软件;
进一步加强企业内网安全建设,尤其重视网络服务的安全性,关闭主机中不必要的网络服务端口;
所有软件和网络服务均不启用弱口令和默认口令;
加强对可移动存储设备的安全管理,关闭计算机的自动播放功能,使用可移动设备前先进行病毒扫描,为移动设备建立病毒免疫,使用硬件式U盘病毒查杀工具。 相比以往的安全事件,此次攻击呈现出许多新的手段和特点,值得我们特别关注。
41 专门攻击工业系统
Stuxnet蠕虫的攻击目标直指西门子公司的SIMATIC WinCC系统。这是一款数据采集与监视控制(SCADA)系统,被广泛用于钢铁、汽车、电力、运输、水利、化工、石油等核心工业领域,特别是国家基础设施工程;它运行于Windows平台,常被部署在与外界隔离的专用局域网中。
一般情况下,蠕虫的攻击价值在于其传播范围的广阔性、攻击目标的普遍性。此次攻击与此截然相反,最终目标既不在开放主机之上,也不是通用软件。无论是要渗透到内部网络,还是挖掘大型专用软件的漏洞,都非寻常攻击所能做到。这也表明攻击的意图十分明确,是一次精心谋划的攻击。
42 利用多个零日漏洞
Stuxnet蠕虫利用了微软 *** 作系统的下列漏洞: RPC远程执行漏洞(MS08-067) 快捷方式文件解析漏洞(MS10-046) 打印机后台程序服务漏洞(MS10-061) 内核模式驱动程序漏洞(MS10-073) 任务计划程序程序漏洞(MS10-092) 后四个漏洞都是在Stuxnet中首次被使用,是真正的零日漏洞。如此大规模的使用多种零日漏洞,并不多见。
这些漏洞并非随意挑选。从蠕虫的传播方式来看,每一种漏洞都发挥了独特的作用。比如基于自动播放功的U盘病毒被绝大部分杀毒软件防御的现状下,就使用快捷方式漏洞实现U盘传播。
另一方面,在安天捕获的样本中,有一部分实体的时间戳是2013年3月。这意味着至少在3月份,上述零日漏洞就已经被攻击者掌握。但直到7月份大规模爆发,漏洞才首次披露出来。这期间要控制漏洞不泄露,有一定难度。
43 使用数字签名
Stuxnet在运行后,释放两个驱动文件:
%System32%\drivers\mrxclssys
%System32%\drivers\mrxnetsys
这两个驱动文件伪装RealTek的数字签名(图7)以躲避杀毒软件的查杀。目前,这一签名的数字证书已经被颁发机构吊销,无法再通过在线验证,但目前反病毒产品大多使用静态方法判定可执行文件是否带有数字签名,因此有可能被欺骗。图11 Stuxnet伪造的数字签名
44 明确的攻击目标
根据赛门铁克公司的统计,7月份,伊朗感染Stuxnet蠕虫的主机只占25%,到9月下旬,这一比例达到60%。
WinCC被伊朗广泛使用于基础国防设施中。9月27日,伊朗国家通讯社向外界证实该国的第一座核电站“布什尔核电站”已经遭到攻击。据了解,该核电站原计划于2013年8月开始正式运行。因此,此次攻击具有明确的地域性和目的性。 51 工业系统安全将面临严峻挑战
在我国,WinCC已被广泛应用于很多重要行业,一旦受到攻击,可能造成相关企业的设施运行异常,甚至造成商业资料失窃、停工停产等严重事故。
对于Stuxnet蠕虫的出现,我们并未感到十分意外。早在去年,安天就接受用户委托,对化工行业仪表的安全性展开过研究,情况不容乐观。
工业控制网络,包括工业以太网,以及现场总线控制系统早已在工业企业中应用多年,目前在电力、钢铁、化工等大型重化工业企业中,工业以太网、DCS(集散控制系统)、现场总线等技术早已渗透到控制系统的方方面面。工业控制网络的核心现在都是工控PC,大多数同样基于Windows-Intel平台,工业以太网与民用以太网在技术上并无本质差异,现场总线技术更是将单片机/嵌入式系统应用到了每一个控制仪表上。工业控制网络除了可能遭到与攻击民用/商用网络手段相同的攻击,例如通过局域网传播的恶意代码之外,还可能遭到针对现场总线的专门攻击,不可轻视。
针对民用/商用计算机和网络的攻击,目前多以获取经济利益为主要目标,但针对工业控制网络和现场总线的攻击,可能破坏企业重要装置和设备的正常测控,由此引起的后果可能是灾难性的。以化工行业为例,针对工业控制网络的攻击可能破坏反应器的正常温度/压力测控,导致反应器超温/超压,最终就会导致冲料、起火甚至爆炸等灾难性事故,还可能造成次生灾害和人道主义灾难。因此,这种袭击工业网络的恶意代码一般带有信息武器的性质,目标是对重要工业企业的正常生产进行干扰甚至严重破坏,其背景一般不是个人或者普通地下黑客组织。
目前,工业以太网和现场总线标准均为公开标准,熟悉工控系统的程序员开发针对性的恶意攻击代码并不存在很高的技术门槛。因此,对下列可能的工业网络安全薄弱点进行增强和防护是十分必要的: 基于Windows-Intel平台的工控PC和工业以太网,可能遭到与攻击民用/商用PC和网络手段相同的攻击,例如通过U盘传播恶意代码和网络蠕虫,这次的Stuxnet病毒就是一个典型的例子。 DCS和现场总线控制系统中的组态软件(测控软件的核心),目前其产品,特别是行业产品被少数公司所垄断,例如电力行业常用的西门子SIMATIC WinCC,石化行业常用的浙大中控等。针对组态软件的攻击会从根本上破坏测控体系,Stuxnet病毒的攻击目标正是WinCC系统。 基于RS-485总线以及光纤物理层的现场总线,例如PROFIBUS和MODBUS(串行链路协议),其安全性相对较好;但短程无线网络,特别是不使用Zigbee等通用短程无线协议(有一定的安全性),而使用自定义专用协议的短程无线通信测控仪表,安全性较差。特别是国内一些小企业生产的“无线传感器”等测控仪表,其无线通信部分采用通用24GHz短程无线通信芯片,连基本的加密通信都没有使用,可以说毫无安全性可言,极易遭到窃听和攻击,如果使用,将成为现场总线中极易被攻击的薄弱点。 工业控制网络通常是独立网络,相对民用/商用网络而言,数据传输量相对较少,但对其实时性和可靠性的要求却很高,因而出现问题的后果相当严重。
传统工业网络的安全相对信息网络来说,一直是凭借内网隔离,而疏于防范。因此,针对工业系统的安全检查和防范加固迫在眉睫。
以上就是关于 *** 作系统是如何随着硬件的发展而发展的全部的内容,包括: *** 作系统是如何随着硬件的发展而发展的、如何去学嵌入式、zigbee网络一定是自组网吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)