日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

沙箱机制的理解

發布時間:2024/3/26 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 沙箱机制的理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

前言:為什么要用沙箱?能解決什么樣的問題?

使用場景:

Docker的沙箱


?

前言:為什么要用沙箱?能解決什么樣的問題?

場景:比如我們有一個應用程序可以訪問機器上的所有資源:比如CPU,內存等等,但是這樣肯定是不安全的,如果隨意操作資源就可能破壞資源的使用,使其他使用資源的應用程序受到影響

解決:

1.為程序分配一個權限賬號,操作系統的權限管理機制進行限制

2.為程序提供一個受限的環境:沙箱機制

所以說,什么是沙箱機制?

沙箱機制就是限定一個應用程序訪問資源的運行環境

使用場景:

1.比如JVM,大致分為三層:

1.類加載器,利用雙親委派機制,先委派給高層類進行加載,當高層無法應付時交給下面的加載器(保證了系統的核心類不會被篡改,惡意代碼無法訪問關鍵資源)

?2.在類加載的鏈接時期中準備時期,中間有個字節碼驗證階段,對字節碼進行校驗

(1) 變量要在使用之前進行初始化
(2) 方法調用與對象引用類型之前要匹配
(3) 訪問私有數據和方法的規則沒有被違背
(4) 對本地變量的訪問落在運行時堆棧內
(5) 運行時堆棧沒有溢出通過這一機制,可以確保字節碼符合Java語言規范,避免訪問無效訪問或越界訪問。

?3.我們的開發者也具有設置安全策略的權限,開發者可以根據自身需求,制定對應的安全策略。默認的安全策略配置位于以下兩個配置文件中:

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

?默認的安全策略配置不允許應用程序對文件的讀寫操作,所以如果你試圖寫一個文件,運行時會報如下錯誤:
如果你希望開放這個權限,可以編寫自己的安全策略文件,比如我們寫一個my.policy:

?然后在運行時指定這個策略配置就可以了:
java -Djava.security.manager -Djava.security.policy=。/my.policy SandboxTest

Docker的沙箱

1.本質利用DockerFile,對應用組件進行組裝=From基礎環境+一些依賴,包+入口,運行命令

2.搭建測試環境。沙箱的應用只能訪問自己的應用訪問目錄,而不能應用之間的資源進行共享,這樣就形成了一個相對安全的機制,由于沙箱具有非常良好的獨立性、隔離性,所以能夠搭建一些具有高風險的軟件進行測試。

?

總結

以上是生活随笔為你收集整理的沙箱机制的理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。