网站后台换图片,做网站域名的成本,机关网站建设建议,贵城乡建设官方网站作者#xff1a;来着 Elastic Aaron Jewitt 当你的 CISO 询问你的任何工作站上是否安装过特定的浏览器扩展时#xff0c;你多快能得到正确答案#xff1f;恶意浏览器扩展是一个重大威胁#xff0c;许多组织无法管理或检测。这篇博文探讨了 Elastic Infosec 团队如何使用 os…作者来着 Elastic Aaron Jewitt 当你的 CISO 询问你的任何工作站上是否安装过特定的浏览器扩展时你多快能得到正确答案恶意浏览器扩展是一个重大威胁许多组织无法管理或检测。这篇博文探讨了 Elastic Infosec 团队如何使用 osquery 和 Elastic Stack 创建所有浏览器扩展和检测规则的实时清单以及如何在工作站有已知的受损浏览器扩展时通知团队。该解决方案完全使用 osquery、Elastic Defend 集成和 Elastic Stack 中的 SIEM 功能构建。 针对浏览器扩展的威胁行为者
威胁行为者越来越关注针对浏览器扩展程序来窃取信息或危害用户甚至一些威胁行为者直接针对合法扩展程序的开发人员目的是添加恶意代码。
有了足够的权限浏览器扩展程序就可以查看或更改你使用浏览器访问的任何网站上的任何信息并收集传递给网站的敏感信息例如用户名、密码或银行帐户信息。扩展程序可以访问并窃取任何网站存储的身份验证令牌。他们甚至可以改变网站内容通过社会工程手段诱使用户下载恶意软件到他们的工作站比如改变链接的目的地。 业务挑战
管理企业中的浏览器扩展带来了一些复杂的挑战。
扩展程序是根据浏览器内的配置文件进行安装的。工作站上的每个用户帐户可以在每个浏览器中拥有多个不同的配置文件例如个人配置文件和工作配置文件。通常工作站会具有五个或更多不同的用户配置文件 — — 每个配置文件都有自己安装的一组扩展。
有一些选项例如托管浏览器可以通过创建扩展的允许或阻止列表来控制公司配置文件的安装扩展但这些解决方案不会管理这些工作站上的非公司配置文件。如果用户从个人资料登录工作系统公司工作站上的个人浏览器扩展仍然会给你的公司带来风险。另一个风险情况是个人扩展程序可能会动态更改点击链接的目的地导致用户将恶意文件下载到其工作系统中。 在 Kibana 中部署和管理 osquery
osquery 是一个开源代理适用于几乎所有现代操作系统OS。它将每个操作系统视为一个关系数据库其中包含表你可以查询这些表来收集有关系统当前状态的信息。你可以查询模式中的 200 多个表以获取信息例如正在运行的进程已安装的浏览器扩展 Python 库装载了docker容器加载内核模块打开网络连接连接的 USB 设备等等。
在 Elastic我们使用自己的 XDR 功能保护所有工作站其中包括将 Elastic Agent 部署到所有工作站以进行分布式保护和响应。 Elastic Security 的一大优势是能够使用 Kibana 中的 Osquery Manager 集成轻松地将 osquery 部署到你的端点并进行管理。 osquery 集成包含在基本许可证中 —— 在你的代理群中部署它无需额外的许可费用。
更多有关 osquery 的阅读请参阅文章 Securityosquery 介绍 Elasticsearch使用 osquery 和 Elastic Stack 来监控你的端点 使用 osquery 和 Elastic 的优势
Elastic Defend 和其他端点检测和响应 (EDR) 代理可以从工作站传输实时进程、网络和文件日志。但是这些审计日志无法告诉你有关操作系统状态的所有信息例如已安装的浏览器扩展。这就是 osquery 的用武之地。它让我们捕获工作站当前状态的快照以便我们知道用户拥有哪些 Chrome 扩展程序。
只需在 Kibana 中单击几下你就可以将 osquery 部署到所有工作站并直接在 Elastic Stack 中管理和查看查询 - 使用 Kibana 管理 osquery 时不需要额外的基础设施。将 osquery 与 Elastic 结合使用的另一个优点是所有查询的结果都会立即被纳入 Elasticsearch 索引中并可用于各种用例。将结果导入到你的 Elastic Stack 中还可以为你提供查询的历史时间线你可以使用该时间线查看系统在一段时间内硬件和软件发生的更改。
有关在 Elastic 中使用 osquery 的更多信息请查看 osquery 文档指南。 在 Elastic 中使用 osquery
在 osquery 中有两种方式运行查询 - 立即作为实时查询或作为 osquery 所称的查询包的定期调度的查询组的一部分。 实时查询 - Live query
实时查询将针对一个或多个主机运行单个查询。实时查询是在测试期间构建和优化查询或在调查期间寻找特定指标的好方法。在 Elastic 中选择运行实时查询的主机时你可以单独选择主机、按队列策略选择所有主机或按操作系统选择。如果在运行实时查询时代理处于离线状态则如果代理在接下来的 60 分钟内上线它将保持排队状态否则将被清除。 Elastic 版本的 osquery 的一个功能是保存的查询。此功能可以轻松地预先配置常用的复杂查询然后其他团队成员可以使用这些查询。 查询包 - Query pack
查询包是计划以不同间隔运行的预配置查询的集合。包中的每个查询都可以指定它将在哪个操作系统平台上运行因此单个包可以在具有多个操作系统的策略上安全地使用。查询包可以作为 .json 文件导出和导入以便你在 Kibana 中快速添加包。 osqery 提供了一些示例包供你使用或者你可以尝试我们用来清点浏览器扩展的 browser_monitoring 包。 使用 osquery 创建所有扩展的清单
Elastic Infosec 团队已将 browser_monitoring 包配置为我们所有工作站上每六小时运行一次以创建所有浏览器扩展的清单。我们每六个小时运行一次查询因为 Elastic 是一家全球分布的公司我们无法预测用户的工作时间。 browser_monitoring 查询包 由于多个用户配置文件带来的复杂性收集浏览器扩展信息的查询需要 JOIN 运算符将 users 表连接到扩展表。 JOIN 运算符将使用两个表中都存在的公共字段将两个表组合在一起。在这种情况下它是用户 ID uid 字段。
SELECT * FROM users JOIN chrome_extensions USING (uid)还可以直接在 osquery UI 中查看包查询的结果并通过链接在 Kibana Discover 或 Lens 中打开每个查询的结果。 browser_monitoring 结果视图 所有查询的结果都直接存储到 logs-osquery_manager.result* 索引模式中。可以使用 action.id 字段找到计划包查询的结果。对于打包结果该字段遵循 pack_{pack_name}_{query_name} 的命名约定。我们正在使用一个名为 browser-monitoring 的包和一个名为 chrome_extensions 的查询。要查看此查询的结果你可以查询action_id“pack_browser-monitoring_chrome_extensions”。
在 Discover 中查看 osquery 的结果时你将看到 osquery 模式表中的每个字段都使用 osquery.* 字段名进行索引。在查看有关 Chrome 扩展程序的信息时我们最常用的字段是 osquery.identifier、osquery.name、osquery.permissions、osquery.profile 和 osquery.version。 示例查询结果 以下是 chrome_extension 查询响应中可用字段的完整列表
osquery.identifier 是每个扩展的唯一标识符。通过此标识符你可以在 Google Chrome 网上应用店中找到该扩展程序或者使用 Secure Annex 或 crxaminer.tech 等服务查找该扩展程序的信誉分数。osquery.name 是 Chrome 网上应用店和浏览器中显示的扩展程序的名称。osquery.profile 是安装该扩展程序的 Google Chrome 配置文件。用户在单用户帐户中拥有多个不同的 Chrome 配置文件是很常见的。osquery.permissions 是授予扩展的权限。该字段可用于过滤被授予危险权限的扩展例如查看或修改每个网站的请求的权限。密切关注任何具有权限的扩展例如 https://*/* 它授予扩展对你访问的每个 https 网站的访问权限。osquery.version 是扩展的安装版本。在某些情况下扩展程序可能有一个你想要删除的受损版本。osquery.update_url 是扩展用来检查任何更新的 url。如果此值不是标准更新路径 https://clients2.google.com/service/update2/crx则表示扩展已被 “sideloaded - 侧载” 或以标准网络商店以外的某种方式安装应进行调查。
另一个非常重要的 osquery 表是 chrome_extension_content_scripts。该表包含有关扩展所使用的每个 javascript 文件的信息。如果发现主机上存在受到感染的扩展则可以使用该表中的 osquery.path、osquery.match 和 osquery.script 字段来查找扩展运行的每个脚本的完整路径。利用这些信息你可以使用 Elastic Defend 的响应操作功能下载这些文件进行离线分析。 创建不良扩展的检测规则
现在你已拥有所有浏览器扩展的实时清单你可以构建检测。最直接的检测方法是针对已知的坏扩展进行检测。已知的不良扩展列表可能来自包含已知标识符和版本的威胁情报threat intelligence报告。在这个例子中我们将使用最近报道的 Cyberhaven 扩展入侵活动的威胁情报。报告底部是指向 IOC 集合的链接其中包含已知恶意扩展的名称、ID 和版本。
NameIDVersionVPNCitynnpnnpemnckcfdebeekibpiijlicmpom2.0.1Parrot Talkskkodiihpgodmdankclfibbiphjkfdenh1.16.2Uvoiceoaikpkmjciadfpddlpjjdapglcihgdle1.0.12Internxt VPNdpggmcodlahmljkhlmpgpdcffdaoccni1.1.1Bookmark Favicon Changeracmfnomgphggonodopogfbmkneepfgnh4.00Castorusmnhffkhmpnefgklngfmlndmkimimbphc4.40Wayin AIcedgndijpacnfbdggppddacngjfdkaca0.0.11Search Copilot AI Assistant for Chromebbdnohkpnbkdkmnkddobeafboooinpla1.0.1VidHelper - Video Downloaderegmennebgadmncfjafcemlecimkepcle2.2.7AI Assistant - ChatGPT and Gemini for Chromebibjgkidgpfbblifamdlkdlhgihmfohh0.1.3TinaMind - The GPT-4o-powered AI Assistant!befflofjcniongenjmbkgkoljhgliihe2.13.0Bard AI chatpkgciiiancapdlpcbppfkmeaieppikkk1.3.7Reader Modellimhhconnjiflfimocjggfjdlmlhblm1.5.7Primus (prev. PADO)oeiomhmbaapihbilkfkhmlajkeegnjhe3.18.0Tackker - online keylogger toolekpkdmohpdnebfedjjfklhpefgpgaaji1.3AI Shop Buddyepikoohpebngmakjinphfiagogjcnddm2.7.3Sort by Oldestmiglaibdlgminlepgeifekifakochlka1.4.5Rewards Search Automatoreanofdhdfbcalhflpbdipkjjkoimeeod1.4.9Earny - Up to 20% Cash Backogbhbgkiojdollpjbhbamafmedkeockb1.8.1ChatGPT Assistant - Smart Searchbgejafhieobnfpjlpcjjggoboebonfcg1.1.1Keyboard History Recorderigbodamhgjohafcenbcljfegbipdfjpk2.3Email Huntermbindhfolmpijhodmgkloeeppmkhpmhc1.44Visual Effects for Google Meethodiladlefdpcbemnbbcpclbmknkiaem3.1.3Cyberhaven security extension V3pajkjnmeojmbapicmbpliphjmcekeaac24.10.4GraphQL Network Inspectorndlbedplllcgconngcnfmkadhokfaaln2.22.6GPT 4 Summary with OpenAIepdjhgbipjpbbhoccdeipghoihibnfja1.4Vidnoz Flex - Video recorder Video sharecplhlgabfijoiabgkigdafklbhhdkahj1.0.161YesCaptcha assistantjiofmdifioeejeilfkpegipdjiopiekl1.1.61Proxy SwitchyOmega (V3)hihblcmlaaademjlakdpicchbjnnnkbo3.0.2ChatGPT Applbneaaedflankmgmfbmaplggbmjjmbae1.3.8Web Mirroreaijffijbobmnonfhilihbejadplhddo2.4Hi AIhmiaoahjllhfgebflooeeefeiafpkfde1.0.0
使用此 IOC 列表有两种不同的方法来构建检测。最简单的方法是使用这些 ID 和版本值来构建单个大型 Elasticsearch 查询该查询查看 osquery 数据中任何这些扩展标识符和版本并使用 OR 运算符链接在一起。例如
action_id: pack_browser-monitoring_chrome_extensions AND ((osquery.identifier: nnpnnpemnckcfdebeekibpiijlicmpom AND osquery.version: 2.0.1)
OR(osquery.identifier: kkodiihpgodmdankclfibbiphjkfdenh AND osquery.version: 1.16.2)
OR(osquery.identifier: oaikpkmjciadfpddlpjjdapglcihgdle AND osquery.version: 1.0.12)
)
如果你使用我们的其中一种威胁情报集成threat intelligence integrations将威胁情报源提取到你的 Elastic Stack则可以使用指标匹配规则类型indicator match rule type创建此规则的更动态版本。指标匹配规则比较两个不同索引模式中的字段当这些字段匹配时会触发警报。如果你的威胁源支持 Google Chrome 扩展程序 ID 和版本则可以创建一个指示器匹配规则当已安装的 Chrome 扩展程序 ID 和版本与已知的恶意扩展程序匹配时该规则会向你发出警报。
以下是指标匹配规则的示例配置。指标索引字段名称将根据所使用的威胁情报平台而改变。 指标匹配规则配置示例 这种方法的优点是每次发布或更新新的已知不良扩展列表时不需要手动更新检测规则。一旦新的指标添加到你的威胁情报索引中你将立即收到警报。 尝试一下
威胁行为者将继续使用 Chrome 扩展程序来窃取有价值的信息和目标系统。如果你无法查看工作站上安装的扩展程序则无法保护用户免受此攻击媒介的侵害。使用 osquery 和 Elastic你可以管理和降低企业的整体风险并通过浏览器扩展的可见性和警报而无需额外的许可费用。
你可以免费试用 Elastic Cloud 14 天亲自尝试一下。 要查看浏览器扩展程序如何在实际攻击中使用的例子请查看《超越恐惧解构 Elastic Security Labs 的 BANSHEE 信息窃取程序》。 本文中描述的任何特性或功能的发布和时间均由 Elastic 自行决定。任何当前不可用的特性或功能可能无法按时交付或根本无法交付。 原文How to detect malicious browser extensions using Elastic | Elastic Blog