任意代码执行
任意代码执行(简称ACE)是指攻击者能够讓目标電腦或目标进程中执行任意命令或代码[1]。如果系統有地方可以被黑客利用以執行任意代碼,則此處被稱為任意代碼執行漏洞。特別設計利用此一漏洞的程式,稱為任意代碼執行漏洞利用。可以通过网络(尤其是通过互联网等广域网)讓目标電腦(遠程電腦)執行任意代码的能力稱為远程代码执行(RCE)。
系列條目 |
信息安全 |
---|
相關安全分類 |
威脅 |
防禦 |
方法实现
任意代码执行通常是通过控制正在运行的进程的指令或指针(例如跳转或分支)来实现的。指令和指针通常指向进程中将要执行的下一条指令。因此,对指令指针值的控制可以控制接下来执行哪条指令。为了执行任意代码,许多漏洞将代码注入到进程中(例如通过向进程发送输入,该输入存储在RAM中的输入缓冲区中)并使用漏洞更改指令指针以使其指向注入的代码,然后注入的代码将自动执行。这种类型的攻击利用了大多数计算机(使用冯诺·依曼架构)没有对代码和数据进行一般区分的事实,因此可以将恶意代码伪装成无害的输入数据。许多较新的 CPU 具有NX Bit机制,使任意执行代码更难。
参见
- BlueKeep
- Follina
- Log4Shell
参考文献
- Team, KernelCare. . TuxCare. 2021-01-25 [2022-07-26]. (原始内容存档于2022-11-12) (美国英语).
- . owasp.org. [2022-07-26]. (原始内容存档于2022-11-29) (英语).
- . Microsoft Security Blog. 2015-06-18 [2022-07-26]. (原始内容存档于2022-10-02) (美国英语).
- . catonmat.net. [2022-07-26]. (原始内容存档于2022-09-06) (英语).
- . www.sciencedirect.com. [2022-07-26]. (原始内容存档于2022-11-25).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.