• Proj THUDBFuzz Paper Reading: 南京大学软件分析课程2020, 13 Static Analysis for Security


    Information Flow Security

    跟踪程序中的信息流,确保全部信息都妥帖处理了
    更关注信息传递。

    与指针分析的关系

    它与指针分析有相似之处,所以有taint analysis方法

    Security Level

    明显,程序中的变量(信息)有不同的安全等级,比如two-level policy将单个变量划分为high security或者low security。
    变量的安全等级(security level)也能建模为格。

    Information Flow Policy

    限制不同Security levels间信息的传递

    Noninterference Policy

    高安全变量不能干扰到低安全变量的值,实践上,观察低安全变量应该无法推测高安全变量的任何信息。也即X_low_security_level=y_high_security_level * 10这种都不行。

    Confidentiality and Integrity

    Confidentiality: 秘密不应该被泄露
    Integrity: 关键信息不应该被篡改,如Command injection, SQL注入,XSS攻击


    Explicit Flow and Covert Channels

    explicit flow: 通过拷贝关系传递的信息
    implicit flow: 被high security variable影响的信息,注意有时通过运行时间或者抛出异常(比如数组越界)也能泄漏一部分信息

    课件将能够泄漏信息的渠道称之为channels
    Channels that exploit a mechanism whose primary purpose is not information transfer are called covert channels
    示例:

    由于Explicit flow泄漏的信息更多,所以课件主要关注Explicit Flow

    Taint Analysis

    Taint Analysis将数据分为两种,一种是带标签的成为Tainted data,剩下的是untainted data。发送或者确定tainted data的方法或者程序通常被称为sources。而一些令人感兴趣的程序点被称为sinks。
    tainted data通过追踪从sources到sinks路径上的标签/被explicit flow影响到tainted data对应的变量来确定信息是否泄漏。



  • 相关阅读:
    andorid自己定义ViewPager之——子ViewPager滑到边缘后直接滑动父ViewPager
    MTK Camera驱动移植
    云计算VDI相关职位招聘
    Android内存泄露之开篇
    关于ping以及TTL的分析
    STL之关联容器的映射底层
    STL非变易算法
    自己主动更新 -- 版本比較(2)
    activiti自己定义流程之Spring整合activiti-modeler5.16实例(四):部署流程定义
    合并多个文本文件方法
  • 原文地址:https://www.cnblogs.com/xuesu/p/14340888.html
Copyright © 2020-2023  润新知