最近社會媒體報道Okta事件通過第三方承包商的安全團隊跑回到自己的日誌,並要求供應商像磚檢測和分析的建議。被Okta通知之前,我們沒有客戶的潛在的影響,我們使用了beplay体育app下载地址磚Lakehouse對我們的調查。我們想要展示我們進行調查和分享見解和技術細節。我們還將提供筆記本電腦,你可以導入數據磚部署或我們的community edition攝取Okta日誌,以便年底這個博客,您可以執行相同的分析你的公司。
背景
Okta是一個領先的基於雲的身份平台用於單點登錄(SSO)的身份驗證和授權,多因素身份驗證Beplay体育安卓版本、與客戶和用戶管理服務的企業或業務應用程序。beplay体育app下载地址
2022年1月,黑客獲得端點(用戶係統)由第三方組織擁有並經營Okta客戶提供支持服務。beplay体育app下载地址這些演員們可能能夠執行操作,如果他們的員工分配到端點。像大多數組織中,磚立即展開調查,分析幾年我們存儲在Lakehouse Okta數據。我們建立了我們自己的查詢,但是我們也發現巨大的價值在別人的帖子和tweet。
我們最喜歡的行業博客Cloudflare。兩個語句特別是共鳴我們的安全團隊:
“盡管Okta控製台日誌是可用的,我們也將它們存儲在我們自己的係統。這增加了一個額外的安全層,我們能夠存儲日誌的時間比在Okta控製台可用。Okta還確保達成妥協的平台不能改變我們已經收集和儲存證據。”Beplay体育安卓版本
由於這種方法,他們能夠“搜索
Okta係統日誌任何妥協的跡象(密碼更改、硬件令牌的變化等)。Cloudflare讀取係統Okta日誌每五分鍾和商店這些在我們SIEM如果我們要經曆一個這樣的事件,我們可以回顧Okta儀表板中提供的90天。”
圖1所示。從行業的文章引用Cloudflare
事件發生後,我們的許多客戶向我們伸出問磚可以幫助他們攝取和分析Okta係統日誌,答beplay体育app下载地址案絕對是肯定的!磚Lakehouse平台允許您存儲、處理和分析你的Beplay体育安卓版本數據在天平multi-petabyte,允許更長的保留和lookback時期和先進威脅檢測與數據科學和機器學習。更重要的是,你甚至可以查詢通過SIEM工具,提供了一個360的安全事件。
在這篇文章中,我們將演示如何集成Okta係統日誌與你的磚Lakehouse平台Beplay体育安卓版本,收集和監視他們。這種集成允許您的安全團隊更大的可視性應用程序和終端用戶的身份驗證和授權行為,並讓你尋找特定事件與最近Okta妥協。
如果你的目標是迅速開始,您可以跳過閱讀其他博客和使用這些筆記本電腦在自己的磚部署,指的是筆記本的每個部分的注釋如果你卡住。
請繼續讀下去的技術解釋集成和分析提供的筆記本。
Okta係統日誌
的Okta係統日誌記錄係統事件,有關您的組織提供一個審計跟蹤,可以用來了解平台活動和診斷問題。Beplay体育安卓版本Okta的係統日誌API提供接近實時的,隻讀訪問您的組織的係統日誌。這些日誌提供關鍵洞察用戶活動,由Okta分類事件類型。每個事件類型代表一個特定的活動(例如,登錄嚐試,密碼重置,創建一個新用戶)。你可以搜索事件類型和相關活動與其他Okta日誌屬性,如事件的結果(例如,成功或失敗),IP地址、用戶名、瀏覽器類型和地理位置。
有很多方法攝取Okta係統日誌事件到其他係統,但是我們正在使用係統日誌API獲取最新的係統日誌事件。
Okta Lakehouse架構係統日誌
磚Lakehouse是一個開放的體係結構,結合最好的湖泊和數據倉庫的數據元素。我們建議以下lakehouse網絡安全架構的工作負載,比如Okta係統日誌分析:
在下一節中,我們將介紹如何攝取Okta日誌監控活動在您的應用程序屬性。
攝取Okta係統登錄磚三角洲
後如果你在工作或家庭(或這些天經常)用這個筆記本,我們將使用三角洲湖批處理能力使用Okta攝取數據係統日誌API的三角洲表抓取命令日誌事件的列表從你Okta組織的係統日誌。我們將使用有界的請求請求類型(有界的情況下當你知道確切的時間框架的日誌你想檢索)。
請求是一個有界的請求,它必須符合下列請求參數標準:
有界的請求/ api / v1 /日誌
API有以下語義:
的性能,我們將使用一個自適應水印方法:我。e查詢過去72小時來尋找最新的攝取;如果我們不能找到一些時間框架內,然後我們重新查詢整個表找到最新的攝取。這是比每次查詢整個表。
- 步驟1:Okta係統日誌記錄係統活動相關的組織提供一個審計跟蹤,可以用來了解平台活動和診斷問題。Beplay体育安卓版本
- 步驟2:Okta係統日誌API提供接近實時的,隻讀訪問您的組織的係統日誌。
- 步驟3:您可以使用筆記本連接Okta提供係統日誌API和攝取記錄到磚三角洲自動以很短的間隔(可選,時間表為磚工作)。
- 步驟4:在這個博客,筆記本電腦提供,您可以使用數據進行分析。
- 返回的時間過濾的相關事件發表字段(與輪詢請求)。
- 返回的事件是保證根據出版領域。
- 他們有一個有限數目的頁麵。也就是說,不包含最後一頁下一個鏈接頭的關係。
- 並不是所有的事件指定時間範圍可能存在——事件可能被推遲。這種罕見但有可能延誤。
d=datetime.today ()- - - - - -timedelta(天=3)beginDate=d.strftime (“% Y - % - % d”)水印=sql(“從okta_demo選擇合並(max(出版))。okta_system_logs日期> = {0}”.format (beginDate))。第一個()(0]如果不水印:水印=sql(“選擇合並(max(出版))從okta_demo.okta_system_logs”)。第一個()(0]
圖3。Cmd 3”2。Okta_Ingest_Logs” notebook
我們將構建一個API請求如下使用Okta API的令牌,並分開記錄到個人JSON行
頭= {“授權”:“量”+牌}url = URL_BASE +“api / v1 /日誌?限製= "+str(限製)+“&sortOrder = ASCENDING&since = "+自r =請求。get (url,標題=標題)json = []jsons.extend ([json.dumps (x)為x在r.json ()))
圖4。Cmd 4”2。Okta_Ingest_Logs” notebook
將JSON dataframe行
df=(sc.parallelize ([行(recordJson=x)為x在json) .toDF ().withColumn(“記錄”,f.from_json (f.col (“recordJson”), okta_schema)).withColumn(“日期”,f.col (“record.published”)。投(“日期”)。選擇(“日期”,“。*”,“recordJson”,))
圖5。Cmd 4”2。Okta_Ingest_Logs” notebook
持續到三角洲表的記錄
df。寫\.option (“mergeSchema”,“真正的”)\。格式(“δ”)\.mode (“添加”)\.partitionBy (“日期”)\.save (STORAGE_PATH)
圖6。Cmd 4”2。Okta_Ingest_Logs” notebook
如上所示的Okta數據收集小於50行代碼以很短的間隔,您可以運行代碼自動調度它磚的工作。
Okta係統日誌現在在磚。讓我們做一些分析。
Okta分析係統日誌
對於我們的分析,我們將被指“係統日誌查詢試圖收購“知識內容,漂亮的人Okta連同他們的出版文檔。
Okta模擬會話搜索
據報道,這出現攻擊者破壞的端點為第三方支持員工更高的權限(如能力迫使一個Okta客戶帳戶的密碼重置)。客戶安全團隊可能希望開始尋找一些事件日誌Okta租戶妥協的任何跡象。
讓我們先從管理員的活動。這個查詢搜索模擬事件據報道失誤中使用美元的活動。User.session。模擬是罕見的事件,通常時觸發一個Okta支持的人請求管理員訪問故障排除,所以你可能不會看到很多。
選擇eventType。數(eventType)從okta_demo.okta_system_logs在哪裏日期> =日期(“2021-12-01”)和eventType在(“user.session.impersonation.initiate”,“user.session.impersonation.grant”,“user.session.impersonation.extend”,“user.session.impersonation.end”,“user.session.impersonation.revoke”)集團通過eventType
圖7。Cmd 4“3。Okta_Analytics” notebook
結果,如果你看到一個user.session.impersonation。在itiate event (triggered when a support staff impersonates an admin) but no user.session.impersonation.grant event (triggered when an admin grants access to support), that is cause for a concern! We provided a detailed query in the notebooks that detects “impersonation initiations” that are missing a corresponding “impersonation grant” or “impersonation end”. You can review user.session.impersonation events and correlate that with legitimate opened Okta support tickets to determine if these are anomalous. SeeOkta API事件類型對於文檔和Cloudflare的調查,2022年1月Okta妥協對於一個真實世界的場景。
Okta近期員工的MFA重置密碼或修改
現在,讓我們尋找任何員工賬戶密碼重置或修改他們多因素身份驗證(MFA) 12月1日以來以任何方式。事件類型在Okta幫助這個搜索:user.account。reset_password user.mfa.factor。更新、system.mfa.factor.deactivate user.mfa。attempt_bypass或user.mfa.factor.reset_all(你可以看看Okta文檔捕捉更多的事件分析根據需要)。我們正在尋找一個“演員。alternateId”(電子郵件保護)出現當Okta支持組織發起一個密碼重置。注意,盡管我們也尋找下麵的“更新密碼”事件,Okta代表的支持沒有更新密碼的能力——他們隻能重置。
選擇actor.alternateId,*從okta_demo.okta_system_logs在哪裏((eventType=“user.account.update_password”和actor.alternateId=”(電子郵件保護)”)或(eventType=“user.account.reset_password”和actor.alternateId=”(電子郵件保護)”)或eventType=“user.mfa.factor.update”或eventType=“system.mfa.factor.deactivate”或eventType=“user.mfa.attempt_bypass”或eventType=“user.mfa.factor.reset_all”)和日期> =日期(“2021-12-01”)
圖8。Cmd 8“3。Okta_Analytics” notebook
如果你看到這個查詢的結果,你可能Okta用戶帳戶,需要進一步的調查,特別是如果他們的特權或敏感的用戶。
MFA疲勞的襲擊
多因素身份驗證(MFA)是最有效的安全控製防止賬戶收購,但它並不是萬無一失的。據報道,這是濫用在美元Solarwinds妥協和失誤。這種技術被稱為MFA疲勞攻擊或MFA引發爆炸。之前,敵人使用偷來的用戶名和密碼登錄到一個帳戶保護推動MFA和觸發器許多推送通知受害者(通常是手機),直到他們的輪胎警報和批準請求。簡單!我們如何檢測這些攻擊呢?我們的靈感來自這篇博客由詹姆斯·布羅斯基在Okta地址。
選擇authenticationContext。externalSessionId externalSessionId actor.alternateId,最小值(發表)作為第一次,馬克斯(發表)作為lastTime,數(eventType)過濾器(在哪裏eventType=推動“system.push.send_factor_verify_push”),數(legacyEventType)過濾器(在哪裏legacyEventType=“core.user.factor.attempt_success”)作為成功,數(legacyEventType)過濾器(在哪裏legacyEventType=“core.user.factor.attempt_fail”)作為失敗,unix_timestamp (馬克斯(發表)- - - - - -unix_timestamp (最小值(發表)作為elapsetime從okta_demo.okta_system_logs在哪裏eventType=“system.push.send_factor_verify_push”或((legacyEventType=“core.user.factor.attempt_success”)和(debugContext.debugData就像“% OKTA_VERIFY_PUSH %”))或((legacyEventType=“core.user.factor.attempt_fail”)和(debugContext.debugData就像“% OKTA_VERIFY_PUSH %”))集團通過authenticationContext。externalSessionId, actor.alternateId有elapsetime0和推> =3和失敗> =1
圖9。Cmd 11“3。Okta_Analytics” notebook
這就是上麵的查詢查找:首先,它讀取MFA推送式通知事件及其匹配成功或失敗事件,每一個獨特的會話ID和用戶。然後計算時間登錄期間(僅限於10分鍾),並計算出推送通知發送的數量,以及推送通知的數量對積極和消極。然後它使簡單的決定根據返回結果的組合。如果超過三個把看到的,和一個成功的通知,那麼這可能是值得更多的調查。
建議
如果你是一個Okta客戶,我們建議接觸您的帳戶團隊為進一步的信息和指導。
我們還建議以下行為:
- 支持和加強MFA實現所有用戶帳戶。
- 在你的磚Lakehouse攝取和儲存Okta日誌。
- 調查並回複:
- 持續監測罕見support-initiated事件,如Okta模擬會議,使用磚工作。
- 監視可疑的密碼重置和MFA-related事件。
結論
在這篇文章您學習了是多麼容易攝取到磚Lakehouse Okta係統日誌。您還看到幾個例子來分析尋找Okta事件中妥協的跡象。請繼續關注更多的博文,構建更重視這個用例通過應用毫升和使用磚SQL。
我們邀請您登錄到自己的磚帳戶或磚社區版和運行這些筆記本。詳細請參考文檔說明進口要運行的筆記本。
我們期待著您的問題和建議。你可以到我們:(電子郵件保護)。也如果你好奇磚方法安全,請檢查我們安全與信任中心。
確認
感謝所有員工整個行業,在Okta,磚,誰一直在努力讓每個人都安全。