CloseTopics Topics Cybersecurity Best Practices Cyber Threats and Advisories Critical Infrastructure Security and Resilience Election Security Emergency Communications Industrial Control Systems Information and Communications Technology Supply Chain Security Partnerships and Collaboration Physical Security Risk Management How can we help? GovernmentEducational InstitutionsIndustryState, Local, Tribal, and TerritorialIndividuals and FamiliesSmall and Medium BusinessesFind Help LocallyFaith-Based CommunityExecutivesHigh-Risk Communities Spotlight Resources & Tools Resources & Tools All Resources & Tools Services Programs Resources Training Groups News & Events News & Events News Events Cybersecurity Alerts & Advisories Directives Request a CISA Speaker Congressional Testimony CISA Conferences CISA Live! Careers Careers Benefits & Perks HireVue Applicant Reasonable Accommodations Process Hiring Resume & Application Tips Students & Recent Graduates Veteran and Military Spouses Work @ CISA About About Culture Divisions & Offices Regions Leadership Doing Business with CISA Site Links Reporting Employee and Contractor Misconduct CISA GitHub CISA Central 2023 Year In Review Contact Us Free Cyber Services#protect2024Secure Our WorldShields UpReport A Cyber Issue
Patches are software and operating system (OS) updates that address security vulnerabilities within a program or product. Software vendors may choose to release updates to fix performance bugs, as well as to provide enhanced security features.
When software updates become available, vendors usually put them on their websites for users to download. Install updates as soon as possible to protect your computer, phone, or other digital device against attackers who would take advantage of system vulnerabilities. Attackers may target vulnerabilities for months or even years after updates are available.
Some software will automatically check for updates, and many vendors offer users the option to receive updates automatically. If automatic options are available, the Cybersecurity and Infrastructure Security Agency (CISA) recommends that you take advantage of them. If they are not available, periodically check your vendor's websites for updates.
If possible, only apply automatic updates from trusted network locations (e.g., home, work). Avoid updating software (automatically or manually) while connected to untrusted networks (e.g., airport, hotel, coffee shop). If updates must be installed over an untrusted network, use a Virtual Private Network connection to a trusted network and apply updates.
Sometimes vendors will discontinue support for a software program or issue software updates for it (also known as end-of-life [EOL] software). Continued use of EOL software poses consequential risk to your system that can allow an attacker to exploit security vulnerabilities. The use of unsupported software can also cause software compatibility issues as well as decreased system performance and productivity.
New vulnerabilities are continually emerging, but the best defense against attackers exploiting patched vulnerabilities is simple: keep your software up to date. This is the most effective measure you can take to protect your computer, phone, and other digital devices.
When vendors become aware of vulnerabilities in their products, they often issue patches to fix those vulnerabilities. Make sure to apply relevant patches to your computer as soon as possible so that your system is protected.
The virtual patch works since the security enforcement layer analyzes transactions and intercepts attacks in transit. This means malicious traffic never reaches the web application. The resulting impact of virtual patch is that, while the actual source code of the application itself has not been modified, the exploitation attempt does not succeed.
Virtual patching helps websites that are outdated (or contain known vulnerabilities) to be protected from attacks by preventing exploitation of vulnerabilities on the fly. It basically fills the security hole until you have time to patch. This is usually done with a web application firewall.
As seen in our latest report, automated attacks targeting known software vulnerabilities are one of the leading causes of compromise and infection. Bad actors regularly scan websites big and small for any known vulnerabilities. They often use automated scripts to help identify targets and exploit vulnerable websites.
Another recent report by Ivanti revealed that unpatched vulnerabilities are one of the most prominent attack vectors actively exploited by ransomware groups. Furthermore, thirty-seven percent of these vulnerabilities were actively and repeatedly exploited by bad actors. This data clearly highlights the importance of patching your website to protect against the threat of distributing ransomware.
One common example of virtual patching employed by our firewall is preventing known exploits. As attackers launch large-scale attacks against severe vulnerabilities, security companies deploy rules to prevent these exploits from working. This ensures the website is not impacted by the attack.
Let's face it, upgrading or applying service packs or patches to your website is no fun. It's a necessary evil that takes time, resources and planning within your organization to do successfully. Unfortunately, organizations often mistakenly push off these costs, deferring upgrades over other short-term projects. But inevitably, this decision to not upgrade your website regularly makes the task harder and incurs even greater investment, both in terms of actual and opportunity costs.
In this Ultimate Guide to Upgrading and Patching Your Website, we'll walk you through all of the terms, concepts, ideas, and best practices around upgrading a medium to large scale website. We'll impart our experiences of helping customers perform and test their website upgrades over the past 20 years, so that you can upgrade faster, more efficiently, more often and with better results.
Although websites appear from the outside to non-technical visitors as a single unified technology, on the inside this is not at all true. Today's websites are made up of dozens of individual technologies, or components, developed by various third-party vendors. Each component plays a different role and provides a different purpose, but all need to be implemented and maintained so that they work together to provide a properly functioning website.
These components are typically divided into two main buckets: front-end (or client-side) components and back-end (or server-side) components. Both perform specific functions and are typically built with a corresponding set of tools or libraries. Let's take a closer look at these components now.
The front-end components that are used in your website, control how end-users interact with your webpages and the experiences they perceive. The core technologies that control these interactions in the browser are:
JavaScript - Code that executes natively in the browser to give interactivity to the page by manipulating the HTML, content or styles on the page, reacting to user events such as mouse clicks, moves or scrolling and sending and receiving information from the server via AJAX calls.
As modern web technologies have progressed, the vast majority of websites utilize front-end libraries, frameworks, and plugins that make it easier to control the HTML, CSS, and JavaScript that renders within the browser. From a high level, these can be grouped into three buckets:
JavaScript Libraries / Frameworks - There are numerous popular JavaScript libraries that provide a range of functionality and approaches. A few of the most preferred are jQuery, Angular, React, and Vue.
Responsive Libraries / Frameworks - With the explosion of mobile devices, several front-end component libraries provide responsive grid systems and pre-built user interface components to help make websites mobile friendly. Two of the most popular are Bootstrap and Foundation.
Plugins / Components / Widgets - Thousands and thousands of User Interface widgets such as sliders, charts, data grids, gauges, animations, input controls, etc. are available to download and include in your website. These plugins can range from loading on every page of your site to only a few pages.
While a modern website will typically only implement one main JavaScript library and one responsive framework, they will most likely have numerous JavaScript based plugins. For large or heavily interactive sites this could easily be over a dozen or two.
The back-end components that are used in your website, are somewhat invisible to your users, but provide the core services needed by your website. There are several layers of technologies in the back-end stack, which may include:
With the pace of change ever increasing in the web space, it's a safe bet that most of the vendors that supply the components that your website relies on are continuously innovating, releasing fixes, enhancements, new features and security patches at a relatively rapid rate.
To help with understanding the dependency impact, each vendor follows a software versioning scheme. Unfortunately, not all vendors follow the same scheme, but there seems to be a common set of verbiage that describes the releases. Releases are typically referred to using one of the following terms:
Major Release - A major release is a new version of the software that contains several significant new features/capabilities. It also may contain support for new versions of platforms, major architectural changes, and/or updates to its internal API.
Minor Release - A minor release is typically a release that includes a small set of new features or enhancements and a set of bug-fixes. These new enhancements do not typically contain significant new features, but rather minor enhancements to existing functionality. A minor release is typically delivered in the form of a single installable package.
3a8082e126