說一說GNU軟件是什么及GNU軟件有什么用


說一說GNU軟件是什么及GNU軟件有什么用

文章插圖
今天來說一下關于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 r 和他的學生測試了 Unix 應用程序的可靠性 。每次 GNU 的應用程序的效用表現得相當領先 。他們測試了 GNU 和另外 7 個商業 Unix 系統 。通過隨機的輸入流,在使用基本的應用程序時,它們能使 40%(最壞的情況)的基本應用程序“崩潰(內核被破壞)或者中止(無限循環)” 。
這些研究者發現:商業版 Unix 系統故障率高達 15%到 43% , 與此形成鮮明對比的是,GNU 的故障率僅僅是 7% 。
Miller 說過:“在 1990 到 1995 年期間,比較的商業系統中有三個版本有了引人注目的改進,但是還是有重大的失敗(GNU/Linux 基本應用程序仍然比商業系統有引人注目的好處) 。”
HTTP 頭中有一個 Referer 字段 , 這個字段用以標明請求來源于哪個地址 。在處理敏感數據請求時,通常來說,Referer 字段應和請求的地址位于同一域名下 。以上文銀行操作為例 , Referer 字段地址通常應該是轉賬按鈕所在的網頁地址 , 應該也位于之下 。而如果是 GNU軟件 攻擊傳來的請求,Referer 字段會是包含惡意網址的地址,不會位于之下,這時候服務器就能識別出惡意的訪問 。
這種辦法簡單易行,工作量低 , 僅需要在關鍵訪問處增加一步校驗 。但這種辦法也有其局限性,因其完全依賴瀏覽器發送正確的 Referer 字段 。雖然 http 協議對此字段的內容有明確的規定,但并無法保證來訪的瀏覽器的具體實現,亦無法保證瀏覽器沒有安全漏洞影響到此字段 。并且也存在攻擊者攻擊某些瀏覽器,篡改其 Referer 字段的可能 。
添加校驗 token
由于 GNU軟件 的本質在于攻擊者欺騙用戶去訪問自己設置的地址 , 所以如果要求在訪問敏感數據請求時,要求用戶瀏覽器提供不保存在 cookie 中,并且攻擊者無法偽造的數據作為校驗,那么攻擊者就無法再運行 GNU軟件 攻擊 。這種數據通常是窗體中的一個數據項 。服務器將其生成并附加在窗體中,其內容是一個偽隨機數 。當客戶端通過窗體提交請求時,這個偽隨機數也一并提交上去以供校驗 。
正常的訪問時,客戶端瀏覽器能夠正確得到并傳回這個偽隨機數,而通過 GNU軟件 傳來的欺騙性攻擊中 , 攻擊者無從事先得知這個偽隨機數的值,服務端就會因為校驗 token 的值為空或者錯誤 , 拒絕這個可疑請求 。
以上就是關于GNU軟件是什么及GNU軟件有什么用這方面的一些信息了 小編整理的這些訊息希望對童鞋們有所幫助