+ All Categories
Home > Documents > SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to...

SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to...

Date post: 01-Jun-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
73
SPAM CONTROL USING CPU TIMESTAMPS Thesis Submitted in partial fulfillment of the requirements for the degree of MASTER OF TECHNOLOGY in COMPUTER SCIENCE & ENGINEERING – INFORMATION SECURITY by J. SANDESH (08IS05F) DEPARTMENT OF COMPUTER ENGINEERING NATIONAL INSTITUTE OF TECHNOLOGY KARNATAKA SURATHKAL, MANGALORE-575025 June, 2010
Transcript
Page 1: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

SPAM CONTROL USING CPU

TIMESTAMPS

Thesis

Submitted in partial fulfillment of the requirements for the degree of

MASTER OF TECHNOLOGY in

COMPUTER SCIENCE & ENGINEERING – INFORMATION

SECURITY

by

J. SANDESH

(08IS05F)

DEPARTMENT OF COMPUTER ENGINEERING

NATIONAL INSTITUTE OF TECHNOLOGY KARNATAKA

SURATHKAL, MANGALORE-575025

June, 2010

Page 2: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

D E C L A R A T I O N

I hereby declare that the Report of the P.G. Project Work entitled “SPAM

CONTROL USING CPU TIMESTAMPS” which is being submitted to the National

Institute of Technology Karnataka Surathkal, in partial fulfillment of the requirements

for the award of the Degree of Master of Technology in Computer Science and

Engineering – Information Security in the Department of Computer Engineering, is

a bonafide report of the work carried out by me. The material contained in this report has

not been submitted to any University or Institution for the award of any degree.

J. SANDESH (08IS05F)

-------------------------------------------------------

(Register Number, Name and Signature of Student)

Department of Computer Engineering

Place: NITK, SURATHKAL

Date:

Page 3: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

C E R T I F I C A T E

This is to certify that the P.G Project Work Report entitled “SPAM CONTROL

USING CPU TIMESTAMPS” submitted by J. SANDESH (Register Number: 08IS05F) as

the record of the work carried out by him, is accepted as the P.G Project Work Report

submission in partial fulfillment of the requirements for the award of degree of Master of

Technology in Computer Science and Engineering – Information Security in the

Department of Computer Engineering, National Institute of Technology Karnataka,

Surathkal.

Mr. Radhesh Mohandas

Adjunct Faculty

Department of Computer Engineering

NITK Surathkal

Mr. Alwyn R Pais

Assistant Professor

Department of Computer Engineering

NITK Surathkal

Chairman- DPGC

Page 4: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

Dedicated to

my family and

friends

Page 5: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

ACKNOWLEDGEMENT

I take this opportunity to express my deepest gratitude and appreciation to all

those who have helped me directly or indirectly towards the successful completion of this

project.

Foremost, I would like to express my sincere gratitude to my guides Mr.

Radhesh Mohandas, Adjunct Faculty and Mr. Alwyn R Pais, Assistant Professor,

Department of Computer Engineering, NITK Surathkal. Their advice, constant support,

encouragement and valuable suggestions throughout the course of my project work

helped me successfully complete the project. This project drew upon the knowledge and

experience of my guides. Without their continuous support and interest, this thesis would

not have been the same as presented here.

I am thankful to Dr. Santhi Thilagam, Head, Department of Computer

Engineering for her co-operation and for providing necessary facilities throughout the

M.Tech program.

Besides my guides, I would like to thank entire teaching and non-teaching staff in

the Department of Computer Engineering, NITK for all their help during my tenure at

NITK. Kudos to all my friends at NITK for thought provoking discussion and making

stay very pleasant.

Last but not least, I am thankful to my parents to whom I am greatly indebted for

their support and encouragement to pursue my interests.

J. Sandesh

Page 6: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

ABSTRACT

Email Spam has reached alarming proportions because it costs the sender very little to

send; almost all of the costs are paid by the recipient, carrier and the email servers.

Email Spam’s inadvertently affect the performance of email servers which are kept

busy in processing huge number of emails sent by the spammers. It also affects the

productivity of the recipients who have to skim through lots of irrelevant emails to

find the ones that actually require their attention. In this Project we propose a solution

to control Spam at the ingress points on the email servers by throttling the sender’s

CPU i.e., making an email client pay a stamp fee for every email sent. The stamp fee

is collected in terms of resource usage, in our case CPU cycles. The solution is based

on the use of Discrete Logarithm Problem (DLP), which is considered to be one of the

hardest mathematical problems to solve and is the basis for many cryptosystems. DLP

is used to generate CPU stamps as a proof of the CPU cycles expended by the

sender’s system, before actually sending out the email to the intended recipients. A

separate stamp has to be calculated for each email and for each recipient which

restricts the total number of emails that an email client can send in a time interval. We

further claim that a normal user will not notice this cost in his day to day operations

and a spammer will not be able to get past this mechanism.

Keywords: Discrete Logarithm Problem, CPU throttling, CPU Stamps, SMTP,

Sendmail

Page 7: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

��

TABLE OF CONTENTS

Page No.

Title

Declaration

Certificate

Dedication

Acknowledgement

Abstract

Table of contents i

List of figures iv

List of tables v

Chapter I INTRODUCTION 1

1.1 Problem Description 1

1.2 Project Motivation 2

1.3 Definition 2

1.4 Organization of the Thesis 3

Chapter II LITERATURE SURVEY 5

2.1 Internet Email 5

2.2 The vicious cycle of Spam, Malware and Zombies 6

2.3 Categorization of Spam-Prevention Techniques 8

Page 8: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

���

Chapter III RELATED WORK 35

Chapter IV PROPOSED SOLUTION 37

4.1 Discrete Logarithm Problem 37

4.2 Proposed Solution using Discrete Logarithm Problem 39

4.3 How a Spammer Counter Attacks 41

4.4 Algorithms 43

4.5 Stamp Generation 45

4.6 Stamp Verification 45

Chapter V IMPLEMENTATION DETAILS 47

5.1 Server and Client System Configuration 47

5.2 Thunderbird Client Add-on 47

5.3 Sendmail Module to Inject a Prime Value 47

5.4 Sendmail Module to Verify Stamp 48

5.5 Compatibility Issues 50

Chapter VI EXPERIMENTAL RESULTS 52

6.1 Client Delay 52

6.2 Server Throughput 54

Chapter VII CONCLUSION AND FUTURE WORK 57

APPENDIX I Installing Sendmail SMTP Server from Source on Linux 58

APPENDIX II Installing and using Penny Post add-on 59

Page 9: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

����

REFERENCES 60

RESUME (BIO-DATA) 62

Page 10: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

���

LIST OF FIGURES

Fig

No.

Description Page No.

2.1 Typical E-Mail Architecture and Flows 6

2.2 Vicious Cycle of Spam 8

2.3 Categorization of Spam Controls 9

2.4 Example of a Human Interaction Proof (HIP), aka CAPTCHA 29

2.5 A ‘Man in the Middle’ attack on a victim site using HIP 29

2.6 Simplified design of a postage-based Spam control 33

4.1 Proposed Solution augmented with SMTP 41

5.1 Penny-Post add-on preferences window 48

5.2 Thunderbird compose window with “Stamp &Send” option to

send email after stamping

49

5.3 Stamping of email in progress 49

5.4 Injection of p value into SMTP session 50

5.5 x-dlp and verification headers added to an email 50

6.1 Client side delay with fixed body size 53

6.2 Client side delay with varying body size 53

6.3 Client side delay with attachment 54

6.4 Email server throughput with solution 55

6.5 Email server throughput without solution 55

6.6 Email server throughput with attachment 56

Page 11: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

��

LIST OF TABLES

Table

No.

Description Page No.

1.1 Notations 3

4.1 Exhaustive search 37

4.2 Finding Generator 38

4.3 Total Number of primes and primes whose (p-1)/2 also a

prime.

42

6.1 Average loops to find next generator 52

Page 12: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

1

CHAPTER 1

INTRODUCTION

Spam is a growing problem with electronic mail. The key reason for the growth of

spam is the fact that it costs nothing to send email. Consequently it costs a spammer

nothing to send out millions of emails per day. Anti-spam laws have not helped much

because it is difficult to track and convict spammers across international borders.

Spam filters require frequent upgrades yet do not work all the time.

Drawing a parallel from the postal system, a simple solution to the spam problem is

to make senders pay money to send email. However, the idea of paying money for

sending email is not appealing (Dwork and Naor, 1992).

Computational proof for spam control is an alternative to digital money based

payment for email. In this approach the sender pays for email using computational

effort (Penny Black Project, Microsoft), like CPU cycles (Dwork and Naor, 1992) or

memory cache hits (Dwork et al., 2003). Further, a verifiable proof that this payment

was made is attached to the email. This proof (also called proof-of-work (Laurie and

Clayton, 2004)) convinces the receiver that the sender spent a certain amount of

computational effort on the email just for that particular receiver. If the cost of

computing the proof is chosen in such a way that it adds about a few seconds to the

time taken to send email, it does not have a major impact on the genuine sender who

sends out only a few emails every day. The spammer however simply cannot afford to

spend this additional time as it slows down his throughput by a huge factor.

1.1 PROBLEM DESCRIPTION

Controlling spam at the recipient side by using the content filtering or identity based

spam control mechanisms has been the most widely used approach for spam control.

But, none of these mechanisms reduce the load on the email servers through which

the spam emails pass through. Spam emails account for majority of the emails sent

everyday and hence, put a lot of load on the email servers which process them on the

Page 13: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

2

way to destination. Controlling spam rate at the ingress points from where they enter

the outer Network would be the best possible method to save Email servers from

unnecessary load. We try to address this issue in this project.

In this project we propose a solution to control spam at the ingress points on the

email servers by throttling the sender’s CPU i.e., making an email client pay a stamp

fee for every email sent. The stamp fee is collected in terms of resource usage, like

CPU cycles. The CPU throttling technique adds a minor delay on the client side. This

delay is very negligible as far as a genuine user is concerned but, reduces the

throughput of a Spammer by a huge factor.

The proposed solution makes use of Discrete Logarithm Problem (DLP) to throttle

the sender’s CPU. The sender’s system in turn generates stamps as a computational

proof-of-work. Stamps are generated for every recipient of an email and a verifiable

proof for the same is attached to the email.

1.2 PROJECT MOTIVATION

The motivation behind this project is to implement a practically usable solution for

fighting spam based on the computational proof approach. Research in the area of

proofs of work has yielded some interesting email stamping algorithms, however only

few public implementations of these algorithms exist.

1.3 DEFINITION

This section presents some of the definitions that are used in the proposed solution.

1.3.1 Discrete Logarithm Problem

Let p be an odd prime, Zp={0, 1,....,p − 1} a finite field, Z∗p the set of integers

which are relatively prime to p i.e., Z∗p ={a ε Zp | gcd(a, p) = 1} ⇉ Z∗

p ={1, .., p −

1}.

Page 14: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

3

Let α be a generator of Z∗p i.e., Z∗

p= {α0 mod p, α1 mod p,…..,αp−1 mod p} and β

be a non zero integer in Zp such that

β ≡ αx mod p (1.1)

Given p, α, and β, finding x is called the Discrete Logarithm Problem.

1.3.2 Notations

We make use of the following notations throughout this project.

Table 1.1: Notations

p An odd prime.

selectPrime Prime p for which (p-1)/2 is also prime.

Zp A finite field.

Z∗p The set of integers which are relatively prime to p i.e., Z∗p = {1, ..., p − 1}.

α A generator of Z∗p .

β integer in finite field other than zero and one i.e., {β ε Zp | β ≠ 0 or 1}

pdigits Number of digits in prime p.

x Value computed using equation 1.

ah Hash of message-body.

bh Hash of email-id.

h Hash function.

