浅谈操作系统安全

合集下载

网络使用安全论文

网络使用安全论文

网络使用安全【摘要】本文论述了用网安全的策略,浅谈网络安全技术中的操作系统安全、病毒安全、电子邮件安全、网络应用安全、防火墙安全。

【关键词】网络应用;防火墙目前计算机网络面临着很大的威胁,其构成的因素是多方面的。

这种威胁将不断给社会带来巨大的损失。

随着计算机网络的不断发展,全球信息化已成为人类发展的大趋势,但由于计算机网络具有联结形式多样性、终端分布不均匀性和网络的开放性、互连性等特征,致使网络易受黑客、病毒、恶意软件和其他不轨的攻击,所以网上信息的安全和保密是一个至关重要的问题。

故此,网络的安全措施应是能全方位地针对各种不同的威胁和脆弱性,这样才能确保网络信息的保密性、完整性和可用性。

为了确保信息的安全与畅通,研究计算机网络的安全以及防范措施己迫在眉睫。

本文就进行初步探讨个人计算机网络安全的管理及其技术措施。

用网安全主要包含下面几个方面:1.操作系统的安全我们的计算机最好使用ntfs文件分区,ntfs是为windows nt 操作系统设计的,它可以提供相对完善的安全性,这是fat与fat32文件分区所不具有的。

在ntfs分区中,只有用户被赋予权限或者属于拥有权限的组才能对文件进行操作,不仅如此,ntfs还具有“文件权限优先”原则、“权限继承”原则、“拥有者控制”原则,以此来保护我们的文件。

分区后在安装操作系统时最好安装安全等级比较高的操作系统如windows2000以上的操作系统。

在进行登录设置时最好使用8位以上的用户口令,在设置口令时千万不要使用诸如生日、电话号码等纯数字或纯字符做口令,口令中应包含一些特殊字符。

口令应该在允许的范围内尽可能的长一点。

口令要尽可能的好记,不要写下来或存于计算机文件中,口令在使用一段时间后要做修改。

由于操作系统都有漏洞,针对该漏洞的恶意代码很快就会出现在网上,一系列案例证明,从漏洞被发现到恶意代码出现,中间的时差开始变得越来越短。

所以在使用电脑时,要及时安装最新的系统补丁。

浅谈银行柜面操作风险的控制策略

浅谈银行柜面操作风险的控制策略

银行柜面操作风险的控制策略银行柜面操作风险控制策略随着金融领域的不断发展,银行柜面工作也越来越重要,为客户提供各种金融服务,但同时也伴随着一定的风险。

银行柜员在其日常操作中容易因疏忽或主观故意等原因造成操作风险,如未能正确、及时、全面地办理业务,转移或造成资金损失等。

因此,银行柜面操作风险控制策略至关重要。

银行柜面操作风险控制策略的基本原则是先预防,后治理。

预防是指在银行柜员工作过程中,按照各种规章制度、程序和要求,预先制定相应的管理措施和操作流程,从而防范可能出现的风险。

治理是指在控制风险发生后,及时采取相应的措施,避免风险持续发展。

银行柜面操作风险控制策略包括以下几个方面:一、制定规范标准为了规范银行柜员的操作,银行应制定一系列的规范标准,如操作规程、操作手册、业务操作流程等,让柜员们清楚任务要求,制定标准流程。

同时,在规定标准的过程中,应将每个环节的风险点分析明确,以便柜员能够理解哪些操作可能会带来风险,从而有针对性地加以防范。

二、建立角色审批机制在银行柜员的业务操作中,需要分类进行角色审批,柜员与领导、柜员与柜员之间需要进行相应的审批强化内控,确保业务操作的完整性、准确性和安全性,防范风险事项的发生。

三、建立业务操作风险监控系统银行应建立业务操作监控系统,及时发现柜员操作中可能出现的风险,以便采取针对性措施。

监控系统应当包括多个层面,如IT系统、基础业务系统等,从全方位、全系统地把控风险。

四、加强员工风险教育银行要对柜员进行风险教育,加强风险意识培养,明确风险的概念及其中的可操作性点,如何识别、防范和应对风险;同时,要对员工进行岗位培训,严格要求员工按照操作规范进行操作。

