diff --git a/sig/TC/content/archive/20230728.md b/sig/TC/content/archive/topics/20230728.md similarity index 100% rename from sig/TC/content/archive/20230728.md rename to sig/TC/content/archive/topics/20230728.md diff --git a/sig/high-perf-network-sig/content/reports/2023/2023.09.md b/sig/high-perf-network-sig/content/reports/2023/2023.09.md new file mode 100644 index 0000000000000000000000000000000000000000..194c5dd9ad346f07aaec0f9e149a948e7fa80f90 --- /dev/null +++ b/sig/high-perf-network-sig/content/reports/2023/2023.09.md @@ -0,0 +1,44 @@ +# 整体进展 + +本月高性能网络 SIG 的主要工作聚焦在 ANCK 内核网络、SMC 和 virtio 上。 + +本月关键进展: + +1. SIG 本月与 IBM SMC 小组通过多次会议与邮件确定了 SMC-D 虚拟 ISM 设备支持所需的全部协议修改。此特性将作为 supplemental feature 进入 SMCv2.1 协议中。该特性将从 ANCK-016 开始提供 Experimental 的支持。 + +2. SIG 本月发起了新的 [virtio-net: support the RSS context](https://lists.oasis-open.org/archives/virtio-comment/202310/msg00099.html) 提案,用以支持 virtio 队列流量隔离需求;以及 [virtio-net: support distinguishing between partial and full checksum](https://lists.oasis-open.org/archives/virtio-comment/202310/msg00084.html) 提案,用于实现在加载 XDP 的同时保持设备的 checksum 卸载能力。目前处在上游讨论与 review 中。 + +# ANCK 内核网络 + +## 安全 + +本月网络方向共计修复 9 个 CVE,覆盖 sctp/sched/netfilter/tls/mpls 等模块,CVE 列表: + +CVE-2023-1074,CVE-2022-47929,CVE-2023-32233,CVE-2023-1075,CVE-2023-26545,CVE-2023-28466,CVE-2023-1380,CVE-2023-4563,CVE-2023-40283,CVE-2023-4128。 + +# SMC + +本月 SIG 在 SMC 上工作主要聚焦于 SMC-D 虚拟设备协议拓展和 loopback-ism 的上游代码实现。 + +## SMC-D v2.1 协议拓展与 loopback-ism 代码实现 + +本月 SIG 与 IBM SMC 小组的多次会议及邮件中最终确认了 SMC-D 虚拟设备所需的协议修改。SMC-D 虚拟设备的引入使 SMC-D 不再局限于 IBM z 平台,成为普惠的同物理设备内 TCP 加速方案。SMC-D 协议在现有 SMCv2.1 基础上增加对虚拟设备的 extended GID 支持、预留 CHID、以及 CLC 握手适配,作为 supplemental feature 进入 SMCv2.1 中。 +相应的,作为 SMC-D 虚拟设备之一的 loopback-ism 代码实现也发送至上游。loopback-ism 是一种模拟 IBM z 平台 ISM 设备的纯软件实现设备,与 SMC-D 协议配合以加速同 OS 内进程间或容器间通信。目前已 review 到 [v4 版本](https://lore.kernel.org/netdev/1695568613-125057-1-git-send-email-guwen@linux.alibaba.com/)。 + +# virtio + +本月 SIG 在 virtio 上工作主要聚焦在 RSS context 提案、virtio XDP 支持与设备校验和能力共存、以及多个缺陷修复。 + +## virtio RSS context + +高性能网络小组为了支持 virtio 队列流量隔离的需求,和 Nvidia 共同发起了 RSS context 的提案。本月推进的 [v3 版本](https://lists.oasis-open.org/archives/virtio-comment/202310/msg00099.html),目前已经获得了另一个投票成员 Marvell 的 Satananda 的 Acked-by。 + +## virtio XDP 支持与设备校验和能力共存 + +目前 virtio 同主机的 VM 之间支持接收具有部分校验和的报文,以节省设备的计算开销。由于 XDP 会重写报文的一些信息,导致具有部分校验和的报文被丢弃,因此,加载 XDP 程序必须清除设备的校验和卸载能力,然后这样会导致失去了硬件卸载 checksum 的能力。 + +为了实现在加载 XDP 程序的同时保持设备的 checksum 卸载的能力,高性能网络小组曾经尝试过在 XDP 处理后重新探测校验和的[方法](https://lore.kernel.org/all/20230628030506.2213-1-hengqi@linux.alibaba.com/),但是该方法面临了众多挑战,例如 XDP 用户程序为报文增加了外层隧道,会造成无法探测和探测失败的问题;再例如程序执行 XDP_TX action 时,设备由于缺少部分校验和卸载需要的信息而造成丢包。因此,高性能网络小组从该问题的源头出发,重新设计了一个简单明了的解决方案,发起 [virtio-net: support distinguishing between partial and full checksum](https://lists.oasis-open.org/archives/virtio-comment/202310/msg00084.html) 的提案,帮助虚拟机大大节省验证校验和造成的 cpu 开销,目前该提案正在与社区讨论中。 + +## 中断聚合 + +高性能网络小组为了在 virtio 上支持 netdim,发现并修复了多个相关的[缺陷](https://lore.kernel.org/all/cover.1696745452.git.hengqi@linux.alibaba.com/)。 diff --git "a/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-1.png" "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-1.png" new file mode 100644 index 0000000000000000000000000000000000000000..6a409135b6cdcbc3704e49e0dff963cbdf83f756 Binary files /dev/null and "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-1.png" differ diff --git "a/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-10.png" "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-10.png" new file mode 100644 index 0000000000000000000000000000000000000000..b18b7575be1f5a8922430c0bc8a7c99c6fab0853 Binary files /dev/null and "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-10.png" differ diff --git "a/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-11.png" "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-11.png" new file mode 100644 index 0000000000000000000000000000000000000000..2e249315936403395df03468b59a337026bf2118 Binary files /dev/null and "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-11.png" differ diff --git "a/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-2.png" "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-2.png" new file mode 100644 index 0000000000000000000000000000000000000000..c3d224c58ae3611254f4452313715fc8dbccd3a9 Binary files /dev/null and "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-2.png" differ diff --git "a/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-3.png" "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-3.png" new file mode 100644 index 0000000000000000000000000000000000000000..2f8a306de8c78c506d060c942478f6dbc58148d4 Binary files /dev/null and "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-3.png" differ diff --git "a/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-4.png" "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-4.png" new file mode 100644 index 0000000000000000000000000000000000000000..7ca3c5df6b1547cdab7077ba643d2ea4b2494185 Binary files /dev/null and "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-4.png" differ diff --git "a/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-5.png" "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-5.png" new file mode 100644 index 0000000000000000000000000000000000000000..772869165cac975d785875d43cd1960c876f6cc5 Binary files /dev/null and "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-5.png" differ diff --git "a/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-6.png" "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-6.png" new file mode 100644 index 0000000000000000000000000000000000000000..91ea3f7ace48b7192fc4768c739789b346dec981 Binary files /dev/null and "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-6.png" differ diff --git "a/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-7.png" "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-7.png" new file mode 100644 index 0000000000000000000000000000000000000000..45186b0b23c396e8f3b884540dc72aa7f7239914 Binary files /dev/null and "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-7.png" differ diff --git "a/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-8.png" "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-8.png" new file mode 100644 index 0000000000000000000000000000000000000000..e2894ad15760f8c0047fd1a8cfc153c15c8c68e2 Binary files /dev/null and "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-8.png" differ diff --git "a/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-9.png" "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-9.png" new file mode 100644 index 0000000000000000000000000000000000000000..ba52151783b280066c99ee0df40f55b6a69b512a Binary files /dev/null and "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/assets/anolis_pypi/pypi-9.png" differ diff --git "a/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/content/\351\276\231\350\234\245 PyPI \344\273\223/\347\224\250\346\210\267\346\226\207\346\241\243.md" "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/content/\351\276\231\350\234\245 PyPI \344\273\223/\347\224\250\346\210\267\346\226\207\346\241\243.md" new file mode 100644 index 0000000000000000000000000000000000000000..cfd4f301ef53c1b6c396dc03a102c264e6147c32 --- /dev/null +++ "b/sig/\345\237\272\347\241\200\350\256\276\346\226\275SIG/content/\351\276\231\350\234\245 PyPI \344\273\223/\347\224\250\346\210\267\346\226\207\346\241\243.md" @@ -0,0 +1,54 @@ +# 平台介绍 +[龙蜥 PyPI 仓](https://pypi.openanolis.cn ) 是龙蜥官方 PyPI 仓库,用于存放 whl 包,支持命令上传、pip 安装等。 + +## whl 包上传 +whl 包上传支持龙蜥 PyPI 仓平台上传和命令行上传两种方式 + +### 平台上传 +平台上传需要软件包管理员权限,拥有软件包管理员权限的用户可以对 whl 包进行管理 + +#### 添加软件包 +在 [龙蜥 PyPI 仓](https://pypi.openanolis.cn ) 平台上添加软件包,填写软件包名称、软件包描述,其中软件包名称不允许重复 +![image.png](../../assets/anolis_pypi/pypi-1.png) +![image.png](../../assets/anolis_pypi/pypi-2.png) + +#### 添加版本 +点击软件包名称,添加软件包下的版本 +![image.png](../../assets/anolis_pypi/pypi-3.png) +![image.png](../../assets/anolis_pypi/pypi-4.png) + +其中版本不允许重复,仓库类型支持选择开发仓和正式仓,上传文件为源码包和 whl 包 + +#### 版本上下线 +在版本列表有版本上下线按钮,上线表示需要将该版本推送到对应 PyPI 仓库(开发仓、正式仓),下线表示将该版本从 PyPI 仓库移除 +![image.png](../../assets/anolis_pypi/pypi-5.png) +已上线的软件包版本可以在首页查看 +![image.png](../../assets/anolis_pypi/pypi-6.png) + +### 命令行上传 +龙蜥 PyPI 仓支持使用命令行上传的方式,命令行上传需要鉴权 + +#### 获取上传 Token +在首页个人中心下点击【获取上传密钥】 +![image.png](../../assets/anolis_pypi/pypi-7.png) +![image.png](../../assets/anolis_pypi/pypi-8.png) + +#### twine 命令上传 +在拿到上传密钥后使用 twine 命令进行上传,或其他上传方式,下述以 twine 举例: + +```yaml +twine upload ./dist/* --repository-url https://pypi.openanolis.cn/dev -u 【用户名】 -p 【密码】 +``` + +![image.png](../../assets/anolis_pypi/pypi-9.png) + +其中上传到 开发仓地址: [https://pypi.openanolis.cn/dev](https://pypi.openanolis.cn/dev ),上传到正式仓地址:[https://pypi.openanolis.cn/prod](https://pypi.openanolis.cn/prod ), +上传成功后在访问 [https://pypi.openanolis.cn/dev/simple](https://pypi.openanolis.cn/dev/simple ) 或者 [https://pypi.openanolis.cn/prod/simple](https://pypi.openanolis.cn/prod/simple ) 即可查看上传后的包 + +![image.png](../../assets/anolis_pypi/pypi-10.png) + +## whl 包下载 +whl 包下载支持 pip install 的方式直接安装, 在pip install 的时候使用 -i 参数指定 PyPI 仓库地址,开发仓 [https://pypi.openanolis.cn/dev/simple](https://pypi.openanolis.cn/dev/simple ),正式仓:[https://pypi.openanolis.cn/prod/simple](https://pypi.openanolis.cn/prod/simple ) +![image.png](../../assets/anolis_pypi/pypi-11.png) + +也可以在 pip 配置文件中将仓库地址、上传密钥进行配置 \ No newline at end of file diff --git "a/sig/\347\250\213\345\272\217\345\210\206\346\236\220SIG/README.en.md" "b/sig/\347\250\213\345\272\217\345\210\206\346\236\220SIG/README.en.md" new file mode 100644 index 0000000000000000000000000000000000000000..5364467a11ade397cde43e38dfdb746b2de3cffa --- /dev/null +++ "b/sig/\347\250\213\345\272\217\345\210\206\346\236\220SIG/README.en.md" @@ -0,0 +1,17 @@ +## SIG Mission +* For projects such as Cloud Kernel, fork and establish related code repositories, and train teachers and students to be familiar with project compilation and code submission +* Continuously develop and improve program analysis tools, perform defect detection and vulnerability mining on open source projects, and teach teachers and students to submit Pull Requests to fix vulnerabilities. +* Regularly merge high-quality PRs into the main repository for projects like Cloud Kernel + +## SIG Details +* The Program Analysis Interest Group aims at developing new techniques of program analysis, to perform automated vulnerability detection and fixing of homemade open-source systems software. + +## SIG Members +* SIG Administrator:Jia-Ju Bai, Bing-Yu Li +* SIG Maintainer: Undergraduate and graduate students and faculty in the School of Cyber Science and Technology of Beihang University. + +## Contact information +* baijiaju@buaa.edu.cn +* libingyu@buaa.edu.cn + + diff --git "a/sig/\347\250\213\345\272\217\345\210\206\346\236\220SIG/README.md" "b/sig/\347\250\213\345\272\217\345\210\206\346\236\220SIG/README.md" new file mode 100644 index 0000000000000000000000000000000000000000..303dd53889282692092faa0d1e949a108aa7f1a2 --- /dev/null +++ "b/sig/\347\250\213\345\272\217\345\210\206\346\236\220SIG/README.md" @@ -0,0 +1,16 @@ +## SIG目标 +* 面向Cloud Kernel等项目,复制建立相关的代码仓库,培养师生熟悉项目编译和代码提交等; +* 不断研制和完善程序分析工具,对开源项目进行缺陷检测和漏洞挖掘,并教导师生提交Pull Request来修复漏洞; +* 定期将高质量PR合并到Cloud Kernel等项目的主仓库。 + +## SIG详细介绍 +* 程序分析SIG组主要目标是研制新型程序分析技术,用于对国产开源系统软件进行自动化缺陷检测、漏洞挖掘和修复,提升其安全性。 + +## SIG成员 +* SIG Administrator:白家驹、李冰雨 +* SIG Maintainer: 北航网安学院的本科生、研究生和教师 + +## 联系方式 +* baijiaju@buaa.edu.cn +* libingyu@buaa.edu.cn + diff --git "a/sig/\347\250\213\345\272\217\345\210\206\346\236\220SIG/assets/.gitkeep" "b/sig/\347\250\213\345\272\217\345\210\206\346\236\220SIG/assets/.gitkeep" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git "a/sig/\347\250\213\345\272\217\345\210\206\346\236\220SIG/content/.gitkeep" "b/sig/\347\250\213\345\272\217\345\210\206\346\236\220SIG/content/.gitkeep" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git "a/sig/\347\250\213\345\272\217\345\210\206\346\236\220SIG/sig-info.yaml" "b/sig/\347\250\213\345\272\217\345\210\206\346\236\220SIG/sig-info.yaml" new file mode 100644 index 0000000000000000000000000000000000000000..b6c4b948d3c333fda24ae61297bc162c4702ebd0 --- /dev/null +++ "b/sig/\347\250\213\345\272\217\345\210\206\346\236\220SIG/sig-info.yaml" @@ -0,0 +1,22 @@ +name: 程序分析SIG +en_name: SIG-ProgramAnalysis +home_page: https://openanolis.cn/sig/pa-sig +description: 程序分析SIG组主要目标是研制新型程序分析技术,用于对国产开源系统软件进行自动化缺陷检测、漏洞挖掘和修复,提升其安全性。 +en_description: The Program Analysis Interest Group aims at developing new techniques of program analysis, to perform automated vulnerability detection and fixing of homemade open-source systems software. +mailing_list: +maintainers: +- openanolis_id: XidianGeneral + gitee_id: XidianGeneral +- openanolis_id: BuyEcho + gitee_id: BuyEcho + + +contributors: +- openanolis_id: + gitee_id: +- openanolis_id: + gitee_id: + + +repositories: +- repo: