zoukankan      html  css  js  c++  java
  • 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对应的变量来确定信息是否泄漏。



  • 相关阅读:
    Hdu 1094 A+B for Input-Output Practice (VI)
    Hdu 1091 A+B for Input-Output Practice (III)
    Hdu 1092 A+B for Input-Output Practice (IV)
    Hdu 1087 Super Jumping! Jumping! Jumping!
    scala学习笔记2(类,继承,抽象类)
    scala学习笔记1(表达式)
    把以前写的几个Linux Framebuffer小工具放到github上了,直接去下吧,别找我要了
    一位台湾朋友刚建的一个FTK的论坛,欢迎加入讨论
    Linux高端内存的由来
    read系统调用深度剖析
  • 原文地址:https://www.cnblogs.com/xuesu/p/14340888.html
Copyright © 2011-2022 走看看