suspicious email detection

82
Suspicious Email Detection 1. INTRODUCTION In this project, suspicious users are identified by determining the keywords used by him/her. The keywords such as bomb, RDX, are found in the mails which are sent by the user. All these blocked mails are checked by the administrator and identify the users who sent such mails.This is very useful in real-time scenario in which you can resume the anti- social activities. Suspicious email detection is a kind of mailing system where suspicious users are identified by determining the keywords used by him/her. The keywords such as bomb,RDX., are found in the mails which are sent by the user. All these blocked mails are checked by the administrator and identify the users who sent such mails. This is very useful in real-time scenario in which you can resume the anti-social activites.It consists of 5 modules.The users of this system are compose mails to the other users who are authenticated MEC 1 Computer Science &Engineering

description

suspicious email detection for detecting malicious packets. for detecting un---authenticated users .unauthenticated users are nothing but not------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Transcript of suspicious email detection

Page 1: suspicious email detection

Suspicious Email Detection

1. INTRODUCTION

In this project, suspicious users are identified by determining the keywords

used by him/her. The keywords such as bomb, RDX, are found in the mails

which are sent by the user. All these blocked mails are checked by the

administrator and identify the users who sent such mails.This is very useful in

real-time scenario in which you can resume the anti-social activities.

Suspicious email detection is a kind of mailing system where suspicious users

are identified by determining the keywords used by him/her. The keywords

such as bomb,RDX., are found in the mails which are sent by the user. All

these blocked mails are checked by the administrator and identify the users

who sent such mails.

This is very useful in real-time scenario in which you can resume the anti-social

activites.It consists of 5 modules.The users of this system are compose mails to

the other users who are authenticated already. If the composed mails consist of

the keywords such as bomb,RDX,Terroist etc.These suspected mails are

blocked (or) discarded by the administrator so that they connot be forwarded.

This system is designed in such a way that the users can easily interact with the

system with minimum knowledge to browse the internet.

MEC 1 Computer Science &Engineering

Page 2: suspicious email detection

Suspicious Email Detection

2. SOFTWARE REQUIREMENTS SPECIFICATIONS

The software requirements specification is produced at the culmination of the analysis

task. The function and performance allocated to the software as a part of system

engineering are refined by establishing a complete information description, a detailed

functional and behavioral description, and indication of performance requirements

and design constraints, appropriate validation criteria and other data pertinent to

requirements

The requirement phase basically consists of three activities:

Requirement Analysis

Requirement Specification

2.1 Requirement Analysis:

Requirement Analysis is a software engineering task that bridges the gap

between system level software allocation and software design. It provides the system

engineer to specify software function and performance, indicate software’s interface

with the other system elements and establish constraints that software must meet.

The basic aim of this stage is to obtain a clear picture of the needs and

requirements of the end-user and also the organization. Analysis involves interaction

between the clients and the analysis. Usually analysts research a problem by asking

questions and reading existing documents. The analysts have to uncover the real

needs of the user even if they don’t know them clearly. During analysis it is essential

that a complete and consistent set of specifications emerge for the system. Here it is

essential to resolve the contradictions that could emerge from information got from

various parties. This is essential to ensure that the final specifications are consistent.

It may be divided into 5 areas of effort.

Problem recognition

Evaluation and synthesis

Modeling

Specification

MEC 2 Computer Science &Engineering

Page 3: suspicious email detection

Suspicious Email Detection

Review

Each Requirement analysis method has a unique point of view. However all analysis

methods are related by a set of operational principles.They are

The information domain of the problem must be represented and

understood.

The functions that the software is to perform must be defined.

The behavior of the software as a consequence of external events must

be defined.

The models that depict information, function and behavior must be

partitioned in a hierarchical or layered fashion.

The analysis process must move from essential information to

Implementation detail

2.2 Requirments Specification

Specification Principles:

Software Requirements Specification plays an important role in creating quality

software solutions. Specification is basically a representation process. Requirements

are represented in a manner that ultimately leads to successful software

implementation.

Requirements may be specified in a variety of ways. However there are some

guidelines worth following: -

Representation format and content should be relevant to the problem

Information contained within the specification should be nested

Diagrams and other notational forms should be restricted in number and consistent in

use.

Representations should be revisable.

MEC 3 Computer Science &Engineering

Page 4: suspicious email detection

Suspicious Email Detection

2.3 HARDWARE AND SOFTWARE

REQUIREMENTS

Software Requirements:

● Technologies : Java and J2EE

Web Technologies : HTML, CSS, JavaScript

Database : Oracle10g

JDK Version : JDK1.5

Server : Tomcat5.5

Hardware Requirements:

Processor:: Pentium-III (or) Higher

Ram:: 64MB (or) Higher

Cache:: 512MB

Hard disk:: 10GB

Additional Tools:

HTML Designing : Dream weaver Tool

Development Tool kit : My Eclipse

MEC 4 Computer Science &Engineering

Page 5: suspicious email detection

Suspicious Email Detection

3. SYSTEM ANALYSIS

3.1 System Architecture

Architecture flow:

Below architecture diagram represents mainly flow of requests from users to database

through servers. In this scenario overall system is designed in three tires separately

using three layers called presentation layer, business logic layer and data link layer.

This project was developed using 3-tire architecture.

MEC 5 Computer Science &Engineering

SERVER

User

Data Base

Request Response

Page 6: suspicious email detection

Suspicious Email Detection

URL Pattern:

URL pattern represents how the requests are flowing through one layer to