1.4 ORGANIZATION OF THE THESIS

Rest of the Thesis is organized as follows: Chapter 2 discusses the basics of Internet

Email, the vicious cycle of Email spam and then throws a light on the currently

available spam control mechanisms. Chapter 3 discusses the related work. It discusses

the work done by others in the area of spam control using computational approach.

Chapter 4 outlines the proposed solution along with the various algorithms used in the

solution. It discusses the proposed solution using DLP, the algorithm to generate DLP

stamp and verification of the stamp. In chapter 5 we discuss the Implementation

details. We discuss about our add-on for Thunderbird email client and also modified

Sendmail SMTP Server. In chapter 6 we give experimental results where we talk

about the delay on client side and also throughput of Sendmail SMTP server when our

Page 15: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

4

DLP spam control algorithm is used. Chapter 7 concludes the Thesis. Appendix I

gives procedure to install Sendmail SMTP server from source and Appendix II about

downloading and installing add-on for DLP stamping.

Page 16: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

5

CHAPTER 2

LITERATURE SURVEY

2.1 INTERNET EMAIL

The Internet email architecture defines four types of agents (servers and clients)

handling email messages:

– Mail User Agents (MUAs), also referred to as email clients, are used by end-users

to send and receive email.

– Mail Submission Agents (MSAs), also referred to as outgoing mail servers, are the

servers to which the sending MUA communicates to submit (send) email

messages.

– Mail Delivery Agents (MDAs), also referred to as incoming mail servers, are the

servers which keep the mailbox of incoming messages for each email users, until

the user downloads them to the MUA or erases them.

– Mail Transfer Agents (MTAs) are ‘intermediate’ mail servers, which facilitate the

forwarding of email messages from the MSA to the MDA. MTAs may relay

(forward) messages to other MTAs, to reach the destination MDA.

A typical setup is illustrated in Figure 2.1. In this setup, shown are two Mail User

Agents (MUA) of senders Alice and Carl, using the same Mail Submit Agent (MSA)

to send messages to the same recipient, Bob. The MSA forwards the messages to

Bob’s Mail Delivery Agent (MDA), via MTA A, a Mail Transfer Agents (MTA) in

Alice’s domain. Email messages are forwarded between the mail agents using the

Simple Mail Transfer Protocol (SMTP). There may be zero or multiple MTAs

through which the message flows in Alice’s domain. The last MTA along the path of

the message in the sending domain is sometimes called the outgoing border MTA.

The outgoing border MTA, e.g. MTA A, transfers the message to the incoming border

MTA in the recipient’s domain, e.g. MTA B, which transfers the message to the

recipient’s (Bob) Mail Deliver Agent (MDA), directly or via a series of intermediate

MTAs.

Page 17: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

6

Bob’s MUA contacts his MDA to download messages, often using the Post Office

Protocol (POP), the Internet Message Access Protocol (IMAP), or a web-form for

web-mail. This process should be authenticated, to prevent others from reading or

modifying Bob’s mailbox. Web-mail is usually protected, like other sensitive websites

and web services, e.g. by sending user-name and password over a secure (encrypted)

connection. POP and IMAP support several authentication mechanisms, from simple

transmission of user-names and passwords in the clear with the POP USER and PASS

commands, to more advanced authentication protocols such as using S/key and

Kerberos, described in (J. Myers, 1994).

Figure 2.1: Typical E-Mail Architecture and Flows

2.2 THE VICIOUS CYCLE OF SPAM, MALWARE AND ZOMBIES

Spam is closely related to other threats to computer security, and in particular to

different forms of malicious software (‘malware’) such as viruses and Trojan horses,

and also to spoofed web sites and other online scams. There is a ‘vicious cycle’ in

which spam plays a central role. The essences of the cycle are the following

observations:

Page 18: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

7

– Most of spam is produced by zombies, i.e. end-user computers controlled by

hackers. Estimates are in the range of 80% of the spam produced by zombies.

– The main tool to gain control of zombies is by distribution of malware, such as

viruses.

– The main mechanism to distribute malware is by spam, and indeed, malware

accounts to a large percentage of the spam traffic.

– Spam and zombies also provide direct profit to attackers; Spam - by revenue from

ads and sales, and zombies - by collecting information, e.g., passwords and

documents.

The vicious cycle is shown in more details in Figure 2.2. The cycle begin when a

spammer obtains Internet access, and possibly also a domain, and begins to send spam

(left side). The critical point in the process is the response of the user (or his agent) to

the incoming spam. When a user reads a spam message, there are four main

possibilities:

1. The user may simply discard the spam; here, the damage is mainly the waste of

time by the user, as well as the bandwidth, storage and processing costs.

2. When spam contains advertising content, the user may actually respond favorably

to the advertisement, e.g., by buying the advertised product or service.

3. Often, spam contains links to a malicious web site used as part of a scam; termed

phishing for the method of luring users to a scam web site by spam email. Scam

web sites usually trick users into providing them with sensitive, personal

information, in different ways; one of the most common is by misrepresenting

(spoofing) the scam web site as a trustworthy web site, e.g., a large bank, and

asking users to login to their account, thereby collecting user accounts and

passwords. Sensitive information like credit card numbers can also be collected and

misused.

4. Spam messages often contain malicious programs (malware) such as viruses and

Trojan-horse programs. Such malware, running on the user’s computer, often use

this computer’s resources, including email accounts and email ad-dress books, to

send additional spam messages. Finally, malicious websites (often spoofed sites,

i.e., clones of ‘good’ sites), as well as some malware (spyware), collect personal

Page 19: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

8

information, used for fraud (especially identity theft) and for composing harder-to-

filter spam messages.

Figure 2.2: Vicious Cycle of Spam

2.3 CATEGORIZATION OF SPAM-PREVENTION TECHNIQUES

Spam is an annoying, familiar problem to most email users, and it often looks

(deceptively) easy to solve. As a result, there have been a very large number of

proposals on how to deal with spam. Unfortunately, many of the proposals ignore

some of the basic realities of email, often by evaluating the value of the proposal in a

scenario where the proposal is widely or globally adopted, and sometimes requiring

major changes to the email system. The reality is that while spam annoys many

people, solutions should allow for gradual adoption and minimize disruption or

changes to current email usage. Unrealistic proposals are often referred to as FUSSP,

standing for Final Ultimate Solution to the spam Problem.

Even ignoring some obvious FUSSP proposals, there are many deployed and

proposed technical mechanisms for preventing spam, or at least controlling its

proliferation; such means are referred to as spam controls. Spam controls differ in

many aspects and assumptions, and there are often heated debates on merits and

drawbacks of different approaches, often arguing whether a given proposal is a

FUSSP (i.e. unrealistic) or good.

Page 20: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

9

In Figure 2.3, suggested is a categorization appropriate for some of the most of the

important spam controls. There are so many different ideas and approaches, that this

categorization is quite complex; to avoid excess, we did not include (important) non-

technical mechanisms, e.g. laws and regulations. In the rest of this section, we explain

the categorization.

Figure 2.3: Categorization of Spam Controls

The top level categories are content filtering, identity-based and cost-based spam

controls. Content filtering is clearly the most widely deployed. Content filtering tries

to distinguish between spam and non-spam (sometimes called ham) messages.

Therefore, content filtering is subject to errors, usually referred to as false negatives

and false positives.

A false negative is a spam message which was not detected by the content filter,

and delivered to the user. Much worse are false positives: innocent, non-spam (ham)

messages, which the content filter mistakenly categorizes as spam (and blocks). Users

are very sensitive to false positives, which may result in lost messages. Commercial

and experimental content filters claim very low false negative rates, and even lower

false positive rates, e.g., 0.5% and 0.03% (P. Graham, 2002).

Page 21: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

10

Content filters are easy to deploy, requiring adoption only by the recipient and

providing immediate relief from (most) spam. The combination of ease of deployment

and low false positive and false negative rates makes content filtering widely used.

However, as explained in Section 2.3.1, content filtering does have some limitations,

motivating the development and deployment of complementing spam controls.

Spam controls not based on content filtering can be broken into two top-level

categories: cost based spam controls and identity based spam controls. Cost based

Spam controls attempt to ensure that sending spam would involve non-negligible

costs, monetary or otherwise. The cost is either for every message sent (where the

term postage is appropriate), only for spam messages, or for every message, but with

mechanisms for refunding the payment for non-spam messages.

Identity-based Spam controls involve two aspects: The identification of the sender

or of another party responsible for the message. Identification can help not to control

spam, but also to prevent phishing and other fraudulent (spoofed) email. Some

identification mechanisms use cryptographic authentication mechanisms such as

digital signatures; others rely on the difficulty of intercepting responses sent to

specific (victim) recipient.

Identity-based Filtering are mechanisms for determining whether to receive

messages from a particular identity. These include blacklists, whitelists, reputation

systems and accreditation services.

We discuss the different Identity-based and cost-based spam controls in the

subsequent sections.

2.3.1 Content Filtering Spam Controls

Content filtering spam controls try to identify email messages that belong to one of

several categories of potentially-undesirable email, e.g. messages contain advertising,

offensive or malicious content. This function could have been trivial, if senders

always marked such messages using a standard convention, e.g. using the word ADV:

in the subject, as required by several anti-spam laws. However, most spam messages

ignore such laws and conventions. Content filtering tries to detect spam by inspecting

the content of the messages, often including header fields. Content filters use a variety

Page 22: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

11

of mechanisms to detect spam, often combining the ‘scores’ of several mechanisms to

reach the conclusion. These mechanisms include:

Heuristic filters search for known patterns of some common spam messages, e.g.,

certain words (XXX, FREE...) or files containing a known viruses. The patterns are

collected using heuristic and manual processes. Known patterns filters are relatively

weak, since spammers are usually aware of the patterns filtered against in default

installations, and users rarely add patterns. Therefore, it is easy for the attackers to

avoid the known patterns while still conveying the same spam message to the human

reader, e.g. using spacer characters (v*i*a*g*r*a) or minor spelling errors (viiagraa).

Adaptive (learning, Bayesian) filters collect statistics from collections of email

messages and from user’s actions on received messages, to automatically categorize

(identify) spam vs. non-spam messages. Currently, statistical (aka adaptive) filters are

quite effective at identifying spam, with excellent reported rates of only 0.03% false

positives (non-spam mistaken for spam) and 0.5% false negatives (undetected spam)

(P. Graham, 2002).

However, as statistical filters become more common, spammers may gradually

adjust by avoiding or mangling any string which is likely to be filtered. Of course,

spammers will have to avoid extreme mangling, since that may by itself be easy to

detect. Furthermore, spammers can use similar learning algorithms to test their

messages and modify as needed to avoid detection, especially by identifying and

adding words or text which is common in non-spam messages (for the target group of

recipients). Spammers may also disrupt adaptive filters by intentionally adding words

and phrases from legitimate mail to the spam, thereby increasing the false positive

rate to unacceptable levels. Further re-search may be needed, to provide independent

confirmation of the excellent claimed rates for adaptive filters, and evaluate whether

spammers are able to adapt and avoid detection and/or increase false positive rates.

Collaborative filters operate by collaboration of multiple users, some or all of

which identify spam by manually evaluating the content of a message. This relies on

the ability of humans to identify spam; indeed, a trivial version of such ‘human

filtering’ is a secretary filtering incoming messages. Collaborative filters simply share

the filtering work among multiple persons, usually all in the capacity of email

Page 23: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

12

recipients. When user Alice identifies and marks a spam message in her inbox, her

Mail User Agent (MUA) will automatically alert the content filtering mechanisms of

other users (running on each MUA or as a service in a mail server). Collaborative

filtering mechanisms are most useful as a complement to adaptive content filters, by

providing timely updates to block new variants of spam. Collaborative filters need to

take into account that users may often err, and identify non-spam a spam or vice

