• 用于在 Windows 中监控 SDK 完整性和监管链的桌面实用程序(检查哈希值、Authenticode、SBOM)

    14 小时 前
    • 所需预算高达 650.47 USD
    • 等待表演者...
  • 初始情况
    Windows 开发团队使用一组内部 SDK 和 CLI 实用程序,它们以 ZIP/MSI 形式分发,并且经常更新。目前,完整性检查是使用 Wiki 注释手动完成的,这就是为什么未签名或修改的二进制文件以及没有透明内容的“丢失”版本会定期出现在构建中。

    技术环境和学科领域
    - Windows 10/11 x64
    - .NET 8 Desktop(WPF 或 WinUI 3)或 C++/Qt - 可供选择,但结果必须是带有安装程序的现成桌面程序
    - 存储库/工件:本地文件夹、网络共享 (UNC) 以及下载的 ZIP/MSI
    - 验证:SHA-256/SHA-512、Authenticode (WinVerifyTrust)、基本证书链验证、基于包内容的 SBOM 集合(CycloneDX 或 SPDX)

    需要做什么(几个步骤)
    1)交付格式及规则分析
    - 输入包括 10-15 个标准包 (ZIP/MSI) 以及表格形式的当前规则示例(预期文件、掩码、版本、签名要求)
    - 有必要澄清和修复应用程序配置中的规则方案:有效名称/掩码、所需文件、有效证书颁发者、最低版本、例外

    2)桌面应用程序的开发
    - 应用程序选择源(文件夹/UNC/ZIP/MSI 文件),将其解压到临时区域,构建文件树并执行检查
    - 生成两种类型的报告:人类可读(PDF 或 HTML 文件)和机器可读(JSON)
    - 支持带有切换的规则配置文件(例如 Dev/CI/Release)
    - 具有“比较两个包”模式 - 显示文件、哈希值、签名和版本的差异

    3)检查的实施
    - 每个文件的哈希值并与标准进行比较(如果指定了)
    - PE 文件的验证码检查:签名状态、颁发者、签名时的证书有效期、时间戳(如果有)
    - 对于未签名的文件或有签名错误的文件 - 包含原因的单独列表
    - 通过 FileVersionInfo 检查 EXE/DLL 的版本并与规则进行比较
    - SBOM:生成带有元数据的文件列表(路径、大小、哈希、版本(如果适用)),打包到 CycloneDX/SPDX JSON 中;允许使用简化版本,无需进行依赖性分析,但在文件/包级别具有正确的架构和组件标识符

    4) 包装及发货
    - 构建现成的安装程序(MSIX 或 MSI/WiX,或 Squirrel - 您的选择)和便携式版本
    - 诊断日志(日志文件)和清除错误消息
    - 关于如何添加/更改规则以及如何运行检查的简短说明(俄语自述文件)

    限制
    - 一切都应该离线工作,无需外部云服务
    - 您不能要求用户安装大量依赖项(如果选择了 .NET,则标准 .NET 桌面运行时除外)
    - 对于最大 3 GB 的包和 50,000 个文件,在 i7/16GB/SSD PC 上检查应花费 7 分钟,并应显示进度
    - 即使出现错误,临时文件也会自动清除

    可衡量的验收标准
    - 在提供的测试包上,应用程序在重复运行时产生相同的结果,JSON 报告有效并与商定的架构匹配
    - 对于5种预先准备的情况(已签名文件、未签名、使用过期证书签名且没有时间戳、签名带有时间戳、文件版本错误),应用程序正确分类状态并在报告中反映原因
    - 比较两个包的模式显示最小值:添加/删除/更改的文件、哈希更改、签名状态更改、版本更改
    - 安装程序安装和删除应用程序没有垃圾,便携式版本无需安装即可运行

    将提供什么
    - 一组测试 ZIP/MSI(通过链接/存档)、当前规则表、可信发布者列表、预期报告示例(任何形式)

    预期结果
    适用于 Windows 的现成桌面程序、源代码、规则配置、安装程序和可移植程序集,以及用于检查逻辑的最小自动测试集(至少用于解析规则和对签名状态进行分类的单元测试)。
  • How would you rate this task?

    Sign in to leave your rating.

    Total ratings: 0

您的报价

您尚未提交此订单的报价。
点击“提交报价”发送您的报价。

需要类似的任务吗?

如果该项目接近您的需求,您可以查看该类别中的现成服务或发布您自己的任务以及所需的预算、截止日期和要求。

“用于在 Windows 中监控 SDK 权限和监管链的桌面实用程序(检查哈希值、Authenticode、SBOM)”项目可以作为您自己简述的参考:应该做什么、需要什么结果以及设定什么预算。