内存泄漏:当应用程序请求使用一段内存时,操作系统会为其分配特定的内存空间。当应用程序使用完内存后,应该通知操作系统释放内存,以便其他应用程序继续使用。但有些应用程序编写得不够规范,不会向操作系统表明该内存已不再使用。如果这种情况多次出现,操作系统可能出现“急需”内存的情况,这将严重地影响操作系统性能。
当攻击者发现内存泄漏(Memory Leak)场景时,也意味着有了发动新的拒绝服务(Denial of Service,DoS)攻击的机会。例如,当发现UNIX应用程序和Telnet 协议的某个特定版本存在内存泄漏时,攻击者将无限放大问题的严重性。攻击者会不断地向这些存在脆弱性的操作系统发送Telnet 请求。而操作系统不停地为这些网络请求分配资源,这将导致越来越多的内存被分配出去,却不会释放任何资源以归还给操作系统。最终,操作系统将耗尽内存资源并进入停顿状态。
注意:内存泄漏可能发生在操作系统、应用程序和软件驱动程序中。
有两种主要的安全对策可以防止内存泄漏问题∶撰写更规范的代码,正确释放内存;使用垃圾收集器(Garbage Collector),这类软件可运行特定算法来识别未真正使用却宣称已占用的内存资源,然后通知操作系统将该内存标记为“可用”状态。不同类型的垃圾收集器适用于不同的操作系统和编程语言。
标签:泄漏,操作系统,应用程序,内存,使用,攻击者 From: https://www.cnblogs.com/imyingzi/p/16794640.html