another layer and how the responses are getting by other layers to presentation layer

through server in architecture diagram.

MEC 6 Computer Science &Engineering

Presentation Layer

SERVLETS AT THE SERVER

SIDE

URL Request sent through the browser

Response sent from the servlet

DATABASE

Verifying or updating the

database through a statement

Reply from the database according to

the statement

Page 7: suspicious email detection

Suspicious Email Detection

Purpose Of The Project:

The purpose of the project is to suspect the E-mails which consist of

offensive, anti-social elements and block them which help in identifying the

suspicious user.

Existing System & Disadvantages:

In the existing sytem the mail are sent to the authenticated users who are

ntended to be received.some defects in existing system are

Suspicious mails cannot be detected.

Offensive users cannot be identified.

Proposed System & Its Disadvantages:

In the proposed system the suspicious users are detected and the offensive

mails are blocked.

Features of proposed system:

This helps in finding out anti social elements.

This provides the security to system which adapts it.

This also helps the intelligence bureau, crime branch etc.,

Insurance premium calculations, for quarterly, half yearly and annually is

completely automated gives us a reliable environment.

The system provides claim reporting and status enquiry.

MEC 7 Computer Science &Engineering

Page 8: suspicious email detection

Suspicious Email Detection

Process Model Used With Justification:

SDLC(UmbrellaModel):

SDLC is nothing but Software Development Life Cycle. It is a standard which is used by

software industry to develop good software.

Stages in SDLC:

Requirement Gathering

Analysis

Designing

Coding

Testing

MEC 8 Computer Science &Engineering

Umbrella Activity

Umbrella Activity

Feasibility StudyTEAM FORMATIONProject Specification

PREPARATION

Business Requirement Documentation

ANALYSIS & DESIGN

CODE UNIT TEST

DOCUMENT CONTROL

ASSESSMENT

TRAINING

INTEGRATION & SYSTEM

TESTING

DELIVERY/INSTALLATIO

N

ACCEPTANCE TEST

Requirements Gathering

Umbrella Activity

Page 9: suspicious email detection

Suspicious Email Detection

Maintenance

Requirements Gathering stage:

The requirements gathering process takes as its input the goals identified in the

high-level requirements section of the project plan. Each goal will be refined into a

set of one or more requirements. These requirements define the major functions of the

intended application, define operational data areas and reference data areas, and

define the initial data entities. Major functions include critical processes to be

managed, as well as mission critical inputs, outputs and reports. A user class

hierarchy is developed and associated with these major functions, data areas, and data

entities. Each of these definitions is termed a Requirement. Requirements are

identified by unique requirement identifiers and, at minimum, contain a requirement

title and Textual description.

These requirements are fully described in the primary deliverables for this stage:

the Requirements Document and the Requirements Traceability Matrix (RTM). The

requirements document contains complete descriptions of each requirement,

including diagrams and references to external documents as necessary. Note that

detailed listings of database tables and fields are not included in the requirements

document.

The title of each requirement is also placed into the first version of the RTM,

along with the title of each goal from the project plan. The purpose of the RTM is to

show that the product components developed during each stage of the software

MEC 9 Computer Science &Engineering

Page 10: suspicious email detection

Suspicious Email Detection

development lifecycle are formally connected to the components developed in prior

stages.

In the requirements stage, the RTM consists of a list of high-level requirements,

or goals, by title, with a listing of associated requirements for each goal, listed by

requirement title. In this hierarchical listing, the RTM shows that each requirement

developed during this stage is formally linked to a specific product goal. In this

format, each requirement can be traced to a specific product goal; hence the term is

requirements traceability.

The outputs of the requirements definition stage include the requirements

document, the RTM, and an updated project plan.

Feasibility study is all about identification of problems in a project.

No. of staff required to handle a project is represented as Team Formation, in this

case only modules are individual tasks will be assigned to employees who are

working for that project.

Project Specifications are all about representing of various possible inputs

submitting to the server and corresponding outputs along with reports maintained

by administrator.

Analysis Stage:

The planning stage establishes a bird's eye view of the intended software

product, and uses this to establish the basic project structure, evaluate feasibility and

risks associated with the project, and describe appropriate management and technical

approaches.

MEC 10 Computer Science &Engineering

Page 11: suspicious email detection

Suspicious Email Detection

The most critical section of the project plan is a listing of high-level product

requirements, also referred to as goals. All of the software product requirements to be

developed during the requirements definition stage flow from one or more of these

goals. The minimum information for each goal consists of a title and textual

description, although additional information and references to external documents

may be included. The outputs of the project planning stage are the configuration

management plan, the quality assurance plan, and the project plan and schedule, with

a detailed listing of scheduled activities for the upcoming Requirements stage, and

high level estimates of effort for the out stages.

Designing Stage:

The design stage takes as its initial input the requirements identified in the

approved requirements document. For each requirement, a set of one or more design

elements will be produced as a result of interviews, workshops, and/or prototype

efforts. Design elements describe the desired software features in detail, and generally

include functional hierarchy diagrams, screen layout diagrams, tables of business

rules, business process diagrams, pseudo code, and a complete entity-relationship

diagram with a full data dictionary. These design elements are intended to describe

the software in sufficient detail that skilled programmers may develop the software

with minimal additional input.

MEC 11 Computer Science &Engineering

Page 12: suspicious email detection

Suspicious Email Detection

When the design document is finalized and accepted, the RTM is updated to show

