精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

成功識別日志中的數據泄漏漏洞并對其進行緩解

安全 漏洞
我會在本文介紹我是如何與r2c的另一位開發人員成功識別日志中的數據泄漏,從而修復了該漏洞并徹底杜絕其今后的再發生,整個過程只需幾個小時就可以完成了。

我會在本文介紹我是如何與r2c的另一位開發人員成功識別日志中的數據泄漏,從而修復了該漏洞并徹底杜絕其今后的再發生,整個過程只需幾個小時就可以完成了。

作為一名開發人員和工程經理,我一直癡迷于尋找一種可以不需要安全團隊完全參與,即可快速解決整個涉及組織安全漏洞的方法。

[[381141]]

為什么要這么做呢?好處有很多:

  • 可以快速解決組織出現的安全漏洞。在實踐過程中,該方法可以大大加快安全防御的速度,以至于我們可以在識別出漏洞后的幾分鐘內建立起安全的防護措施,如果是走組織流程,則安全漏洞則會持續數天或數周。
  • 當開發人員可以輕松地自行解決安全漏洞時,它可以使安全團隊騰出精力來專注于整個組織的“全局”安全性。我希望安全工程師考慮如何選擇框架、設置工具、幫助實現安全體系結構,以及構建深度防御,而不是找到我在本文所述的XSS漏洞。

我將以上過程稱為“self-service DevSec。

接下來,我將介紹我們在日常開發工作過程中遇到的一個安全漏洞。我將討論我們如何發現此漏洞的,以及如何在短短幾個小時內修復整個安全漏洞,并使用Semgrep防止該漏洞再次發生。Semgrep是一個開源工具,用于使用熟悉的語法進行輕量級靜態分析。

上個月,我正在與r2c的另一位工程師Clara McCreery一起調試Flask Web應用驗證流程。就像許多工程師面臨著令人困惑的調試問題一樣,我們的第一步就是將Web應用程序放入調試日志記錄。

具體來說,我們想知道數據庫操作的情況,因此我們將ORM(在本例中,我們使用SQLAlchemy)設置為INFO級別的日志記錄,方法如下:

  1. logging.getLogger("sqlalchemy.engine.base.Engine").setLevel(logging.INFO) 

這會將SQLAlchemy配置為記錄所有SQL語句以及傳遞的參數,讓我們看一下我們看到的一些輸出結果:

  1. INFO:werkzeug:127.0.0.1 - - [25/Sep/2020 11:50:01] "POST /api/auth/authenticate HTTP/1.1" 200 - 
  2. INFO:sqlalchemy.engine.base.Engine:BEGIN (implicit) 
  3. INFO:sqlalchemy.engine.base.Engine:SELECT token.id AS token_id, token.token AS token_token, token.name AS token_name 
  4. FROM token 
  5. WHERE token.token = %(token_1)s 
  6.  LIMIT %(param_1)sINFO:sqlalchemy.engine.base.Engine:{'token_1': $2a$10$KVsyW1jjKn.pvkVi3w9Rn.1mwnZFd7F2SFveGDG8flIhbe.MoJH4G, 'param_1': 1} 

我們絕對不應該記錄令牌,即使已安全地對其進行哈希處理。在此示例中,處于講解的目的,實際令牌值已更改。

首先要制定一個計劃

至此,我們已經確定了一個安全漏洞,并且希望在保留檢查日志能力的同時修復此漏洞。具體步驟如下:

  • 緩解當前的安全漏洞;
  • 尋找一個永久的解決方案,以備不時之需。永久的解決方案意味著對我們的系統進行深層次的改變。理想情況下,該解決方案是在整個組織中自動化和無縫的。
  • 添加一種機制來強制我們的解決方案在整個組織范圍內使用。

接下來,我將指導你完成每個步驟。需要注意的是,我們能夠在幾個小時內完成整個流程,而無需與安全團隊合作。

緩解當前的安全漏洞

這里的緩解措施非常簡單,因為我們已經知道了漏洞的根本原因,為此可以快速還原日志記錄的更改過程。然后,我們可以對日志進行快速審核,以確保僅泄漏了開發測試令牌。

