首页
社区
课程
招聘
KernelSnitch(侧信道泄漏内核地址部分)
发表于: 2025-10-17 19:43 603

KernelSnitch(侧信道泄漏内核地址部分)

2025-10-17 19:43
603

来自2025黑帽大会亚洲峰会:

论文:ed6K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2F1k6s2y4K6i4K6u0V1M7%4W2E0M7r3!0K6K9i4g2E0i4K6u0W2L8%4u0Y4i4K6u0r3N6%4m8Q4x3X3c8U0L8$3&6@1k6h3&6@1i4K6u0r3N6i4m8D9L8$3q4V1M7#2)9J5c8U0t1H3x3U0g2Q4x3X3b7J5x3U0y4Q4x3X3c8H3j5i4m8W2M7W2)9J5k6i4m8V1k6R3`.`.

视频:6c5K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6&6L8%4g2@1N6g2)9J5k6h3u0W2i4K6u0r3M7g2q4X3M7X3q4t1M7@1S2C8c8%4M7`.

          f1eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2T1K9h3I4A6j5X3W2D9K9g2)9J5k6h3y4G2L8g2)9J5c8Y4k6A6k6r3g2G2i4K6u0r3b7W2j5I4g2p5E0^5h3Y4A6d9c8i4S2#2i4K6u0r3i4K6y4r3M7%4m8E0i4K6g2X3K9h3c8Q4y4h3k6X3M7X3!0E0i4K6y4p5x3K6x3K6i4K6u0W2x3e0x3&6x3g2)9J5k6e0m8Q4x3X3f1H3i4K6t1$3j5h3#2H3i4K6y4n7N6X3c8Q4y4h3k6K6L8%4g2J5j5$3g2Q4x3@1c8W2j5K6S2W2y4o6V1H3x3r3x3#2z5h3c8X3j5$3u0X3j5K6M7#2j5K6l9^5x3r3x3%4k6h3c8W2x3X3q4W2k6l9`.`.(bilibili翻译)


光看演讲的内容,还是有些晦涩,简单总结一下关键环节:

1. futex()系统调用bilibili视频19:03~19:42

    int futex(int *uaddr, int op, int val, const struct timespec *timeout, int *uaddr2, int val3);

    op=FUTEX_WAKE,进入内核执行sys_futex_wake(),会根据uaddr+mm计算hash值,遍历查询bucket[hash];

    op=FUTEX_WAIT,进入内核执行sys_futex_wait(),会根据uaddr+mm计算hash值,往bucket[hash]添加一个元素。


    uaddr和mm,一起参与计算hash值:

    edbK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6W2L8r3W2^5K9i4u0Q4x3X3g2T1L8$3!0@1L8r3W2F1i4K6u0W2j5$3!0E0i4K6u0r3L8r3W2F1N6i4S2Q4x3V1k6$3y4W2)9J5k6e0S2Q4x3V1k6K6L8%4g2J5j5$3g2Q4x3V1k6C8k6i4u0F1k6h3I4Q4x3V1k6X3N6i4c8W2P5q4)9J5c8Y4y4&6M7$3y4S2L8r3I4K6i4K6u0W2j5#2)9J5x3@1H3K6x3K6R3`.

    

    

    


2. 侧信道bilibili视频19:43~21:23

    往bucket[hash0]添加4096个结点(hash0根据collisions[0]+mm计算,其中collisions[0]=futexes[0],后续如果sys_futex_wake()花费的时间,大于空桶查询时间的10倍,就可以认为进入了bucket[hash0]。


3. 只变uaddr,不变mm,可以得到相同的hash值bilibili视频21:24~21:57

    从futexes[]另外再找15个"uaddr",存入collisions[1~15],保证根据它们+mm计算的hash值,也为hash0。


4. 用户态暴力推算mm地址bilibili视频21:58~22:52

    穷举内核地址(很多地址不用尝试的,后面有优化),如果某个地址,结合collisions[0~15],计算的hash值都一样,那就是mm地址了。


5. 2^64个内核地址,优化到2^35.5个地址bilibili视频22:53~24:15

    保证攻击程序1分钟内找到mm地址。




[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回