that each design element is formally associated with a specific requirement. The

outputs of the design stage are the design document, an updated RTM, and an

updated project plan.

Development (Coding) Stage:

The development stage takes as its primary input the design elements described

in the approved design document. For each design element, a set of one or more

software artifacts will be produced. Software artifacts include but are not limited to

menus, dialogs, data management forms, data reporting formats, and specialized

procedures and functions. Appropriate test cases will be developed for each set of

functionally related software artifacts, and an online help system will be developed to

guide users in their interactions with the software.

MEC 12 Computer Science &Engineering

Page 13: suspicious email detection

Suspicious Email Detection

The RTM will be updated to show that each developed artifact is linked to a

specific design element, and that each developed artifact has one or more

corresponding test case items. At this point, the RTM is in its final configuration. The

outputs of the development stage include a fully functional set of software that

satisfies the requirements and design elements previously documented, an online help

system that describes the operation of the software, an implementation map that

identifies the primary code entry points for all major system functions, a test plan that

describes the test cases to be used to validate the correctness and completeness of the

software, an updated RTM, and an updated project plan.

Integration & Test Stage:

During the integration and test stage, the software artifacts, online help, and test

data are migrated from the development environment to a separate test environment.

At this point, all test cases are run to verify the correctness and completeness of the

software. Successful execution of the test suite confirms a robust and complete

migration capability. During this stage, reference data is finalized for production use

and production users are identified and linked to their appropriate roles. The final

reference data (or links to reference data source files) and production user list are

compiled into the Production Initiation Plan.

MEC 13 Computer Science &Engineering

Page 14: suspicious email detection

Suspicious Email Detection

Installation & Acceptance Test:

During the installation and acceptance stage, the software artifacts, online help,

and initial production data are loaded onto the production server. At this point, all test

cases are run to verify the correctness and completeness of the software. Successful

execution of the test suite is a prerequisite to acceptance of the software by the

customer.

After customer personnel have verified that the initial production data load is

correct and the test suite has been executed with satisfactory results, the customer

formally accepts the delivery of the software.

MEC 14 Computer Science &Engineering

Page 15: suspicious email detection

Suspicious Email Detection

The primary outputs of the installation and acceptance stage include a

production application, a completed acceptance test suite, and a memorandum of

customer acceptance of the software. Finally, the PDR enters the last of the actual

labor data into the project schedule and locks the project as a permanent project

record. At this point the PDR "locks" the project by archiving all software items, the

implementation map, the source code, and the documentation for future reference.

Maintenance:

Outer rectangle represents maintenance of a project, Maintenance team will start

with requirement study, understanding of documentation later employees will be

assigned work and they will under go training on that particular assigned category.

For this life cycle there is no end, it will be continued so on like an umbrella (no

ending point to umbrella sticks).

Study Of The System: MEC 15 Computer Science &Engineering

Page 16: suspicious email detection

Suspicious Email Detection

To provide flexibility to the users, the interfaces have been developed that are

accessible through a browser. The GUI’S at the top level have been categorized as

1. Administrative user interface

2. The operational or generic user interface

The ‘administrative user interface’ concentrates on the consistent information that is

practically, part of the organizational activities and which needs proper authentication

for the data collection. These interfaces help the administrators with all the

transactional states like Data insertion, Data deletion and Date updation along with

the extensive data search capabilities.

The ‘operational or generic user interface’ helps the end users of the system in

transactions through the existing data and required services. The operational user

interface also helps the ordinary users in managing their own information in a

customized manner as per the included flexibilities.

3.2 SOFTWARE PROFILE

Java Architecture:

Java architecture provides a portable , robust , high performing environment

for development. Java provides portability by compiling the byte codes for the java

virtual machine which are then interpreted on each platform by the runtime

environment . java also provides stringent compile and runtime checking and

automatic memory management in order to ensure solid code .

Compiling and interpreting java source code:

MEC 16 Computer Science &Engineering

Page 17: suspicious email detection

Suspicious Email Detection

Java Virtual Machine:

When we compile the code, java compiler creates machine code (byte code)

for a hypothetical machine called java virtual machine (jvm). The jvm will execute

the byte code and overcomes the issue of portability . the code is written and compile

for one machine and interpreted all other machines . this machine is called java

virtual machine .

Paradigm Of Java:

Dynamic down loading applets(small application programs);

Elimination of flatware phenomenon that is providing those features

of a product that user needs at a time. The remaining features of a

product can remain in the server.

Changing economic model of the software

MEC 17 Computer Science &Engineering

Source code

Pc compiler

Macintosh compiler

SPARC Compiler

Java Byte code

Platform indepen

dent

Java interpreter

Java interpretermacintosh

)))

Java interpreter(

SPARC)

Page 18: suspicious email detection

Suspicious Email Detection

Up-to-date software availability

Supports network entire computing

Supports CORBA & DCOM

About Html:

HTML (hyper text markup language) is a language used to create hyper text

documents that have hyper links embedded in them . it consists of tags embedded in

the text of a document with HTML. We can build web pages or web document s. it is

basically a formatting language and not a programming language. The browser

reading the document interprets mark up tags to help format the document for

subsequent display to a reader. HTML is a language for describing structured

documents. HTML is a platform independent. WWW(world wide web) pages are

written using HTML. HTML tags control in part the representation of the WWW

page when view with web browser. The browser interpretes HTML tags in the web

document and displays it. Different browsers show data differently. Examples of

browsers used to be web pages include:

Netscape

Internet Explorer

