[討論] 網路新聞分享

看板C_and_CPP (C/C++)作者 (快樂蕃茄)時間1月前 (2024/11/20 19:28), 1月前編輯推噓4(4020)
留言24則, 7人參與, 4周前最新討論串1/1
文章來源: https://reurl.cc/aZr7ql 美國政府呼籲棄用 C/C++,軟體開發界將迎來巨變? 近日,美國網路安全和基礎設施安全局 (CISA) 和聯邦調查局 (FBI) 再次 發出呼籲,敦促軟體開發商放棄使用 C 和 C++ 等「記憶體不安全」的程式 語言,轉而採用更安全的替代方案,以降低國家安全、經濟安全和公共健康 的風險。 這一呼籲並非空穴來風。CISA 早在 2024 年初就與五眼聯盟的其他成員 (包括 FBI、澳洲網路安全中心和加拿大網路安全中心)聯合發表了一份報告, 分析了 172 個關鍵開源專案。報告指出,超過一半的專案使用了記憶體不安全 的語言編寫程式碼,佔總程式碼量的 55%。 記憶體安全漏洞:揮之不去的夢魘 CISA 強調,記憶體安全漏洞佔所有安全漏洞的 70%。由於 C 和 C++ 等語言 要求開發人員手動管理記憶體的使用和分配,任何疏忽都可能導致緩衝區溢位、 釋放後使用等嚴重漏洞,讓攻擊者有機可乘,控制軟體、系統甚至竊取資料。 為了解決這個問題,CISA 建議開發人員改用 Rust、Java、C#、Go、Python 和 Swift 等記憶體安全的程式語言。這些語言內建了記憶體保護機制,可以 有效防止常見的記憶體相關錯誤,從程式碼層面提升安全性。 理想很豐滿,現實很骨感 儘管 CISA 的建議立意良善,但要讓開發者放棄 C/C++ 並非易事。 首先,將現有的大型程式碼庫轉換為新的程式語言需要耗費大量時間和資源, 而且必須仔細規劃才能確保功能不受影響。對於許多企業來說,這無疑是一項 巨大的挑戰。 其次,記憶體安全的語言在效能方面可能不如 C/C++。C/C++ 之所以經久不衰 ,正是因為它們能夠編寫出執行速度最快的程式。在速度和安全之間,許多開發 者和企業仍然會優先考慮速度。 此外,企業還需要額外投資,更換現有的開發工具、除錯器和測試框架, 以支援新的程式語言,並將新程式與舊程式碼和程式庫整合。 CISA 的最後通牒:2026 年前提交遷移路線圖 儘管困難重重,CISA 仍然堅持要求企業在 2026 年 1 月 1 日前提交遷移 現有程式碼庫的路線圖,並強調從長遠來看,減少漏洞和提高安全性所帶來 的收益將超過初始投資。 然而,在追求短期利潤最大化的現代商業環境下,企業是否願意買單, 仍是一個未知數。 Linux 之父 Linus Torvalds 的態度:謹慎支持 就連 Linux 的創造者 Linus Torvalds 也對此持保留態度。雖然他 支持在 Linux 核心程式碼中引入 Rust 語言,但也坦言 Rust 和 C 之間的爭論已經演變成「宗教戰爭」,許多經驗豐富的 C 語言開發者 抵觸學習 Rust。 未來展望:記憶體安全語言的崛起之路 儘管面臨重重阻力,但記憶體安全語言的發展是大勢所趨。隨著技術的 進步和安全意識的提高,相信會有越來越多的開發者和企業選擇更安全 的程式語言。 然而,這個轉變過程注定是漫長而痛苦的。在 2020 年代,C/C++ 仍然 會是軟體開發的主力軍。或許在 2030 年代,我們才能真正見證記憶體 安全語言的全面崛起。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.233.195.218 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1732102135.A.08B.html

11/20 19:38, 1月前 , 1F
C和C++可以直接管理記憶體似乎是兩面刃,好處是執行速度快
11/20 19:38, 1F

11/20 19:45, 1月前 , 2F
壞處是一但出錯,會造成記憶體安全漏洞,被駭客利用
11/20 19:45, 2F

11/20 19:48, 1月前 , 3F
在文章最後一段,2020年代C/C++仍然是軟體開發主力軍
11/20 19:48, 3F

11/20 19:49, 1月前 , 4F
2030年代,記憶體安全語言將會全面崛起
11/20 19:49, 4F

11/20 19:52, 1月前 , 5F
這表示再5年,C/C++會被全面取代掉嗎?
11/20 19:52, 5F

11/20 19:56, 1月前 , 6F
舊的已完成的程式碼不要說,開發新程式將不再採用C/C++嗎?
11/20 19:56, 6F

11/21 03:43, 1月前 , 7F
稍微看了一下CISA發布的東西 它只要求一些元件需要這樣做
11/21 03:43, 7F

11/21 03:45, 1月前 , 8F
如暴露在網路中的或加密相關的敏感功能的元件
11/21 03:45, 8F

11/21 03:46, 1月前 , 9F
*現有的程式中的這些元件需要發布遷移路線圖
11/21 03:46, 9F

11/21 03:48, 1月前 , 10F
不過照過往換東西的速度我覺得講到時候全面取代是有點太快
11/21 03:48, 10F

11/21 03:49, 1月前 , 11F
我相信不符合以上條件的東西還是會很多是繼續用C/C++
11/21 03:49, 11F

11/21 19:04, 1月前 , 12F
溫水煮青蛙,照文章來看美國政府呼籲不要用的根本理由
11/21 19:04, 12F

11/21 19:09, 1月前 , 13F
就是 C/C++ 是「記憶體不安全」的程式語言
11/21 19:09, 13F

11/21 19:21, 1月前 , 14F
記憶體不安全我只當你程式有bug,那個程式沒bug?
11/21 19:21, 14F

11/21 19:23, 1月前 , 15F
加上連Linux和Windows的核心都可以用另一個語言Rust來寫
11/21 19:23, 15F

11/21 19:28, 1月前 , 16F
C/C++傳統優勢領域不再...
11/21 19:28, 16F

11/21 19:31, 1月前 , 17F
慢慢的以後你的老闆會要求你用別的程式語言來完成工作
11/21 19:31, 17F

11/21 19:35, 1月前 , 18F
你個人或公司在外面接的案子,也會指定你不要用C/C++
11/21 19:35, 18F

11/21 19:44, 1月前 , 19F
就如同文章所説的,使用其他的程式語言,達到他們的目的
11/21 19:44, 19F

11/21 19:45, 1月前 , 20F
根本上去解決程式容易出錯的機制
11/21 19:45, 20F
※ 編輯: freexq (36.233.195.218 臺灣), 11/21/2024 19:47:29 ※ 編輯: freexq (36.233.195.218 臺灣), 11/21/2024 19:53:37 ※ 編輯: freexq (36.233.195.218 臺灣), 11/21/2024 19:56:26

11/21 21:24, 1月前 , 21F
這篇很久了吧 ....
11/21 21:24, 21F

11/23 01:59, 4周前 , 22F
我以為Linus會順便troll一下C++ XDD
11/23 01:59, 22F

11/23 09:14, 4周前 , 23F
安全的需求不是在每個領域都那麼有價值...
11/23 09:14, 23F

11/23 12:56, 4周前 , 24F
不行吧~python老弟不懂,但好像沒有pointer
11/23 12:56, 24F
文章代碼(AID): #1dFSVt2B (C_and_CPP)
文章代碼(AID): #1dFSVt2B (C_and_CPP)