五、建立风险事件应急预案银行在遇到风险事件时,需要有一个快速而完善的风险事件处理流程,明确各个环节的职责,以便快速有效地处理问题的发生。

六、优化内部审计机制银行根据业务特点,优化内部审计机制,形成较为完善的审计控制体系。

浅谈办公自动化与网络安全

浅谈办公自动化与网络安全

浅谈办公自动化与网络安全引言概述:办公自动化是指通过计算机技术和信息管理系统来实现办公过程的自动化,提高办公效率和工作质量。

然而,随着办公自动化的普及和应用,网络安全问题也变得日益突出。

本文将从五个方面探讨办公自动化与网络安全的关系。

一、数据存储与保护1.1 数据备份与恢复:办公自动化系统中的数据备份和恢复功能对于防止数据丢失和恢复误操作至关重要。

定期备份数据并建立可靠的恢复机制,可以有效防范数据丢失的风险。

1.2 数据加密与权限控制:办公自动化系统中的敏感数据应该进行加密存储,确保数据在传输和储存过程中的安全性。

同时,通过权限控制机制,对不同用户进行不同程度的数据访问权限限制,可以减少数据泄露的风险。

1.3 数据安全审计与监控:建立数据安全审计和监控机制,对办公自动化系统的数据操作进行记录和监控,及时发现潜在的安全风险和异常操作,保障数据的安全性和完整性。

二、网络通信与防护2.1 网络隔离与防火墙:办公自动化系统中的网络通信应该与其他网络环境进行隔离,通过设置防火墙等网络安全设备,防止未授权的访问和攻击。

2.2 网络访问控制与认证:建立网络访问控制和身份认证机制,限制非法用户的访问,并确保合法用户的身份安全。

采用复杂的密码策略和双因素认证等技术手段,提高网络的安全性。

2.3 网络安全培训与意识:加强员工的网络安全培训和意识教育,提高员工对网络安全的认识和防范能力,减少因员工疏忽而导致的安全漏洞。

三、软件应用与漏洞修复3.1 及时更新与升级:办公自动化系统中使用的软件应及时更新和升级,以修复已知的漏洞和提高系统的安全性。

同时,及时安装安全补丁和更新,减少被恶意软件利用的风险。

3.2 强化访问控制:通过设置访问控制策略,限制软件应用的访问权限,减少恶意软件的传播和潜在威胁。

3.3 安全审计与漏洞扫描:定期进行安全审计和漏洞扫描,发现和修复系统中的安全漏洞,提高系统的安全性和稳定性。

四、移动办公与设备管理4.1 设备安全策略:建立设备安全策略,限制移动设备的访问权限,确保设备的安全性。

浅谈PC安全策略

浅谈PC安全策略

