1、Tai-e:基于程序分析的安全漏洞检测框架演讲人:谭添 南京大学自我介绍研究方向为程序分析与程序设计语言,对运用程序分析技术解决安全问题特别感兴趣。研究成果发表在TOPLAS、PLDI、OOPSLA、TOSEM、FSE、ISSTA等相关领域的CCF-A类国际顶级期刊与会议。助理/副研究员南京大学奥胡斯大学(丹麦)博士新南威尔士大学(澳大利亚)博士后西北工业大学本科信息安全/网络安全/计算机安全信息安全/网络安全/计算机安全1 The Open Web Application Security Project(OWASP),https:/owasp.org/2 National Vulnerab
2、ility Database,https:/nvd.nist.gov/2013-2019年间导致漏洞最多的原因2 Injection errors(No.1),11821,4.6/day Information leaks(No.4),5086,2.0/day信息流安全1 The Open Web Application Security Project(OWASP),https:/owasp.org/2 National Vulnerability Database,https:/nvd.nist.gov/2013-2019年间导致漏洞最多的原因2 Injection errors(No.1
3、),11821,4.6/day Information leaks(No.4),5086,2.0/day报告内容01信息流安全02安全漏洞检测03Tai-e:基于程序分析的安全漏洞检测框架报告内容01信息流安全02安全漏洞检测03Tai-e:基于程序分析的安全漏洞检测框架信息流*(Information Flow)信息流:如果程序中变量 x 持有的信息被传播到变量 y,则存在信息流 x y 一些信息流的例子Dorothy E.Denning and Peter J.Denning,“Certification of Programs for Secure Information Flow”.C
4、ommunication of ACM 1977.*y=x;a=x;b.f=a;c=b;y=c.f;xy信息流安全(Information Flow Security)将信息流与安全联系起来将程序中的变量划分成不同的安全等级指定这些等级之间允许的信息流,即安全策略安全等级(Security Level)最基础(可能也是最常用)的模型是二级分类,即一个变量可以被分为两种级别:1.H:表示高密级,如保密信息2.L:表示低密级,如公开信息 h=getPassword();/h 为高密级 broadcast(l);/l 为低密级安全策略(Security Policy)限制不同安全等级之间的信息流与二
5、级分类搭配,最常见的策略:禁止高密级变量的信息流入低密级变量HHXLL信息流安全(Information Flow Security)将信息流与安全联系起来将程序中的变量划分成不同的安全等级指定这些等级之间允许的信息流,即安全策略信息流信息流安全安全等级安全策略信息流安全阻止保密信息的泄露安全等级高:保密信息(secret)低:公开信息(public)安全策略Xsecret 保密性(保密性(ConfidentialityConfidentiality)public信息流安全:一体两面阻止保密信息的泄露安全等级高:保密信息(secret)低:公开信息(public)安全策略阻止不可信的信息污染关
6、键信息安全等级高:关键信息(critical)低:不可信信息(untrusted)安全策略Xsecret 保密性(保密性(ConfidentialityConfidentiality)完整性(完整性(IntegrityIntegrity)publicXcriticaluntrusted完整性(Integrity)阻止不可信的信息污染关键信息1注入攻击(2013-2019年间导致漏洞最多的原因2)命令注入攻击SQL注入攻击跨站脚本攻击(XSS)1.Ken Biba,“Integrity Considerations for Secure Computer Systems”.Technical R