自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

美國國防部大刀闊斧,啟動(dòng)AI項(xiàng)目:將老舊C代碼全部轉(zhuǎn)換為Rust 原創(chuàng)

發(fā)布于 2024-8-6 12:45
瀏覽
1收藏

整理丨諾亞

出品 | 51CTO技術(shù)棧(微信號(hào):blog51cto)

為了加快向內(nèi)存安全編程語言的遷移步伐,美國國防部高級(jí)研究計(jì)劃局(DARPA)正積極推動(dòng)一項(xiàng)名為“TRACTOR”的創(chuàng)新項(xiàng)目。TRACTOR,即“TRanslating All C TO Rust”,是一個(gè)旨在利用先進(jìn)的機(jī)器學(xué)習(xí)技術(shù)自動(dòng)將老舊的C代碼轉(zhuǎn)換為Rust語言的工具。

內(nèi)存安全問題一直是軟件開發(fā)中的老大難,比如常見的緩沖區(qū)溢出漏洞,這些隱患常常潛伏在龐大的代碼庫中,成為安全威脅的主要來源。DARPA希望通過TRACTOR這樣的工具,借助AI的力量來簡化這一轉(zhuǎn)化過程,從而使軟件變得更加堅(jiān)固可靠。

TRACTOR項(xiàng)目負(fù)責(zé)人Dan Wallach在一次聲明中描述了這個(gè)愿景:“想象一下,你只需訪問任何一家大型語言模型網(wǎng)站,與那里的AI聊天機(jī)器人對(duì)話,簡單地說一句‘我這兒有些C代碼,能幫我轉(zhuǎn)換成既安全又符合Rust風(fēng)格的代碼嗎?’然后復(fù)制粘貼代碼給它,通常情況下你就會(huì)得到滿意的結(jié)果——當(dāng)然,不能保證百分之百的成功率?!?/p>

不過,Wallach也指出了這項(xiàng)工作的核心挑戰(zhàn):“我們需要大幅提高從C語言到Rust的自動(dòng)化轉(zhuǎn)換質(zhì)量,尤其是對(duì)于那些最關(guān)鍵和復(fù)雜的程序結(jié)構(gòu)?!?/p>

1.僅僅依靠漏洞檢測工具遠(yuǎn)遠(yuǎn)不夠

在過去幾年里,科技巨頭如谷歌和微軟一直公開強(qiáng)調(diào)內(nèi)存安全漏洞帶來的問題,并積極推廣使用除C和C++之外的其他不需要手動(dòng)管理內(nèi)存的語言。這種倡導(dǎo)不僅在私營部門產(chǎn)生了影響,也引起了公共部門的關(guān)注,后者擁有大量的遺留代碼。

白宮和美國網(wǎng)絡(luò)安全與基礎(chǔ)設(shè)施安全局(CISA)因此鼓勵(lì)采用內(nèi)存安全的編程語言,主要提倡的是Rust,同時(shí)也包括C#、Go、Java、Python和Swift等語言。

盡管如此,C和C++的維護(hù)者們提出了異議,他們認(rèn)為只要嚴(yán)格遵循ISO標(biāo)準(zhǔn),并充分利用現(xiàn)有的測試工具,就能達(dá)到與Rust相似的安全水平,而不必徹底重寫所有代碼。

然而,DARPA對(duì)此的看法似乎表明了對(duì)C和C++的態(tài)度已經(jīng)轉(zhuǎn)變。

“經(jīng)過了二十多年的內(nèi)存安全問題后,軟件工程界普遍認(rèn)識(shí)到,”DARPA的研究機(jī)構(gòu)指出,并引用了國家網(wǎng)絡(luò)安全總監(jiān)辦公室的呼吁,“僅僅依靠漏洞檢測工具是遠(yuǎn)遠(yuǎn)不夠的?!边@表明了轉(zhuǎn)向更安全的編程實(shí)踐的重要性。

2.目前的翻譯工具仍然需要大量的人工干預(yù)