软件 、 类设 置 密码 、 意浏 览和 下 栽 的 危 险 性 、 期 备份 数 据 等 。 分 注 定
关键词 : 网络安 全;C; P 防火墙 ; 电脑病毒 中图分类号 :P 9 . T 33 8 0 文献标识码: A
个人电脑的安全问题 , 是广大 P C用户感到头痛的事 , 系统 安全 问题
不要打开来历不 明的 电子邮件及其附 件 ,以免遭受病毒 邮件的侵 害。在互联 网上有许多种病毒流行 , 有些病毒就是通过 电子邮件来传播 的, 这些病毒邮件通常都会以带有 噱头的标 题来吸引你打开其 附件 , 如
果 您抵挡不住它的诱惑 , 而下载或运行 了它的附件 , 就会受到感染 , 以 所 对 于来历不 明的邮件应 当将其拒之 门外。
维普资讯
科技情报开发 与经济
文章编号 :0 5 6 3 ( 06)3 0 8 - 2 10 — 0 3 20 1 - 17 0
S I E HIF R A IND V L P E T&E O O Y C- C O M TO E E O M N T N CN M
它进行跟踪和维护 , 要与商家保持密切 的联系 , 时刻注视商家的动态 。 因
为商家一旦发现其 产品存在安全漏 洞, 就会尽快推 出补救产 品 , 此时应 尽快确认 真伪 , 并对防火墙进行更新。 在理想情况下 , 一个好 的防火墙应 该能把各 种安全 问题在发生之 前解决 。 目前各家杀毒软件 的厂商都会提 供个人版防火墙软 件 , 防病毒软件 中都 含有 个人防火墙 , 以可用 同一 所 张光盘运 行个人 防火墙安装 , 重点是防火墙在安装后 一定要根据需求进 行详细配 置。合理设置防火墙后 能够 防范大部分的蠕虫入侵 。 病 毒的发作给全球计算 机系统造成巨大损失 , 令人们 谈“ 色变 。 毒” 对于一般 P 用户而言 ,首先要做 的就是为电脑安装一套正版 的杀毒 软 C 件。现在不少人对 防病毒有个误区 ,就是认 为对待电脑病毒的关键 是 “ , 杀” 其实对待 电脑病毒应 当是以“ 为主 , 毒软件应立足于病毒 的 防” 杀 防范。因此应当安装 杀毒软件 的实 时监控程序 , 并定期升级所安装 的杀 毒 软件 , 给操作系统打相应补丁 , 升级引擎和病 毒定义码 。 由于新病毒 的 出现层 出不穷 , 现在各杀毒软 件厂商的病毒库更新 十分频 繁 , 当设置 应 每天定时更新杀毒实时监控程序的病毒库 , 以保证其能够抵御最新 出现 病毒的攻击。 定期对 电脑进行全面的杀毒 、 扫描工作 , 以便发现并清 除隐 藏在系统 中的病毒。当用户不慎感染上病毒时 , 应该立 即将杀毒软件升 级 到最新版本 , 然后对整个硬 盘进行 扫描操作 , 除一 切可以查杀的病 清 毒 。如果病毒无 法清除 , 或者杀毒软件不能做到对病毒体进行清晰的辨 认 , 么应该 将病毒提交 给杀毒软 件公司 , 那 杀毒软 件公 司一般 会在短期 内给予用户满意的答复 。而面对网络攻击之时 , 我们的第一反应应该是 拔掉网络连接端 口, 或按下杀毒软件上的断开网络连接钮。

浅谈计算机网络安全及其防范策略

浅谈计算机网络安全及其防范策略

【 关键词 】 网络安全 ; 计算机 网络 ; 安全技术
O 引言
随着计算机应用范围的扩大和互联 网技术 的迅 速发展 , 计算机信 息技术 已经 渗透到人们 生活 的方 方面面 .网上购 物、 商业 贸易 、 融财务等 经济行为都 已经 实现 网络化 ,数 金 “
字化经济” 正在引领世界进入一个全新的发展阶段 。然而 , 越
起到 信息误导的作用, 其破坏作用最大。 1 - 计 算机病毒 。 目前数据 安全 的头号 大敌是计 算机病 .3 2 毒, 它是编制者在计算机程序中插入 的破坏计算机功能或数 据, 影响计算机软 件 、 硬件的正常运行并 且能够 自我复制 的

组计算 机指令 或程序代码 。计算机病毒具有传染性 、 寄生 1 . 软件漏洞 。每一个操作 系统或网络软件 的都不可避免 .4 2 的存在各种缺 陷和漏洞 , 主要包括 : 操作系统 、 数据库及应用
坏 、 改、 更 泄漏, 确保系统能连续 、 可靠 、 正常地运行, 网络服务
起 的应 用 软 件 也会 被 启 用 。
不 中断。常见 的影 响网络安全的问题 主要有病毒 、 黑客攻击 、 系统漏 洞 、 资料 篡改等 , 这就需要 我们建立 一套完整 的 网络 安全体系来保 障网络安全可靠地运行 。
的具体策略 .
性、 隐蔽性 、 触发性 、 破坏性等特点。
软件 、C / T PI P协议 、网络软件和服务 、密码设 置等的安 全漏 洞 。这就使得我们 的计算 机一旦连接 入 网便 处于危险 的境
地, 将成为众矢之的。
1 . 人为安全因素。除了技术层面上的原 因外 , .5 2 人为的 因 素也构成 了 目前较为突 出的安全因素 , 无论 系统的功能是多 么强大或者配备 了多少安全设施 . 如果管理人员不按规定正 确地使用, 则起不到安全安全作用 。例如 , 防火墙软件 的配置

