日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Google 孵化了三個Go安全庫,推薦使用!

來源: 責編: 時間:2024-04-29 16:17:43 211觀看
導讀大家好,我是煎魚。Google 作為一家用戶體量很大的企業,有非常多的產品,經常會被黑客攻擊或被拿來練手。因此其設計的產品、編程語言、工具庫等都會要求考慮安全性相關的內容。例如:各種供應鏈攻擊、CWE 等安全的查缺補漏

大家好,我是煎魚。XqN28資訊網——每日最新資訊28at.com

Google 作為一家用戶體量很大的企業,有非常多的產品,經常會被黑客攻擊或被拿來練手。XqN28資訊網——每日最新資訊28at.com

因此其設計的產品、編程語言、工具庫等都會要求考慮安全性相關的內容。例如:各種供應鏈攻擊、CWE 等安全的查缺補漏等。XqN28資訊網——每日最新資訊28at.com

我們作為用戶(使用者),可以 “白嫖” 這些功能實現。直接復用在自家的業務上就可以了。這樣每年在護網上都能省不少勁。XqN28資訊網——每日最新資訊28at.com

三個 Go 安全庫

本次 Google 輸出了三個新的 Go 開源庫,能夠提供安全、高效的解決方案。接下來會給大家分享安全庫官方的一些案例和設計思路、方向。XqN28資訊網——每日最新資訊28at.com

圖片圖片XqN28資訊網——每日最新資訊28at.com

本次介紹涉及如下幾個庫:XqN28資訊網——每日最新資訊28at.com

  • SafeText[1]:用于 YAML 和 shell 命令模板,指的是對標 text/template 的安全增強。
  • SafeOpen[2]:用于打開目錄中的文件,指的是對標 os.Open 等的安全增強。
  • SafeArchive[3]:用于處理歸檔文件,指的就是壓縮文件的處理,對標 archive/tar 和 archive/zip 等的安全增強。

解決了什么問題

這些庫經過精心設計,可應對常見的安全攻擊,可以防范 CWE TOP25 中的以下弱點:XqN28資訊網——每日最新資訊28at.com

圖片圖片XqN28資訊網——每日最新資訊28at.com

  • #5 CWE-78[4]:操作系統命令中使用的特殊元素中和不當(操作系統命令注入)。
  • #6 CWE-20[5]:特殊情況下,輸入驗證不當。
  • #8 CWE-22[6]:對受限目錄的路徑名限制不當(路徑遍歷)。

這幾個 Safe 系列庫提供了強大的保護機制。只要使用這幾個庫,即使輸入是由攻擊者輸入的,也能以無漏洞的方式執行這些基本的系統操作。XqN28資訊網——每日最新資訊28at.com

庫使用和案例

SafeText

SafeText 庫,是 2023 年初發布的第一個安全庫的家族成員。XqN28資訊網——每日最新資訊28at.com

Google 要創造這一庫的原因是:內部在使用 text/template 做開發基于 YAML 的應用程序時,經常受到 YAML 注入的攻擊。XqN28資訊網——每日最新資訊28at.com

YAML 模板

SafeText 庫被設計為 text/template 的直接替代品。我們可以用它來處理 YAML 模板,就像使用 text/template 一樣。XqN28資訊網——每日最新資訊28at.com

兩者不同的地方是:當檢測到注入時,SafeText 庫會返回錯誤。XqN28資訊網——每日最新資訊28at.com

以下是例子,假設模板如下:XqN28資訊網——每日最新資訊28at.com

---sensitive: datainnocent: "{{ .input}}"

當使用 text/template 時,如果攻擊者控制了 .input 的值,他們就可以注入換行符,覆蓋其他字段或更改文檔結構。XqN28資訊網——每日最新資訊28at.com

根據不同的使用情況,影響可能是嚴重的。例如:當變更的結果被用作生產系統的配置文件時。XqN28資訊網——每日最新資訊28at.com

如果是使用 SafeText 庫時,SafeText 將返回錯誤信息:YAML Injection Detected,,并阻止這類可能的侵入式攻擊。XqN28資訊網——每日最新資訊28at.com

