黄色网站入口国产美女,精品国产欧美另类一区,国产一区二区美女自慰,日日摸夜夜添无码国产

選擇你喜歡的標(biāo)簽
我們會(huì)為你匹配適合你的網(wǎng)址導(dǎo)航

    確認(rèn) 跳過

    跳過將刪除所有初始化信息

    您的位置:0XUCN > 資訊 > 安全
    新聞分類

    最安全的編程語言:Rust

    安全 PRO 作者:楊凱淳 2021-03-24 15:25

    在“安全優(yōu)先”、“安全左移”、“供應(yīng)鏈安全”的大趨勢(shì)下,Rust作為一種更安全的編程語言越來越流行。

    在IT巨頭那里,Rust尤其受到重視。例如,微軟曾專門委派一名實(shí)習(xí)生,用Rust重寫一個(gè)至關(guān)重要的網(wǎng)絡(luò)處理程序,該程序的內(nèi)存安全漏洞過去讓微軟安全響應(yīng)中心(MSRC)頭疼不已。

    Rust已經(jīng)連續(xù)五年被開發(fā)人員評(píng)為“最受喜愛”的編程語言,因?yàn)樗梢员苊饽承╊愋偷膬?nèi)存安全錯(cuò)誤,能從根本上改善軟件漏洞的現(xiàn)狀。

    讓Rust聲名遠(yuǎn)播的優(yōu)點(diǎn)還包括:提供C和C++的速度和控制能力,同時(shí)還提供了其他語言(例如Go和Python)的安全性和安全性保證。MSRC將近70%的漏洞歸類為內(nèi)存安全問題,因此消除此類漏洞至關(guān)重要。

    MSRC軟件工程師Alexander Clarke近日發(fā)文表達(dá)了對(duì)Rust的偏愛,他在博客中指出,盡管用C++編譯可能會(huì)更容易,但是生成的程序更有可能出現(xiàn)錯(cuò)誤和漏洞。

    Alexander說:“Rust編譯器的錯(cuò)誤消息功能特別有用?!薄巴ㄟ^錯(cuò)誤消息,Rust能確切告訴你代碼為什么不正確,并給出解決建議,從而落實(shí)了安全編程的概念?!?/p>

    在Mozilla采用Rust為Firefox瀏覽器重寫代碼十多年之后,Rust可能已準(zhǔn)備就緒。

    雖然當(dāng)前Rust的采用率仍然很低,根據(jù)“StackOverflow 2020開發(fā)人員調(diào)查”,僅5.1%的開發(fā)人員使用Rust語言,但許多大型公司已承諾在特定的開發(fā)項(xiàng)目中使用Rust。

    從2016年開始,Mozilla基金會(huì)就開始在推出使用Firefox瀏覽器中的Rust語言開發(fā)的代碼。2019年,微軟表示其打算更廣泛地采用Rust在Windows中編寫系統(tǒng)軟件。在2021年2月,Mozilla拆分了該項(xiàng)目,由新的Rust Foundation管理,項(xiàng)目的創(chuàng)始贊助商包括微軟、谷歌、亞馬遜和華為。

    為什么Rust越來越受歡迎?

    Rust Foundation的臨時(shí)執(zhí)行董事Ashley Williams表示,這不僅與速度和安全性有關(guān),至少對(duì)開發(fā)人員而言也是如此:“實(shí)際上,人們對(duì)Rust的贊譽(yù),不僅包括語言和編譯器,還包括高人氣的開發(fā)社區(qū)和一流的軟件包管理器?!?/p>

    對(duì)于企業(yè)而言,是否采用Rust取決于Rust的短板——Rust的缺點(diǎn)是什么?很多開發(fā)人員發(fā)現(xiàn)Rust的編譯器喜歡無緣無故地報(bào)警并拒絕工作;某些編碼模式會(huì)導(dǎo)致緩沖區(qū)溢出,釋放后使用(use-after-free)漏洞,內(nèi)存兩次釋放問題以及引用空指針。

    雖然尚存在一些問題,瑕不掩瑜,Rust的安全性的回報(bào)足夠誘人。以微軟為例,Rust可以幫助微軟消除大部分CVE漏洞。微軟首席云開發(fā)倡導(dǎo)者Ryan Levick在一篇博客文章中說,使用編程語言構(gòu)建核心系統(tǒng)組件可以幫助減少主要的漏洞來源。

    他說:“我們相信Rust在編寫安全系統(tǒng)軟件方面會(huì)改變游戲規(guī)則。”“Rust提供編寫底層系統(tǒng)所需的性能和控制,同時(shí)使軟件開發(fā)人員能夠編寫健壯、安全的程序。”

    當(dāng)然,我們也需要留神編程語言安全性的過分夸大。

    1996年1月,Sun Microsystems(升陽公司)宣布推出Java 1.0,鼓吹可移植代碼(例如“一次編寫,隨處運(yùn)行”),Sun還吹捧了許多安全屬性,例如自動(dòng)內(nèi)存管理(即“垃圾回收”)以及類型安全性和防止小程序(Applets)修改系統(tǒng)資源的隔離功能等。

    時(shí)至今日,根據(jù)StackOverflow調(diào)查,Java的使用率約為40%,僅次于JavaScript、HTML/CSS、SQL和Python,位居第五。但是,根據(jù)《2020年開源安全狀況》,在2019年開源組件中發(fā)現(xiàn)的6,000多個(gè)漏洞中,Java程序占15%,僅次于C(占30%)和PHP(占27%)。

    Java的案例表明,效率優(yōu)先的開發(fā)人員通常不會(huì)使用安全功能,而是繼續(xù)開發(fā)不安全的代碼。

    Rust的安全方法比Java更自以為是,很可能無法避免開發(fā)人員對(duì)安全性的破壞。盡管Rust提供了內(nèi)存安全性,但它也提供了一種繞過方法——“UNSAFE”關(guān)鍵字。使用關(guān)鍵字是開發(fā)人員覆蓋編譯器并阻止編譯器檢查代碼塊的一種方法——因?yàn)殚_發(fā)人員拍胸脯擔(dān)保該代碼是安全的。

    許多Rust愛好者認(rèn)為濫用關(guān)鍵字會(huì)破壞Rust模型。Williams對(duì)此表示理解,她說:“有些人確實(shí)會(huì)用不安全的方式使用UNSAFE防護(hù)塊?!薄叭绻麑?nèi)容放入不安全的塊中,編譯器將不會(huì)對(duì)其進(jìn)行檢查,如果這些內(nèi)容有誤,則可能會(huì)導(dǎo)致內(nèi)存錯(cuò)誤?!?/p>

    但是她指出,即使使用了正確的編譯器功能,漏洞也很可能會(huì)滲透到開發(fā)人員的程序中,但是安全研究人員和黑客往往會(huì)發(fā)現(xiàn)開發(fā)人員遺留下來的問題和漏洞。例如:重點(diǎn)關(guān)注Rust安全的站點(diǎn)RustSec列出了Rust軟件包(或“crates”)和語言中的250多個(gè)漏洞。

    0XU.CN

    [超站]友情鏈接:

    四季很好,只要有你,文娛排行榜:https://www.yaopaiming.com/
    關(guān)注數(shù)據(jù)與安全,洞悉企業(yè)級(jí)服務(wù)市場(chǎng):https://www.ijiandao.com/

    圖庫(kù)
    公眾號(hào) 關(guān)注網(wǎng)絡(luò)尖刀微信公眾號(hào)
    隨時(shí)掌握互聯(lián)網(wǎng)精彩
    贊助鏈接