永久解決方案

那我們如何防止SQLAlchemy記錄敏感數據?

第一步是閱讀文檔??焖偎阉?ldquo;引擎日志中的sqlalchemy隱藏參數”將我們鏈接到SQLAlchemy Engine文檔。稍后進行詳細閱讀,這樣我們就發現了hide_parameters標志,該標志防止日志記錄框架在日志或異常中發出任何參數。

雖然這肯定可以防止發現的安全漏洞,但對我們來說信息量太小了,因為我們想知道例如數據庫ID等信息,以便進行調試。

真正的解決方案

然后,我們檢查了相關的SQLAlchemy源代碼,相關代碼在sqlalchemy / engine / base.py中:

成功識別日志中的數據泄漏漏洞并對其進行緩解

sql_util._repr_params依次運行:

成功識別日志中的數據泄漏漏洞并對其進行緩解

通過研究trunc,我們發現它通過將參數的repr截斷為最大字符數來轉換參數值,這意味著我們應該重寫參數對象的repr方法以防止敏感日志記錄。

此時,我們像優秀的工程師一樣,使用了一條懶惰的策略,因為我發現的這個GitHub漏洞,Mike Bayer已經發布了一個很好的解決方案,所以我就進行了一些復制,關鍵代碼如下:

成功識別日志中的數據泄漏漏洞并對其進行緩解

這段代碼的作用是什么?你可以發現它用新的ObfuscatedString.Repr參數替換了我們原來的str參數。登錄時或發出異常消息時,該字符串將替換為我們的********。由于參數仍然被綁定為原始字符串(通過impl = types.String),因此仍然插入和從數據庫中選擇正確的值。

要使用這個新的字段類型,我們設置令牌的字段類型如下:

成功識別日志中的數據泄漏漏洞并對其進行緩解

然后,我們重新啟用INFO日志記錄,并檢查我們是否正確混淆了文本:

  1. INFO:werkzeug:127.0.0.1 - - [25/Sep/2020 13:48:55] "GET /api/agent/deployments/1/policies HTTP/1.1" 200 - 
  2. INFO:sqlalchemy.engine.base.Engine:BEGIN (implicit) 
  3. INFO:sqlalchemy.engine.base.Engine:SELECT token.id AS token_id, token.token AS token_token, token.name AS token_name 
  4. FROM token 
  5. WHERE token.token = %(token_1)s 
  6.  LIMIT %(param_1)s 
  7. INFO:sqlalchemy.engine.base.Engine:{'token_1': ********, 'param_1': 1} 

為了完整起見,我們還在開發數據庫控制臺中驗證了是否存儲和檢索了正確的值。

執行過程

應該說,我們已經暫時解決了安全漏洞,以便可以重新調試原始的身份驗證漏洞。但要徹底修復整個漏洞。我們將如何做?

以下有一些想法,我相信我們都曾經遇到過:

  • 在安全審查中阻止對SQLAlchemy模型的所有提交。
  • 為所有開發人員舉辦年度安全培訓,包括記錄敏感數據的漏洞。
  • 每周審核日志。
  • 向你的SAST供應商提出漏洞,要求他們添加檢查以捕獲敏感記錄的數據。

如果要從這篇博客文章中得出一個中心結論的話,那就是:這些都不是理想的解決方案,原因如下:

  • 阻止提交會在開發過程中引入不必要的拖延,降低開發速度,并會分散安全團隊的注意力。
  • 安全培訓是安全計劃的重要組成部分,也是讓開發人員意識到不斷發展的安全威脅的必要條件,但是人類的記憶力很差,我們可能會忘記幾個月甚至幾天前聽到的事情。
  • 定期審核(例如阻止提交)會給幾乎肯定是超負荷的安全團隊帶來沉重的工作量;
  • 你的SAST提供商當然會歡迎你的建議,但是你會依賴他們的軟件發布周期,并且可能幾個月都看不到可用的檢查。此外,如果你的漏洞是特定于某個領域的,則實施廣泛地檢查甚至沒有意義。