浅谈国产操作系统的发展

浅谈国产操作系统的发展
都是基于Linux 的内核开发出来的,虽然各有特色,但从一定程度上 来说,它们就ቤተ መጻሕፍቲ ባይዱ服装模特一样,基本都是同一个人穿着不同的衣服在 T 型台上展示,本质没有变化,即这些操作系统的内核是Linux 的核 心。这样的操作系统在很多人看来不能称为真正的国产操作系统。
三、怎样发展自己的操作系统呢 在我的想法中,国产的操作系统应该具有如下几个特点 :
和友好的界面,普通用户也不可能在短期内接受它。因为人们已经习 惯于在Windows 的环境下操作,已经熟悉了Window、下的各种应用软
件,现在要转向另一个完全陌生的环境是非常困难的。所以,将来的国 产操作系统只有在巩固了服务器市场后,才能再一步一步向个人机领 域进军,尽管这一步从目前来看还比较遥远,但这个方案我觉得是最
机的占有率则高达 95%以上,可以说是绝对的主力。虽然近几年 Linux 发展较快,占据了一定的市场份额,但它仍然无法与 Windows 匹敌,而 且 Linux 也不是中国人开发出来的。在这众多的操作系统中,真正属 于中国人完全自主开发的操作系统是 0.
二、发展国产操作系统的必要性与可行性 没有 自己的操作系统,桌面操作系统只能完全被微软垄断,嵌人 式操作系统也基本是国外产品一统天下,成为政府 、金融、国防信息系 统的安全隐患,在电子政务系统方面更是如此。电子政务系统是供政
建立起自主可控、安全可靠的信息系统,形成可持续发展的软件产业。 发展国产操作系统的必要性已经不成为一个问题,然而“必要”无法证
明“可行”。已有操作系统“先人为主”的优势几乎难以动摇 :成千上万
的应用软件以它为基础开发,无数种硬件设备与它紧密相连,数以亿 计的用户多年形成的使用习惯根深蒂固,要将他们全部转移到一个新 的平台上,其成本和难度不言而喻。虽然国家从“六五”开始即连续投 人巨资,但因为走的是跟踪和仿制路线,随着国外技术更新换代,这些

浅谈常用的通用操作系统

浅谈常用的通用操作系统科技的飞速发展使得我们生活在一个数字化的时代,而通用操作系统在其中起到了至关重要的作用。

通用操作系统是指适用于多种硬件平台的基本软件,它可以让计算机运行应用程序,并管理硬件资源。

本文将从常用的通用操作系统的分类和特点、操作系统的发展历程以及通用操作系统的应用价值等方面进行探讨。

一、通用操作系统的分类和特点通用操作系统可以分为主流操作系统和开源操作系统两类。

主流操作系统包括Windows、Mac OS和Linux等,它们具有较高的稳定性和易用性,广泛应用于个人计算机、服务器和移动设备等领域。

开源操作系统如Android和Ubuntu等,具有开放的代码和免费的特点,为用户提供了更大的自由度和可定制性。

通用操作系统具有以下几个特点:1. 多任务处理能力:通用操作系统可以同时运行多个应用程序,并通过任务调度算法合理分配CPU资源,实现多任务的同时执行,提高计算机的工作效率。

2. 文件管理:通用操作系统提供了便捷的文件管理功能,用户可以通过文件管理器对文件进行创建、复制、移动和删除等操作,方便用户对文件的组织和管理。

3. 硬件驱动支持:通用操作系统兼容多种硬件平台,并提供相应的硬件驱动程序,使得硬件设备能够与操作系统进行交互,实现设备的正常工作。

4. 用户界面:通用操作系统提供了直观的图形用户界面(GUI),使得用户可以通过鼠标和键盘等输入设备进行操作,降低了使用的门槛。

二、操作系统的发展历程操作系统的发展可以追溯到20世纪50年代,随着计算机硬件的不断演进,操作系统也在不断完善和发展。

早期的操作系统主要是简单的监控程序,功能较为有限。

到了20世纪60年代,出现了批处理操作系统,能够自动处理一批用户提交的作业,并提高计算机的利用率。

20世纪70年代,随着个人计算机的出现,操作系统迎来了一个重要的里程碑。

