数据流完整性检测(dataflow integrity detection),理学-计算机科学技术-信息安全-信息系统安全-软件安全-软件安全防御,一种抵御数据流劫持的安全防御技术。在程序执行过程中, 约束数据访问操作按照预先设定的数据流,防止攻击者通过篡改数据而实施攻击。该防御机制假定,正常的程序中的每个数据都不应该来自不相关的指令。基本的做法是分析程序代码,获取数据流图(data flow diagram,DFD),并在程序运行过程中记录各内存单元的数据来源,当程序执行内存数据读操作时,检测该数据是否来自数据流图中约定的写操作,从而阻止非法写操作对关键数据的篡改。数据流完整性检测也可以在程序执行写操作时进行,一般来讲程序的写操作数量远少于读操作,并且简单变量的写操作不会引起对其他数据的篡改,因而被认为是安全的,这样只需要在程序执行潜在危险写操作时进行检测,从而可降低检测所引入的性能开销。