幸運的是,Semgrep為我們提供了一個簡單的解決方案:在代碼中定義一個不變量,并在每次CI運行時使用Semgrep掃描對其進行強制執行。

在r2c中,我們使用GitHub操作在每個合并請求上運行Semgrep。我們使用由Semgrep .dev管理的管理策略、規則字段表和通知設置來定義Semgrep應該運行哪些檢查。

為了保證我們的代碼不會再出現問題,我訪問了semgrep.dev/editor并編寫了一個快速規則來檢測潛在的不安全日志SQLAlchemy字段。

這是Semgrep的YAML定義語言中的規則定義:

成功識別日志中的數據泄漏漏洞并對其進行緩解

這個規則有什么作用?詳細解釋如下:

  • id:我們為規則提供了一個簡潔的描述性ID,以便任何在編輯器或CI輸出中看到它的開發人員都可以輕松參考。
  • patterns:這由兩部分組成:
  • pattern:此表達式告訴Semgrep如何在我們的代碼庫(在此示例中,我們的SQLAlchemy實例稱為db)中查找具有String字段類型的任何SQLAlchemy ORM字段定義,它還將字段名稱綁定到名為COLUMN的元變量。
  • metavvariable -regex:這個表達式告訴Semgrep只有在字段metavariable包含單詞片段(如token、email、key或secret)時才報告匹配。正則表達式包含了很多細節聲明,以防止我們匹配不相關的單詞,如keyboard。
  • message:當Semgrep匹配我們的模式時,我們希望確保我們解釋檢測到的漏洞是什么,為什么它是一個漏洞,以及如何修復它。這些信息將有助于開發人員獨立解決漏洞,而不會造成混亂或不必要的誤讀。
  • severity:你可以自定義你領域中任何漏洞的嚴重程度。

然后快速地按下“部署到策略”按鈕,就可以保證所有的web應用程序都得到了保護。

通過我們的VS Code擴展將Semgrep集成到編程工作流中的開發人員也會開始在他們的IDE中產生效果。

請注意,此解決方案是有意迭代的:我們可能會發現更多字段名稱被標識為敏感字段,或者還希望包含db.Text類型。幸運的是,這是一個快速修訂,并根據需要重新部署。

總結

在這篇文章中,我演示了你作為一名開發人員或管理人員如何使用輕量級靜態分析(如Semgrep)來幫助在代碼中強制執行不變量。

在r2c中,我們習慣性地使用Semgrep來防止自己重復犯錯誤:意外地使調試器處于提交狀態?有一條規則可以防止這種情況發生。當我們發現導入某個庫會減慢程序的初始化速度時,我們編寫了一條規則來確保它被延遲加載。

本文翻譯自:https://r2c.dev/blog/2020/fixing-leaky-logs-how-to-find-a-bug-and-ensure-it-never-returns/

 

責任編輯:趙寧寧 來源: 嘶吼網
相關推薦

2010-07-08 10:14:57

SQLServer日志

2020-09-25 10:14:54

漏洞

2010-05-17 17:09:29

Mysql LIMIT

2014-01-14 09:16:17

2020-03-27 20:22:53

數據集裝箱網絡

2024-01-12 10:29:26

2015-01-15 09:38:30

2021-03-14 18:20:07

大數據數據管道偏見

2010-08-31 08:57:02

谷歌即時搜索功能

2015-05-28 11:13:50

2010-08-19 13:50:42

DB2catalog

2019-08-19 13:40:34

Windows 10剪貼板Windows

2014-08-27 16:02:53

2020-12-22 21:57:39

人臉識別AI人工智能

2009-02-02 17:21:58

日志文件維護MySQL日志文件

2010-07-15 11:36:21

SQL Server歷

2009-02-19 16:33:31

2022-06-02 13:59:57

數據遷移數據

2022-01-17 10:44:33

Linuxa.out文件格式

2013-04-09 16:42:55

點贊
收藏

51CTO技術棧公眾號