3.3 Introduction Java Script:

Java script is a general purpose , prototype based , object oriented scripting

language developed jointly by sun and netscape and is meant for the WWW . it is

designed to be embedded in diverse applications and systems , with out consuming

much memory . java script borrows most of its syntax from java but also inherits

from awk and perl , with some indirect influence from self in its object prototype

system.

Java scripts dynamically typed that is programs donot declare variable types,

and the type of variable is unrestricted and can change at runtime . source can be

generated at run time and evaluated against an arbitrary scope. Typical

implementations compile by translating source into a specified byte code format, to

check syntax and source consistency. Note that the availability to generate and

interprate programs at runtime implies the presence of a compiler at runtime.

MEC 18 Computer Science &Engineering

Page 19: suspicious email detection

Suspicious Email Detection

Java script is a high level scripting language that does not depend on or

expose particular machine representations or operating system services. It provides

automatic storage management, typically using a garbage collector.

Features:

Java script is embedded into HTML documents and is executed with

in them.

Java script is browser dependent

Javascript is an interpreted languaged that can be interpreted by the

browser at run time .

Java script is loosely typed language

Java script is an object based language.

Java script is an Eent-Driven language and supports event handlers to

specify the functionality of a button.

Advantages:

1. java script can be used for client side application

2. java script provides means to contain multiframe windows for

presentation of the web.

3. java script provides basic data validation before it is sent to the

server. Eg : login and password checking or whether the values

entered are correct or whether all fields in a from are filled and

reduced network traffic

4. it creates interactive forms and client side lookup tables .

3.4 Oracle:

MEC 19 Computer Science &Engineering

Page 20: suspicious email detection

Suspicious Email Detection

Oracle is a relational database management system, which organizes data in the

form of tables. Oracle is one of many database servers based on RDBMS model,

which manages a seer of data that attends three specific things-data structures, data

integrity and data manipulation. With oracle cooperative server technology we can

realize the benefits of open, relational systems for all the applications. Oracle makes

efficient use of all systems resources, on all hardware architecture; to deliver

unmatched performance, price performance and scalability. Any DBMS to be called

as RDBMS has to satisfy Dr.E.F.Codd’s rules.

Distinct Features Of Oracle:

Oracle Is Portable:

The Oracle RDBMS is available on wide range of platforms ranging from PCs to

super computers and as a multi user loadable module for Novel NetWare, if you

develop application on system you can run the same application on other systems

without any modifications.

Oracle Is Compatible:

Oracle commands can be used for communicating with IBM DB2 mainframe

RDBMS that is different from Oracle, that is Oracle compatible with DB2. Oracle

RDBMS is a high performance fault tolerant DBMS, which is specially designed

for online transaction processing and for handling large database applications.

3.5 JDBC Drivers:

The JDBC API only defines interfaces for objects used for

performing various database-related tasks like opening and closing connections,

executing SQL commands, and retrieving the results. We all write our programs to

interfaces and not implementations. Either the resource manager vendor or a third

party provides the implementation classes for the standard JDBC interfaces. These

software implementations are called JDBC drivers. JDBC drivers transform the

standard JDBC calls to the external resource manager-specific API calls. The diagram

MEC 20 Computer Science &Engineering

Page 21: suspicious email detection

Suspicious Email Detection

below depicts how a database client written in java accesses an external resource

manager using the JDBC API and JDBC driver:

Depending on the mechanism of implementation, JDBC drivers are broadly classified

into four types.

TYPE1:

Type1 JDBC drivers implement the JDBC API on top of a lower level API like

ODBC. These drivers are not generally portable because of the independency on

native libraries. These drivers translate the JDBC calls to ODBC calls and ODBC

sends the request to external data source using native library calls. The JDBC-

ODBC driver that comes with the software distribution for J2SE is an example of a

type1 driver.

MEC 21 Computer Science &Engineering

Page 22: suspicious email detection

Suspicious Email Detection

TYPE2:

Type2 drivers are written in mixture of java and native code. Type2 drivers use

vendors specific native APIs for accessing the data source. These drivers transform

the JDBC calls to vendor specific calls using the vendor’s native library.

These drivers are also not portable like type1 drivers because of the dependency on

native code.

TYPE3:

Type3 drivers use an intermediate middleware server for accessing the external data

sources. The calls to the middleware server are database independent. However, the

middleware server makes vendor specific native calls for accessing the data source. In

this case, the driver is purely written in java.

TYPE4:

Type4 drivers are written in pure java and implement the JDBC interfaces and

translate the JDBC specific calls to vendor specific access calls. They implement the

data transfer and network protocol for the target resource manager. Most of the

leading database vendors provide type4 drivers for accessing their database servers.

3.6 Servlets:

Servlets provides a Java-Based solution used to address the problems

currently associated with doing server side programming, including inextensible

scripting solutions, platform specific APIs, and incomplete interfaces. Servlets are

objects conform to a specific interface that can be plugged into a Java-based server.

Servlets are to the server-side what applets are to the client-side-object byte codes

that can be dynamically loaded off the net. They differ from applets in that they are

faceless objects (without graphics or a GUI component). They serve as platform

MEC 22 Computer Science &Engineering

Page 23: suspicious email detection

Suspicious Email Detection

independent, dynamically loadable, plug gable helper byte code objects on the server

side that can be used to dynamically extend server-side functionality.

For example, an HTTP servlet can be used to generate dynamic HTML

content. When you use servlets to do dynamic content you get the following

advantages:

1.They’re faster and cleaner than CGI scripts.

2.They use a standard API (the Servlet API)

3.They provide all the advantages of Java (run on a variety of servers without

needing to be rewritten)

Invoking the servlet:

To invoke a servlet you call it by creating a URL with “/servlet/” pretended to the

servlet name. Then enter this URL in your favorite browser to see the output of the

Servlet.

4. FEASIBILTY STUDY

Preliminary investigation examines project feasibility, the likelihood the system will

be useful to the organization. The main objective of the feasibility study is to test the

Technical, Operational and Economical feasibility for adding new modules and

debugging old running system. All systems are feasible if they are given unlimited

resources and infinite time. There are aspects in the feasibility study portion of the

preliminary investigation:

Technical Feasibility

MEC 23 Computer Science &Engineering

Page 24: suspicious email detection

Suspicious Email Detection

Operation Feasibility

Economical Feasibility

4.1 Technical Feasibility:

The technical issue usually raised during the feasibility stage of the investigation

includes the following:

Does the necessary technology exist to do what is suggested?

Do the proposed equipments have the technical capacity to hold the data

required to use the new system?

Will the proposed system provide adequate response to inquiries, regardless of

the number or location of users?

Can the system be upgraded if developed?

Are there technical guarantees of accuracy, reliability, ease of access and data

security?

4.2 Operational Feasibility:

User-friendly:

Customer will use the forms for their various transactions i.e. for adding new

routes, viewing the routes details. Also the Customer wants the reports to view the

various transactions based on the constraints. Theses forms and reports are

generated as user-friendly to the Client.

Reliability:

The package wills pick-up current transactions on line. Regarding the old

transactions, User will enter them in to the system.

Security:

The web server and database server should be protected from hacking, virus etc

Portability:

The application will be developed using standard open source software (Except

Oracle) like Java, tomcat web server, Internet Explorer Browser etc these

MEC 24 Computer Science &Engineering

Page 25: suspicious email detection

Suspicious Email Detection

software will work both on Windows and Linux o/s. Hence portability problems

will not arise.

Availability:

This software will be available always.

Maintainability:

The system called the ewheelz uses the 2-tier architecture. The 1st tier is the GUI,

which is said to be front-end and the 2nd tier is the database, which uses My-

SQL, which is the back-end.The front-end can be run on different systems

(clients). The database will be running at the server. Users access these forms by

using the user-ids and the passwords.

4.3 Economic Feasibility:

The computerized system takes care of the present existing system’s data flow

and procedures completely and should generate all the reports of the manual

system besides a host of other management reports.

It should be built as a web based application with separate web server and

database server. This is required as the activities are spread through out the

organization customer wants a centralized database. Further some of the linked

transactions take place in different locations.Open source software like

TOMCAT, JAVA, My-SQL and Linux is used to minimize the cost for the

Customer.

5. SYSTEM DESIGN

Input design is a part of overall system design. The main objective during the input

design is as given below:

To produce a cost-effective method of input.

To achieve the highest possible level of accuracy.

To ensure that the input is acceptable and understood by the user.

Input Stages:

MEC 25 Computer Science &Engineering

Page 26: suspicious email detection

Suspicious Email Detection

The main input stages can be listed as below:

Data recording

Data transcription

Data conversion

Data verification

Data control

Data transmission

Data validation

Data correction

Input Types:

It is necessary to determine the various types of inputs. Inputs can be categorized as

follows:

External inputs, which are prime inputs for the system.

Internal inputs, which are user communications with the system.

Operational, which are computer department’s communications to the

system?

Interactive, which are inputs entered during a dialogue.

Input Media:

At this stage choice has to be made about the input media. To conclude about

the input media consideration has to be given to;

Type of input

Flexibility of format

Speed

Accuracy

Verification methods

Rejection rates

Ease of correction

Storage and handling requirements

Security

Easy to use

Portability

Keeping in view the above description of the input types and input media, it can be

said that most of the inputs are of the form of internal and interactive. As

MEC 26 Computer Science &Engineering

Page 27: suspicious email detection

Suspicious Email Detection

Input data is to be the directly keyed in by the user, the keyboard can be considered to

be the most suitable input device.

Output Design:

In general are:

External Outputs whose destination is outside the organization.

Internal Outputs whose destination is with in organization and they are the

User’s main interface with the computer. Outputs from computer systems are

required primarily to communicate the results of processing to users. They are

also used to provide a permanent copy of the results for later consultation. The

various types of outputs

Operational outputs whose use is purely with in the computer department.

Interface outputs, which involve the user in communicating directly with the

system.

Output Definition:

The outputs should be defined in terms of the following points:

Type of the output

Content of the output

Format of the output

Location of the output

Frequency of the output

Volume of the output

Sequence of the output

It is not always desirable to print or display data as it is held on a computer. It should

be decided as which form of the output is the most suitable.

For Example

Will decimal points need to be inserted

Should leading zeros be suppressed.

MEC 27 Computer Science &Engineering

Page 28: suspicious email detection

Suspicious Email Detection

Output Media:

In the next stage it is to be decided that which medium is the most appropriate for the

output. The main considerations when deciding about the output media are:

The suitability for the device to the particular application.

The need for a hard copy.

The response time required.

The location of the users

The software and hardware available.

Keeping in view the above description the project is to have outputs mainly

coming under the category of internal outputs. The main outputs desired according to

the requirement specification are:

The outputs were needed to be generated as a hard copy and as well as queries to be