Shell 命令模板

在該庫原有 YAML 功能的基礎上,Safe 庫還增加了對 shell 命令模板的支持。XqN28資訊網——每日最新資訊28at.com

設計上考慮的是:確保輸入字符串不會被注入額外的命令或標志,而不考慮潛在的錯誤轉義。(保證安全,接受部分錯誤的可能)XqN28資訊網——每日最新資訊28at.com

以下是例子,假設易受攻擊如下:XqN28資訊網——每日最新資訊28at.com

result := fmt.Sprintf("git commit -m %s", message)

如果信息變量受攻擊者控制,且連接字符串在某個時刻被執行,那么這就是一個漏洞。XqN28資訊網——每日最新資訊28at.com

根據攻擊的具體執行情況,操作系統命令或可執行文件(本例中為 git cli)的參數都可能被注入。XqN28資訊網——每日最新資訊28at.com

如果使用 Safe 庫提高的 shsprintf 系列函數,例如:XqN28資訊網——每日最新資訊28at.com

message := "`腦子進煎魚了...`"result, err := shsprintf.Sprintf("git commit -m %s", message)

或是:XqN28資訊網——每日最新資訊28at.com

message := "`煎魚進腦子了`"result := shsprintf.MustSprintf("git commit -m %s", shsprintf.EscapeDefaultContext(message))

兩個例子都能檢測到注入嘗試。第一個會返回錯誤,第二個則會引起恐慌。可以有效起到防護的作用。XqN28資訊網——每日最新資訊28at.com

SafeOpen

SafeOpen 庫的設計目的是:防止路徑遍歷攻擊,它通過提供在基本目錄內打開文件的函數來實現這一目的。XqN28資訊網——每日最新資訊28at.com

其原理很簡單:需要你指定一個受信任的根目錄,該庫就會強制要求文件操作不能超出該目錄。XqN28資訊網——每日最新資訊28at.com

保護的緣由是:當要打開的文件路徑名受攻擊者控制(這意味著它可能包含 ./ 路徑組件)或根目錄 "不干凈"(例如它包含符號鏈接)時,它就能提供強大的保護,因為無法跨過你所指定的目錄范圍。XqN28資訊網——每日最新資訊28at.com

SafeOpen 庫的使用例子,如下代碼:XqN28資訊網——每日最新資訊28at.com

rootDir:= "/data"f, err := safeopen.OpenBeneath(rootDir, userInput)if err != nil {    t.Fatalf("OpenBeneath(%q, %q) error: %v", rootDir, userInput, err)}// ... use f as an *os.File just like before

該庫對標以下幾個函數:XqN28資訊網——每日最新資訊28at.com

  • os.Open
  • os.OpenFile
  • os.Create
  • os.ReadFile
  • os.WriteFile

SafeArchive

SafeArchive 庫的設計目的是:防止路徑遍歷攻擊(又稱 zip slip)以及與處理歸檔文件相關的各種攻擊。XqN28資訊網——每日最新資訊28at.com

該庫可直接替換 Go 標準庫中的的 archive/tar 和 archive/zip,直接換包的導入路徑就可以了。使用后,壓縮包中如果包含惡意信息,發現后將會被清除。XqN28資訊網——每日最新資訊28at.com

例子如下:如果該庫遇到包含惡意條目 ./././././etc/cron.daily/cronjob 的 .zip 文件,該庫會清理該名稱,并返回為干凈的 etc/cron.daily/cronjob。XqN28資訊網——每日最新資訊28at.com

代碼如下:XqN28資訊網——每日最新資訊28at.com

tr := tar.NewReader(buf)tr.SetSecurityMode(tr.GetSecurityMode() | tar.SanitizeFileMode | tar.DropXattrs)

另外還支持了許多額外保護措施,例如:跳過特殊文件、凈化文件權限、凈化文件名、防止通過符號鏈接進行遍歷等;XqN28資訊網——每日最新資訊28at.com

代碼如下:XqN28資訊網——每日最新資訊28at.com

