V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
MrGba2z
V2EX  ›  问与答

关于 Host-based IDS 的两个疑问.

  •  
  •   MrGba2z · 2015-03-06 08:38:22 +08:00 · 1496 次点击
    这是一个创建于 3556 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Host-based IDS有很多种,比如监视system call, Trapwire等方式.

    拿Syscall monitoring 这种来说

    大致思路就是把程序所有的可能支路都跑一遍, 获得strace list,
    类似

    open
    read
    write
    callXX
    close
    exit

    然后建立一个JSON存储两个前后操作的模型.


    {
    "syscall_1":"open",
    "syscall_2":"read"
    },
    {
    "syscall_1":"read",
    "syscall_2":"write"
    },

    当出现预设中不存在的操作对时,即说明被入侵.

    用Stack overflow来说的话,
    如果被拿到shell code, 那么shell code那一部分, 很可能会出现预设中不存在的操作对.

    那么我是否可以通过小心的改写我的shell code, 甚至不用shell code, 用这些预设的操作对来完成入侵(也许效果没拿shell好,但暂时不关心这个)

    问题1: 这样是否理论上就躲过了IDS?(我觉得应该是可以的)

    这时候如果我改进我的模型, 除了原本两个syscall之外,我还记录两个syscall的执行参数

    {
    "syscall_1":"open",
    "syscall_2":"read",
    "arg_1":"/etc/log",
    "arg_2":"/etc/secret"
    },
    {
    "syscall_1":"read",
    "syscall_2":"write"
    "arg_1":"/etc/secret",
    "arg_2":"/etc/log"
    },

    显然这样会使得JSON表里模型数增多.

    问题2: 那么这样的话, 是否还能避开IDS?(我感觉还是能, 但是没办法理论上证明)

    PS: 当然攻击者在不知道我们模型的情况下,还是很容易触发IDS的. 这是否意味着, 如果攻击者小心的用一些常见的syscall pair来构造他们的入侵, 也许会使得入侵危害变小, 但是缺躲过了IDS?

    如果有错请大力纠正, 我在学习中. 不是特别明白, 可能讲错了
    4 条回复    2015-03-06 10:07:09 +08:00
    MrGba2z
        1
    MrGba2z  
    OP
       2015-03-06 08:39:16 +08:00
    @RIcter


    不知道V2里还有哪些朋友是研究安全方面的
    RIcter
        2
    RIcter  
       2015-03-06 09:52:38 +08:00
    IDS 方面没有研究,不过说绕过的话..

    比如触发点在 cat /etc/passwd,如果知道规则,可以:

    cat `echo /etc``echo /passwd`
    `echo Y2F0IC9ldGMvcGFzc3dkCg== | base64 -d`

    _(:з」∠)_但是一般都不知道规则的嗯
    RIcter
        3
    RIcter  
       2015-03-06 09:55:40 +08:00   ❤️ 1
    想了下也不对 ..这样还是绕不过呢 owo..
    实际上还是运行了相应的命令,IDS 仍然可以被触发的。
    RIcter
        4
    RIcter  
       2015-03-06 10:07:09 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1668 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:47 · PVG 00:47 · LAX 08:47 · JFK 11:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.