viewed on the screen. Keeping in view these outputs, the format for the output is

taken from the outputs, which are currently being obtained after manual processing.

The standard printer is to be used as output media for hard copies.

5.1 Modules:

It consists of six modules. They are

1) Login Module

2) Registration Module

3) Administration Module

4) Encryption Module

5) User Module

MEC 28 Computer Science &Engineering

Page 29: suspicious email detection

Suspicious Email Detection

6) Mailing Module

Login Module:

This module is used by administrator and users (who are authenticated) to

login into the Colours mail. The login details of the specified person will be entered

and hence can enter into the Colours mail.

Registration Module:

This module is used by the unauthenticated users who are unregistered. The users

must register themselves such that they can login into the Colours mail.

Administration Module:

This module is used by the administrator to perform the functions like managing

the keywords, entering new keywords and to check out the block list of the

discarded mails.

Encryption Module:

This module is used by the administrator to perform the functions like encryption of

the words. The encrypted words are sent to the database and hence managed by the

administrator.

User Module:

This module is used by the users to do operations like composing mail, checking

out the mails in inbox and finally sending the mails to the authenticated users by

attaching a message.

Mailing Module:

MEC 29 Computer Science &Engineering

Page 30: suspicious email detection

Suspicious Email Detection

This module is used by the users perform mailing system. The mailing system

consists of composing the mails, sending the mails and checking out the mails in

inbox.

This module allows employees to register and manage patient details. When a request

is made, an employee immediately dispatches an ambulance with available doctor and

other attendants. Employee keeps track of patient status and in case of emergency

consults a hospital for admitting the patient.

5.2 DATA DICTIONARY:

High level design

Data design

Table Name: Users

Description: This table is used to maintain the registered users information.

SL.NO FIELD NAME DATA TYPEDESCRIPTION

1 USERNAME Varchar2(10) This is unique identifier given to an

user to identify him uniquely. This is

the Primary Key of the table.

2 PASSWORD Varchar2(20) This the password of the user

Table Name: block list

Description: This table is used for client’s mailing information.

MEC 30 Computer Science &Engineering

Page 31: suspicious email detection

Suspicious Email Detection

SL.NO FIELD

NAME

DATA TYPEDESCRIPTION

1 MAIL TO Varchar2(10) To whom the user wants to send the mails

2 MAIL FROM Varchar2(20) From whom the users got the mails.

3 SUBJECT Varchar2(40) The subject present in the mail.

4 MESSAGE Varchar2(40) The message or the data present in the mail.

Table Name: keywords

Description: This table consists of the keywords of the mailing system.

SL.NO FIELD

NAME

DESCRIPTION

1 keyword The suspected keywords of the mails.

5.3 UML-Diagrams:

Unified Modeling Language:

MEC 31 Computer Science &Engineering

Page 32: suspicious email detection

Suspicious Email Detection

The Unified Modeling Language allows the software engineer to express an analysis

model using the modeling notation that is governed by a set of syntactic semantic and

pragmatic rules.

A UML system is represented using five different views that describe the system

from distinctly different perspective. Each view is defined by a set of diagram, which

is as follows.

User Model View

i. This view represents the system from the users perspective.

ii. The analysis representation describes a usage scenario from the

end-users perspective.

Structural model view

i. In this model the data and functionality are arrived from inside

the system.

ii. This model view models the static structures.

Behavioral Model View

It represents the dynamic of behavioral as parts of the system,

depicting the interactions of collection between various structural

elements described in the user model and structural model view.

Implementation Model View

In this the structural and behavioral as parts of the system are

represented as they are to be built.

Environmental Model View

In this the structural and behavioral aspects of the environment in

which the system is to be implemented are represented.

MEC 32 Computer Science &Engineering

Page 33: suspicious email detection

Suspicious Email Detection

UML is specifically constructed through two different domains they are:

UML Analysis modeling, this focuses on the user model and structural model

views of the system.

UML design modeling, which focuses on the behavioral modeling,

implementation modeling and environmental model views.

Use case Diagrams represent the functionality of the system from a user’s point of

view. Use cases are used during requirements elicitation and analysis to represent the

functionality of the system. Use cases focus on the behavior of the system from

external point of view.

Actors are external entities that interact with the system. Examples of actors include

users like administrator, bank customer …etc., or another system like central

database.

MEC 33 Computer Science &Engineering

Page 34: suspicious email detection

Suspicious Email Detection

Keywords

Manage Keywords

Add Keywords()Display Keywords()

Admin

KeywordsAlert MailsInformative

Enter keywords()check mails()

Block List

Alert MailsInformative Mails

check mails()

Compose Mails

composing the mail

send the mail()

Sent Mails

Sent items

check the sent items()

User

Mails

Compose()send()

Inbox

Received mails

check the received mails()

MEC 34 Computer Science &Engineering

Page 35: suspicious email detection

Suspicious Email Detection

Admin Keywords Alert List Informative

Manage Keywords

Check Alert Mails

Check Informative Mails

User Compose Mails Inbox Sent Items

Compose the mails to be sent

Check the mails

Check the sent mails

MEC 35 Computer Science &Engineering

Page 36: suspicious email detection

Suspicious Email Detection

Keywords

Alert MailsAdmin

Informative Mails

User

Compose Mail

Inbox

Sent Items

MEC 36 Computer Science &Engineering

Page 37: suspicious email detection

Suspicious Email Detection

6. SYSTEM TESTING

Introduction to Testing:

