An attacker uses deceptive methods to cause a user or an automated process
to download and install dangerous code believed to be a valid update that
originates from an attacker controlled source. Although there are several
variations to this strategy of attack, the attack methods are united in that
all rely on the ability of an attacker to position and disguise malicious
content such that it masquerades as a legitimate software update which is
then processed by a program, undermining application integrity. As such the
attack employs 'spoofing' techniques augmented by psychological or
technological mechanisms to disguise the update and/or its source.
Virtually all software requires frequent updates or patches, giving the
attacker immense latitude when structuring the attack, as well as many
targets of opportunity. Attacks involving malicious software updates can be
targeted or untargeted in reference to a population of users, and can also
involve manual and automatic means of payload installation. Untargeted
attacks rely upon a mass delivery system such as spamming, phishing, or
trojans/botnets to distribute emails or other messages to vast populations
of users.
Targeted attacks aim at a particular demographic or user population.
Manual, or user-assisted attacks, vary from requiring the user to download
and run an executable, to as streamlined as tricking the user on clicking a
single url. Attacks which aim at penetrating a specific network
infrastructure often rely upon secondary attack methods to achieve the
desired impact. Spamming, for example, is a common method employed as an
secondary attack vector. Thus the attacker has in his or her arsenal a
choice of initial attack vectors ranging from traditional SMTP/POP/IMAP
spamming and its varieties, to web-application mechanisms which commonly
implement both chat and rich HTML messaging within the user
interface.
Corporate Facebook or Myspace pages make it easy to target users of a
specific company or affiliation without relying on email address harvesting
or spamming. One phishing-assisted variation on this attack involves hosting
what appears to be a software update, then harvesting actual email addresses
for an organization, or generating commonly used email addresses, and then
sending spam, phishing, or spear-phishing emails to the organization's users
requesting that they manually download and install the malicious software
update. This type of attack has also been conducted using an Instant
Messaging virus payload, which harvests the names from a users contact list
and sends instant messages to those users to download and apply the update.
While both methods involve a high degree of automated mechanisms to support
the attack, the primary vector for achieving the installation of the update
remains a manual user-directed process, although clicking a link within an
IM client or web application may initiate the update.
Manual attacks of this nature are common and frequently supported by
social networking sites, such as Myspace or Facebook, and have proven to be
immensely successful. Automated attacks involving malicious software updates
require little to no user-directed activity and are therefore advantageous
because they avoid the complex preliminary setup stages of manual attacks,
which must effectively 'hook' users while avoiding countermeasures such as
spam filters or web security filters.
Automated update mechanisms typically come in two kinds, each requiring
different mechanics for exploitation. 'Pull' mechanisms retrieve periodic
updates from a server, a process in which the client software or local
server installation retrieves the update from a remote network source. While
'Pull' mechanisms are highly automated there is still some user directed
activity involved in the update process. 'Push' mechanisms involve a remote
server sending an update to a client, which is typically processed when it
is received. A characteristic of 'Push' updates is that they typically
involve the least user interaction within the update process, thus narrowing
the scope of the attack to automated mechanisms. Automated update attacks
typically exploit a lack of technical mechanisms to validate the integrity
of code before it is downloaded.