Rust語言在2015年首次穩(wěn)定發(fā)布,比C語言出現(xiàn)晚了四十多年,它內(nèi)置了內(nèi)存安全性,并且也適合用于低級(jí)、性能敏感的系統(tǒng)編程。

Rust語言自2015年首次穩(wěn)定發(fā)布以來,雖然比C語言晚了四十多年,但它內(nèi)置了內(nèi)存安全性,并且非常適合用于低級(jí)別的、性能敏感的系統(tǒng)編程任務(wù)。

Rust語言的特性及其日益增長的受歡迎程度催生了諸如Prossimo這樣的倡議。這是一個(gè)由非營利組織Internet Security Research Group發(fā)起的項(xiàng)目,旨在通過用Rust重寫關(guān)鍵庫和代碼來減少安全風(fēng)險(xiǎn),其中包括網(wǎng)絡(luò)時(shí)間協(xié)議(NTP)守護(hù)進(jìn)程(ntpd-rs)。

Prossimo項(xiàng)目的執(zhí)行董事Josh Aas表示:“鑒于互聯(lián)網(wǎng)基礎(chǔ)設(shè)施中運(yùn)行著大量C代碼,使用翻譯工具變得極具吸引力?!?/p>

Aas還提到:“我們已經(jīng)在這一領(lǐng)域進(jìn)行了實(shí)驗(yàn),例如最近我們將基于C的AV1實(shí)現(xiàn)翻譯為Rust。目前的翻譯工具仍然需要大量的人工干預(yù)以確保翻譯結(jié)果的正確性和符合Rust的習(xí)慣性編程風(fēng)格,但我們希望隨著進(jìn)一步的投資,這些工具將變得更加高效?!?/p>

Code Metal公司的首席執(zhí)行官Peter Morales則認(rèn)為DARPA的TRACTOR項(xiàng)目既具有前景又恰逢其時(shí)。Code Metal是一家專注于為邊緣硬件轉(zhuǎn)譯代碼的公司,最近剛籌集了1650萬美元。

“我認(rèn)為TRACTOR項(xiàng)目在實(shí)現(xiàn)上非??尚校蚁嘈潘鼘⒃诰W(wǎng)絡(luò)安全領(lǐng)域產(chǎn)生重大影響,因?yàn)閮?nèi)存安全已成為該領(lǐng)域的重要議題之一?!盡orales說道。

當(dāng)被問及是否同意DARPA所說的軟件社區(qū)已經(jīng)就解決內(nèi)存安全問題達(dá)成共識(shí)時(shí),Morales并未完全否定C和C++的價(jià)值。

“我認(rèn)為選擇任何一種語言都涉及權(quán)衡,但在內(nèi)核級(jí)別,將一部分代碼遷移到Rust是有意義的?!彼a(bǔ)充道。

3.自動(dòng)代碼轉(zhuǎn)換仍需直面挑戰(zhàn)

談及自動(dòng)代碼轉(zhuǎn)換的挑戰(zhàn),Morales表示:“這確實(shí)是一個(gè)DARPA級(jí)別的難題。”在嘗試為不同語言之間的語句轉(zhuǎn)換制定規(guī)則時(shí),面臨的各種特殊情況數(shù)量之多令人望而卻步。

TRACTOR項(xiàng)目的負(fù)責(zé)人Wallach強(qiáng)調(diào),他們的目標(biāo)是實(shí)現(xiàn)高度自動(dòng)化,但這需要克服一系列復(fù)雜的技術(shù)挑戰(zhàn)。

“例如,大型語言模型在被要求翻譯代碼時(shí)有時(shí)能給出驚人的答案,但有時(shí)也會(huì)產(chǎn)生錯(cuò)誤的答案,”他解釋道?!傲硪粋€(gè)挑戰(zhàn)在于,C語言允許代碼對(duì)指針執(zhí)行操作,包括算術(shù)運(yùn)算,而Rust則禁止這類操作。要跨越這個(gè)差距,需要的遠(yuǎn)不止是簡單的逐字翻譯?!?/p>