Testing is a process, which reveals errors in the program. It is the major quality

measure employed during software development, during software

development,during testing, the program is executed with a set of test cases and the

output of the program for the test cases is evaluated to determine if the program is

performing as it is expected to perform.

6.1 Testing Strategies:

In order to make sure that the system does not have errors, the different levels

of testing strategies that are applied at differing phases of software development are:

Unit Testing:

Unit Testing is done on individual modules as they are completed and become

executable. It is confined only to the designer's requirements.

Each module can be tested using the following two Strategies:

Black Box Testing:

In this strategy some test cases are generated as input conditions that fully

execute all functional requirements for the program. This testing has been uses

to find errors in the following categories:

Incorrect or missing functions

Interface errors

Errors in data structure or external database access

Performance errors

Initialization and termination errors.

In this testing only the output is checked for correctness.

The logical flow of the data is not checked.

MEC 37 Computer Science &Engineering

Page 38: suspicious email detection

Suspicious Email Detection

White Box Testing:

In this the test cases are generated on the logic of each module by drawing

flow graphs of that module and logical decisions are tested on all the cases. It has

been uses to generate the test cases in the following cases:

Guarantee that all independent paths have been executed.

Execute all logical decisions on their true and false Sides.

Execute all loops at their boundaries and within their operational bounds

Execute internal data structures to ensure their validity.

Integrating Testing:

Integration testing ensures that software and subsystems work together a

whole. It tests the interface of all the modules to make sure that the modules

behave properly when integrated together.

System Testing:

Involves in-house testing of the entire system before delivery to the user. Its

aim is to satisfy the user the system meets all requirements of the client's

specifications.

Acceptance Testing:

It is a pre-delivery testing in which entire system is tested at client's site on real

world data to find errors.

MEC 38 Computer Science &Engineering

Page 39: suspicious email detection

Suspicious Email Detection

6.2 Test Approach :

Testing can be done in two ways:

● Bottom up approach

● Top down approach

Bottom up Approach:

Testing can be performed starting from smallest and lowest level modules

and proceeding one at a time. For each module in bottom up testing a short

program executes the module and provides the needed data so that the module is

asked to perform the way it will when embedded with in the larger system. When

bottom level modules are tested attention turns to those on the next level that use

the lower level ones they are tested individually and then linked with the

previously examined lower level modules.

Top down approach:

This type of testing starts from upper level modules. Since the detailed

activities usually performed in the lower level routines are not provided stubs are

written. A stub is a module shell called by upper level module and that when

reached properly will return a message to the calling module indicating that

proper interaction occurred. No attempt is made to verify the correctness of the

lower level module.

Validation:

The system has been tested and implemented successfully and thus ensured that

all the requirements as listed in the software requirements specification are

completely fulfilled. In case of erroneous input corresponding error messages are

displayed

MEC 39 Computer Science &Engineering

Page 40: suspicious email detection

Suspicious Email Detection

7. SAMPLE CODE

ADMIN.JSP:

<%@page %>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<meta http-equiv="Content-Language" content="en-us">

<title>Admin</title>

<!--<link rel="stylesheet" type="text/css" href="images/sddm.css" >

<link rel="stylesheet" type="text/css" href="images/cour.css" >-->

</head>

<body topmargin="0">

<table border="0" height="19">

<tr bgcolor="">

<td width="9%" height="13" valign="middle"

align="center"background="images/tp_bg.gif"><font face="Arial" size="2"

color="Black"><a

HREF="login.html"><b><%=request.getParameter("user")%></b></font></td>

<td width="18%" height="13" valign="middle"

align="center"background="images/tp_bg.gif" >

<font face="verdana" size="6" color="Black"><b>

SECURE MAIL

</b></font>

</td>

<td width="9%" height="13" valign="middle"

align="center"background="images/tp_bg.gif"><font face="Arial" size="2"

color="Black"><a HREF="login.html"><b>Logout</b></font></td>

</tr>

<tr>

<table>

<tr>

<td width="15%" height="355" valign="top">

MEC 40 Computer Science &Engineering

Page 41: suspicious email detection

Suspicious Email Detection

<div class="mainDiv" >

<div class="dropMenu" >

<!-- -->

<div class="subMenu" style="display:inline;">

<div class="subItem" ><b><font size="4"><a HREF="enter1.jsp?user=<

%=request.getParameter("user")%>">Manage Keywords</a></font></b></div>

<div class="subItem"> <b><a HREF="display.jsp?user=<

%=request.getParameter("user")%>">Display Keywords</a></b></div>

<div class="subItem"><b><a HREF="blocklist.jsp?user=<

%=request.getParameter("user")%>">Block List</a></b></div>

</div>

</div>

</div>

</td>

</tr></table>

</body>

</html>

USER.JSP:

html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<meta http-equiv="Content-Language" content="en-us">

<title>User Login</title>

<!--<link rel="stylesheet" type="text/css" href="images/sddm.css" >

<link rel="stylesheet" type="text/css" href="images/cour.css" >-->

</head>

<body topmargin="0">

<table border="0" height="19">

<tr bgcolor="">

MEC 41 Computer Science &Engineering

Page 42: suspicious email detection

Suspicious Email Detection

<td width="9%" height="13" valign="middle"

align="center"background="images/tp_bg.gif"><font face="Arial" size="2"

color="Black"><b> <%=request.getParameter("user")%></b></font></td>

<td width="18%" height="13" valign="middle"

align="center"background="images/tp_bg.gif" >

