说一说GNU软件是什么及GNU软件有什么用

今天来说一下关于GNU软件是什么及GNU软件有什么用这方面的一些讯息,不少朋友对于GNU软件是什么及GNU软件有什么用这方面的信息颇感兴趣的。小编今天就为此整理一些相关的讯息,希望对有需要的朋友有所帮助。

GNU 软件是通过 GNU 项目发布的软件,它是一种根据 GNU 软件包的 README 手册以及自由软件指南开发的软件,大多数 GNU 软件是免费分发的(copyleft),但不是所有的都这样,然而,所有的 GNU 软件必须是自由软件。

GNU

简介

GNU 软件是 GNU 计划开发的软件,该软件可以充分利用计算机的硬件能力,比 Unix 中的同样的软件功能更强,因此非常流行,这些软件在 GNU 通用公共许可的保护下允许任何人免费使用和传播(但必须同时提供源程序),因此被大量的用在其他的 Unix 中,FreeBSD 上也提供了很多 GNU 软件。

有一些 GNU 软件是由自由软件基金(Free Software Foundation)成员编写的,但大多数 GNU 软件是志愿者捐献的。有些捐献软件是由自由软件基金免费分发,但有一些软件由作者享有版权。

GNU 软件使用 copyleft 保护,限制将 GNU 软 件本身用于牟利目的,而其他软件仍然可以使用 copyright 保护版权不被侵犯。Stallman 进一步使用 GNU 通用公共许可来详细阐述 copyleft 的观念,要求传播 GNU 软件必须同时传播其源代码。由于 GNU 通用公共许可十 分流行,因此很多非自由软件基金会的自由软件也使用 GNU 通用公共许可来保护自己软件,不被商业公司用于获利。

GNU 软件许可相当宽松,有很多公司利用 GNU 软件进行商业活动,但只要同时提供了 GNU 软件的源代码,就没 有违反 GNU 软件许可。

发展过程

1983 年,理察·马修·斯托曼(Richard Stallman)创立了 GNU 计划(GNU Project)。这个计划有一个目标是为了发展一个完全免费自由的 Unix-like 操作系统。

GNU 大量的产生或收集各种系统所必备的元件,例如:函式库(libraries)、编译器(compilers)、侦错工具(debugs)、文字编辑器(text editors)、网页服务器(web server),以及一个 Unix 的使用者接口(Unix shell)——除了执行核心(kernel)。

1990 年,GNU 计划开始在马赫微核(Mach microkernel)的架构之上开发系统核心,也就是所谓的 GNU Hurd,但是这个基于 Mach 的设计异常复杂,发展进度则相对缓慢。

2008 年,GNU 庆祝 25 岁生日,放出纪念短片。

特点

可靠性

在 1990 到 1995 年期间,Barton P.Miller 和他的学生测试了 Unix 应用程序的可靠性。每次 GNU 的应用程序的效用表现得相当领先。他们测试了 GNU 和另外 7 个商业 Unix 系统。通过随机的输入流,在使用基本的应用程序时,它们能使 40%(最坏的情况)的基本应用程序“崩溃(内核被破坏)或者中止(无限循环)”。

这些研究者发现:商业版 Unix 系统故障率高达 15%到 43%,与此形成鲜明对比的是,GNU 的故障率仅仅是 7%。

Miller 说过:“在 1990 到 1995 年期间,比较的商业系统中有三个版本有了引人注目的改进,但是还是有重大的失败(GNU/Linux 基本应用程序仍然比商业系统有引人注目的好处)。”

HTTP 头中有一个 Referer 字段,这个字段用以标明请求来源于哪个地址。在处理敏感数据请求时,通常来说,Referer 字段应和请求的地址位于同一域名下。以上文操作为例,Referer 字段地址通常应该是转账按钮所在的网页地址,应该也位于 www.leiue.com 之下。而如果是 GNU软件 攻击传来的请求,Referer 字段会是包含恶意网址的地址,不会位于 www.leiue.com 之下,这时候服务器就能识别出恶意的访问。

这种办法简单易行,工作量低,仅需要在关键访问处增加一步校验。但这种办法也有其局限性,因其完全依赖浏览器发送正确的 Referer 字段。虽然 http 协议对此字段的内容有明确的规定,但并无法保证来访的浏览器的具体实现,亦无法保证浏览器没有安全漏洞影响到此字段。并且也存在攻击者攻击某些浏览器,篡改其 Referer 字段的可能。

添加校验 token

由于 GNU软件 的本质在于攻击者欺骗用户去访问自己设置的地址,所以如果要求在访问敏感数据请求时,要求用户浏览器提供不保存在 cookie 中,并且攻击者无法伪造的数据作为校验,那么攻击者就无法再运行 GNU软件 攻击。这种数据通常是窗体中的一个数据项。服务器将其生成并附加在窗体中,其内容是一个伪随机数。当客户端通过窗体提交请求时,这个伪随机数也一并提交上去以供校验。

正常的访问时,客户端浏览器能够正确得到并传回这个伪随机数,而通过 GNU软件 传来的欺骗性攻击中,攻击者无从事先得知这个伪随机数的值,服务端就会因为校验 token 的值为空或者错误,拒绝这个可疑请求。

以上就是关于GNU软件是什么及GNU软件有什么用这方面的一些信息了 小编整理的这些讯息希望对童鞋们有所帮助

(0)
上一篇 2022年3月27日
下一篇 2022年3月27日

相关推荐