Bill Gates和Paul Allen创办的微软公司推出了Windows操作系统,使得个人计算机的普及化成为可能。

浅谈LIMS的安全问题

实验室信息管理系统(LIMS)的网络安全问题蒋晓春(北京同立在线系统集成有限公司)前言近几年,随着我国实验室管理水平的逐步提高,用实验室信息管理系统(LIMS)来管理的用户越来越多。

LIMS的功能也将越来越全,资源共享的范围越来越广,网络也越来越开放。

在提高管理水平的同时,我们对LIMS的依赖也越来越大。

这种趋势对系统的安全性也越显重要。

LIMS作为软件工程的一种产品,其安全性的问题在开始系统设计时就应该引起充分的注意。

由于计算机网络具有联结形式多样性、终端分布不均匀性和网络的开放性、互连性等特征,致使网络易受黑客、病毒、蠕虫、恶意软件和其他恶意的攻击。

无论是有意的攻击,还是无意的误操作,都会给系统带来不可估量的损失。

安全隐患有以下方面:1、操作系统、应用程序、网络系统配置的更新和网络协议本身都可能存在安全漏洞;2、个人从办公网访问Internet,增加网络的外联通道,造成攻击隐患;3、在遭受外部黑客攻击风险的同时,同时也存在内部风险。

内部人员的误操作和非法操作致使内部安全风险上升;4.系统结构(B/S, C/S )数据库版权问题5、LIMS业务与外网的联网业务不断增多,网络规模不断扩大,开放性程度不断提高。

如:疾病控制中心与医院,卫生行政管理部门的联网,环境检测站LIMS与环保局的联网,外网用户浏览网站,外网用户通过Email传样品的图片,光谱请求分析,测试结果的网上公布,在线测量数据传输等,构成用户LIMS局域网与其他单位的网络连接;6.网络安全审计和风险评估系统。

LIMS网络安全系统的建设目标为确保整个LIMS系统安全可靠运行。

应该就安全体系作整体考虑。

至少应包括以下几个方面:1.安全性:传输过程及存储2.机密性:明确、严格的访问授权3.可审查性:要对可能出现的网络安全问题提供调查的依据和手段。

3.1访问控制应由防火墙将内部网络与外部不可信任的网络隔离,对与外部网络交换数据的内部网络及其主机、所交换的数据进行严格的访问控制。

浅谈计算机网络安全的现状及对策

浅谈计算机网络安全的现状及对策摘要:Internet是一个开放的、无控制机构的网络,经常会受到计算机病毒、黑客的侵袭。

它可使计算机和计算机网络的数据、文件丢失,系统瘫痪。

本文以计算机安全的主要因素为突破口,重点分析防范各种不利于计算机网络正常运行的应对措施,使广大用户在使用计算机网络时增强安全防范意识。

关键词:计算机网络安全防范1 计算机网络安全的概念计算机网络安全是指利用网络管理控制和技术措施,保证在一个网络环境里,数据的保密性、完整性及可使用性受到保护。

计算机网络安全包括两个方面,即物理安全和逻辑安全。

物理安全指系统设备及相关设施受到物理保护,免于破坏、丢失等。

逻辑安安全包括信息的完整性、保密性和可用性。

2 计算机网络攻击的特点2.1 损失巨大由于攻击和入侵的对象是网络上的计算机,因此攻击一旦成功,就会使网络中的计算机处于瘫痪状态,从而给计算机用户造成巨大的经济损失。

例如2009年5月19日21时50分始,江苏、安徽、广西、海南、甘肃、浙江六省(区)用户访问网站速度变慢或干脆断网。

直到20日1时20分,受影响地区的互联网服务才p2.4 以软件攻击为主几乎所有的网络入侵都是通过对软件的截取和攻击进而破坏整个计算机系统的。

因此,计算机犯罪具有隐蔽性,这要求人们对计算机的各种软件(包括计算机通信过程中的信息流)进行严格的保护。

3 影响计算机网络安全的主要因素3.1 操作系统的漏洞及网络设计的问题目前流行的许多操作系统均存在网络安全漏洞,黑客利用这些操作系统本身所存在的安全漏洞侵入系统。

由于设计的网络系统不规范、不合理以及缺乏安全性考虑,使其受到影响。

