免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: willcream
打印 上一主题 下一主题

[内核入门] 对一个漏洞的解释 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2015-11-04 18:48 |只看该作者
回复 10# nswcfd


    Hello,多谢你的回复。其实我是理解到了msync-sleep的....我也已经验证它了。最后f_dentry会为null。但如果要通过不往kernel加sleep patch的方式,非常难实现它。

论坛徽章:
0
12 [报告]
发表于 2015-11-04 18:52 |只看该作者
回复 10# nswcfd


    您好,即是你的回复中6.a那个sleep是很难实现的。

论坛徽章:
20
程序设计版块每日发帖之星
日期:2015-08-17 06:20:00程序设计版块每日发帖之星
日期:2016-07-16 06:20:00程序设计版块每日发帖之星
日期:2016-07-18 06:20:00每日论坛发贴之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16赛季CBA联赛之江苏
日期:2017-06-26 11:05:5615-16赛季CBA联赛之上海
日期:2017-07-21 18:12:5015-16赛季CBA联赛之青岛
日期:2017-09-04 17:32:0515-16赛季CBA联赛之吉林
日期:2018-03-26 10:02:16程序设计版块每日发帖之星
日期:2016-07-15 06:20:0015-16赛季CBA联赛之江苏
日期:2016-07-07 18:37:512015亚冠之萨济拖拉机
日期:2015-08-17 12:21:08
13 [报告]
发表于 2015-11-04 18:56 |只看该作者
回复 11# willcream


之前没仔细看另外一个帖子,不好意思。

pwned.c里面,对msync 2秒的延迟(为uselib/brk争取时间),貌似是通过t3不断的写bigfile,长时间占用inode->sem互斥量来完成的?

论坛徽章:
0
14 [报告]
发表于 2015-11-04 18:56 |只看该作者
回复 10# nswcfd


    另外,我想破了头也没想出来原来pwned.c中那注释/* build the fake vma which msync_interval will get it*/(代码323行)是怎么实现的?msync_interval到底是怎么get到这个fake vma的....多谢您的回复。受益匪浅,希望能继续深入交流。

论坛徽章:
0
15 [报告]
发表于 2015-11-04 19:01 |只看该作者
本帖最后由 willcream 于 2015-11-04 19:02 编辑

回复 13# nswcfd


    你好,多谢您的回复。在原来的pwned.c中,确实是通过write函数占用inode sem来为do_brk争取时间的。但是在简化版的msync-sleep当中,我们是通过在内核里msync_interval中struct inode * inode = file->f_dentry->d_inode;这个语句之前加了schedule_timeout来实现的,我的意思是在要去掉这个schedule_timeout而通过用户代码来让它在grab inode之前短暂的停留,是很难办到的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP