BCC 301 Unit III-CSS
BCC 301 Unit III-CSS
1. Introduction
2. Proxy Servers and Anonymizers,
3. Phishing
4. Password Cracking
5. Key loggers and Spywares
6. Virus and Worms
7. Trojan Horses and Backdoors
8. Steganography
9. DoS and DDoS Attacks
10. SQL Injection
11. Buffer Overflow
12. Attacks on Wireless Networks
13. Phishing and Identity Theft: Introduction - Phishing,
14. Identity Theft (ID Theft)
2
4.1 Introduction
Different forms of attacks through which attackers target the computer systems are as follows
1. Initial uncovering:
Two steps are involved here.
In the first step called as reconnaissance, the attacker gathers information about the target on
the Internet websites.
In the second step, the attacker finds the company’s internal network, such as, Internet domain,
machine names and the company’s Internet Protocol (IP) address ranges to steal the data.
Nowadays, more and more organizations/institutes provide greater online access for their customers and
hence criminals are successfully using Phishing techniques to steal personal information and conduct ID
theft at a global level.
4.4 Password Cracking
Password is like a key to get an entry into computerized systems like a lock.
Password cracking is a process of recovering passwords from data that have been stored in or
transmitted by a computer system.
Usually, an attacker follows a common approach – repeatedly making guesses for the password.
The purpose of password cracking is as follows:
1. To recover a forgotten password.
2. As a preventive measure by system administrators to check for easily crackable passwords.
3. To gain unauthorized access to a system.
Manual password cracking is to attempt to logon with different passwords. The attacker follows the
following steps:
1. Find a valid user account such as an Administrator or Guest;
2. create a list of possible passwords;
3. rank the passwords from high to low probability;
4. key-in each password;
5. Try again until a successful password is found.
Passwords can be guessed sometimes with knowledge of the user’s personal information. Examples of
guessable passwords include:
1. Blank (none);
2. the words like “password,” “passcode” and “admin”;
3. series of letters from the “QWERTY” keyboard, for example, qwerty, asdf or qwertyuiop;
4. user’s name or login name;
5. name of user’s friend/relative/pet;
6. user’s birthplace or date of birth, or a relative’s or a friend’s;
7. user’s vehicle number, office number, residence number or mobile number;
8. name of a celebrity who is considered to be an idol (e.g., actors, actress, spiritual gurus) by the user;
An attacker can also create a script file (i.e., automated program) which will be executed to try
each password in a list.
This is still considered manual cracking, is time-consuming and not usually effective.
Passwords are stored in a database and password verification process is established into the
system when a user attempts to login or access a restricted resource.
To ensure confidentiality of passwords, the password verification data is usually not stored
in a clear text format.
For example, one-way function (which may be either an encryption function or a cryptographic
hash) is applied to the password, possibly in combination with other data, and the resulting value is
stored.
When a user attempts to login to the system by entering the password, the same function is applied
to the entered value and the result is compared with the stored value. If they match, user gains the
access; this process is called authentication.
The most commonly used hash functions can be computed rapidly and the attacker can test these hashes with the
help of passwords cracking tools (see Table 4.3) to get the plain text password.
6
Password cracking attacks can be classified under three categories as follows:
1. Online attacks;
2. offline attacks;
3. non-electronic attacks (e.g., social engineering, shoulder surfing and dumpster diving).
4.5.3 Antikeylogger
Antikeylogger is a tool that can detect the keylogger installed on the computer system and also
can remove the tool. (Visit http://www.anti-keyloggers.com for more information)
Advantages of using anti keylogger are as follows:
1. Firewalls cannot detect the installations of keyloggers on the systems; hence, antikeyloggers can
detect installations of keylogger.
2. This software does not require regular updates of signature bases to work effectively such as other
antivirus and anti-spy programs; if not updated, it does not serve the purpose, which makes the
users at risk.
3. Prevents Internet banking frauds. Passwords can be easily gained with the help of installing
keyloggers.
4. It prevents ID theft (we will discuss it more in Chapter 5).
5. It secures E-Mail and instant messaging/chatting.
4.5.4 Spywares
Spyware is a type of malware (i.e., malicious software) that is installed on computers which
collects information about users without their knowledge.
The presence of Spyware is typically hidden from the user; it is secretly installed on the user’s
personal computer.
Sometimes, however, Spywares such as keyloggers are installed by the owner of a shared,
corporate or public computer on purpose to secretly monitor other users.
Computer virus has the ability to copy itself and infect the system.
The term virus is also commonly but erroneously used to refer to other types of malware,
Adware and Spyware programs that do not have reproductive ability.
A true virus can only spread from one system to another (in some form of executable code) when
its host is taken to the target computer; for instance, when a user sent it over the Internet or a
network, or carried it on a removable media such as CD, DVD or USB drives.
Viruses can increase their chances of spreading to other systems by infecting files on a network
file system or a file system that is accessed by another system.
Malware includes computer viruses, worms, Trojans, most Rootkits, Spyware, dishonest
Adware, crimeware and other malicious and unwanted software as well as true viruses.
Viruses are sometimes confused with computer worms and Trojan Horses, which are technically
different (see Table 4.7 to understand the difference between computer virus and worm).
A worm spreads itself automatically to other computers through networks by exploiting security
vulnerabilities, whereas a Trojan is a code/program that appears to be harmless but hides malicious
functions.
Worms and Trojans, such as viruses, may harm the system’s data or performance.
Some viruses and other malware have noticeable symptoms that enable computer user to take
necessary corrective actions, but many viruses are surreptitious or simply do nothing for user’s to
take note of them.
Some viruses do nothing beyond reproducing themselves.
4.7.1 Backdoor
A backdoor is a means of access to a computer program that bypasses security mechanisms.
A programmer may sometimes install a backdoor so that the program can be accessed for
troubleshooting or other purposes.
However, attackers often use backdoors that they detect or install themselves as part of an exploit.
In some cases, a worm is designed to take advantage of a backdoor created by an earlier attack.
A backdoor works in background and hides from the user.
It is very similar to a virus and, therefore, is quite difficult to detect and completely disable.
A backdoor is one of the most dangerous parasite, as it allows a malicious person to perform
any possible action on a compromised system.
Follow the following steps to protect your systems from Trojan Horses and backdoors:
1. Stay away from suspect websites/weblinks: Avoid downloading free/pirated softwares that often get
2. Surf on the Web cautiously: Avoid connecting with and /or downloading any information from peer-
to-peer networks, which are most dangerous networks to spread Trojan horses and other threats.
3. Install antivirus/Trojan remover software: Now a days anti-virus software’s has built in feature for
protecting the system not only from viruses and worms but also from malware such as Trojan Horses.
Free Trojan remover programs are also available on the web.
4.8 Steganography
Steganography is the practice of concealing (hiding) a file, message, image, or video within
another file, message, image, or video. The word steganography combines the Greek words
steganos , meaning "covered, concealed, or protected", and graphein meaning "writing".
It is a method that attempts to hide the existence of a message or communication.
Steganography is always misunderstood with cryptography
The different names for steganography are data hiding, information hiding and digital
watermarking.
Steganography can be used to make a digital watermark to detect illegal copying of digital
images. Thus, it aids confidentiality and integrity of the data.
Digital watermarking is the process of possibly irreversibly embedding information into a
digital signal.
The Digital signal may be, for example, audio, pictures or video.
If the signal is copied then the information is also carried in the copy.
In other words, when steganography is used to place a hidden “trademark” in images, music and
software, the result is a technique referred to as “watermarking”.
4.8.1 Steganalysis
Steganalysis is the art and science of detecting messages that are hidden in images, audio/video
files using steganography.
The goal of steganalysis is to identify suspected packages and to determine whether or not they
have a payload encoded into them, and if possible recover it.
Automated tools are used to detect such steganographed data/information hidden in the image
and audio and/or video files.
Box 4.7 | Difference between Steganography and Cryptography
Steganography is the art and science of writing hidden messages in such a way that no one apart
from the intended recipient knows the existence of the message; this is in contrast to
cryptography, of the message itself is not disguised, but the content is obscured. It is said that
terrorists use where the existence steganography techniques to hide their communication in
images on the Internet; most popular images are used such as those of film actresses or other
celebrities. In its basic form, steganography is simple.
A denial-of-service attack (DoS attack) or distributed denial-of-service attack (DDoS attack)
is an attempt to make a computer resource (i.e., information systems) unavailable to its intended users.
1 Jolt2 : The vulnerability allows remote attackers to cause a DoS attack against Windows-based
machines – the attack causes the target machine to consume of the CPU time on processing of illegal
packets.
2 Nemesy : This program generates random packets of spoofed source IP to enable the attacker to
launch DoS attack.
3 Targa : It is a program that can be used to run eight diff erent DoS attacks. The attacker has the
option to launch either individual attacks or try all the attacks until one is successful.
4 Crazy Pinger : This tool could send large packets of ICMP(Internet Control Message Protocol) to a
remote target network.
5 SomeTrouble: It is a remote flooder and bomber. It is developed in Delphi.
4.9.5 DDoS Attacks
In a DDoS attack, an attacker may use your computer to attack another computer.
By taking advantage of security vulnerabilities or weaknesses, an attacker could take control of
your computer.
He/she could then force your computer to send huge amounts of data to a website or send Spam
to particular E-Mail addresses.
The attack is “distributed” because the attacker is using multiple computers, including yours, to
launch the DoS attack.
A DDoS attack is a distributed DoS wherein a large number of zombie systems are
synchronized to attack a particular system.
The zombie systems are called “secondary victims” and the main target is called “primary victim.”
Malware can carry DDoS attack mechanisms – one of the better-known examples of this is
MyDoom.
Botnet is the popular medium to launch DoS/DDoS attacks.
Attackers can also break into systems using automated tools that exploit flaws in programs that
listen for connections from remote hosts.
Structured Query Language (SQL) is a database computer language designed for managing data in
relational database management systems (RDBMS).
SQL injection is a code injection technique that exploits a security vulnerability occurring in the
database layer of an application.
SQL injection attacks are also known as SQL insertion attacks.
Attackers target the SQL servers – common database servers used by many organizations to store
confidential data.
The prime objective behind SQL injection attack is to obtain the information while accessing
a database table that may contain personal information such as credit card numbers, social security
numbers or passwords.
During an SQL injection attack, Malicious Code is inserted into a web form field or the website’s
code.
For example, when a user logs in with username and password, an SQL query is sent to the
database to check if a user has valid name and password.
With SQL injection, it is possible for an attacker to send crafted username and/or password field
that will change the SQL query.
Here are few examples of variable field text the attacker uses on a webpage to test for SQL vulnerabilities:
1. Blah’ or 1=1--
2. Login: blah’ or 1=1--
3. Password::blah’ or 1=1--
4. http://search/index.asp?id=blah’ or 1=1--
Similar SQL commands may allow bypassing of a login and may return many rows in a table or even an
entire database table because the SQL server is interpreting the terms literally. The double dashes near
the end of the command tell SQL to ignore the rest of the command as a comment.
Blind SQL Injection
Blind SQL injection is used when a web application is vulnerable to an SQL injection but the results
of the injection are not visible to the attacker.
The page with the vulnerability may not be the one that displays data; however, it will display
differently depending on the results of a logical statement injected into the legitimate SQL statement
called for that page.
There are several tools that can automate these attacks once the location of the vulnerability and the
target information have been established.
3. Other preventions 22
• The default system accounts for SQL server 2000 should never be used.
• Isolate database server and web server.
4.11 Buffer Overflow
Buffer overflow, or buffer overrun, is an anomaly where a process stores data in a buffer outside
the memory the programmer has set aside for it.
This may result unreliable program behavior, including memory access errors, incorrect results,
program termination (a crash) or a breach of system security.
Buffer overflows can be triggered by inputs that are designed to execute code or alter the way
the program operates.
They are, thus, the basis of many software vulnerabilities and can be maliciously exploited.
Bounds checking can prevent buffer overflows.
Programming languages commonly associated with buffer overflows include C and C++, which
provide no built-in protection against accessing or overwriting data in any part of memory and do
not automatically check that data written to an array.
Buffer overflow occurs when a program or process tries to store more data in a buffer
(temporary data storage area) than it was intended to hold.
Although it may occur accidentally through programming error, buffer overflow is an
increasingly common type of security attack on data integrity.
The knowledge of C, C++ or any other high-level computer language (i.e., assembly language)
is essential to understand buffer overflow.
For example,
int main () {
int buffer[10];
buffer[20] = 10;
}
This C program is a valid program and every compiler can compile it without any errors.
However, the program attempts to write beyond the allocated memory for the buffer, which
might result in an unexpected behavior.
The attacker may exploit stack-based buffer overflows to manipulate the program in various ways by
overwriting:
1. A local variable that is near the buffer in memory on the stack to change the behavior of the
program that may benefit the attacker.
2. The return address in a stack frame. Once the function returns, execution will resume at the return
address as specified by the attacker, usually a user input-filled buffer.
3. A function pointer, or exception handler, which is subsequently executed.
The factors that contribute to overcome the exploits are
1. Null bytes in addresses;
2. Variability in the location of shell code;
3. Differences between environments.
A shell code is a small piece of code used as a payload in the exploitation of software vulnerability.
It is called “shell code” because it starts with command shell from which the attacker can control the
compromised machine.
NOPs:
NOP or NOOP (short form of no operation) is an assembly language instruction/ command that effectively
does nothing at all.
Heap Buffer Overflow:
Heap buffer overflow occurs in the heap data area and may be introduced accidentally by an application
programmer, or it may result from a deliberate exploit. The characteristics of stack- based and heap-
based programming are as follows:
1. “Heap” is a “free store” that is a memory space, where dynamic objects are allocated.
2. The heap is the memory space that is dynamically allocated new(), malloc() and calloc() functions;
it is different from the memory space allocated for stack and code.
3. Dynamically created variables (i.e., declared variables) are created on the heap before the execution
program is initialized to zero.
Memory on the heap is dynamically allocated by the application at run-time and normally contains
program data. Exploitation is performed by corrupting this data in specific ways to cause the application
to overwrite internal structures such as linked list pointers.
A. Spam E-Mails
Also known as “junk E-Mails” they involve nearly identical messages sent to numerous recipients.
Spam E-Mails have steadily grown since the early 1990s. Botnets, networks of virus-infected
computers, are used to send about 80% of Spam.
Types of Spam E-Mails are as follows:
1. Unsolicited bulk E-Mail (UBE): It is synonym for SPAM unsolicited E-Mail sent in large
quantities (see Box 5.2).
2. Unsolicited commercial E-Mail (UCE): Unsolicited E-Mails are sent in large quantities from
commercial perspective, for example, advertising. See Box 5.3 to know more about US Act on Spam
mails.
Examples:
1. HSBC, Santander, Common Wealth Bank: International Banks having large customer base,
phishers always dive deep in such ocean to attempt to hook the fi sh.
2. eBay: It is a popular auction site, often mimicked to gain personal information.
3. Amazon: It was the top brand to be exploited by phishers till July 2009.
4. Facebook: Netizens, who liked to be on the most popular social networking sites such as Facebook,
are always subject to threats within Facebook as well as through E-Mail. One can reduce chances of
being victim of Phising attack by using the services – security settings to enable contact and E-Mail
details as private.
1. Names of legitimate organizations: Instead of creating a phony company from scratch, the phisher
might use a legitimate company’s name and incorporate the look and feel of its website (i.e., including
the color scheme and graphics) into the Spam E-Mail.
2. “From” a real employee: Real name of an official, who actually works for the organization. This
way, if a user contacts the organization to confirm whether “Rajeev Arora” truly is “Vice President of
Marketing” then the user gets a positive response and feels assured.
3. URLs that “look right”: The E-Mail might contain a URL (i.e., weblink) which seems to be original
website wherein user can enter the information the phisher would like to steal.
4. Urgent messages: Creating a fear to trigger a response is very common in Phishing attacks – the E-
Mails warn that failure to respond will result in no longer having access to the account or E-Mails might
claim that organization has detected suspicious activity in the users’ account or that organization is
implementing new privacy software for ID theft solutions.
Here are a few examples of phrases used to entice the user to take the action.
1. “Verify your account”:
2. “You have won the lottery”:
3. “If you don’t respond within 48 hours, your account will be closed”:
Let us understand the ways to reduce the amount of Spam E-Mails we receive.
1. Share personal E-Mail address with limited people and/or on public websites – the more it is
exposed to the public, the more Spam E-Mails will be received.
2. Never reply or open any Spam E-Mails.
3. Disguise the E-Mail address on public website or groups by spelling out the sign “@” and the DOT
(.); for example, RajeevATgmailDOTcom. This usually prohibits phishers to catch valid E-Mail
addresses while gathering E-Mail addresses through programs.
4. Use alternate E-Mail addresses to register for any personal or shopping website . Never ever use
business E-Mail addresses.
5. Do not forward any E-Mails from unknown recipients.
6. Make a habit to preview an E-Mail before opening it.
7. Never use E-Mail address as the screen name in chat groups or rooms.
8. Never respond to a Spam E-Mail asking to remove your E-Mail address from the mailing distribution
list. More often it confirms to the phishers that your E-Mail address is active.
Spear Phishing:
It is a method of sending a Phishing message to a particular organization to gain organizational information
for more targeted social engineering. It is a highly targeted phishing attacks. This phishing send E-mails
that appears genuine to all the employees or members within a certain company or organization.
Whaling:
Targeting executives from the top management in the organization, usually from private companies. The
objective is to swindle the executives into revealing confidential information.
Types of Phishing scams:
ID theft fraudsters and/or industrial/international spies target to gain the access to private, confidential,
secret and top secret information.