租用问题

质量为本、客户为根、勇于拼搏、务实创新

< 返回租用问题列表

甚么是服务器内存溢出?服务器相干知识解答!

发布时间:2023-02-08 08:01:44

  在现今信息社会,计算机和互联网已成为人们工作和休闲不可缺少的工具。业余时间,人们通过电脑聊天、文娱和看电影。在工作中,人们会利用计算机和网络处理公文、传递公文,乃至展开金融业务。
       因此,黑客有机会利用系统中的漏洞专门开发某些程序。通过添加一系列匹配参数,它们将取得对我们计算机的控制,监视我们的隐私,盗取我们的信息,乃至给我们带来名誉和财产损失。在专业领域,由于程序员的不足而致使的系统漏洞称为溢出。

  溢出有几种类型,一种是缓冲区溢出,另外一种是内存溢出,另外一种是数据溢出。三种溢出对每一个计算机用户都是非常有害的。今天,编辑重点介绍内存溢出的一些基本知识。

  可以说,自从软件开发以来,内存溢出就一直存在,随着软件开发的发展到现在,它已成为历史上存在了几十年的一个大问题,同样成为黑客攻击个人电脑、窥测企业机密等性能的最大罪魁罪魁在内存溢出的红色代码病毒事件中,引发了当时业界的恐慌。

  而且,根据相干安全部门的调查统计,操作系统中一半以上的安全漏洞是由内存溢出酿成的,这些漏洞大多与微软技术密切相干。
虽然微软的软件是为台式机开发的,但如果不连接互联网,内存溢出不会带来严重后果,但问题是,目前,网络已成为个人或企业不可或缺的一部份。内存溢出已成为黑客攻击的最有益助手。

  内存溢出是由多种问题引发的,一是使用C或Category+等非类型安全语言,内存溢出可以说是C或C+语言没法克服的缺点,由于它们不检查数组边界,也不检查类型的可靠性。他们开发的程序的目标代码与机器内核的目标代码非常接近,因此他们可以直接访问寄存器和内存,这可以大大提高C或C+语言代码的性能,在履行效力上有优势,但也更容易造成内存溢出问题。

  其次,以不可靠的方式访问或复制内存缓冲区,简而言之,如果将16毫升的溶液倒入只能容纳12毫升的试管中,那末额外的4毫升溶液将自然溢出。

  第三,编译器设置的内存缓冲区离键数据结构太近,假定一个函数的堆栈与内存缓冲区紧密相连,那末保存的函数返回地址将与内存缓冲区相邻。
黑客可以将大量数据复制到内存缓冲区,从而使内存缓冲区溢出,并覆盖先前存储在堆栈中的函数的返回地址,造成损失。

那末如作甚程序员预防和解决这个问题呢?

      有两种措施。一是在用CAccord+编写代码时,要注意处理用户数据的方式。当函数的数据源不可靠且同时使用内存缓冲区时,则一定要严格遵守1、一定要取得内存缓冲区的总长度。2、验证内存缓冲区。3、从源代码开始要保持警惕。第二个措施是使用一些新技术,由于几近不可能期望程序员永久不会出错,所以现在已开发了一些新技术,如基于检测的方法、堆栈防御、分段控制和数据堆栈,它允许底层系统自动保护程序不受内存溢出的影响。