网络安全管理缺少认证,容易被其他人员滥用,人为因素造成的网络安全的隐患。

3.2 缺乏有效的手段评估网络系统的安全性缺少使用硬件设备对整个网络的安全防护性能作出科学、准确的分析评估,并保障实施的安全策略技术上的可实现性、经济上的可行性和组织上的可执行性。

浅谈计算机病毒的解决方法及预防措施

浅谈计算机病毒的解决方法及预防措施摘要:计算机病毒不断发展,威胁着电脑系统的安全。

本文介绍计算机病毒以及清除和预防计算机病毒的方法和措施。

首先,本文介绍了计算机病毒的威胁和类型。

其次,本文介绍了解决计算机病毒的几个常见的技术方法,包括杀毒软件、体系结构改进和操作系统更新。

此外,本文介绍了预防计算机病毒发生的几个主要措施和方法,如设置口令、安装防火墙和采用安全浏览器。

关键词:计算机病毒、清除、预防、口令、安装、浏览器正文:现在,随着计算机技术的发展和使用的普及,计算机病毒也开始在全世界蔓延开来,对我们的电脑系统造成巨大的威胁。

清除和预防计算机病毒是保护我们的系统安全的有效手段。

首先,让我们来简要了解一下计算机病毒的威胁和类型。

计算机病毒是一种计算机程序,有时会影响电脑系统的正常运行。

它可以通过互联网和硬盘传播,可能会显示恶意信息、破坏电脑的文件或系统、收集用户的信息,甚至影响多台电脑的性能和稳定性。

计算机病毒可以分为几种类型,如木马、间谍软件、广告软件等。

其次,让我们看看清除计算机病毒的几个常见技术方法。

首先,杀毒软件是最常用的手段之一。

它可以检测和清除计算机病毒。

而杀毒软件通常可以定期更新,以应对新出现的病毒。

其次,修改计算机系统的体系结构,以改善系统的安全特性也是一种有效的方法。

最后,定期更新操作系统同样是重要的。

操作系统更新可以增加系统的安全性,减少因存在漏洞而受到病毒侵害的可能性。

最后,让我们来研究一下预防计算机病毒发生的几项重要措施和方法。

为了防止计算机病毒感染,需要永久性的设置口令,以限制电脑的访问。

此外,安装防火墙也是一种有效的防御措施。

防火墙可以阻止未经授权的外部访问,从而减少受病毒感染的可能性。

最后,浏览网页时也需要采用安全浏览器,以预防恶意网站或恶意程序的传播。

总之,计算机病毒是一个严重的威胁,清除和预防计算机病毒便成为我们保护电脑系统安全的必要手段。

本文介绍了解决计算机病毒的技术方法,以及预防计算机病毒发生的几种重要措施和方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浅谈操作系统安全:栈上的缓冲区溢出漏洞
现代操作系统运行于CPU的保护模式下,全面而有力地接管了计算机所有的
底层资源。因此,在操作系统之上若想直接地恶意操作CPU,以攻击系统几乎没
有可能。基于此,应该把对系统安全的注意力集中在其他足够薄弱的环节,譬如
内存。操作系统无一例外都提供了内存管理机制,在该机制之下,系统能够响应
程序的请求,为其划分内存空间以供其“任意”使用。且大部分时候,程序能够
任意读写系统所允许的内存区块。基于此一便利,大部分恶意代码都得以存活。
在C和C++语言里,编译机制并不会检查代码所申请的内存区域(这种内存区域
通常被称为“缓冲区”,它是一片连续有限地内存区域)的内在边界。这就使得
代码或数据溢出内存区域成为可能——这就是缓冲区溢出,造成了操作系统安全
的主要隐患。

虽然说用户的代码很难直接地恶意操作CPU,但是汇编代码似乎是个“例外”,
它可以在系统允许的范围内方便地改变CPU的当前指令序列和寄存器状态。此外,
它还能够在“系统允许的范围”内直接且精确地操作内存。说它是个例外,是因
为“系统允许的范围”是个模糊的概念,在少数时候,它的确难以判断。

栈上的缓冲区溢出:
栈是一个LIFO的数据结构,它不仅是程序存储代码或者数据的重要内存区
块,而且是系统调用函数时所必须的关键内存区块。