tr.SetSecurityMode(tar.MaximumSecurityMode)

又或是:XqN28資訊網——每日最新資訊28at.com

tr.SetSecurityMode(tr.GetSecurityMode() &^ tar.SanitizeFileMode)

總結

這三個安全庫 SafeText、SafeOpen、SafeArchive 是非常典型的代表類別,通過這幾個庫我們可以從解決一些漏洞類的問題。XqN28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-86512-0.htmlGoogle 孵化了三個Go安全庫,推薦使用!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Python 教你三分鐘用 Bert 搭建問答搜索引擎

下一篇: ELK太重?試試輕量級分布式日志框架GrayLog

標簽:
  • 熱門焦點
  • K60至尊版剛預熱 一加Ace2 Pro正面硬剛

    Redmi這邊剛如火如荼的宣傳了K60 Ultra的各種技術和硬件配置,作為競品的一加也坐不住了。一加中國區總裁李杰發布了兩條微博,表示在自家的一加Ace2上早就已經采用了和PixelWo
  • 俄羅斯:將審查iPhone等外國公司設備 保數據安全

    iPhone和特斯拉都屬于在各自領域領頭羊的品牌,推出的產品也也都是數一數二的,但對于一些國家而言,它們的產品可靠性和安全性還是在限制范圍內。近日,俄羅斯聯邦通信、信息技術
  • 紅魔電競平板評測:大屏幕硬實力

    前言:三年的疫情因為要上網課的原因激活了平板市場,如今網課的時代已經過去,大家的生活都恢復到了正軌,這也就意味著,真正考驗平板電腦生存的環境來了。也就是面對著這種殘酷的
  • K8S | Service服務發現

    一、背景在微服務架構中,這里以開發環境「Dev」為基礎來描述,在K8S集群中通常會開放:路由網關、注冊中心、配置中心等相關服務,可以被集群外部訪問;圖片對于測試「Tes」環境或者
  • 三言兩語說透設計模式的藝術-單例模式

    寫在前面單例模式是一種常用的軟件設計模式,它所創建的對象只有一個實例,且該實例易于被外界訪問。單例對象由于只有一個實例,所以它可以方便地被系統中的其他對象共享,從而減少
  • 猿輔導與新東方的兩種“歸途”

    作者|卓心月 出品|零態LT(ID:LingTai_LT)如何成為一家偉大企業?答案一定是對“勢”的把握,這其中最關鍵的當屬對企業戰略的制定,且能夠站在未來看現在,即使這其中的
  • 華為HarmonyOS 4升級計劃公布:首批34款機型今日開啟公測

    8月4日消息,今天下午華為正式發布了HarmonyOS 4系統,在更流暢的前提下,還帶來了不少新功能,UI設計也有變化,會讓手機煥然一新。華為宣布,首批機型將會在
  • 國行版三星Galaxy Z Fold5/Z Flip5發布 售價7499元起

    2023年8月3日,三星電子舉行Galaxy新品中國發布會,正式在國內推出了新一代折疊屏智能手機三星Galaxy Z Fold5與Galaxy Z Flip5,以及三星Galaxy Tab S9
  • SN570 NVMe SSD固態硬盤 價格與性能兼具

    SN570 NVMe SSD固態硬盤是西部數據發布的最新一代WD Blue系列的固態硬盤,不僅閃存技術更為精進,性能也得到了進一步的躍升。WD Blue SN570 NVMe SSD的包裝外
Top 主站蜘蛛池模板: 武山县| 承德市| 广宁县| 宁强县| 安丘市| 吉水县| 黎川县| 海门市| 互助| 周至县| 咸阳市| 古田县| 白朗县| 新营市| 马尔康县| 松溪县| 赣榆县| 吉水县| 东阳市| 太仆寺旗| 甘洛县| 贞丰县| 尉犁县| 会宁县| 桂阳县| 青龙| 科技| 运城市| 沽源县| 台东县| 惠州市| 洞头县| 师宗县| 新密市| 昆山市| 云龙县| 巴彦淖尔市| 京山县| 集安市| 西林县| 建昌县|