南京大学【软件分析】13 Static Analysis for Security

文章目录

  • 1. Information Flow Security
  • 2. Confidentiality and Integrity
  • 3. Explicit Flows and Covert/Hidden Channels
  • 4. Taint Analysis
  • 污点分析案例

1. Information Flow Security

引起安全问题最主要的两大原因是:injection errors(2013-2019排名第一)、information leak(2013-2019排名第四)
来自:https://nvd.nist.gov/

可以把信息流简单的分成两类:高密级(high,如密码)、低密级(low,如一般性数据)
高密级的数据不能流向低密级
在这里插入图片描述

2. Confidentiality and Integrity

Confidentiality:保密性,防止信息泄露
Integrity:完整性,防止不可信的信息破坏(可信的)关键信息
在这里插入图片描述

x=readInput(); // untrusted
cmd="..."+x;
execute(cmd); // critical(trusted)

注入攻击违反了完整性,如:command injection、SQL injection、XSS attacks

保密性和完整性实际上是从不同的视角来认识信息流安全问题的,是一种双向的对称关系。这种对偶带来的好处时,可以用一种技术问题解决这两个问题。

  • 保密性是对的保护,低密级数据可以流向高密级
  • 机密性是对的保护,高密级数据可以流向低密级
    在这里插入图片描述

3. Explicit Flows and Covert/Hidden Channels

Explicit Flows and Covert/Hidden Channels:显示流和隐藏信道
信息流包含数据流:可以把直接的赋值语句理解为数据流,如下例,publicL和secretH之间没有数据流,但有信息流(可以通过publicL推断出secretH是否大于0),这种信息流也被称为隐式信息流implicit flow

secretH=getSecret();
if(secretH<0)publicL=1;
else publicL=0;

一些信息泄露的例子:
尤其是最后一个例子,可推测secret是否小于0,如果secret小于0,会抛出异常
在这里插入图片描述
信道channels:计算机系统中,传递信息、发送信息的机制
隐藏信道Covert/Hidden Channels:如果该机制本身不是用来传递信息流的,但它仍把信息传递出去了,就称它为隐藏信道。
在这里插入图片描述
相比于显式信息流,隐藏信道难以寻找,但同时隐藏信道携带的信息也较少,泄漏的信息有限,显式信息流携带的信息更多。如下图,左侧泄漏32位信息,右侧泄漏1bit信息。
在这里插入图片描述

4. Taint Analysis

简单解释污点分析:给敏感数据打上标记,跟踪这些被标记的数据(污点数据),是否到达了敏感操作点(sink),或调用敏感操作的指针会不会指向污点数据(类似于指针分析)。
污点分析中常把数据分为两类:

  • 感兴趣的数据tainted data:通常把他们做一个标记,这类数据称为污点数据,在污点分析中追踪这类数据
  • 其他数据untainted data:不关心的数据

sources:污点数据tainted data的来源。 在实践中,tainted data通常来自方法/API的返回值,把这些数据打上taint标记。
sinks:通常是某些敏感方法,检查tainted data是否作为参数传入了这些敏感方法。

在这里插入图片描述

污点分析与指针分析的共同之处:
污点分析的本质是跟踪程序中的污点分析,指针分析的本质是跟踪程序中的抽象对象。

  • 可以把污点数据看作对象
  • 可以把sources看作allocation sites
  • 借助指针分析传播污点数据

形式化表示:

污点分析的输入输出:
input:

  • source:source方法集合(调用这些方法返回污点数据)
  • sink:sink方法集合(流到这里的污点数据违反了安全策略)
    output
  • TaintFlows:污点数据和sink方法对。<污点数据,sink方法>。 < t i , m > ∈ T a i n t F l o w s <t_i, m> \in TaintFlows <ti,m>∈TaintFlows表示i处的污点数据流到了sink方法m中。

传播规则
在这里插入图片描述
处理source和sink的规则
在这里插入图片描述

污点分析案例

和指针分析结合的好处:很好的处理了别名问题,并且可以追踪信息流的流向。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/120654.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

django_auth_ldap登录权限

用户登录权限分为三种&#xff0c;通过is_active,is_staff,is_superuser标识。可以对组赋予对应的权限。 设定active组、staff组和superuser组分别对应三种权限。在不同组权限下的登录情况如下&#xff1a; 当用户不属于任何一组&#xff1a; 登录失败&#xff0c;提示如图&a…