當(dāng)被問及DARPA是否有特定的代碼庫打算進(jìn)行轉(zhuǎn)換時(shí),Wallach回答說:“我們的目標(biāo)是對(duì)整個(gè)龐大的開源代碼世界,以及國防工業(yè)基礎(chǔ)中使用的代碼進(jìn)行轉(zhuǎn)換。雖然我沒有具體的計(jì)劃,但像Linux內(nèi)核這樣的項(xiàng)目由于存在技術(shù)上的限制,目前不適合使用Rust?!?/p>

DARPA將于2024年8月26日舉辦一場活動(dòng),針對(duì)計(jì)劃為TRACTOR項(xiàng)目提交提案的人士。參與者可以選擇現(xiàn)場參加或遠(yuǎn)程參與。有意參加的人士必須在2024年8月19日前完成注冊(cè)。

4.來自開發(fā)者的聲音

盡管TRACTOR項(xiàng)目獲得了官方的支持,但在相關(guān)的新聞?dòng)懻撝?,來自民間的聲音似乎并不像上層那樣信心滿滿。

Reddit技術(shù)論壇上,有開發(fā)者直言他對(duì)此事的感受“十分復(fù)雜”。

“一方面,我看到了在關(guān)鍵系統(tǒng)中確保內(nèi)存安全的必要性。另一方面……依靠GPT生成的代碼來進(jìn)行轉(zhuǎn)換?真的嗎?那些出于安全原因應(yīng)該轉(zhuǎn)向Rust的系統(tǒng),似乎是不應(yīng)該使用任何AI生成代碼的那種系統(tǒng)?!?/p>

不少人對(duì)此有同感。他們認(rèn)可在關(guān)鍵系統(tǒng)中確保內(nèi)存安全的重要性,也不否認(rèn)這的確是Rust的主要賣點(diǎn)。但是,他們對(duì)于依賴AI(如GPT)生成的代碼來實(shí)現(xiàn)這種轉(zhuǎn)換持保留意見。畢竟AI生成的代碼可能存在不確定性,總是讓人難以完全信任,在這一前提下讓其滿足關(guān)鍵系統(tǒng)的安全性要求是非常矛盾的。

還有人給出了更為辛辣戲謔的評(píng)論:“當(dāng)一切都變得一團(tuán)糟時(shí),就是Rust開發(fā)者們大賺特賺的時(shí)候?!碑?dāng)那些本不適合被轉(zhuǎn)換到新語言(如 Rust)的舊代碼或系統(tǒng)被強(qiáng)行要求轉(zhuǎn)換時(shí),當(dāng)盲目地使用AI來轉(zhuǎn)轉(zhuǎn)換舊代碼時(shí),可能會(huì)產(chǎn)生更多的問題而不是解決問題。

這些來自民間的聲音也印證了Stack Overflow不久前發(fā)布的2024年開發(fā)者調(diào)查數(shù)據(jù)。盡管美國政府不斷呼吁減少對(duì)C和C++的依賴,但編程語言的受歡迎程度幾乎沒有變化。調(diào)查結(jié)果顯示,Rust的使用率從13.5%下降到了12.6%,而C和C++的使用率略有增長。目前沒有跡象表明會(huì)有大規(guī)模從C或C++向其他語言的遷移。

美國國防部大刀闊斧,啟動(dòng)AI項(xiàng)目:將老舊C代碼全部轉(zhuǎn)換為Rust-AI.x社區(qū)圖片

參考鏈接:

??https://www.theregister.com/2024/08/03/darpa_c_to_rust/??

??https://devclass.com/2024/08/02/little-sign-of-migration-from-c-or-c-to-rust-in-latest-dev-survey-but-postgresql-is-winning-against-mysql/??

本文轉(zhuǎn)載自??51CTO技術(shù)棧??,作者:諾亞

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
收藏 1
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