<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    淺談硬編碼密碼及其掃描工具

    VSole2022-09-28 16:05:59

    密碼是對服務、系統和數據的訪問權限進行授權的數字身份憑證,常見的密碼有API密鑰、非對稱私鑰、訪問Token等。硬編碼密碼(Hardcoded Secret),或稱嵌入式密碼(Embedded Secret),是指將密碼以明文方式直接寫入代碼中。這種處理方式極大地提高了攻擊者命中密碼的概率,使服務或系統暴露在風險中,容易造成嚴重損失。針對此問題,本文詳細討論了硬編碼密碼的成因、危害及治理方法;另外,本文從安全人員角度出發,對現有的硬編碼密碼檢測工具的算法進行了深入調研,并提出了我們的自動化檢測工具。

    01硬編碼密碼的成因及類型

    隨著互聯網組織轉向云架構、SaaS 平臺和微服務,密碼等數字身份驗證憑證的數量和多樣性正在快速增長。與此同時,企業也不斷推動更短的發布周期,開發人員面臨巨大時間壓力的同時,需要處理的密碼量比以往任何時候都多。許多開發人員采取捷徑,選擇使用硬編碼的方式處理密碼。

    在企業的代碼倉庫中普遍存在大量的硬編碼密碼問題。據GitGuardian統計,在公共Git存儲庫上每天會泄露數以千計的密碼,其中僅2020年就有超過200萬個密碼被上傳至Git存儲庫中[1],而2021年該組織發現的密碼數量超過600萬,同比增長近2倍[2],而私人存儲庫的密碼泄露事件存在可能性比公共庫高4倍。

    根據統計[1][2][6],硬編碼密碼包括API密鑰、訪問Token、非對稱私鑰、認證ID、安全證書、口令、特權用戶賬戶等類型。硬編碼密碼所涉及的平臺十分廣泛,包括如下領域:開發工具,如Django、Rapid API;數據存儲,如MySQL、Mongo;金融服務,如PayPal、Amazon MWS;消息通訊系統,如Gmail、Telegram;云提供商,如AWS、Azure、Google;私鑰;社交媒體,如Twitter、Facebook;版本控制平臺,如Github、Gitlab;等等。

    除了程序代碼中,這些硬編碼還容易出現在基礎設施配置文件、監控日志、運行日志、堆棧調試track記錄、git歷史中。所有類別的硬編碼密碼都使企業暴露在攻擊之下。

    02硬編碼密碼的危害

    硬編碼密碼主要對安全和研發兩方面具有危害:

    1. 削弱系統安全性 

    攻擊者常通過公共代碼庫或反編譯分析獲得硬編碼密碼字符串,利用密碼訪問敏感數據或獲取敏感操作權限。攻擊者還可以進一步擴大攻擊范圍,進行數據勒索、帳戶操縱、帳戶創建、通過用戶數據進行利用等,使得企業和用戶都遭受嚴重損失。在以下案例中,攻擊均是從密碼的泄露開始的:2014年,Uber數據庫被未經授權訪問,導致數千名Uber司機私人信息的數據被泄露[7];2016年,Uber又因外部的未授權訪問導致5700萬用戶的個人信息被泄露;2018年,Github和Twitter[10]在內部日志系統中以明文方式存儲密碼,分別涉及2700萬和3.3億用戶數據泄露;2020年,用戶在Github倉庫中發現了星巴克的API密鑰,涉及重大信息泄露[8];2021年,黑客組織 Sakura Samurai 在一次重大數據泄露事件中獲得了訪問聯合國 (UN) 員工私人數據和系統的權限[9]……由硬編碼密碼導致的安全事故層出不窮,也不斷有相關CVE和CWE被披露。

    硬編碼密碼對特定設備、固件、服務、應用程序本身,對其連接的IT生態系統其他部分,甚至使用服務的第三方都存在風險,使其同樣暴露在風險中。

    2. 不易于程序維護 

    硬編碼密碼的修復較為困難,密碼一旦被利用無法輕易被修正。對于正在線上運行的服務或系統,修復硬編碼密碼問題需要停服重新發布。大型企業的服務流量較大,服務間還存在依賴,則需要灰度發布,修復流程更長,其間可能持續受到攻擊者威脅。

    密碼的蔓延也使維護變得困難。與傳統憑證不同,密碼旨在分發給開發人員、應用程序和基礎設施系統,這將不可避免地使開發中使用的密碼數量增加,一個密碼可能出現在代碼中多處位置,這進一步增加了修復的難度。

    此外,開源的代碼造成密碼泄露,即使在源碼中刪除硬編碼密碼,也會殘留在git歷史里。

    03如何治理硬編碼密碼

    企業代碼中的硬編碼密碼問題日益嚴重,只有通過安全人員和研發人員的共同協作才能解決。源代碼中的密碼泄露很難徹底避免,但與其他漏洞一樣,它完全由內生因素決定:開發人員需要訪問更多的資源,以更快的速度構建和部署。這意味著只要有足夠的紀律和教育,再加上正確的工具,就有可能大幅改善這種情況。

    從開發人員角度,需要注意盡量避免將密碼以明文形式寫入代碼中。代碼中需要對密碼進行校驗時,對入站身份驗證可使用強單向散列函數進行密碼模糊化,并將這些散列結果存儲在具有適當訪問控制的配置文件或數據庫中;對出站身份驗證,可將密碼存儲在代碼之外的一個經過嚴格保護的、加密的配置文件或數據庫中,該配置文件或數據庫不會被所有外部人員訪問,包括同一系統上的其他本地用戶[13];大型企業可以使用KMS服務進行一站式密碼管理。

    從安全人員角度,應盡量做到風險左移,盡早發現密碼泄露,幫助開發人員降低修復成本。可通過代碼檢測掃描,將硬編碼密碼檢測集成到開發工作流程中,提前發現硬編碼密碼問題。

    04硬編碼密碼檢測算法

    由于硬編碼密碼有如此的危險性,學術界和工業界都有許多組織針對此問題研發了代碼掃描工具。我們對開源工具和學術文章進行了一系列調研,總結了目前的硬編碼密碼掃描工具常用的檢測算法,并對其優缺點進行了討論。

    4.1 正則表達式匹配

    正則表達式通常被用來檢索符合某種模式的字符串。對于檢測具有固定結構或特征的密碼,正則表達式可能很有效。常用于密碼檢測的正則表達式可分為(1)針對各種特定平臺密碼的表達式和(2)不針對任何平臺的通用表達式。

    (1)針對各種特定平臺密碼的表達式 

    許多平臺的API密鑰、訪問Token、認證ID等具有平臺獨有的特征,例如亞馬遜AWS密鑰均以“AKIA”字符串開頭;常用于非對稱加密的私鑰如RSA、EC、PGP及通用私鑰等,常由ssh-keygen、openssl等工具生成,多數情況下私鑰以單獨的PEM等文件格式存儲,其內容也具有一定特征,例如RSA私鑰文件由"-----BEGIN RSA PRIVATE KEY-----"字符串作為開頭。對于這類密碼,可以通過匹配具有其特征的正則表達式進行檢測。

    下表列舉了部分常用平臺密碼的類型以及正則表達式。本文僅以此表舉例,實際上特定平臺的密碼種類十分豐富,此處不便一一列舉。

    平臺

    硬編碼正則表達式
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    許多開發人員采取捷徑,選擇使用編碼的方式處理密碼。所有類別的編碼密碼都使企業暴露在攻擊之下。由編碼密碼導致的安全事故層出不窮,也不斷有相關CVE和CWE被披露。編碼密碼對特定設備、固件、服務、應用程序本身,對其連接的IT生態系統其他部分,甚至使用服務的第三方都存在風險,使其同樣暴露在風險中。對于正在線上運行的服務或系統,修復編碼密碼問題需要停服重新發布。
    分析Cobalt Strike Payload
    2021-12-11 06:49:22
    原始Payload Cobalt Strike 的Payload基于 Meterpreter shellcode,例如 API 哈希(x86和x64版本)或http/https Payload中使用的url checksum8 算法等等。 x86 默認的 32 位原始負載的入口點以典型指令開始,CLD (0xFC),然后是CALL指令,并PUSHA (0x60)作為 API 哈希算法的第一條
    近日,Cyble研究實驗室發現了一種名為Prynt Stealer的新信息竊取軟件。該竊取軟件是網絡犯罪論壇上的新成員,具備各種功能。除了竊取受害者的數據外,還可以使用剪輯器和鍵盤記錄操作進行財務盜竊。此外,它可以針對30多種基于Chromium的瀏覽器、5個以上基于Firefox的瀏覽器,以及一系列的VPN、FTP、消息和游戲應用軟件。此外,構建者可以自定義此竊取軟件的功能。
    好的系統管理員區分在效率上。如果一位高效的系統管理員能在 10 分鐘內完成一件他人需要 2 個小時才能完成的任務,那么他應該受到獎勵(得到更多報酬),因為他為公司節約了時間,而時間就是金錢。以下這些技巧可以節約時間 —— 即使沒有因為高效而得到更多的報酬,但至少可以有更多的自由支配時間。
    上個月,FortiGuard Labs 發現了一項針對尋找盜版軟件的 YouTube 觀眾進行的正在進行的威脅活動。受害者被引導執行惡意二進制文件,并在他們的系統中安裝多個惡意軟件,旨在收集憑證、進行加密貨幣挖礦和從錢包中竊取加密貨幣資金。其余配置值用于從受感染的計算機收集文件。一旦有效負載被執行,惡意軟件就會退出并自行刪除。根據C2協議、information.txt中的系統數據格式以及泄露的ZIP文件中的文件組織,該示例被識別為Vidar竊取程序。
    研究人員最近發現了一個新的后門,他們將其歸因于之前報道過的被稱為Earth Kitsune的攻擊者。自2019年以來,“Earth Kitsune”一直在向主要對朝鮮感興趣的個人傳播自主開發的后門變體。
    起底GoldenJackal APT組織
    2023-06-05 09:42:08
    GoldenJackal是一家APT組織,自2019年開始活躍,通常針對中東和南亞的政府和外交機構。攻擊途徑 研究人員發現攻擊者假冒Skype安裝程序,使用惡意Word文檔。“Gallery of Officers Who Have Received National And Foreign Awards.docx”的文件似乎是合法的,旨在收集巴基斯坦政府授予勛章的官員的信息。
    Android 平臺的普及這導致開發商投入資源以維持需求的上升。較早版本的App可能會受到逆向工程和其他攻擊。在從現實世界收集的1500個主流應用中,DroidSkynet顯示攻擊使用早期版本的應用的成功率為34%。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类