#!/usr/local/bin/perl # # header.cgi # # Output standard CNS Security webpage headers (call using SSI include # directive in shtml file) # use warnings; use strict; use lib ('lib'); use CGI qw/:standard/; use SecHdr; print header; # HTTP headers (even though SSI # include, Apache will expect this) #SecHdr::header('printpage.js'); # Security headers SecHdr::header(); # Security headers
As the name implies, a patch is a fix. Applied to computers, it is a fix for a software problem. Patches usually come in the form of a program that is designed to fix (or patch) another program.
In some programs, subtle bugs or loopholes are discovered that would allow an attacker to do something the program was not originally intended for. In most cases, these bugs are never seen by the common user while executing the program.
Suppose a programmer wants a field that allows the user to enter a password. Now, if the programmer allowed only, say, 64 characters in memory to hold this password, and didn't check the entered length, what would happen if 65 characters were entered? The last character would overwrite a character in memory. By carefully crafting these overwriting characters, one has built a simple type of exploit called a buffer overflow.
Usually, the vendor of the software will respond to a bug report and release either a new version of the software (one form of a patch), or a program to fix the software (another form of a patch).
For the Microsoft Windows operating systems, the task is nicely automated - a website can check all the operating system components, and update them accordingly. The website is:
www.windowsupdate.com
You can also learn to set up windows to automatically update itself.