软件安全防御(software security defense),理学-计算机科学技术-信息安全-信息系统安全-软件安全-软件安全防御,确保软件文档、数据、代码是不变的,且其知识产权不被非法使用。软件安全防御可采用软件水印、代码混淆、防篡改、加密签名以及虚拟机保护等防止软件被盗版、被逆向分析、被非法篡改等。其软件行为在软件的生命周期中都是可预见的、所期望的。软件行为是指软件运行的表现形态和状态演变的过程,可以从底层的二进制指令到高层的程序语句、函数、系统调用、资源访问等不同层次刻画软件行为。软件的行为模型就是指根据某一层次的行为信息而构建的行为状态序列以及状态变迁,可以表征软件的正常行为特征,并用于软件行为的异常检测。但是,源于软件自身存在的缺陷和软件运行环境的不可信,软件在黑客攻击或者在不可信环境下会偏离其预定的行为,产生不可预料的后果,如拒绝服务、隐私泄漏、权限提升、恶意代码执行、功能误用等。从软件静态分析和动态分析角度剖析软件的结构和行为,希望发现软件的缺陷、优化软件代码、验证软件性质,其分析方法包括定理证明、模型检查、符号执行、切片分析、代码插桩、Fuzzing等。