社区
C++ 语言
帖子详情
保护“运行内存”,从自身防止缓冲溢出 如何解决 ……
clin003
2004-11-15 07:47:36
系统在程序运行时 , 为程序分配一段内存空间,可若其他程序发生缓冲溢出, 就有可能破坏掉正在运行的 这个程序 ……
那么可以通过什么方法 防止这种 间接破坏运行程序呢 ,就是程序员能做的是什么呢 (目的是:保护本程序不受其他程序的缓冲溢出影响 ……)
能做到吗 怎样实现 (可以谈谈想法 发些伪代码 或者例程都可以 …… )
和 系统的锁有点象哦
谈谈你的看法 (解决方案或方法)
...全文
246
9
打赏
收藏
保护“运行内存”,从自身防止缓冲溢出 如何解决 ……
系统在程序运行时 , 为程序分配一段内存空间,可若其他程序发生缓冲溢出, 就有可能破坏掉正在运行的 这个程序 …… 那么可以通过什么方法 防止这种 间接破坏运行程序呢 ,就是程序员能做的是什么呢 (目的是:保护本程序不受其他程序的缓冲溢出影响 ……) 能做到吗 怎样实现 (可以谈谈想法 发些伪代码 或者例程都可以 …… ) 和 系统的锁有点象哦 谈谈你的看法 (解决方案或方法)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
pacman2000
2004-12-20
打赏
举报
回复
应该是操作系统提供的。 每个进程有自己的空间,如果发现访问的地址不在系统已分配给进程的内存页中,操作系统应该告诉进程出错。比如linux下会报segment fault的错误。
clin003
2004-12-06
打赏
举报
回复
这样的确不怎么好 :看了几位的看法 看起来真有点南以实现 ……
不过是想做(找)一个 保护自己不被伤害,而有机会去伤害其他程序 的思路 ……
看来有点 ……
panux
2004-11-16
打赏
举报
回复
我用的是LINUX,你可以调用系统函数做一些这方面的工作,主要是内存管理方面的一写.
但是你如果要做这样的工作,就需要进行内核相关的程序编写.你觉得好吗?
yjh1982
2004-11-16
打赏
举报
回复
什么操作系统?
goodluckyxl
2004-11-16
打赏
举报
回复
ShareMemory
可以吗?
hwman
2004-11-15
打赏
举报
回复
在NT之类的平台上面一般不会因为其他程序的内存溢出而破坏你的程序的内存空间的。这是操作系统提供的保护功能。
shadow22
2004-11-15
打赏
举报
回复
的确不太可能,除非你随时扫描这段内存,判断对内存的修改是否合法。不过太消耗资源,这种功能从操作系统做还有一定可能,自己代码里面实现太困难了。
Andy84920
2004-11-15
打赏
举报
回复
觉得这应该是运行平台所提供的而不是应用程序提供的.个人感觉.:)
dingsea
2004-11-15
打赏
举报
回复
要从开发的角度来讲,不太可能吧,如果真的可以这么做,其实也就影响了其它程序的执行
什么是
缓冲
区
溢出
?深入解析:
缓冲
区
溢出
在计算机安全领域,
缓冲
区
溢出
是一种常见的安全漏洞,也被称为
缓冲
区
溢出
攻击。它是指当程序尝试向
缓冲
区写入数据时,超过了
缓冲
区的容量,导致数据
溢出
到相邻的
内存
区域。这种情况可能会导致程序崩溃、数据损坏,甚至允许攻击者执行恶意代码。
防止
缓冲
区
溢出
使您的软件
运行
起来
防止
缓冲
区
溢出
通过防御性编程
保护
代码 https://www.ibm.com/developerworks/cn/security/buffer-defend/index.html#ibm-pcon C 中大多数
缓冲
区
溢出
问题可以直接追溯到标准 C 库。最有害的罪魁祸首是不进行自变量检查的、有问题的字符串操作(strcpy、strcat、sprintf 和 ge...
缓冲
区
溢出
的
保护
机制
目录
缓冲
区
溢出
的
保护
机制
缓冲
区
溢出
原理CANNARY(栈
保护
)FORTIFYNX(DEP)PIE(ASLR)RELRO检测工具checksec
缓冲
区
溢出
的
保护
机制
缓冲
区
溢出
原理
缓冲
区是
内存
中存放数据的地方。在程序试图将数据放到机器
内存
中的某一个位置的时候,因为没有足够的空间就会发生
缓冲
区
溢出
。而人为的
溢出
则是有一定企图的,攻击者写一个超过
缓冲
区长度的字符串,植入到
缓冲
区,然后再向一个有限空间...
多图详解
缓冲
区
溢出
问题
蠕虫病毒是一种常见的利用Unix系统中的缺点来进行攻击的病毒。
缓冲
区
溢出
一个常见的后果是:黑客利用函数调用过程中程序的返回地址,将存放这块地址的指针精准指向计算机中存放攻击代码的位置,造成程序异常中止。为了
防止
发生严重的后果,计算机会采用栈随机化,利用金丝雀值检查破坏栈,限制代码可执行区域等方法来尽量避免被攻击。虽然,现代计算机已经可以“智能”查错了,但是我们还是要养成良好的编程习惯,尽量避免写出有漏洞的代码,以节省宝贵的时间!
C++ 语言
65,213
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章