zoukankan      html  css  js  c++  java
  • 时序安全属性检测(一)

          程序的“时序安全属性(temporal safety properties)”是描述“某些坏的事情不会发生”的一类属性.通常,时序安全属性规定了一系列有序的事件,要求在程序中不能发生这些事件.在程序中,它表现为一系列先后有序的操作(通常是和安全相关的操作,至少有一个是这样的,不然不会发生安全问题)。

          例子:

          下图展示了一个时序安全属性的例子。在某进程调用系统调用chroot限制其访问在一子文件系统后,必须、立即紧跟一个对chdir的调用,更改进程的工作目录到这个子文件系统中。如果没有这个调用,如b所示,则事实上当前目录仍然是/var/ftp,某恶意的用户有可能请求程序打开文件"。。/。。/etc/passwd"(这里,输入../..总是显示网站的名称,用中文的代替了)并获得成功,这样就对系统的安全造成了威胁。

          自然地,可以想到,对时序安全属性的刻画,可以采用有限状态自动机FSA(Finite State Automaton)表示,如图中a所示,每个圆圈代表一个状态,双圆圈表示进入了危险状态,这应该是被避免的,也是我们检测的内容,边上的标志表示执行的操作,系统通过执行相应的操作状态发生改变。

    实际的系统中,通常会有很多和时序有关的安全属性,而且涉及很多系统调用和变量的变化,因而得到的FSA也是很庞大的(即所谓的状态爆炸)。这些调用之间又是过程间调用,调用的关系可能是非常复杂的,以至于超出了我们人工控制的范围。因此,如果靠人工检测一个系统的时序安全属性,将是十分低效、辛苦的,正确性也得不到保证。

    由自动机理论,知FSA可以用正则文法来表达,这样为我们检测时序安全属性提供了编程基础。

  • 相关阅读:
    黄聪:.NET中zip的压缩和解压——SharpCompress
    黄聪:在.NET中使用GeckoFX 29
    【转】C# 开发Chrome内核浏览器(WebKit.net)
    Can annotations be created or edited in ArcGIS Pro?
    ArcGIS Pro 新建一个Aprx,导入Mxd
    ArcGIS Pro项目保存和数据编辑保存
    ArcGIS Pro批量线分割面,也可以线分割线
    ArcGIS Pro 删除选择范围的数据和批量裁剪clip
    ArcGIS Pro NearestVertex和NearestPoint
    ArcGIS Pro打印预览
  • 原文地址:https://www.cnblogs.com/njucslzh/p/1721636.html
Copyright © 2011-2022 走看看