verse.

Honeypots use special email accounts which are made available to spammers,

typically by placing them in public web sites, along with human-readable notice

asking not to send any mail to the honeypot address. The honeypot accounts should

never receive any legitimate mail. Therefore, any message sent to the honey-pot

accounts is spam. The spam collected by the honeypot is used to adjust the filtering

mechanisms, as well as to identify spamming users and domains, for

identity-based filtering and possibly to take other actions against spammers, e.g.

litigation.

State-of-the-art content filtering mechanisms are very effective against current

spam. However, content filtering results in an ongoing battle between spammers and

filters, with spammers designing messages to bypass filters, testing them against

current filters. Some of the techniques already exploited by spammers to avoid

content filters include sending very short messages, containing mostly a pointer to a

website, ‘hiding’ the message e.g. inside graphics to make it hard to extract the text,

and presenting the spam as a bounced email message returned to the user. Spammers

may also use openly available messages, e.g. from public mailing lists, and from

personal mailboxes exposed by malware, to create messages which are more similar

to legitimate mail for the target user.

There are other limitations of mail filters. In particular, mail filters may not be able

to correctly distinguish between some important classes of content. This includes

identification of age-inappropriate videos and distinguishing between malware and

benign programs. Therefore, it is advisable to combine content filtering with

complementing spam controls, based on identification and/or payments.

Page 24: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

13

2.3.2 Identity-Based Spam Controls

In this section we discuss spam controls based on the identity of a party responsible

for the email, usually meaning either the originating email sender, the outgoing border

MTA of the sending domain, or a resending agent such as an email forwarding

service. The identity is established using identification and authentication

mechanisms; then, the receiving party uses identity-based filtering mechanisms, such

as reputation and accreditation services, to determine whether to allow email from a

specific sender identity.

The main goal of Internet email is connectivity. This has problematic

consequences for email identification mechanisms, including:

– The sender’s email address, specified in the from: email message header field, may

be unrelated and unknown to the sending domain, which should be specified in the

HELO/EHLO SMTP command.

– In several important, common cases, email messages are processed and by

resending agents, on behalf of the originator or the recipient. This happens, in

particular, by recipient forwarding services, e.g. from fixed email e.g. al-iceacm.org

or current email e.g. alicewonderland.com. Mailing lists are another important

example. Such services may add or change header fields identifying the source of

the message, including from, sender, mail from and resent-from.

– Mail Transfer Agents (MTAs) are allowed to add and modify headers and even the

message body, in certain ways. The main original motivation for changing the

message was interoperability across platforms, but there are other motivations, e.g.

to add indication of anti-virus filter.

– Incoming Mail Servers (MTAs) are willing to receive mail from unknown domains.

i. Identification based on Email Path Security

The most natural approach to identify the sender of an email message is by using

the email address fields in the message. It is especially tempting to use the from: field,

which identifies the original sender, and which is normally the only sender

identification presented to the receiving user. However, as noted above, using the

email sender identification is problematic, mainly since spammers often use incorrect,

Page 25: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

14

unauthorized and misleading sender email addresses.

In spite of this problem, several spam control mechanisms identify the email

senders, using email addresses. Some of these mechanisms rely on cryptographic

authentication; we discuss these in subsequent subsection. In this subsection, we

review other identification methods based on email address, whose security is based

on email path security - namely, the difficulty for an attacker (spammer) of

intercepting an email message sent to an email address not belonging to the attacker.

The most basic mechanism is identification using the sender email address, as

specified in the respective header field (mainly, from and/or sender). Attackers can

use spoofed (fake) email sender address. Yet, this mechanism is valuable only when

the attackers are unlikely to know or to guess an acceptable sender email address. For

example, such systems may allow only email from senders whose addresses are

included in the user’s email address book, in the hope that a spammer is unlikely to

use these specific addresses. Of course, this assumes email path security, in particular,

that the attacker is unable to view messages sent to or from the user, otherwise the

attacker can put addresses from these messages in his spam sent to the user.

The level of security of such schemes is not very high; in particular, they often fail

since some correspondents machine become zombies, i.e. controlled by an attacker,

and then the attacker may use email addresses from address books and email

messages exposed on the zombie machine. To reduce the chances of detection of the

zombie machine, the attackers will often send these spoofed messages from another

email address found in the messages, rather than using the zombie’s email address.

Challenge-response validation: In challenge/response schemes, the recipient of

‘suspected’ email returns the message to the sender, with a brief message asking her

to resend the message, with precise instructions. The recipient may include some

indicator in the response, to detect it is a valid response, and therefore deliver the

message; this may be as simple as a special e-mail address or a (pseudo)random

identifier attached by the recipient. Some systems will use challenge-response only

for initial interaction, and later rely on identification using the sender email address

and/or a unique recipient’s email address.

Page 26: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

15

The goal of challenge-response systems is to validate that the email was sent with a

valid email account for receiving ‘bounces’ (email error messages), normally

specified in the mail from: SMTP header line. Many spammers use invalid bounce

and source addresses, so they may not be able to respond.

Of course, this technique may not help if the spammer uses a valid email account.

Indeed, unfortunately, spam is often sent from machines controlled illegitimately by

the spammer (zombies). Challenge-response will block a spammer sending email

from a zombie computer, if the zombie does not respond to the incoming challenge

correctly. However, if the response to the challenge is trivial, e.g. simply using

‘reply’, then it is easy for the spammer to program the zombie to automatically issue

the response; therefore once such a scheme becomes widely deployed, it may become

ineffective. Therefore, some of the challenge-response proposals involve a ‘Human

Interaction Proof (HIP) challenge’, which is designed to require interactive effort by a

real person to provide correct response.

Challenge-response systems are of the most controversial spam controls. Many

opponents claim that they cause unacceptable annoyance to the sender of the email,

who may fail to re-send the message. Another frequent criticism, especially against

HIP challenges, is that a spammer may either send spam disguised as a challenge, or

use HIP challenge to force users to solve HIP for the spammer, and use this for

spamming others. Indeed, some challenge-response opponents even suggest that the

sender’s anti-spam mechanisms may, or even should, automatically discard any such

challenges; if this attitude is in fact implemented widely, this may be a fatal blow to

challenge-response systems.

To avoid annoying senders, some of the challenge-response proposals include a

sender MUA enhancement that responds automatically, for convenience; however this

may be abused (e.g. in zombie), and may yet be unacceptable to some senders not

wishing to install such a tool or to retransmit. Finally, challenge-response systems

introduce additional latency and overhead (retransmissions, synchronization of

address books, change of address, etc.).

Unlisted recipient email address: In the simple version of ‘unlisted recipient email

address’, the recipient gives her email only to known, trusted peers, and never

Page 27: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

16

publishes it, hoping that it will not be known - or used - by spammers. This is a very

common, low-tech solution. It is often combined with generation of ‘disposable’

alternate email addresses, used in less-private forums (and disposed of, when abused

by spammers).

Unfortunately, this simple version is not very secure. First, attackers can find a

surprisingly-large fraction of the user names by simply scanning the target mail

server, using large lists of common user names; this is often called a dictionary attack.

Second, the e-mail can be exposed when sending the same message to multiple

recipients, especially if copying a mailing list.

In a more advanced version, the recipient uses a unique unlisted address per each

(known) sender. This technique combines the ‘return address validation’ and the basic

‘unlisted email address’ techniques described above; the goal of this extension is to

perform ‘return address validation’ only on the first email received from any

particular mail sender (to reduce the annoyance to the sender). To facilitate this, the

recipient sends, in his reply to the sender, a special email address, which also reaches

the recipient, but contains also a unique identifier allowing the recipient to identify

this particular sender. The special email address may be generated automatically,

possibly using a cryptographic mechanism as described in (E. Gabber and et al, 1998).

ii. Path-based Authentication of IP-Address

Internet email is sent using the Simple Mail Transfer Protocol (SMTP), as

described in Section 2.1. SMTP is interactive; the sending main agent must respond

properly to messages from the receiving mail agent in order to transfer the messages.

Furthermore, SMTP is connection-based, and communicates by sending messages

over TCP - and TCP already requires the sender to respond to packets from the

recipient. TCP sends packets using the IP (Internet Protocol), which uses an IP

address field in each packet to route it to its destination. Therefore, we can identify

sending mail agents using their IP address, in one of two ways:

– Immediately at the receiving mail agent, who is using the sending mail agent’s IP

address, or

– Later on, using the ‘tracing information’ included in the email header (in the

Page 28: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

17

received from: fields, which include the IP address of each email agent involved in

forwarding the message).

Identification of the IP address is not secure against Man in the Middle (MITM)

adversaries, who are able to receive and respond to packets sent with an IP destination

of a victim, different the adversary’s IP address. However, many spammers are not

able to intercept packets sent to a different IP address; IP address identification works

well in this case.

Notice, furthermore, that the IP address of the sending mail agent is not necessarily

related to the email source addresses specified in the email message (in the from: and

/or sender: fields, or to the address used to send bounces mail from: fields).

iii. Path-based Authentication of Domain Name

Internet email allows a recipient, e.g. MTA B, to receives email from a server in

another domain, e.g. MTA A, even when the specified sender email address, and/or

the address specified to report errors (bounce address),belong to a third domain, e.g.

wonderland.net. For example, the incoming border MTA B in Figure 2.1, may accept

messages from MTA A, e.g. [email protected]. Such email may be legitimate,

e.g. if Alice has an email account at domain wonderland.net. Normally, both Alice

and the wonderland.net domain administrator are happy with this scenario, since it

makes it easier for Alice to use [email protected] as her primary email account.

However, in many cases, a domain, e.g. wonderland.net, may not want other

domains to issue mail with a sender or bounce address in the domain, e.g.

[email protected]. In particular, by preventing the use of the ad-dress

[email protected] as bounce address, the domain avoids receiving bounces to

spam which used this address (illegitimately). Similarly, a bank may not want other

domains to be able to issue ‘phishing email’, specifying without authorization a

sender email in the bank’s domain, e.g. [email protected].

In this section, we discuss mechanisms that allow an administrator of a do-main,

e.g. wonderland.net, to specify an email authorization policy, specifying which

sending, outgoing border MTA is authorized to send email which specifies sender

and/or bounce address in the domain wonderland.net. This can help prevent email

Page 29: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

18

spoofing, by establishing that the mail server sending the message is authorized to

send mail for senders from the specified source domain. In this section we focus on

path-based email authorization mechanisms, where the outgoing MTA is specified by

its IP address, relying on the difficulty for a (non-MITM) attacker to send email with

a fake IP address. Path-based authorization mechanisms are very simple to

implement, and require minimal computing and communication overhead.

There have been several proposals of path-based authorization mechanisms, with

significant adoption by a significant fraction of email domains, and extensive efforts

to consolidate proposals and reach a standard; some of the early proposals are (H.

Danisch, 2003), followed by (Microsoft Corporation, 2004), and proposed by

Microsoft. The most important proposals currently promoted are the Sender Policy

Framework (SPF) (M. W. Wong and W. Schlitt, 2005), and Sender-ID (J. Lyon and

M. W. Wong, 2005), which is driven by Microsoft.

A main component of path-based authorization mechanisms, which is essentially

identical in these two main specifications, is the email policy record. The policy

record of a domain contains list of IP addresses (or IP address ranges), allowed to

send e-mail which uses an address of the domain (as responsible for the message). In

both specifications, the policy record is distributed as a record in the Domain Name

System (DNS), chosen as a convenient and efficient distribution mechanism. Notice

that currently, DNS is not secure against Man in the Middle (MITM) attackers, who

can cause incorrect DNS replies; this may allow such an adversary to cause false

positive and false negative failures for policy-based authorization mechanisms, based

on retrieving policy from DNS. In principle, policy records could be signed to prevent

this threat; in reality, this is usually considered overkill for the limited goals of policy-

based authorization mechanisms.

At the very end of the policy records, the domain provides information regarding

the completion of the list of IP addresses authorized to send mail for the domain. The

main options are:

-all The list is complete, and only servers whose IP address appear on the list are

allowed to send email on behalf of the domain.

all The list is probably complete, but not with absolute certainty; there may be some

Page 30: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

19

servers that allow sending email on behalf of the domain, whose IP address was

forgotten and not included in the list.

+all The list is incomplete, and there are probably one or more servers, allowed to

send email on behalf of the domain, which are not on this list.

The main differences between the SPF proposal and the Sender ID proposal are in

the identification of the domain responsible to a given email, and in the handling of

out-of-domain mail services such as forwarding and mailing lists.

The identification of the domain responsible for a message is complex, due to the

use of several relevant email message header fields, identifying the sender and other

parties relevant to the transmission, including:

from: identifying the originator.

sender: identifying an agent who sent the mail on behalf of the originator (if not the

same as the originator).

mail from: identifying the ‘bounce to’ address (to which bounce reports are sent).

HELO/EHLO identity: this is content of the SMTP HELO or EHLO commands,

which the standard specifies to be the domain name of the sending SMTP agent

(the ‘SMTP client’). Note that this may differ from the do-main of the sender, e.g.

when an ISP a.com is transferring email of customer [email protected].

Both SPF and Sender ID allow identification and authorization using the mail from:

address, identifying the ‘bounce-to’ address. This works as follows. Suppose

incoming border MTA, say MTA B, receives email from MTA A, in another domain,

with mail from: [email protected]. Then MTA B looks up the email policy

record of wonderland.net, typically by an appropriate query to the Domain Name

System (DNS). If such a policy record exists, then MTA B checks if the IP address of

MTA A appears in the list of authorized mail senders for wonderland.net. If it does

not, and the policy record ends with -all, then the email is rejected. The idea is that

such mail, with unauthorized mail from: field, is probably unrelated to

[email protected] - viruses and spammers often abuse sender email addresses. If

MTA B transfers the email, and this email is eventually bounced (which is likely),

then [email protected] will receive this bounce of a message she never sent.

Namely, publishing the policy record allows wonderland.net to avoid receiving such

Page 31: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

20

‘fake bounces’.

This method works well when legitimate email passes directly from the sender

domain to the recipient domain. However, this is not always the case; there are many

cases where email has to pass through an intermediate domain, including:

1. Mail sent by [email protected], while visiting domain a.com.

2. Mail forwarded, e.g. from Bob’s university account, [email protected], to his current

account, bobsponge.com.

3. Mail distributed by a mailing list.

In most of these cases, except some mailing lists, the intermediary mail agents do

not change the mail from address. This may cause such mail to be rejected by the

receiving MTA B. The Sender-ID specification stipulates that intermediate domains

should change the mail from field, to an address under its control. Should that address

eventually receive a ‘bounce’ of the original message that ‘bounce’ should be

forwarded to the original mail from address. This altered address should refuse to

receive any other messages (except bounces of the original message). We are not

aware of any intermediary mail agents that implement these specifications at this

time.

Sender ID also allows identification and authorization using the Purported

Responsible Address (PRA). The PRA is not an email header field; instead, it is the

result of a simple algorithm applied to an email header, whose goal is to identify the

entity responsible for this email: the original sender, or an email agent such as

forwarding service. The PRA algorithm is specified in (J. Lyon, 2005). The idea is

that the PRA is, as the name suggests, the party responsible for the email - in

particular, for it not to be spam. For this to be meaningful, this information should be

exposed clearly to the end user.

However, currently most email clients only display the from: or sender: fields,

which are not validated by Sender ID (or SPF). Sender ID specifies that email clients

should display the PRA, and considering the Microsoft is the main proponent of

Sender ID, this may be implemented in future Microsoft email clients. It remains to be

seen whether this will be helpful to the non-expert email recipients, or be a confusing,

complicated indication that users will ignore.

Page 32: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

21

An even worse possibility is that some mail clients may present messages that passed

Sender-ID’s PRA validation as ‘authenticated’, with only the value of the from

header, even when the (validated) PRA is different; this may make it actually easier

for attackers to spoof email sender identity, e.g. in phishing attacks. This threat is

sometimes referred to as email laundry attack.

Like the mail from identification, the PRA identification also works well when

legitimate email passes directly from the sender domain to the recipient domain, but

difficulties arise when email has to pass through an intermediate domain. The Sender-

ID specification stipulates that such intermediaries add a resent-from header or a

sender header, allowing the PRA algorithm to result in the identity of the

intermediary. We are not aware of any intermediary mail agents that implement these

specifications at this time.

The SPF specification allows, in addition to the mail from identity, also the use of

the domain identity specified in the SMTP HELO or EHLO command, which is the

first command sent from SMTP the sending (client) SMTP agent to the receiving

(server) SMTP agent. According to SMTP standards, this entity should be the name of

the sending domain, although not all SMTP implementation actually do this.

However, when properly implemented, this is always an identifier of the domain

transferring the message, be it an intermediary domain or the origin domain.

However, this identifier is never presented to the receiving user.

The fact that a policy records exists for any of the SPF/Sender-ID identifiers (mail

from, PRA and HELO/EHLO), and the inclusion of the IP address of the sending

MTA in this record, does not necessarily imply that this message is ‘good’ (e.g. non-

spam or not spoofed). After all, a spammer (or other attacker) can set up the policy

records for his own domain. Furthermore, setting up new domains may be easier than

changing IP addresses, therefore blacklisting spamming domains is of limited value.

However, well behaved, non-spamming domains usually use long-lived domain

names. Therefore, domain names, possibly validated using the policy record against

the IP address of the sender, can be used as an identifier for validating (positive)

ratings of a domain.

Page 33: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

22

iv. Cryptographic Email Authentication

Some of the most important spam controls are based on cryptographic

authentication of senders and/or of sending domains. Cryptographic message

authentication mechanisms include two functions: t = authka (m) receives key ka and

message m and outputs tag t, and validatekv (m, t) receives key kv (identical or related

to ka ), message m and tag t and outputs true if and only if t = authka (m). There are

two families of cryptographic message authentication mechanisms we can use:

Message Authentication Code (MAC) schemes, e.g. HMAC (H. Krawczyk and et

al, 1997), use shared secret keys, i.e. ka = kv above. Most MAC schemes are quite

efficient, and therefore their overhead, even if applied to entire email traffic, would be

reasonable for servers and negligible for most end-users. However, MAC schemes

require the sender and recipients to share a secret key, kept hidden from the

adversaries. When this is not a viable option, e.g. when the sender does not have a

prior, long-term relationship with the recipient, or when there are many recipients

(e.g. mailing-list), then the other cryptographic authentication mechanism, digital

signatures, may be more appropriate.

Indeed, most message authentication proposals for spam control use digital

signatures, with few exceptions such as the Signed Envelope Sender (SES) protocol

(S. Goodman and et al, 2004). SES uses MAC schemes (referring to it as ‘digest

signature’) to validate the message, when returned by the receiving (incoming) MTA

to the sending (and validating) outgoing MTA. The recipient

trust the validation response, since it receives it as an answer to a query to a known IP

address, i.e. based on the difficulty of intercepting packets sent to a server’s IP

address, and not based on cryptography.

Digital signature schemes, e.g. RSA (R. L. Rivest and et al, 1978), use a private

key ka to sign (authenticate) a message before sending it, and a public key, kv , known

to all recipients, to validate the identity of the sender. Digital signature algorithms are

often computationally intensive, i.e. can create substantial overhead. How-ever, the

same signature can be validated by multiple recipients, who could be significant for

email messages with many recipients; furthermore, there is no need in pre-established

shared secret key between sender and recipient. Most standard signature mechanisms

Page 34: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

23

can be validated on-line, i.e. not only upon message receipt (when there may be

interaction with the signer), but also afterward, and possibly by a third party (not the

recipient).

Using cryptographic authentication mechanisms to identify the party responsible

for spam may appear trivial: require senders to digitally sign the email. However, a

deeper reflection reveals several challenges, including:

– Legitimate, minor changes to email message on its transit may render the

signature invalid.

– Recipients need to know and trust the signer’s public key. A public key certificate

(PKC) signed by a trusted Certificate Authority (CA) is a possible solution, but

agreeing on trusted certificate authorities, and issuing certificates to senders or

their MTAs, are difficult and time consuming tasks.

– What identifier can we use for the signer? The public key used to validate the

signature is a secure identifier, but this is not meaningful for the recipient. Using

the sender’s email address is meaningful for the recipient, but has its own