<font face="verdana" size="6" color="Black"><b>

SECURE MAIL

</b></font>

</td>

<td width="9%" height="13" valign="middle"

align="center"background="images/tp_bg.gif"><font face="Arial" size="2"

color="Black"><a HREF="./login.html"><b>Logout</b></font></td>

</tr>

<tr>

<table>

<tr><td width="20%" align="right">

<img src="images/email_laptop.jpg" width="30%" />

</td>

</tr>

</table>

<table>

<tr>

<td width="15%" height="355" valign="top">

<div class="mainDiv" >

<div class="dropMenu" >

<!-- -->

<div class="subMenu" style="display:inline;">

<div class="subItem" ><b><font size="4"><a HREF="composemail.jsp?user=<

%=request.getParameter("user")%>">Compose Mail</a></font></b></div>

<div class="subItem"> <b><a HREF="inbox.jsp?user=<

%=request.getParameter("user")%>">Inbox</a></b></div>

MEC 42 Computer Science &Engineering

Page 43: suspicious email detection

Suspicious Email Detection

<div class="subItem"><b><a HREF="sentmail.jsp?user=<

%=request.getParameter("user")%>">SentMail</a></b></div>

</div>

</div>

</div>

</td>

</tr></table>

<table border="0" width="100%" height="20">

<tr>

<td width="5%" height="5" valign="middle">

<p align="center" valign="center" style="margin-top: -5; margin-bottom: 1"><b>

<font face="Arial" color="#800000" size="2">Welcome to Secure Mail select your

appropriate menu</font></b>

</form>

</td>

</tr>

</table>

<table width="100%">

<tr height="5"><td bgcolor="brown"></td></tr>

<tr>

<td height="1" ><div align="center"><marquee>&copy; Secure Mail. All Rights

Reserved</marquee></div></td>

</tr>

</table>

</body>

</html>

8. SCREEN SHOTS

MEC 43 Computer Science &Engineering

Page 44: suspicious email detection

Suspicious Email Detection

Home page:

MEC 44 Computer Science &Engineering

Page 45: suspicious email detection

Suspicious Email Detection

Admin’s Login Page:

MEC 45 Computer Science &Engineering

Page 46: suspicious email detection

Suspicious Email Detection

Admin’s login page:

Adding Encrypted keyword:

MEC 46 Computer Science &Engineering

Page 47: suspicious email detection

Suspicious Email Detection

Display encrypted keyword:

MEC 47 Computer Science &Engineering

Page 48: suspicious email detection

Suspicious Email Detection

MEC 48 Computer Science &Engineering

Page 49: suspicious email detection

Suspicious Email Detection

User’s Registration:

MEC 49 Computer Science &Engineering

Page 50: suspicious email detection

Suspicious Email Detection

User’s login:

MEC 50 Computer Science &Engineering

Page 51: suspicious email detection

Suspicious Email Detection

User’s login page:

MEC 51 Computer Science &Engineering

Page 52: suspicious email detection

Suspicious Email Detection

Composing a mail by user:

Mail has got blocked:

MEC 52 Computer Science &Engineering

Page 53: suspicious email detection

Suspicious Email Detection

Message in sent mail: MEC 53 Computer Science &Engineering

Page 54: suspicious email detection

Suspicious Email Detection

MEC 54 Computer Science &Engineering

Page 55: suspicious email detection

Suspicious Email Detection

Alert list of blocked mails in admin page:

MEC 55 Computer Science &Engineering

Page 56: suspicious email detection

Suspicious Email Detection

9. CONCLUSION

Conclusion:

This system has been developed successfully incorporate all the requirements.

Appropriate care has taken during database design maintain database integrity and to

avoid redundancy of data. This site was developed in such a way that any further

modifications needed can be easily done. User feels freely while using this site. In

this all technical complexities are hidden. This site is a more user friendly.

The quality features like correctness, efficiency, usability, maintainability,

portability, accuracy, errors free, tolerance, expandability and communicatively all

are successfully done.

Foreseeable enhancements:

There is always a room for improvement in any software package, however good

and efficient it may be. The important thing is that the website should be flexible

enough for further modifications. Considering this important factor, the web site is

designed in such a way that the provisions are given for further enhancements. At

present this website provides all the information using static pages and reservation

forms.In future we can enhance our project by providing options like. Include many

sites information.

10. REFERENCES

MEC 56 Computer Science &Engineering

Page 57: suspicious email detection

Suspicious Email Detection

JAVA Technologies:

JAVA Complete Reference

Java Script Programming by Yehuda Shiran

Mastering JAVA Security

JAVA2 Networking by Pistoria

JAVA Security by Scotl oaks

Head First EJB Sierra Bates

J2EE Professional by Shadab siddiqui

JAVA server pages by Larne Pekowsley

JAVA Server pages by Nick Todd

HTML:

HTML Black Book by Holzner

JDBC:

Java Database Programming with JDBC by Patel moss.

Software Engineering by Roger Pressman

MEC 57 Computer Science &Engineering

Page 58: suspicious email detection

Suspicious Email Detection

11. BIBLIOGRAPHY

Advanced Java Programming - Dietel and Dietel

Mastering JAVA 2 - John Zukowski

Java Server Programming - Apress

Software Engineering - Roger S Pressman

Análysis & Design of InformationSystems – Senn

Websites

www.eci.gov.in

www.google.com

www.apeci.com

www.askjeeves.com

MEC 58 Computer Science &Engineering