无码人妻一区二区三区免费n鬼沢| 国产一区精品在线| 9.1片黄在线观看| 亚洲伊人精品酒店| 一区二区激情视频| 久久艹中文字幕| 中文字幕人成人乱码亚洲电影| 国产精品久久久乱弄 | 久久99成人| 亚洲一级在线观看| 日韩福利影院| 亚洲大尺度网站| 天堂蜜桃一区二区三区 | 国产精成人品免费观看| 久久综合久久色| 亚洲欧美一二三区| 91欧美在线| 亚洲国产高潮在线观看| 天堂在线资源视频| 俺来也官网欧美久久精品| 久久久久国产精品麻豆ai换脸| 国产伦精品一区二区三区精品视频| 中文字幕精品亚洲| 青青操综合网| 日韩一区二区在线免费观看| 91专区在线观看| 超碰在线网址| 中文字幕乱码久久午夜不卡| 国产精品久久久久久久久久久久冷 | 国产欧美一区二区精品婷婷| 国产精品三区四区| 中文字幕一区二区三区波野结| 91久久午夜| 久久av.com| 天天操天天舔天天射| 天天久久夜夜| 亚洲精品国产suv| 九九九久久久久久久| а√天堂资源国产精品| 欧美日韩亚洲天堂| 国产在线播放观看| 伊人影院蕉久影院在线播放| 国产精品国产三级国产aⅴ原创| 久久96国产精品久久99软件| 亚洲成a人片在线| 极品销魂美女一区二区三区| 国产精品女人久久久久久| 国产成人无码一区二区在线播放| 欧美日韩福利| 日韩在线不卡视频| 女人裸体性做爰全过| 亚洲69av| 亚洲国内精品在线| 奇米777在线视频| 欧美国产视频| 欧美色涩在线第一页| 无码精品a∨在线观看中文| aa在线视频| 亚洲情趣在线观看| 伊人色综合影院| 77777影视视频在线观看| wwwwxxxxx欧美| 九色综合婷婷综合| 色欲av伊人久久大香线蕉影院| 国产一区欧美二区| 国产男女猛烈无遮挡91| 好吊妞视频一区二区三区| 欧美成人69| 欧美极品少妇全裸体| 老妇女50岁三级| 欧美一区高清| 欧美成年人在线观看| www深夜成人a√在线| 91综合在线| 久久久久999| 极品久久久久久| 欧美在线黄色| 色综合五月天导航| 久久高清无码视频| 国产一区二区中文| 午夜精品久久久久久久99热 | 国产曰肥老太婆无遮挡| 免费电影网站在线视频观看福利| 一区二区三区欧美日韩| 女人被男人躁得好爽免费视频| 日韩伦理在线| 色94色欧美sute亚洲13| av免费中文字幕| 国产精品4hu.www| 56国语精品自产拍在线观看| 香蕉视频xxxx| 国产亚洲精品美女久久 | 丰满人妻一区二区三区无码av | 国产欧美精品xxxx另类| 亚洲无码久久久久| 国产一区二区三区四区五区入口 | 亚洲午夜免费| 亚洲电影免费观看| brazzers精品成人一区| 日韩大片在线| 欧美日韩xxxxx| 欧美毛片在线观看| 最新日韩av| 国产激情视频一区| 国产又大又黄又爽| 成人免费看黄yyy456| 日韩欧美一区二区三区四区五区| 巨大荫蒂视频欧美另类大| 亚洲综合免费观看高清完整版在线| 免费看欧美黑人毛片| 成年美女黄网站色大片不卡| 欧美日韩国产在线观看| 中文字幕人妻熟女在线| 国产亚洲电影| 欧美成人激情视频| 天天操夜夜操视频| 韩国欧美一区二区| 欧美精品二区三区四区免费看视频 | 精品日韩一区二区| 少妇精品一区二区三区| 欧美高清视频手机在在线| 欧美国产日韩在线| 五月天中文字幕| 国产成人精品综合在线观看| 日韩av一区二区三区在线观看| 亚洲性图自拍| 欧美主播一区二区三区美女| 亚州av综合色区无码一区| 欧美黄在线观看| 成人观看高清在线观看免费| 婷婷视频在线观看| 亚洲精品中文在线影院| 欧美日韩一区二区在线免费观看| 国产精品美女久久久久人| 日韩精品在线免费播放| 四虎免费在线视频| 久久超级碰视频| 区一区二区三区中文字幕| 在线三级中文| 欧美久久久久久久久| 先锋影音av在线| 国产精品老牛| 国产精品日韩欧美一区二区三区 | 欧美丰满片xxx777| 一道本无吗一区| 国产人成亚洲第一网站在线播放 | gogo在线高清视频| 欧美日韩亚洲另类| 中文字幕在线看高清电影| 伊人久久大香线蕉av超碰演员| 成人国产精品一区二区| 国产免费av在线| 欧美性猛交xxxx黑人猛交| 又黄又色的网站| 女人色偷偷aa久久天堂| 成人欧美一区二区三区在线湿哒哒| 国产最新视频在线观看| 天天色天天爱天天射综合| 国产精品探花在线播放| 日韩1区2区| 91人成网站www| 欧美r级在线| 欧美日韩一区二区在线观看视频 | 91麻豆视频网站| 日韩五码在线观看| a看欧美黄色女同性恋| 久久久999精品视频| 国产精品玖玖玖| 最好看的中文字幕久久| 97超碰人人爽| 外国成人免费视频| 亚洲va国产va天堂va久久| 麻豆网站在线看| 88在线观看91蜜桃国自产| 国产精品久久国产精麻豆96堂| 日韩av一二三| 亚洲欧美一区二区原创| 99精品视频在线免费播放| 久久久久www| www精品国产| 精品久久久久久久久久ntr影视| 日批视频在线看| 欧美视频日韩| 久久精品日韩精品| 国产成人午夜性a一级毛片| 搡老女人一区二区三区视频tv| 亚洲性猛交富婆| 国产精品大尺度| 天堂在线一区二区三区| 自产国语精品视频| 国产精品一区二区三区不卡| 色在线视频观看| 亚洲最新av在线| 国产又黄又大又爽| 亚洲国产精品嫩草影院| 特大黑人巨人吊xxxx| 鲁大师成人一区二区三区| 日本一区不卡| 精品一区视频| 欧美亚洲日本黄色| 在线中文资源天堂| 精品久久免费看| 亚洲免费黄色网址| 国产精品久久二区二区| 久久无码专区国产精品s| 日韩午夜av| 亚洲精品影院| 国产精品对白久久久久粗| 日韩av电影免费观看高清| 免费网站成人| 精品精品欲导航| 国产一区二区在线视频观看| 亚洲mv在线观看| 久久久免费看片| 国产福利精品导航| 不卡av免费在线| 亚洲一本视频| 亚洲图片欧洲图片日韩av| 成人盗摄视频| 国产一区二区香蕉| 手机av在线| 另类天堂视频在线观看| 四虎在线免费观看| 欧美一二区视频| 精品处破女学生| 中文字幕乱码日本亚洲一区二区| 国产精品一区二区无码对白| 毛片av一区二区| 波多野结衣50连登视频| 欧美福利专区| 亚洲高清资源综合久久精品| 国产精品成人自拍| 亚洲v日韩v综合v精品v| 欧美日韩五区| 97成人精品视频在线观看| 成人精品一区二区三区免费| 日韩欧美国产高清| 在线免费观看一级片| 欧美日韩国产精品| 欧美成人黄色网| 国产精品国产a| 中文字幕成人动漫| 97久久精品人人做人人爽50路| 亚洲成人手机在线观看| 奇米一区二区三区av| 色欲av无码一区二区人妻| 狠狠干综合网| 色中文字幕在线观看| 色综合咪咪久久网| 亚洲 国产 欧美一区| 香蕉久久精品日日躁夜夜躁| 国产精品久久波多野结衣| 天堂精品在线视频| 91欧美精品午夜性色福利在线| 成人在线网站| 日本久久久a级免费| 激情国产在线| 97久久精品国产| 精品176二区| 日韩一区二区三区xxxx| 92国产在线视频| 在线观看欧美日韩| 国产露出视频在线观看| 亚洲色图50p| 黄色片在线看| 中文日韩在线观看| 成年人免费在线视频| 国产一区二区欧美日韩| 国产永久av在线| 亚洲视频国产视频| 男女av在线| 亚洲天堂一区二区三区| 国产毛片av在线| 色yeye香蕉凹凸一区二区av| 自拍视频在线网| 超在线视频97| av中文在线资源库| 2020欧美日韩在线视频| 欧美电影免费观看高清完整| 国产成人精品免费久久久久| 日日夜夜天天综合| 成人黄色免费在线观看| 久久久久毛片免费观看| 成人免费看片网站| 精品少妇一区| 日韩av图片| 国产一区二区精品福利地址| 亚洲国产日韩美| 欧美视频亚洲视频| 久久久精品在线视频| 日本欧美韩国一区三区| 日本中文字幕观看| 粉嫩一区二区三区性色av| 国产又黄又粗又猛又爽的视频| 91在线一区二区| 麻豆精品国产免费| 亚洲国产欧美在线| 丁香社区五月天| 911精品国产一区二区在线| 黄色三级网站在线观看| 亚洲精品视频在线观看视频| av电影在线观看| 九九精品在线视频| 亚洲精品国产精品国产| 国产成人+综合亚洲+天堂| 久久亚洲精品人成综合网| 国产经品一区二区| 国产欧美日韩精品一区二区免费 | 国内久久精品视频| 韩国三级丰满少妇高潮| 99热精品一区二区| 亚洲国产精品一区二区久久hs| 一区二区三区在线观看欧美| 精品成人av一区二区在线播放| 欧美午夜一区二区三区免费大片| 成人av无码一区二区三区| 亚洲欧美激情精品一区二区| www视频在线看| 国产精品va在线播放| 一区二区三区四区视频免费观看| 免费一区二区三区| 99久久精品费精品国产| 北条麻妃在线视频观看| 久久99最新地址| 欧产日产国产精品98| 中文字幕在线一区二区三区| 亚欧视频在线观看| 欧美丰满少妇xxxbbb| 欧美精品久久久久久久久久丰满| 超碰精品一区二区三区乱码| 亚洲精品国产嫩草在线观看| 国产精品久久亚洲| 婷婷激情综合| 波多野结衣家庭教师在线| 成人免费视频网站在线观看| 顶级黑人搡bbw搡bbbb搡| 黑人与娇小精品av专区| 亚洲欧美激情另类| 美女av一区二区三区| 欧美xnxx| 青青草原亚洲| 午夜亚洲性色视频| www激情五月| 亚洲国产精品二十页| 免费看日批视频| 亚洲精品国产综合久久| 欧洲中文在线| 91在线中文字幕| 五月久久久综合一区二区小说| 99热成人精品热久久66| 99久久免费视频.com| 日韩精品手机在线| 亚洲а∨天堂久久精品9966| av网站导航在线观看免费| 成人有码在线视频| 欧美成人自拍| 亚洲精品自拍网| 欧美国产精品专区| 国产美女www爽爽爽| 亚洲国产中文字幕在线观看| 蜜桃成人365av| dy888夜精品国产专区| 中文字幕一区二区三三| 精品国产午夜福利在线观看| 成人免费在线视频| 一区二区三区黄| 日韩中文字幕在线免费观看| 成人一级视频| 中文字幕一区二区三区四区五区| 日韩精品久久久久久| 国产成人在线网址| 欧美精品 日韩| 成人日韩欧美| 999日本视频| 1024成人| 黄色a一级视频| 日本韩国一区二区| 欧美videos极品另类| 亚洲free性xxxx护士hd| 狠狠噜噜久久| 亚洲专区区免费| 91国内精品野花午夜精品| a天堂中文在线88| 99国产超薄丝袜足j在线观看| 国产日韩1区| 国产伦精品一区二区三区视频女| 欧美性感一类影片在线播放| 欧美一区二区三区| 韩国成人一区| 丝袜诱惑亚洲看片| 欧美xxxooo| 亚洲第一区第一页| 黑人巨大精品| 手机福利在线视频| 成人在线一区二区三区| 天天天天天天天干| 九九精品在线视频| 色棕色天天综合网| 欧美日韩理论片| 欧美日韩国产一区二区三区|