problems: there are several candidate fields in the email headers (mainly from:

sender: and mail from: and some mail agents may change these fields, e.g. a

mailing list agent often changes from and/or sender. Furthermore, the signer

should be the party responsible for the message; is this always the original sender,

or can/should other entities be the responsible parties, e.g. a mailing list server?

The basic idea for using cryptographic message authentication to control spam is to

authenticate the party responsible for each email message m (typically, the sender).

This is done by attaching to m an authentication tag authka (m). The intuitive

approach is to directly attach the tag to the message body, with some separator. This

requires recipient’s Mail User Agent (MUA) to support this tagging mechanism,

namely validate it and remove it from the message displayed to the user.

S/MIME (Ramsdell, B, 1999) takes a more standard approach, and sends the tag as a

distinct MIME part (N. Freed and N. Borenstein, 1996); this is easy to process by

S/MIME-enabled recipients and to ignore by MIME-enabled recipients who do not

support S/MIME. However, this may create difficulties if the validation is done by a

mail server (MTA/MDA) or some clients, where MIME may be unavailable or cause

Page 35: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

24

significant overhead. S/MIME is also insensitive to most email headers, which are

often very relevant to spam.

Therefore, several recently proposed email message authentication mechanisms

send the tag in header fields, which are typically not shown to end-users by MUAs.

v. Blocking Spammers using Blacklists

In the previous subsections, we presented techniques for identifying the source of

the email or a party responsible for an email message. In this subsection and the

remainder of this section, we assume some identification mechanism was performed.

We describe different identity-based filtering mechanisms, for determining whether to

receive or reject email, based on this identification of the sender or of the party

responsible for the message. Specifically, in this subsection we focus on the most

basic identity-based filtering mechanisms, based on blacklists (also called block lists)

of ‘bad’ domains and/or senders.

Sender’s blacklists: Senders may maintain ‘blacklists’ containing email ad-dresses

of known spammers. However, such blacklists are of limited value, since many

spammers frequently change the declared source email address in their email (in the

from: header). Spammers can change the source email address either by using a false

source address, or by opening new email accounts in different free services. Indeed,

to limit this abuse of free email services, most providers now require new users to

perform a Human Interaction Proof (HIP) upon opening a new account, in the hope

that this is not easy to automate.

Sender’s blacklists are mostly effective to filter out email from few credible

organizations that nevertheless send unsolicited mail. We next discuss the more

useful technique of domain blacklists.

Domain Blacklists: in this technique, the email recipient or her mail server

compares the address of the sending mail domain, against blacklists of spamming-

related email domains.

Usually, the receiving Mail Transfer Agent (MTA) compares the IP address of the

sending MTA, against the blocks of blacklisted IP addresses of suspected-spamming

domains. This is more reliable than blacklisting a domain name, since spammers can

Page 36: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

25

open new domains with very little cost, often using stolen credit card numbers. Using

IP version 4, whose address space is scarce, it is difficult and expensive for

spammers to repeatedly change IP addresses. Notice that this situation may change

with the adoption of IP version 6, where address space may not become freely

available.

Some blacklists operate on the basis of domain names rather than IP addresses.

However, the cost for registering a new domain name is small (few dollars),

therefore domain names are hardly suitable for blacklisting. An exception is when a

domain becomes valuable, by gaining reputation and credentials, as discussed in the

next subsection. In this case, blacklisting can be effective, since the reputation and

credential mechanisms have made the identifier (domain name) valuable. Another

exception where the use of domain name blacklists is appropriate, is the blacklisting

of domain names of established mail service providers (e.g. hotmail, Gmail) and

Internet Service Providers (e.g. aol.com); of course, most ISPs will rarely blacklist

one of these large domains.

Many blacklists use the Domain Name System (DNS) to distribute records;

namely, lists identifying ‘spamming domains’ are entered as textual records in the

DNS. The use of DNS as a distribution mechanism is merely for performance and

implementation simplicity considerations; other distribution mechanisms may also be

used.

Clearly, the users of a blacklist rely on its contents to be correct, avoiding false

positives (unjustifiably blacklisted domains) as well as false negatives (spamming

domains which escape the RBL). However, maintaining a correct blacklist is not

easy, and requires considerable efforts and resources. In particular, attackers can send

fake complaints and use other techniques to ‘poison’ a blacklist and enter a victim,

non-spamming server into it, with the goals of harming the victim server and/or of

reducing confidence in the blacklist service; and blacklist operators may act

negligently or even intentionally permit false positives or negatives, for commercial,

ideological or other irrelevant reasons. Indeed, blacklist services may differ

substantially in their quality (false positives and negatives rates).

Page 37: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

26

Furthermore, different blacklists may use very different criteria, e.g.:

– List only open relays

– List IP addresses which were used to send spam

– List IP address blocks which belong to known spammers or which were used as a

destination for replies to spam

– List blocks of dial-up IP addresses (which are not expected to run a mail server)

– Combination of the above

As mentioned before, most of spam is sent from zombie (broken-into) machines. As a

result, domains cannot fully avoid issuing spam; this makes the determination of a

spamming domain more difficult and open to interpretations. Of course, domains take

different measures to limit the amount of spamming by a zombie, including

defining quotas on outgoing email per user, applying content filtering to the outgoing

email, and preventing end-user machines from directly sending mail to other domains

(port 25 blocking). These steps allow most Internet Service Providers to avoid being

added to most blacklists.

However, blacklisting is not a precise discipline; there are many different lists,

with different motivation and compensation mechanisms for their operators, different

listing criteria, different mechanisms for removing a domain in case of error or when

spamming ceases, and different levels of integrity.

Furthermore, some blacklists identify very large IP blocks as suspect spam, even

to the extent of blocking entire countries or large areas. This may harm the provision

of Internet services in these areas, causing collateral damage to non-spamming users.

vi. Blocking Spammers using Whitelists

In the previous subsection we discussed blacklisting of suspected spammers, which

depends on difficulty for spammers of obtaining new identifiers. Blacklists are

problematic, mainly since spammers can obtain new identifiers with very limited

expense; IP addresses may be the only identifier with significant price, and this is

only due to the current shortage of IP addresses, which may be removed if and when

IP version 6 is adopted. Therefore, in this subsection, we explore the remaining

another alternative: whitelists.

Page 38: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

27

Sender’s white-lists: In this technique, the recipient maintains a list of legitimate

email sender addresses. Email from these senders is accepted (without additional

filtering), while email from other senders is discarded or filtered. Email recipient

often use this technique to minimize the risk of false positives for email, when using

content filtering. However, this technique fails whenever the sender changes her

email account. Also, since viruses are used by spammers to collect legitimate email

addresses, often from address books, this technique could fail if the virus found the

correct addresses (e.g. in address book of a joint friend).

The simplest whitelists are these maintained and used by a single entity, e.g. Bob’s

MUA or his mail server. Namely, if Bob communicates (frequently) with Alice using

[email protected], or adds [email protected] to his email address book,

then the filter allows email from [email protected]. The filter will apply content

filtering, blacklisting and other techniques to email from other sources. Indeed, most

chat systems require explicit recipient authorization before transferring messages to

the recipient; this is a ‘whitelist only’ filtering mechanism.

Whitelisting by sender name only is subject to spoofing (fake name) attacks. For

better security, Bob could have used Alice’s public key as an identifier, if Alice

signed her messages to Bob. However, in both cases, this requires Alice to be known

to Bob in advance; in fact, Bob should trust that Alice is not a spammer.

2.3.3 Cost-Based Spam Controls

Email is an inexpensive communication mechanism, which is one of the reasons

spam is such a lucrative business. Therefore, one way to control spam is to exact

some price, monetary or otherwise, for sending messages. Often, e.g. when the price

is monetary, it can also provide compensation to the recipient and/or service provider

for the costs of handling the spam.

However, introducing cost for sending email is difficult, possibly even more when

the cost is by a monetary payment. In particular, users may object to pay for email,

which is currently (mostly) free. This may be solved by protocols ensuring that users

pay only for spam, or are refunded for paying for non-spam messages.

Page 39: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

28

Users’ resistance to paying for email may be reduced, if the ‘payment’ is not

monetary, but involves some user effort and/or computational resources. Furthermore,

monetary payments require interoperability between senders and recipients, and

acceptable overhead - even for the relatively low-charges which may be acceptable

for email (‘micropayments’). Considerable efforts were made to develop such

globally-interoperable and low-overhead micropayment schemes, but so far none of

these was truly successful. All of this motivates the use of alternate, non-monetary

cost mechanisms, which we discuss in the next subsection.

i. Non-monetary cost mechanisms: These allow acceptable overhead without requiring

global adoption. The non-monetary cost mechanisms are often also more acceptable

to users, since they do not involve a financial, monetary charge. Indeed, as we will

see below, users may be completely oblivious to some of the mechanisms. We next

present the main categories of non-monetary cost mechanisms.

Cost of Human Effort and Human Interaction Proofs (HIP): One of the reasons

that spam is so inexpensive, is the fact that it is sent ‘in bulk’, automatically by

programs, with minimal manual work. Indeed, some define spam as ‘unsolicited bulk

email (UBE)’ or as ‘commercial bulk email (CBE)’. Therefore, one method to control

spam is by ensuring that some amount of manual effort was spent for sending email,

in such way that prevents sharing the same effort among multiple recipients. These

spam controls force the sender to perform some task that is supposedly easy for

humans, yet hard to perform by a computer program. This kind of tasks is referred to

as Human Interaction Proofs (HIP). HIP are applicable in many situations, to ensure

that some process requires manual, human effort and cannot be fully automated.

Applications include ensuring effort for sending a specific email, opening a free

webmail account, joining a forum or mailing-list, providing ratings and voting.

Human Interaction Proofs were first proposed in (L. Von Ahn and et al, 2003),

using the name CAPTCHA, standing for, Completely Automated Public Turing test to

tell Computers and Humans Apart. The most familiar HIP is probably an image

containing a string, but where the string is displayed in mangled form, and it seems

that human pattern recognition abilities are required to identify the string.

Page 40: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

29

Figure 2.4: Example of a Human Interaction Proof (HIP), aka CAPTCHA

The goal of using HIP against spam is that a spammer will have to spend considerable

resources to perform these tasks since they require human attention, making

spamming not (or at least considerably less) profitable. There are different proposals

for CAPTCHA, usually requiring different sorts of visual recognition abilities. A

possible drawback of these methods is the burden on senders, some of whom may

refuse or fail to complete the task; an extreme case is the inability of blind and some

other handicapped users from responding correctly to HIP. Furthermore, there is

always the threat that improved programs and algorithms may enable automated

solution of the HIP, without requiring human interaction at all.

The protection offered by HIP is also limited by the relative ease, to an attacker, of

having the HIP provided by a real human, for free or for low cost. In particular, some

attackers, e.g. porn sites, may present the HIP challenge to their visitors, and use the

response for the real site; see Figure 6.1; this is often referred to as a Man in the

Middle (MITM) attack. Furthermore, attackers may simply hire low-paid individuals

to solve the HIP.

Figure 2.5: A ‘Man in the Middle’ attack on a victim site using HIP

Cost of Computation, or Proof of Computational Work: This family of techniques,

proposed in (Dwork and Naor, 1992) (Dwork, Naor and Goldberg, 2003) (Microsoft

Corporation, 2004) (A. Back, 2002), is a computational alternative to the ‘Cost of

Page 41: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

30

Human Effort’ techniques we described above. Again, we require a proof of

substantial investment of effort or some other resource, before granting services, e.g.

before processing an incoming message or before opening a ‘free’ webmail account.

Assuming that the adversary has limited resources, this limits the amount of services

consumed, e.g. the number of (spam) messages sent by this adversary, or number of

webmail accounts opened by the adversary (where we normally also limit the number

of messages sent by each account). This prevents abusive overuse of the service. In

the ‘proof of computation work’ techniques, the investment is in computational

resources rather than in human effort.

To prevent reuse, the ‘proof of work’ computation should be related to a unique

challenge, possibly selected by the service provider. The challenge may simply be an

email message, including destination and date, allowing destination to prevent token

reuse; or it may be a value selected by the service provider (webmail server, recipient

MUA).

The core of ‘proof of work’ techniques is a pair of functions, work (m, c) and

validate(x, m, c), with the following properties:

Correctness: for every m, c holds: validate (work (m, c), m, c) = True.

Upper-bound on work: There is a known algorithm WORK to compute work (m,

c) with resources bounded by R(c), where R(c) is a monotonously increasing

function. Intuitively, this implies that work is not too hard.

No major shortcuts: Given c together with l di erent values m1, . . . , ml , there is

no (known) algorithms that computes values x1, . . . , xl such that for i = 1, . . . , m

holds: validate(xi , mi , c) = True, with resources less than R′ (l, c), where R′ (l,

c) is a monotonously increasing function (typically linear in l). Intuitively, this

implies that work cannot be computed much faster than by using the known

algorithm W ORK.

Efficient validation: There is an efficient algorithm for computing validate.

A spammer will have to spend considerable resources for performing these

computations, making spamming not (or at least considerably less) profitable. One

concern with this approach is that spammers, who send their spam from zombies

(penetrated computers, see Figure 2.2), may not care much about the computational

Page 42: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

31

cost, while innocent users end up wasting their computer resources (on every email

sent by their computer, legitimate or spam).

Another concern is that this technique may prevent sending email from

computationally limited or energy-sensitive client devices, such as some mobile

devices. Some of the recent proposals for ‘proof of work’ functions try to address this

concern. As a result, the computational cost depends on the speed of access to (large

but slower) secondary storage (e.g. disk), where the difference between low-end and

high-end devices is less drastic.

A major problem with both cost of computation and cost of human effort is that

they are hard to bootstrap. Namely, as long as most senders do not attach payments or

proofs of work, receivers will not insist on them; and as long as receivers do not

insists on attached payments or proofs of work, senders have little incentive to

produce them.

Cost of Retransmission (‘Grey-listing’): One of the reasons allowing email to be

(almost) free is the high efficiency of transferring email messages using the SMTP

protocol. Therefore, one possible approach for introducing cost to email and in

particular to spam, is to reduce this efficiency - at least for suspect spammers. (E.

Harris, 2003) proposed an innovative technique for introducing such cost, which has a

very attractive feature: it relies only on standard SMTP implementation by the

sending MTA, and therefore may be deployed by a receiving MTA without the

awareness or support of the sending MTA. This technique, called domain/MTA

greylisting, uses the fact that the SMTP standard requires sending mail agents to

resend, within few hours, if the transfer failed due to potentially temporary reasons.

Specifically, grey-listing works as follows. When a boundary MTA receives an email

from an untrusted domain or MTA, it replies with a ‘transient error’ indication. The

receiving boundary MTA also writes to temporary storage the details of the rejected

email, and delivers it if it is received again within several hours. Standard compliant

sending MTAs will re-send the message after few hours, and therefore the server

eventually delivers their mail (albeit with some delay); spammers, who usually send

many messages simultaneously, may fail to resend or will have to spend substantial

resources. Grey-listing is effective against many of the current spam programs, but

Page 43: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

32

causes only limited damage to spammers which do implement retransmission.

However, another advantage of greylisting is that by delaying processing of mail from

unknown MTAs, it increases the likelihood that a spam message will be blocked, by

hitting an updated black-listing containing the sending MTA or domain, or an updated

content filter.

ii. Postage and Penalty Protocols: Here, we discuss cost-based spam controls, where

spammers are forced to pay in real money to send spam, thereby reducing or

eliminating the profitability and therefore the motivation to send spam.

There are two natural methods to apply payments as spam controls: to charge

senders for each message, like regular postage, or to charge only for spam, as a

penalty. Charging only for spam (i.e. using penalty protocols) is of course preferable,

since we do not want to unnecessarily penalize non-spam email senders. However,

penalty protocols require an agreed-upon decision mechanism to determine that a

particular message is spam. A simpler alternative, which still may avoid charging

non-spammers, is to charge for each message, but to cancel (re-fund) or at least

reduce the charge, once the message is identified as non-spam; we refer to this

approach as refundable postage protocols. We now describe each of these approaches.

Refundable and Non-refundable Postage Protocols: Sending email is extremely

inexpensive; in fact, the cost is negligible to many users - and spammers. This is one

of the properties that make email so attractive to spammers, and allows spammers to

profit from very low response rates and very limited income per message. This is also

very different from the usage of traditional communication channels such as physical

mail, where there is significant cost in the form of postage (as well as other costs such

as printing). Therefore, one natural form of spam control is to impose postage fees on

email. This approach was proposed in (J. D. Tygar and et al, 1996) (K. McCurley,

1998), and later by Microsoft (M. Abadi and et al, 2003) as part of their Penny Black

project.

We present a simplified design of a postage-based spam control in Figure 2.6. The

sender, say Alice, or a mail agent (MUA/MSA/MTA) on her behalf, requests (‘buys’)

a stamp for the email message, from Alice’s Payment Service Provider (PSP). The

Page 44: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

33

stamp is a payment message approved (signed) by the PSP, assuring the recipient

(Bob) that Alice has paid (a specified amount) for sending this specific message, or

for sending messages to this recipient.

Figure 2.6: Simplified design of a postage-based Spam control

The mail agent then sends the email message, together with the stamp, to the

recipient. The recipient, or his mail agent (MUA/MDA/MTA), checks if the payment

is sufficient and validates that it is willing to accept messages with postage from this

PSP (there may be an initial exchange by which the sender knows which PSP is

agreeable to the recipient); the recipient may also validate that the sender is not listed

in his blacklist of spammers. Recipients may also contact the PSP to ‘deposit’ the

stamp; most proposals advocate that recipients actually receive some or all of the

payment, in which case depositing the stamp is necessary to ensure payment.

Next, Bob’s MUA displays the message to Bob. Based on Bob’s reaction or

feedback, the spam filtering mail agent may know if the message was in fact spam or

not. It was spam, Alice may be added to Bob’s blacklist, so that additional email from

her will be discarded (even if a stamp is attached to it - preventing double-spending of

the same stamp by spammers, while allowing double-use of the same stamp by non-

spammers). If the message is clearly non-spam, then Bob’s MUA may contact the

PSP and instruct it to refund Alice; schemes that allow recipients to refund senders of

non-spam are called refundable. Other schemes are non-refundable, i.e. postage

Page 45: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

34

cannot be refunded; however even in this case, Alice may be refunded by receiving an

email message reply from Bob.

Penalty Protocols Postage protocols require payment for any message, spam or

non-spam. Recipients may be able to refund non-spammers, however this is

voluntary, and senders may be concerned about not being refunded even for non-

spam. An alternative to this is the use of penalty protocols, where senders only pay for

actually sending spam.

The main challenge in moving from postage protocols to penalty protocols is the

need for handling and resolution of abuse (spam) complaints. In addition, if the

payment commitment is done as a service of the domain sending the email, then the

agent signing on behalf of the domain should ensure that the (signed) from: headers

and log files will allow the domain to resolve any possible spam complaint regarding

this email message. However, current email signing proposals still leave the

complaint resolution process unspecified, and in practice - a slow and expensive

manual process.

In order to automate complaint resolution, we must establish a clear process for

validating a complaint, i.e. a clear test to decide if a given message is spam. Here, we

return to our definition of spam in the beginning of this manuscript. We use the term

spam to refer to undesirable message that does not contain an appropriate (‘warning’)

content label. To automate the complaint resolution process, the content label must be

authenticated (signed) together with the message.

Page 46: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

35

CHAPTER 3

RELATED WORK

In this section we present some of the previous works which have proposed

mechanisms to control outgoing spam.

Back (Adam Back, 2002) proposed a solution using Hashcash in May 1997. It was

originally proposed as a mechanism to throttle systematic abuse of un-metered

internet resources such as email, and anonymous remailers. Adam Back has proposed

Hashcash as a CPU cost-function to compute a token which can be used as a proof-

of-work. Interactive and non-interactive variants of cost-functions can be constructed,

which can be used in situations where the server can issue a challenge, and where it

cannot respectively.

The computational technique (Dwork and Naor, 1992) for combating junk mail and

controlling access to a shared resource has already been explored. The main idea is

that a user is required to compute a moderately hard, but not intractable, function in

order to gain access to the resource, thus preventing frivolous use. They presented

different types of pricing functions based on various ideas like extracting square roots

modulo a prime, the Fiat-Shamir signature scheme, and the Ong-schnorr-Shamir

signature scheme.

Dwork (Dwork et al., 2003) proposed that memory-bound pricing functions for

computational spam fighting are better than CPU-bound pricing functions. The main

idea is that since memory access speeds vary across machines much less than do CPU

speeds, memory-bound functions may behave more equitably than CPU-bound

functions.

Penny Black Project (Microsoft) is investigating several techniques to reduce spam by

making the sender pay. They’re considering several currencies for payment: CPU

cycles, memory cycles, Turing tests (proof that a human was involved), and plain old

Page 47: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

36

cash. Since computer resources are already being spent on email; they propose

increasing this cost to about ten seconds for unsolicited email. A user sending a

couple of unsolicited messages will hardly notice this. Someone sending 120

messages will experience a twenty minute delay. Spammers sending millions of

messages a day will have to invest heavily into computational resources.

The idea that computational puzzles are the best to control outgoing spam was also

proposed by (Goodman and Rounthwaite, 2004). They have also done an economic

analysis of using computational puzzles. They have identified complaint rates as a

critical factor in deciding the cost for spammers. They suggest by increasing

complaint rate, the cost for legitimate users is reduced whereas for spammers the cost

is increased.

The use of ticket servers has been proposed by (M. Abadi and et al, 2003). In this

proposed technique clients can contact a ticket server and obtain tickets to use for any

Network service (such as sending email). The recipient of such a request (such as the

email recipient) can use the ticket server to verify that the ticket is valid and that the

ticket hasn’t been used before. The recipient of the email can tell the ticket server to

refund the attached ticket to the original client if the email turns out to be non-spam.

This effectively controls or limits the use of otherwise free and open email service.

Page 48: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

37

CHAPTER 4

PROPOSED SOLUTION

4.1 DISCRETE LOGARITHM PROBLEM

As we saw the definition of DLP in section 1.3.1 the problem of finding x in

equation(1.1) when {p, α, β} are given. Consider the following example;

Table 4.1: Exhaustive search

X 0 1 2 3 4 5 6 7 8 9 10

αx

mod p 1 2 4 8 5 10 9 7 3 6 1

For example let p = 11, Z∗p = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, α = 2, a generator. Given

β=9 in equation(1.1); 9 ≡ 2x mod11. By exhaustive search in Table 4 . 1 the value

of x is 6. When p is small it is easy to find x, but when p is large then the table

will be large and then it is hard to find x. It is easy to find out β when α, x, p are

given but it is hard to find out x when α, β, p are given. Computing discrete

logarithms is apparently difficult, no efficient algorithms are known for non-quantum

computers.

Finding a generator (α)

In the proposed solution there is need to find a generator α of a prime number p. That is,

a value α<p such that the values

α1, α2,..., αp−2, αp−1 (all calculated mod p) are all different.

Since p is a prime number, we know by Fermat’s Little Theorem that αp−1mod p=1. If

α is a generator then αp−1mod p is the first and only time, in the list α1, α2,..., αp−1

that the answer is 1.

Page 49: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

38

However, if α is not a generator, then there will be some number i < p-1 such that αi

mod p = 1.

This means that αi+1 = α1, αi+2 = α2 and so on and we have a “cycle”

occurring and since αp−1 =1 we must have a set of complete cycles. This leads to the

following theorem.

If p is a prime and αi mod p = 1 for some i<p then i is a divisor of p-1. Consider

the following table which shows all the numbers from 1 to 10 as potential generators

for the prime 11.

Table 4.2: Finding Generator

α1

α2

α3

α4

α5

α6

α7

α8

α9

α10

1 1 1 1 1 1 1 1 1 1

2 4 8 5 10 9 7 3 6 1

3 9 5 4 1 3 9 5 4 1

4 5 9 3 1 4 5 9 3 1

5 3 4 9 1 5 3 4 9 1

6 3 7 9 10 5 8 4 2 1

7 5 2 3 10 4 6 9 8 1

8 9 6 4 10 3 2 5 7 1

9 4 3 5 1 9 4 3 5 1

10 1 10 1 10 1 10 1 10 1

The numbers 2, 6, 7 and 8 are (the only) generators for prime 11. The pseudo

algorithm for finding generator is as follows.

Algorithm 4.1: Efficient computation of next generator

INPUT: {α, p}

OUTPUT: A generator of Z∗p

whose value is > α

Page 50: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

39

1. Create a Boolean array isChecked[] of size ‘p’ and initialize all the values of the

array except isChecked[0] to false. Compute limit = (p-1)/2

2. α = α+1. Pick g = α as the potential generator of p.

3. If isChecked[g] = false

a. Set isChecked[g] = true

b. Compute value = glimit

mod p

4. If value = 1, go to step 2 else go to step 5.

5. count = 1, prev = g

6. Compute

a. prev = (prev*g) mod p

b. count = count + 1

7. if prev ≠ 1 and count < limit, go to step 6, else go to step 8.

8. if prev = 1, go to step 2, else go to step 9.

9. Return ‘g’ as the next generator of p.

This is the most efficient algorithm to find the next generator when value in

equation(4.4) is not a generator of p. We claim so because it takes an average of two

loops to find the next generator using the above algorithm. We have tested this for all

selectPrime in the prime space of 5 to 8 digits. This test result has been presented in

results section.

4.2 PROPOSED SOLUTION USING DISCRETE LOGARITHM PROBLEM

The flow of operations in the proposed solution is as follows.

1. After the sender composes an email and clicks on send, email client sends a ‘helo’

SMTP command to the email server along with its domain name.

Page 51: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

40

2. The email server sends a prime p from a subset of selectPrime for the current

session. The p value is injected into the SMTP reply command along with the

positive reply code for SMTP ‘helo’ command. Refer Figure 4.1.

3. Client extracts the p value injected into SMTP reply command for the current

session. Client also computes {α, β} using the algorithm given in Section 4.4. In

order to calculate these values the client needs to compute the hash of the

message-body and email-id of the recipient (equation(4.2) and equation(4.3)).

4. Client next computes ‘x’ for the values {p, α, β} using equation(1.1). The

algorithm to find ‘x’ given {p, α, β} is given in Algorithm 4.4.

5. Client then builds a stamp using these computed values and adds the stamp as an

extra header of the email. The stamp is of the following format.

x-dlp: ah : bh : α: β: x: p (4.1)

Client computes {ah, bh, α, β, x} for every recipient of the email, and adds an extra

header for each recipient. Multiple recipients are processed sequentially.

6. Client now forwards the email to the email server (ingress server); the email

server which acts as an MDA (Mail Delivery Agent).

7. The ingress email server extracts each stamp added as an extra header and verifies

it, also checks that p value in the stamp is the same that it had injected for the

current session. The stamp verification algorithm is given in Section 4.6.

8. The result of the verification process is added as another extra header of the email,

which indicates to the receiving email server that this email has passed some kind

of spam control and it can deal with this email with a different priority.

Page 52: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

41

Our solution augmented with SMTP is clearly shown in the following Figure 4.1.

Figure 4.1: Proposed Solution augmented with SMTP

4.3 HOW A SPAMMER COUNTER ATTACKS

The strength of our solution depends on the complexity of the proposed algorithm.

Since DLP can’t be solved in polynomial time by current day’s non-quantum

computers, the spammer will not try to optimize computation of DLP but will try to

bypass the computation by finding a hole in the protocol. This section presents

various scenarios where a spammer tries to fine-tune his malicious client in order to

evade the computation and the countermeasures we need to take to defend against

such counter attacks.

Page 53: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

42

Scenario 1: A spammer computes the stamp only once and appends the same stamp

for each email and for each recipient.

Solution: Our proposed solution has inherent mechanism to deal with this counter

technique. Each stamp is verified at the ingress point by the email server. If the

spammer fakes a stamp, that stamp’s verification will fail because the values α and β

of DLP are calculated as a function of message-body, email-id and p.

Scenario2: A spammer guesses the value of p for this session based on its value in the

previous session.

Solution: On the server side we are selecting a subset of primes from the prime space

containing all selectPrime of 5 to 8 digits. We use selectPrime to avoid Pohlig-

Hellman attack (D. Hankerson and et al, 2004). When the SMTP session begins, the

server will choose a prime from this subset of selectPrime to send to the client for the

current session. This subset is updated periodically to avoid guessing attack by a

spammer. Table 4.3 gives details about such primes. This mechanism of choosing a

prime p makes it difficult for a spammer to guess the value of p.

Table 4.3: Total Number of primes and primes whose (p-1)/2 also a prime.

Digits 5 6 7 8

Total no of primes 8363 68906 586081 5096876

No of selectPrime 555 3654 26333 198911

Scenario 3: A spammer bluffs the value of p.

Solution: In each of the verification level, given in Section 4.6.1 unto 4.6.2 the first

check that the ingress email server does is to verify that the value of p in the ‘x-dlp’

header is the same that it had injected for the current session. So, if the spammer

bluff’s the value of p verification of the stamp fails at the ingress email server.

Scenario 4: A spammer fakes hash values.

Solution: To elaborate this attack we can say that the spammer uses same hash of

message-body and email-id for each recipient. And then when he takes mod p over

Page 54: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

43

these hash values as in equation(4.4) and equation(4.5) to calculate the values {α, β}

he gets the values in the range [2, p-1] which is the admissible finite space for these

values. To overcome this counter attack the ingress email server has to be configured

to do a Level II verification of DLP stamp (Section 4.6.2). In this level of verification

the ingress email server calculates the hash of message-body and email-id and verifies

that they match with the values in ‘x-dlp’ header. So, if a spammer fakes these values,

his email will fail DLP stamp verification.

4.4 ALGORITHMS

In this section various algorithms that are used in the proposed solution have been

discussed.

Algorithm 4.2: Method to calculate Hash

The proposed solution uses MD5 hash algorithm which produces a 128-bit output. We

truncate this output to 32-bit value suitable for our application. Whether cutting the

output of some cryptographic hash-function hurts its security with respect to collision

resistance is an open research problem ("unnatural" constructed examples exist). But

NIST (probably with the approval of the NSA) used the cutting technique to get the

SHA-224 from SHA-256 anyway (Quynh Dang, 2009).

Algorithm 4.3: Compute {α, β} using message-body and email-id

INPUT: message-body and email-id

OUTPUT: α, β

1. The client computes hash of the message-body and email-id

ah = h(message-body) (4.2)

bh = h(email-id) (4.3)

Where ‘h’ is the hash function that has been described in Algorithm 4.2.

Page 55: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

44

2. Client then computes

α = ah mod p (4.4)

β = bh mod p (4.5)

3. Client checks the value of α computed in step 2. If α = 0 or 1 or if it’s not a

generator of p, then α = nextgen(p), where 'nextgen' is a function which finds next

generator of p (a generator whose value is greater than α) using the algorithm

given in Section 4.3.

4. Client then checks the value of β computed in step 2. If β < 2 or β = α, select the

next 32-bit from the 128-bit hash computed using the hash function given in

Section 4.1, compute hash mod p and use it as the value of β and repeat the

process until a suitable value for β is found.

Algorithm 4.4: Solve for ‘x’ given {p, α, β}

INPUT: p, α, β

OUTPUT: x

SolveX function

1. Initialize x=0, prev = 1.

2. Calculate val = modpow(α, x, prev).

a. prev = val.

b. if val = β, go to step 4, else step 3.

3. x = x+1, if x < (p-1), go to step 2.

4. Return ‘x’ found in step 2 as the solution of DLP.

modpow function

1. if x = 0, return 1.

2. if x >1, return (prev* α) mod p.

Page 56: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

45

4.5 Stamp Generation

The Stamp is generated by the client. The stamp has the format given in equation

(4.1). This generated stamp is added as an extra header of the email. The stamp is a

proof that the sender of the email has expended a few CPU cycles before sending the

email. Stamp is generated for each recipient of the email and the order of extra

headers is equal to the order of recipients. As we know, β is computed as a function of

email-id (equation (4.3) and equation (4.5)); same set of algorithms is run for each

recipient to find {ah, bh, α, β, x} values which constitute a stamp.

4.6 Stamp Verification

Verification of the stamp is done at sender’s email server (ingress server). The result

of verification process is added as an extra header of the email. All those emails

which have stamps that have been verified to be correct can be treated with a different

priority by the recipient’s email server. The verification process at the ingress email

server is classified into two levels. The administrator can configure which level to use

based on the requirements.

4.6.1 Level I Verification

In this level of verification the email server extracts the values {α, β, p, x} from the

‘x-dlp’ header of each recipient

a. Email server verifies that p is a value that it had injected for the current session.

b. It then verifies that the values {α, β, p, x} satisfy equation (1.1).

4.6.2 Level II Verification

In this level of verification the email server extracts the values {α, β, p, x} from the

‘x-dlp’ header of each recipient. It also extracts the message-body and email-id of

each recipient.

a. Email server verifies that p is a value that it had injected for the current session.

Page 57: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

46

b. Email server then computes α and β values using the same algorithm that is used by

the client (Algorithm 4.3). It verifies that these values match those added in the

header.

c. It then verifies that the values {α, β, p, x} satisfy equation(1.1).

4.6.3 Verification at the downstream email server:

This is the verification process that the receiving email server can do. A spam filter at

the receiving server can be configured to check for presence of ‘x-dlp’ header. Based

on the presence or absence of this header the downstream server can deal with that

particular email with a different priority.

Page 58: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

47

CHAPTER 5

IMPLEMENTATION DETAILS

We have implemented our solution in the form of an add-on for Thunderbird email

client and a module for Sendmail SMTP server. The add-on is used for DLP stamping

of emails on the client side and module for Sendmail is for verification of the stamp.

These modules and client, server system configuration are discussed in the subsequent

sections.

5.1 Server and client system configuration

Server configuration: Intel core2 Duo CPU with processor speeds of 3.00 GHz, 2

GB RAM, Fedora 12 operating system.

Client configuration: Intel core2 Duo CPU with processor speeds of 2.00 GHz, 1

GB RAM, Windows XP professional operating system.

5.2 Thunderbird Client Add-on

To throttle the client’s CPU and to generate CPU stamps we have developed an add-

on for Thunderbird email client. This add-on does the job of receiving p value for the

current session from the email server, computing hash of message-body and email-id

of each recipient, computing α and β values, solving for ‘x’, building a stamp for each

recipient, and adding the stamp as an extra header of the email. We modified an open

source add-on “Penny-Post” and added our DLP stamping module to it. The snapshot

in Figure 5.1, Figure 5.2, and Figure 5.3 show the add-on preferences window, the

toolbar palette (Stamp & Send) in the compose window, and stamping of email

respectively.

5.3 Sendmail module to inject a prime value

In order to inject a prime value p for an SMTP session, we had to augment SMTP

protocol, for this we have modified the source code of Sendmail SMTP server which

is available as open source. The modified SMTP server injects p into SMTP ‘helo’

Page 59: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

48

reply command. The snapshot in Figure 5.4 shows p injected into SMTP session. The

add-on in thunderbird email client extracts this p value to use for DLP.

5.4 Sendmail module to verify stamp

For DLP stamp verification to be done on the email server, we added a new module to

Sendmail SMTP server which verifies the ‘x-dlp’ header of each recipient. The

verification process begins once the SMTP server receives end of message (eom)

SMTP command. This module after verifying the stamp in ‘x-dlp’ header adds

another extra header which indicates whether a stamp passed or failed in the

verification process. This header can be used by the receiving inbox to classify the

mail based on heuristics and user rules if it wants to skip verification. The snapshot in

Figure 5.5 shows these headers.

Figure 5.1: Penny-Post add-on preferences window

Page 60: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

49

Figure 5.2: Thunderbird compose window with “Stamp &Send” option to send

email after stamping

Figure 5.3: Stamping of email in progress

Page 61: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

50

Figure 5.4: Injection of p value into SMTP session

Figure 5.5: x-dlp and verification headers added to an email

5.5 Compatibility issues

There would be a compatibility problem if any one of our module (DLP stamping

add-on or prime injection module) is made to work in isolation from the other

module. Our solution works perfectly, only if both these modules work in harmony

with each other. We address this issue with the help of following scenarios.

Page 62: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

51

1. Client has DLP stamping add-on but, SMTP Server has no prime injection

module: In this case our add-on doesn’t work as it doesn’t receive a prime value p

to use for DLP stamping. Thus, a compatibility problem with a normal SMTP

server. In this case the SMTP transaction fails. We suggest not using this

particular setup.

2. Client has no DLP stamping add-on but, SMTP Server has prime injection

module: In this case, the client cannot interpret the prime value p injected with

SMTP reply command, it just neglects it and a normal SMTP transaction follows.

Here too there arises a compatibility problem with a normal client. We suggest not

using this particular setup.

3. Client has DLP stamping add-on and SMTP Server has the prime injection

module: This is the most desired scenario where our solution works perfectly. The

add-on is able to stamp the emails on the client side after receiving a prime value

p from SMTP server. We suggest using this setup for spam control.

4. Client has no DLP stamping add-on and SMTP Server has no prime injection

modules: This is the normal case and follows the normal SMTP transaction, no

prime value injection and no DLP stamping of emails. We suggest using this setup

if spam control is not desired.

Page 63: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

52

CHAPTER 6

EXPERIMENTAL RESULTS

To support the claim made in Algorithm 4.1, we have calculated the average loops it

takes to find the next generator of p using Algorithm 4.1. We have calculated the no

of loops taken for each selectPrime in the prime space 5 to 8 digits and taken an

average to arrive at these values. The values are tabulated in Table 6.1.

Table 6.1: Average loops to find next generator

pdigits No of selectPrime Average loops to find next generator

5 555 1

6 3654 2

7 26333 2

8 198911 2

6.1 Client Delay

Our stamping algorithm is designed to add some delay on the client side before the

email is sent to the ingress email server. To see how much delay it adds, we have

tested our add-on for large number of recipients and arrived at the graphs given in

Figure 6.1 and Figure 6.2. We can notice from Figure 6.1 that given a fixed message-

body size, when we increase the number of recipients the delay on the client side

increases linearly. But, when we fix the number of recipients and vary the message-

body size (plain text used as message-body) as in Figure 6.2 we see that the delay on

the client side almost remains constant. This is because the hash algorithm that we are

using is fast enough to hash large message-body in relatively constant time. There is

hardly any delay on the client side when our spam control mechanism is not used,

because the client instantaneously communicates with the email server. Thus, the line

indicating delay without DLP spam control mechanism is very close to x-axis in the

graph of Figure 6.1.

Page 64: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

53

Figure 6.1: Client side delay with fixed body size

Figure 6.2: Client side delay with varying body size

Page 65: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

54

We have also calculated delay with attachments of type text file, image file and video

file. This result is shown in Figure 6.3. The variation in delay is more in case of video

files as compared to image or text files. This is because the MIME encoding being

used for each filetype is different and MIME encoding increases the size of the

attachments by different factors for different filetypes, the highest being that for video

files.

Figure 6.3: Client side delay with attachment

6.2 Server Throughput

The throughput of an email server is the number of messages that it can process in

an interval. It can be measured in terms of messages per second (MPS) that are

served. Our solution includes a server side module which verifies DLP stamps. This

adds a bit of overhead to the server which reduces the overall throughput of the email

server. To calculate by what factor the throughput reduces we ran a test on a standard

Sendmail SMTP server and our modified Sendmail SMTP server which does DLP

stamp verification. We sent constant email traffic for same duration in both the cases

and calculated the number of messages served per second. The graphs in Figure 6.4

and Figure 6.5 show the throughput in a setup with solution and without solution

Page 66: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

55

respectively. It is clear from these graphs that the throughput for a setup with solution

reduces by a small factor. We computed the factor by which the throughput reduces

by using the average throughput for the test duration.

· Average throughput for setup with solution: 2.758 MPS

· Average throughput for setup without solution: 3.012 MPS

· Factor by which throughout reduces = 100 – ((2.754/3.015)*100) = 8.4 %

Figure 6.4: Email server throughput with solution

Figure 6.5: Email server throughput without solution

Page 67: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

56

Figure 6.6: Email server throughput with attachment

As it is evident from Fig 6.3 that for attachments of type text file the client side delay

for stamping is less compared to image or video attachments; the spammer will

obviously try to use text files as a means to spread malicious contents. It would be

appropriate to see the output of our email server with such attachment and so, we

conducted an experiment this time with an attachment of size 6 MB and came up with

the graph of Fig 6.6 which clearly shows a drop in the server throughput because of

the large attachment size. In this case we registered an average server throughput of

2.115 MPS.

Page 68: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

57

CHAPTER 7

CONCLUSION AND FUTURE WORK

In this project we proposed a solution to control spam rate at the ingress points. The

proposed solution uses DLP to throttle the client’s CPU and generate CPU stamps as a

verifiable proof. Our solution adds a minor delay on the client side. This delay is very

negligible as far as a genuine user is concerned but, reduces the throughput of a

spammer by a huge factor. Our solution adds a very less overhead to the email server

which is involved in the verification of DLP stamps. The throughput of the server

with our solution is approximately 92% of the throughput without solution. From the

graph of Figure 6.3 we can assume that a spammer is more likely to use text files

instead of image or video files to spread malicious content when he is using our DLP

module on the client side. We have implemented our DLP stamping algorithm as a

module in an open source add-on which makes it a usable solution to control spam.

Also, the module that we have implemented for verification of DLP stamp is

compatible with any version of Sendmail SMTP server. We have also presented a fast

algorithm to find the next generator of a prime p and also an efficient algorithm to

compute x given {p, α, β} of DLP.

The proposed solution doesn’t distinguish between a genuine email sender and a

spammer. Every user has to solve the DLP puzzle and generate a stamp as a verifiable

proof irrespective of whether he is a genuine sender or a spammer. To overcome this

problem our solution can be extended to identify a spammer using any of the identity

based mechanisms (to identify a potential spammer) and send the DLP puzzle to only

such spammers and not to senders who would like to send only a limited number of

emails.

Page 69: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

58

APPENDIX I

Installing Sendmail SMTP Server from Source on Linux

1. Download the latest Sendmail (ver 8.14.3) source code from sendmail.org

2. Copy the downloaded tar file into /usr/local/src folder and extract the tar file

3. Navigate to /usr/local/src/sendmail-8.14.3 folder and compile the source code by

running: #sh Build

4. Create two new directories /etc/mail and /var/spool/mqueue

5. Navigate to cf/cf folder. Copy the generic-linux.mc file to config.mc

6. Run #sh Build config.cf

7. Copy config.cf file to /etc/mail/sendmail.cf

8. Copy /usr/local/src/sendmail-8.14.3/devtools/OS/Linux to /usr/local/src/sendmail-

8.14.3/devtools/Site/site.config.m4, and edit it to point to the correct path of man

pages which is /usr/share/man

9. Navigate back two folders: #cd ../..

Now install using the compiled source

#sh Build -c -f /usr/local/src/sendmail-8.14.3/devtools/Site/site.config.m4 install

10. Create empty local-host-names and aliases file

#cat /dev/null > /etc/aliases

#cat /dev/null > local-host-names

11. Initially start the sendmail daemon manually. It will start automatically from next

reboot: #sendmail -bd -q30m

Page 70: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

59

APPENDIX II

Installing and using Penny Post add-on

In this section we give the steps to download the latest Penny Post build, installing it

on Thunderbird email client and using it to stamp emails.

1. Download the latest build of Penny Post from the link:

http://pennypost.sourceforge.net/

2. Open Thunderbird Email Client. Go to tools -> Add-ons. Click on Install and

select the downloaded ppost.xpi file from the downloaded path.

3. Once the add-on is installed restart the client.

4. After restarting the client, go to tools -> Add-ons. Click on options under Penny

Post add-on.

5. After the previous step Penny Post options window is shown wherein many

configurations can be done. Select which of the stamping algorithm to use for

stamping. The latest build supports HashCash, MBound and DLP Algorithm

(Proposed in this project) to stamp emails.

6. In the Penny Post options window the default algorithm to use for stamping can

also be chosen. The Penny post options window is shown in Figure 5.1.

7. After successful installation and configuration of Penny Post add-on, in the

compose window of Thunderbird email client shown in Figure 5.2 of Chapter 5,

email can be composed and to send the email after stamping “Stamp & Send”

toolbar palette can be clicked.

Page 71: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

60

REFERENCES

M. Abadi and et al (2003). “Moderately hard, Memory-Bound functions”.

Proceedings of the 10th

Annual Network and Distributed System Security Symposium.

M. Abadi and et al (2003). “Bankable Postage for Network Services”. Proceedings of

the 8th Asian Computing Science Conference. Available online from

http://research.microsoft.com/research/sv/PennyBlack/

Avinash and et al (2010). “Throttling DDoS attacks using Discrete Logarithm

Problem”. Proceedings of SECRYPT 2010 International Conference on Security and

Cryptography.

A. Back (2002). “Hashcash - A denial of service counter- measure”. Technical

report. Available online from http://hashcash.org/

H. Danisch (2002). “A DNS RR for simple SMTP sender authentication”. Internet-

draft. Available online at http://www.danisch.de/work/security/antispam.html.

C. Dwork and M. Naor (1992). “Pricing via processing or combatting junk mail”.

Lecture Notes in Computer Science 740 (Proceedings of CRYPTO’92), pages 137-

147.

C. Dwork, M. Naor and A. Goldberg (2003). “On Memory-Bound Functions for

Fighting spam”. Lecture Notes in Computer Science, vol. 2729 (Proceedings of

CRYPTO’ 03), pages 426-444.

N. Freed and N. Borenstein (1996). “Multipurpose Internet Mail Extensions (MIME),

Part One: Format of Internet Message Bodies”. Internet RFC 2045.

E. Gabber, M. Jakobsson, Y. Matias and A. Mayer (1998). “Curbing Junk E-Mail via

Secure Classification”. Proceedings of Financial Cryptography, pp, 198-213.

J. Goodman and R. Rounthwaite (2004). “Stopping outgoing spam”. Proceedings of

ACM Conference on E-Commerce.

S. Goodman, J. Couzens, R. Moser and S. Gathman (2004). “The Signed Envelope

Sender (SES) Protocol”.

P. Graham (2002). “A plan for spam”. http://www.paulgraham.com/spam.html.

Page 72: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

61

D. Hankerson, A. Menezes and S. Vanstone (2004). “Guide to Elliptic Curve

Cryptography”. Springer, NewYork.

E. Harris (2003). “The Next Step in the spam Control War: Greylisting”. Available at

http://projects.puremagic.com/greylisting/whitepaper.html.

H. Krawczyk, M. Bellare, and R. Canetti (1997). “HMAC: Keyed-Hashing for

Message Authentication”. Internet RFC 2104.

B. Laurie and R. Clayton (2004). “Proof-of-Work Proves Not to Work”. Proceedings

of Workshop on the Economics of Information Security.

J. Lyon and M. W. Wong (2005). “Sender ID: Authenticating E-Mail, Internet-Draft”.

Available at: http://www.ietf.org/internet-drafts/draft-lyon-SenderID-core-01.txt.

K. McCurley (1998). “Deterrence Measures for spam”. In Proceedings of the RSA

Conference. Available online at http://www.almaden.ibm.com/cs/k53/pmail.

Microsoft Corporation (2004). “The Coordinated spam Reduction Initiative”.

J. Myers (1994). “IMAP4 Authentication Mechanisms”. Internet RFC 1731.

“Penny-Post”. http://pennypost.sourceforge.net/PennyPost.

Quynh Dang (2009). “Recommendation for Applications Using Approved Hash

Algorithms”. NIST Special Publication 800-107.

B. Ramsdell (1999). “S/MIME Version 3 Message Specification”. Internet RFC 1633.

R. L. Rivest, A. Shamir, and L. M. Adleman (1978). “A Method for Obtaining Digital

Signatures and Public-key Cryptosystems”. Communications of the ACM, vol. 21, no.

2, pp. 120–126.

J. D. Tygar, B. S. Yee and N. Heintze (1996). “Cryptographic Postage Indicia”.

Lecture Notes In Computer Science Vol. 1179, Proceedings of the Second Asian

Computing Science Conference on Concurrency and Parallelism, Programming,

Networking, and Security, pp. 378–391.

M. W. Wong and W. Schlitt (2005). “Sender Policy Framework (SPF) for

Authorizing Use of Domains in E-MAIL”. Internet draft. Available at:

http://www.ietf.org/internet-drafts/draft-schlitt-spf-classic-02.txt.

L. Von Ahn, M. Blum, N.J. Hopper, and J. Langford (2003). “CAPTCHA: Using hard

AI problems for security”. Proceedings of Eurocrypt ’03, pages 294–311, Springer-

Verlag.

Page 73: SPAM CONTROL USING CPU TIMESTAMPSisea.nitk.ac.in/currproj/08IS05F/Thesis.pdf · I am thankful to Dr. Santhi Thilagam, Head, Department of Computer Engineering for her co-operation

62

RESUME (BIO-DATA)

Name: Sandesh Jagannath

Date of Birth: October 27, 1986

Permanent Address: No. P-333/1, MES Key Personnel Quarters,

Domestic Area, AF Station Yelahanka,

Bangalore,

Pin Code – 560063,

Karnataka

Email: [email protected]

Contact Numbers: +91-9686465427, +91-9886536493

Educational Qualification:

Degree: B.E

Discipline: Computer Science and Engineering

Year: 2008

University: Visvesvaraya Technological University, Karnataka


Recommended