BiMPM实战文本匹配【下】

引言 这是BiMPM实战文本匹配的第二篇文章。 注意力匹配 如上图所示&#xff0c;首先计算每个正向(或反向)上下文嵌入 h i p → \overset{\rightarrow}{\pmb h_i^p} hip​→​(或 h i p ← \overset{\leftarrow}{\pmb h_i^p} hip​←​)与另一句的每个正向(或反向)上下文嵌入 …

日常美食的食材与做法,小资生活从这一刻开始

一、教程描述 本套美食教程&#xff0c;大小14.86G&#xff0c;共有127个文件。 二、教程试看 樱桃肉的食材与做法&#xff0c;小资生活从这一刻开始 三、教程目录 芝士豆腐.mp4 炸猪排.mp4 炸鸡米花.mp4 元气早餐面.mp4 鱼香杏鲍菇.mp4 鱼头炖豆腐.mp4 油焖基围虾.m…

【面试题】2023前端面试真题之JS篇

前端面试题库 &#xff08;面试必备&#xff09; 推荐&#xff1a;★★★★★ 地址&#xff1a;前端面试题库 表妹一键制作自己的五星红旗国庆头像&#xff0c;超好看 世界上只有一种真正的英雄主义&#xff0c;那就是看清生活的真相之后&#xff0c;依然热爱生活。…

【C++】C++多态——实现、重写、抽象类、原理

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;C学习 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 上一篇博客&#xff1a;【C】C继…

Docker 容器跨主机通信 - Flannel

Author&#xff1a;rab 目录 前言一、架构及环境二、服务部署2.1 Etcd 部署2.2 Flannel 部署2.3 Docker 网络配置 三、容器通信验证及路由分析3.1 通信验证3.2 路由转发分析3.3 数据分发分析 总结 前言 今天是中秋佳节&#xff0c;首先在此祝大家“中秋快乐&#xff0c;阖家团…

分布式文件系统FastDFS实战

1. 分布式文件系统应用场景 互联网海量非结构化数据的存储需求&#xff1a; 电商网站&#xff1a;海量商品图片视频网站&#xff1a;海量视频文件网盘&#xff1a;海量文件社交网站&#xff1a;海量图片 2.FastDFS介绍 https://github.com/happyfish100/fastdfs 2.1简介 …

MySQL学习笔记17

MySQL权限管理grant&#xff1a; 权限说明&#xff1a; Table 6.2 Permissible Privileges for GRANT and REVOKE PrivilegeGrant Table ColumnContextALL [PRIVILEGES]Synonym for “all privileges”Server administrationALTERAlter_privTablesALTER ROUTINEAlter_routin…

记录一次SQL注入src挖掘过程

记录一次小白SQL注入src挖掘过程&#xff0c;其中碰到了很多问题&#xff0c;报错和解决 先是使用谷歌语法找到一个可以注入的网站 谷歌语法&#xff1a; 公司inurl:php?id 然后该公司的URL为 URL:XXXXXXXXXX/xxx.php?id1 输入测试有无注入&#xff0c;有没有waf 发现…

传统遗产与技术相遇,古彝文的数字化与保护

古彝文是中国彝族的传统文字&#xff0c;具有悠久的历史和文化价值。然而&#xff0c;由于古彝文的形状复杂且没有标准化的字符集&#xff0c;对其进行文字识别一直是一项具有挑战性的任务。本文介绍了古彝文合合信息的文字识别技术&#xff0c;旨在提高古彝文的自动识别准确性…

队列的使用以及模拟实现(C++版本)

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;强烈推荐优质专栏: &#x1f354;&#x1f35f;&#x1f32f;C的世界(持续更新中) &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶 &#x1f43b;推荐专栏2: &#x1f354;…

数据安全态势管理:什么是事实,什么是虚构?

考虑到组织存储大量数据的日益复杂的云环境&#xff0c;数据安全态势管理 ( DSPM )的兴起并不令人意外。使组织能够全面了解云数据资产和敏感数据的安全状况的流程对于当今的安全团队来说非常有价值。 尽管 DSPM 的重要性日益凸显&#xff0c;但人们对于它能为企业做什么和不能…