以传统有限自动机(finite state automata,简称FSA)为基础,从系统调用参数中解析出系统对象,提出了一种基于系统对象的软件行为模型(model of software behavior based on system objects,简称SBO).该模型的行为状态由软件所关联的所有系统对象表示,从而赋予状态的语义信息,解决了不同行为迹中PC(program counter)值的语义不相关问题;同时,该模型可以对抗系统调用参数的直接和间接修改,从而可以检测基于数据语义的攻击.最后,实现了基于SBO的软件异常检测原型工具(intrusion detection prototype system based on SBO,简称SBOIDS),其实验和分析结果表明,该模型可以有效地检测基于控制流的攻击、模仿攻击以及针对数据语义的攻击,并给出了该工具的性能开销.