當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]在考慮操作系統(tǒng)的繼承安全性的時候,有一個常常被忽略了的問題

在考慮操作系統(tǒng)的繼承安全性的時候,有一個常常被忽略了的問題(這到符合微軟的口味):如果你為Windows平臺編程,那么你的軟件就只能夠在有限的操作系統(tǒng)、版本和補丁層上運行。而UNIX和Linux則相反,它們包括很多開放源代碼、商業(yè),以及政府開發(fā)的版本,而且應(yīng)用程序常??绾芏嗖煌脚_自由發(fā)布,而這些平臺都有相當不同的安全特性。

由于有些讀者只在Windows上工作,所以這里要介紹一下*nix。UNIX和Linux的劃分在于其內(nèi)核以及用戶空間上。大多數(shù)程序都可以在用戶空間里的內(nèi)核之上運行。剛剛接觸Linux的程序員,尤其是有經(jīng)驗的UNIX開發(fā)人員,有時候無法意識Linux并不只是是免費版本的UNIX;事實上,兩者的確存在一些很大的不同之處。從安全的角度講,大多數(shù)版本Linux都非常相似,因為它們都基于相同的內(nèi)核和C庫。一個顯著的不同之處是,Linux對按需動態(tài)加載內(nèi)核模塊提供了專門的支持。

除了UNIX和Linux以上的不同之處,不同版本的UNIX之間也存在很大的安全差別。對于轉(zhuǎn)到UNIX的Linux開發(fā)人員來說,這些差別不太明顯,但是很重要。例如,有些和UNIX類似的操作系統(tǒng)會進行強制的訪問控制,而有的則不會。

還有一個緊密相關(guān)的平臺:Free Software HURD宏內(nèi)核的*nix,它有自己的安全特性。

有些UNIX平臺,其中最顯著的是OpenBSD,在進行缺省安裝的時候本身就要比其它的操作系統(tǒng)更加安全;如果為它們所寫的應(yīng)用程序還會運行在其他一些版本的UNIX系統(tǒng)上,那么這些應(yīng)用程序仍然需要實現(xiàn)它們自己的安全特性,并遵照一些好的編程慣例。

對于開發(fā)人員而言,理解線程和進程是尤其重要的。在UNIX的變體里,線程常常會被單獨處理,而執(zhí)行則由系統(tǒng)來計劃安排。而在Linux里,進程和線程事實上沒有區(qū)別。在UNIX里,同一個進程里的線程會共享內(nèi)存,但是Linux的進程會創(chuàng)建另外的進程,并能夠定義哪些資源可以被共享,而哪些不能。Linux的開發(fā)人員常常會用到“任務(wù)(task)”這個詞,而他們事實上是在談?wù)撨M程。為了以最安全的方式讓應(yīng)用程序能夠被移植,開發(fā)人員應(yīng)該堅持使用標準的線程庫。

特別的,如果你希望應(yīng)用程序能夠被移植,那么就要使用“fork”調(diào)用來創(chuàng)建新的進程。要注意,如果可能的話要堅持使用fork,這一點很重要。不要使用“vfork”,它是由BSD開發(fā)的一個優(yōu)化版本的fork(因此被廣泛使用),而且出于兼容性的考慮,也被引入了Linux。其原因很簡單:vfork會讓子進程共享(或者更準確地說,接管)父進程的內(nèi)存和控件,這會導(dǎo)致子進程和父進程之間的相互沖突。在有些版本的Linux里,vfork在特定情況下會被黑客攻破。

盡管Windows有這樣或者那樣明顯的和著名的問題,從某種角度上講,微軟的開發(fā)人員實現(xiàn)編程安全要相對容易一些,因為他們所工作平臺的多樣性受到了限制。

UNIX和Linux的開發(fā)人員,尤其是跨平臺的開發(fā)人員,可能對安全具有特別的敏感性,因為它們的操作系統(tǒng)可能在缺省的條件下就更加安全;但是,不同版本的UNIX之間在安全上有很多的不同,其差別甚至要比UNIX和Linux之間的還要大。它們之間眾多的相同特性常常掩蓋掉了這些差別,而可移植性的因素則加劇了這些差別。沒有哪個Windows下的C或者VBASIC程序員,會認為他的或者她的應(yīng)用程序會一成不變的只運行在UNIX平臺上,或者相反;但是在UNIX/Linux社區(qū)內(nèi)部,要記住,由于應(yīng)用程序可能會運行在不同的平臺上,所以它可能無法運行在相同的安全級別上,這一點很重要。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