大多数浏览器和
Developer App 均支持流媒体播放。
-
Endpoint Security 的新功能
了解如何构建可靠的 Endpoint Security 产品,如适用于 macOS 的杀毒软件、端点检测和响应,以及信息泄露防范解决方案等。我们将介绍 Endpoint Security API 的最新优化:学习如何在您的 App 中支持更多安全事件,并使用高级静音功能。我们还将探索一种独立工具,帮助您通过命令行执行内检操作。
资源
相关视频
WWDC20
WWDC19
-
下载
♪ 柔和乐器演奏的嘻哈音乐 ♪ ♪ 嗨 我的名字叫 Daniel 我在安全工程 和架构团队工作 我将为您带来 Endpoint Security 的最新信息 Endpoint Security 是 我们提供的一个 API 您可以通过它为 Mac 构建安全产品 它是一个 C API 为第三方防病毒软件 端点检测和响应 (EDR) 工具 和数据泄露防护解决方案 提供了丰富的安全事件流 我们首先在 macOS Catalina 中 引入了 Endpoint Security 替代已弃用的 KAuth KPI 不受支持的 MAC Kernel 框架 及已弃用的 OpenBSM 审计跟踪 我们在 Endpoint Security API 中 提供此功能 您就无需再开发内核扩展 Endpoint Security 的引入 取得了巨大的成功 我们很高兴能收到的积极反馈 也对其能支持安全产品感到激动 有关 Endpoint Security 的介绍 请参考 WWDC 2020 讲座 “构建 Endpoint Security App” 在本讲座中 我们将介绍 macOS Ventura 中添加的新事件 静音功能的改进 以及名为 eslogger 的新工具 让我们从新事件开始介绍 到 macOS Monterey 为止 Endpoint Security 支持 一百多种事件类型 截至目前 这些事件都集中在 内核中发生的关键事件上 例如分叉进程或打开文件 在 macOS Ventura 中 我们正在扩展可观察事件集 以包括在用户空间中发生的 安全相关事件 具体来说 我们正在为身份验证 登录和注销 以及“门禁”的 XProtect 增加可见性 新的身份验证事件涵盖了 用户向操作系统进行身份验证的情况 包括登录本地用户帐户 以及在其他情况下进行身份验证 例如以管理员身份授权操作 这些事件通常由 希望观察可疑访问模式的 安全产品使用 以前 如果您想观察身份验证事件 您仍须依赖已弃用的 OpenBSM 审计跟踪 来执行此操作 现在就不需要了 与具有类似作用的审计工具相比 这些新事件具有更丰富的信息 并且还提供了使用 Apple Watch 进行自动解锁的可见性 而审计工具并没有提供此功能 同样 我们正在增加 用户会话的可见性 登录事件包括 某人或某物登录系统的情况 无论是在控制台本地登录 还是通过某种受支持的远程访问方式 远程登录 这些事件远远超出了 OpenBSM 审计跟踪 所涵盖的范围 它们使您能够更全面地观察 对系统的访问 包括跨企业系统的横向移动 “门禁”的任务包括检测和阻止 已知的恶意软件 从 macOS Ventura 开始 Endpoint Security 将提供 对恶意软件检测 以及为阻止和删除恶意软件 而采取的措施的可见性 这些信息以前无法以结构化方式获得 而现在可以通过 Endpoint Security API 提供 我们希望大多数 Endpoint Security 客户端 有了这些新增功能后就不需要 依赖已弃用的 OpenBSM 审计跟踪 该功能弃用于从 macOS Big Sur 并将在 macOS 未来的版本中删除 下面我们讨论静音功能 从 macOS Catalina 开始 我们支持 通过审计令牌或可执行映像路径 对进程进行静音 静音是我们为您提供的一个重要工具 可用来防止死锁 卡顿和看门狗超时 并管理基于 Endpoint Security 的 解决方案的 性能影响 在去年推出的 macOS Monterey 中 我们开始解决系统不稳定的常见原因 解决方法是在默认情况下 为一小组可执行路径 静音某些事件类型 您可以自由取消静音 但为了系统稳定 我们建议您保持静音 在 macOS Ventura 中 我们通过引入基于目标路径的静音 进一步改进了静音功能 对于许多现实世界的使用案例 其让静音 达到类 Scalpel 的精确度 对于 App 不想接收的 与某些路径或路径前缀相关的 文件事件 您现在可以进行静音处理 这显示了当您对日志文件事件 不感兴趣时 如何将目标路径在 /var/log 下的 所有事件静音 第二个例子展示了如何使用 es_mute_path_events 仅将静音写入到 /dev/null 等单个文件的事件 另外 我们还提供了 反转静音逻辑的可能性 我们现在允许您反转 这三种静音类型中的任何一种 而不是根据指定的进程 可执行路径或目标路径 抑制事件 实际上 您现在可以选择您感兴趣的 进程 可执行路径或目标路径 只接收与您已静音的任何内容 匹配的事件 而非不匹配的事件 例如 现在允许您 仅为某些持久性位置选择文件事件 以下是使用 es_invert_muting 为目标路径反转静音的方法 下面您将从静音集 删除之前存在的目标路径 然后仅选择具有您感兴趣的 目标路径前缀的事件 我们希望这可以大大改进静音策略 最终 让基于 Endpoint Security 的产品 更轻松地提供出色的用户体验 最后 我们来介绍 eslogger 用户向我们提出了许多请求 他们希望能够 提供 Endpoint Security 事件 而无需编写本机客户端 从 macOS Ventura 开始 您将能够 通过一个命令行工具来利用 Endpoint Security 的强大功能 该工具对操作系统进行了深入的洞察 eslogger 针对特定事件 使用 Endpoint Security 事件流 并将 JSON 格式的事件数据发送到 标准输出或统一的日志系统 数据的结构就像本机客户端使用的 C 表示法 eslogger 支持 Endpoint Security 在 macOS Ventura 中支持的 所有 80 个 NOTIFY 事件 我们希望 eslogger 不仅对 使用 Endpoint Security 客户端 的工程师有用 而且对需要观察 macOS 上的安全相关事件 的安全分析师和其他安全从业者 也有用
eslogger 随 OS 一起提供并且已获得 使用 Endpoint Security 的授权 与所有 Endpoint Security 客户端一样 eslogger 必须以超级用户身份运行 并要求用户已授权 负责全盘访问的进程 例如 Terminal.app 或 SSH eslogger 不是为 App 使用而设计的 其输出可能会因软件更新而发生变化 其目的既不是提供 与 Endpoint Security API 本机接口相同的性能特征 也不是提供相同的功能集 App 将继续使用本机接口 在澄清这些问题之后 让我们使用 eslogger 来探索一些新事件 通过订阅 openssh_login 和 _logout 事件 并将输出重定向到某个文件 我将使用 eslogger 记录 SSH 会话的开始和结束
现在 在这个不同的选项卡中 我使用 SSH 在本地登录并再次注销
回到第一个选项卡 我正在中断 eslogger
让我们看一下原始 JSON 形式的 Endpoint Security 事件数据 您很可能有自己喜欢的 JSON 数据使用方式 在这里 我将使用 jq 进一步检查事件
这有很多信息 我将探索一些有趣的字段 与所有 Endpoint Security 事件 一样 我们拥有发出这些事件的进程的 相关信息
我们可以看到 这两个事件 都是由 SSH 守护进程发出的 我们还可以检查审计令牌等信息 以收集发出这些事件的 进程的 PID
最后 让我们看一下这些事件的 特定字段 我们可以看到这是一次成功的 SSH 登录 先进入我的用户帐户 然后注销 我喜欢能以这种方式看到 Endpoint Security 事件 无论我是想观察恶意软件的行为 还是只想快速构建检测方法的原型 似乎都可以 我们期待看到 您在安全解决方案上 充分利用这些新事件 和优化过的静音功能 感谢您参加 WWDC ♪
-
-
4:29 - Target path muting
// Mute events operating on /var/log es_mute_path(client, "/private/var/log", ES_MUTE_PATH_TYPE_TARGET_PREFIX) // Mute write events to /dev/null var events = [ ES_EVENT_TYPE_NOTIFY_WRITE ] es_mute_path_events(client, "/dev/null", ES_MUTE_PATH_TYPE_TARGET_LITERAL, &events, events.count)
-
5:08 - Mute inversion
// Invert muting for target paths es_invert_muting(client, ES_MUTE_INVERSION_TYPE_TARGET_PATH) // Select only events pertaining to /Library/LaunchDaemons es_unmute_all_target_paths(client) es_mute_path(client, "/Library/LaunchDaemons", ES_MUTE_PATH_TYPE_TARGET_PREFIX)
-
8:08 - Use eslogger to observe ssh login and logout events
sudo eslogger openssh_login openssh_logout >out.jsonl
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。