基于IA32的Linux系统在调用一个函数前,首先会把函数的参数压入栈,
然后把函数的返回地址压入栈。之后,在执行函数中的指令之前,系统先会执行
prolog。prolog通过改变ebp的值,使得函数可以引用栈上的数据,譬如存储
在栈中的函数的局部变量。因此,prolog会把[ebp]压入栈,因为在函数执行结
束后,必须通过ebp计算函数的返回地址。 [ebp]压入栈之后,prolog就会把
esp的值复制到ebp。接着,prolog会计算函数局部变量的大小和栈上的剩余空
间,然后把esp减去局部变量大小,为函数预留出足够的运行时空间,再把变量
压入栈中,之后开始执行函数中的指令。

此时,栈的布局如下所示:
栈顶
函数的局部变量
栈底指针EBP
函数的返回地址RET
函数的参数
栈底

比如,下面的代码会把输入读入缓冲区后再输出:
voidgets_printf( char *parray ){
gets(parray );
printf( "%s\n",parray );
}

int main(){
char array[30];
gets_printf( array );
return 0;
}
由于没有限制输入的大小,用户可以任意输入内容。
由于prolog会为程序运行预先储备恰好足够的空间,因此,一旦用户输入
的内容超出边界,便会覆盖此栈中原有的内容。根据prolog的机制,函数的局
部变量被压入栈之后,紧接着的是函数的参数,然后是函数的返回地址。如果我
们精心准备一串字符,其中包含恶意指令,譬如跳转指令,并使该指令恰好覆盖
掉栈中函数的返回地址ret处,那么我们便控制了该程序的运行流程了。虽然可
以任意插入字符到缓冲区,但是为了真正能够做一些“事情”,必须把恶意代码
插入缓冲区。这里有一个问题是,我们不能直接把代码原封不动地插入到缓冲区
里,它们必须转换成机器指令,因为cpu只能执行机器指令。然后经过精确地计
算,还需要把恰好能覆盖ret地址处的指向恶意代码机器指令的第一条指令的一
系列字符串转换成机器指令,把这些机器指令合并起来,就叫做shellcode。

目前利用这一漏洞的最大难题便是找出shellcode的第一条指令的地址。
此外,由于保存输入的栈段下面保存着ebp,因此,如果输入安排的不够巧
妙,便会导致ebp的值被改变,有时候程序的正常运行需要保证ebp的值始终正
确,且如果覆盖后的ret值指向无效的地址空间,程序就会崩溃。虽然可以利用
此特性进行拒绝服务攻击,但是大多数情况下是为了进行系统提权或者代码破解,
所以需要在改变程序流程之后交还原控制权。

处理栈缓冲区溢出
如果攻击者只是利用脆弱的缓冲区执行拒绝服务攻击,那么只要程序能够接
受超出边界的输入,那么攻击就无法阻止。因此,避免此类攻击最好的办法是在
编写代码的时候预先处理缓冲区边界的问题,对所有可能造成溢出的代码部分执
行边界检查。

然而,实际情况并非如此,目前全世界正在使用的多数程序或多或少地存在
缓冲区边界检查问题,这些程序可能编写年代比较久远,或者即使是正在编写的
程序,要想在所有可能的缓冲区溢出部分执行边界检查,也是很难百分百保证的
事情。因此,仅仅幻想全世界的程序员都能编写出完全避免边界溢出的代码来,
是不太现实的。因此,一个安全的操作系统应该要一种保护措施来防止此类漏洞。

由于传统的溢出攻击是把shellcode置于栈中,然后cpu执行栈中的
shellcode。栈的绝大部分用途都是用来存取数据而并非执行指令,因此允许在
栈上执行指令并不明智,所以操作系统禁止在栈上执行代码是一个很好的措施。
这样,传统的栈溢出攻击就会很难生存。

当然,操作系统面临的安全威胁不仅仅是栈上的缓冲区溢出漏洞,还有堆溢
出漏洞、格式化串漏洞、Windows下的.data区段漏洞和TEB/PEB溢出漏洞等。
了解这些漏洞原理对于查找和处理系统漏洞非常重要。

相关文档
最新文档