• 北方也有龙舟赛!秦皇岛45支龙舟队共角逐(图) 2019-07-13
  • 点亮文化自信之灯,塑造大国气质 2019-07-06
  • 台生为何青睐大陆高校(两岸聚焦) 2019-07-04
  • 交大昂立:2017年年度股东大会决议公告 2019-06-30
  • 毛泽东说帝国主义都是纸老虎。是有社会基础的 2019-06-29
  • 以产业金融促广州实体经济发展 2019-06-29
  • 警方揭秘世界杯赌球庄家:不怕你赢钱,就怕你不玩 2019-06-29
  • 一语惊坛(5月9日):推动中朝友谊,造福两国人民。 2019-06-19
  • 马克思报刊批判的理性光辉 2019-06-19
  • 工信部:我国4G用户达10.6亿户 宽带提速效果显著 2019-06-18
  • “一带一路”机遇下本土设计师“走出去”才是硬道理 2019-06-12
  • 把课堂上的重点难点录下来 教学类短视频平台前景几何 2019-06-06
  • 公有制结束、高效益之下、就会大量的国有企事业单位的冗员进入社会生产一线。社会运作进入正轨。 2019-06-06
  • 在媒体融合中彰显地市级报纸副刊的特色 2019-06-02
  • 既然主贴跟帖都不给发 那我就让管理彻底一边倒去吧,我也彻底休息了。 2019-05-25
  • 文章阅读页通栏

    安徽11选5开奖全双结果:浅析沙箱机制(Sandboxie)

    来源: DoraFans 作者:
    大家也许都听说过:以太坊上的智能合约是在沙箱(Sandbox)中运行的。那么到底什么是沙箱呢?本文将带你揭开这一机制的神秘面纱。 1.为什么需要沙箱......
    大家也许都听说过:以太坊上的智能合约是在沙箱(Sandbox)中运行的。那么到底什么是沙箱呢?本文将带你揭开这一机制的神秘面纱。

    1.为什么需要沙箱机制?

    默认情况下,一个应用程序是可以访问机器上的所有资源的,比如CPU、内存、文件系统、网络等等。

    但是这是不安全的,如果随意操作资源,有可能破坏其他应用程序正在使用的资源,或者造成数据泄漏。为了解决这个问题,一般有下面两种解决方案:

    (1) 为程序分配一个限定权限的账号:利用操作系统的权限管理机制进行限制
    (2) 为程序提供一个受限的运行环境:这就是沙箱机制

    2.什么是沙箱机制?

    如上所述,沙箱就是一个限制应用程序对系统资源的访问的运行环境。

    沙箱很多情况下都是实现在虚拟机(VM)中,比如Java的虚拟机JVM、Javascript的虚拟机V8引擎、Android中的虚拟机Dalvik/ART,以及以太坊的虚拟机EVM等等。具体的实现方式各有不同,本文重点分析一下JVM和EVM的沙箱机制实现。

    3.JVM的沙箱机制

    安徽25选5开奖视频 www.974av.com JVM的沙箱机制大致可以分为三层:

    第一层:类加载器

    采用双亲委派模型,低层类加载器在收到类加载请求时,需要先委派给高层类加载器区完成,只有在高层类加载器无法完成该请求时,才会再重新委派给低层类加载器。通过这一机制,确保了系统的核心类不会被篡改,恶意代码无法访问关键资源。

    第二层:字节码校验器

    类字节码被加载后,需要在字节码层面进行检验,具体包括以下内容:

    (1) 变量要在使用之前进行初始化
    (2) 方法调用与对象引用类型之前要匹配
    (3) 访问私有数据和方法的规则没有被违背
    (4) 对本地变量的访问落在运行时堆栈内
    (5) 运行时堆栈没有溢出通过这一机制,可以确保字节码符合Java语言规范,避免访问无效访问或越界访问。

    第三层:安全管理器

    这一层是交由应用开发者来维护的,开发者可以根据自身需求,制定对应的安全策略。默认的安全策略配置位于以下两个配置文件中:

    · $JAVA_HOME/conf/security/java.security
    · $JAVA_HOME/conf/security/java.policy

    默认情况下安全管理器是不开启的,可以在命令行增加一个参数来开启它:

    java -Djava.security.manager SandboxTest

    默认的安全策略配置不允许应用程序对文件的读写操作,所以如果你试图写一个文件,运行时会报如下错误:

    如果你希望开放这个权限,可以编写自己的安全策略文件,比如我们写一个my.policy:

    然后在运行时指定这个策略配置就可以了:

    java -Djava.security.manager -Djava.security.policy=./my.policy SandboxTest

    应用开发者可以针对不同的应用场景进行精细化定制,控制程序对网络、文件、属性等内容的访问权限。

    4.EVM的沙箱机制

    EVM本身是一个相对封闭的环境,不支持对网络和文件系统的直接访问,从这个层面来说已经起到一部分沙箱的功能了:

    另外,在智能合约之间互相调用时,EVM会重新分配堆栈和内存空间,在一个全新的环境中运行新合约,即使出现问题也不会破坏原有执行环境,从而为智能合约的执行提供了一个沙箱环境。

    最后,每个智能合约的存储也是相互独立的,开发者可以根据需求,限制合约可以访问的存储空间,避免未授权的访问或修改。举例来说,下图就描述了CALL和CALLCODE指令对存储空间访问的区别:


    来源:公众号(DoraFans

    更多区块链信息:www.qukuaiwang.com.cn/news

    关键词: Dora网络  沙箱机制  
    0/300
    ?
  • 北方也有龙舟赛!秦皇岛45支龙舟队共角逐(图) 2019-07-13
  • 点亮文化自信之灯,塑造大国气质 2019-07-06
  • 台生为何青睐大陆高校(两岸聚焦) 2019-07-04
  • 交大昂立:2017年年度股东大会决议公告 2019-06-30
  • 毛泽东说帝国主义都是纸老虎。是有社会基础的 2019-06-29
  • 以产业金融促广州实体经济发展 2019-06-29
  • 警方揭秘世界杯赌球庄家:不怕你赢钱,就怕你不玩 2019-06-29
  • 一语惊坛(5月9日):推动中朝友谊,造福两国人民。 2019-06-19
  • 马克思报刊批判的理性光辉 2019-06-19
  • 工信部:我国4G用户达10.6亿户 宽带提速效果显著 2019-06-18
  • “一带一路”机遇下本土设计师“走出去”才是硬道理 2019-06-12
  • 把课堂上的重点难点录下来 教学类短视频平台前景几何 2019-06-06
  • 公有制结束、高效益之下、就会大量的国有企事业单位的冗员进入社会生产一线。社会运作进入正轨。 2019-06-06
  • 在媒体融合中彰显地市级报纸副刊的特色 2019-06-02
  • 既然主贴跟帖都不给发 那我就让管理彻底一边倒去吧,我也彻底休息了。 2019-05-25
  • 浙江11选5走图 老公微信3d彩票 诈金花万能发牌 中国福利彩票开奖地方 云南11选5走 青海11选5前三和值表 ag真人软件下载试玩 江苏快三走势图彩经网 浙江快乐彩图表 香港赛马会排位官方网站l 辽宁快乐12胆托玩法 足彩胜负彩的玩法 江苏时时彩玩法规则 七乐彩公式 山西快乐十分钟开29号