分類
CISSP

不同代的編程語言具有不同的功能,使用 C 的基於客戶端的應用程序最容易受到緩衝區溢出(buffer overflow)攻擊

https://ithelp.ithome.com.tw/upload/images/20221011/20132160fwdRX6uBWC.jpg
-軟體運行環境

與 JavaScript、C# 和 Java 不同,C 語言提供編程結構來直接控制硬體並調用操作系統提供的服務。例如,“指針(pointer)”用於操作靜態或動態分配的內存。
使用 JavaScript、C# 和 Java 開發的應用程序是託管應用程序,並在運行時環境或沙箱中執行。例如,基於 .NET 框架的 C# 應用程序(編譯為 MSIL)、Java 虛擬機 (JVM) 中的 Java 應用程序以及瀏覽器或 Node.js 運行時中的 JavaScript。
託管應用程序中可能會發生緩衝區溢出。但是,它們通常由運行時或沙箱很好地管理。C 應用程序自己管理內存;它們更容易受到緩衝區溢出攻擊。

參考
編程語言世代
緩衝區溢出

資料來源: Wentz Wu QOTD-20211102

PS:此文章經過作者同意刊登 並且授權可以翻譯成中文

作者: stevencho

從事資訊工作二十多年,對資安極具熱情,在 Network Security, Endpoint Security, 及 Mobile Security 等資安領域有超過十年以 上的經驗。曾任職精誠資訊資安產品代理部門技術經理,負責 資安產品之技術支援與大型企業導入專案。此外,他也取得了 ISO 27001 主導稽核員證書及 Check Point 的 CCSA 與 CCSE 等防 火牆產品等專業證照。此外,平常除了喜歡透過ITHelp平台及個人部落格分享文章,亦常擔任社群活動主辦者及志工,連結資安同好聯誼及共好學習,並協助對於CISSP有興趣的同學與同好準備認證考試。