CyberSecurity Report
CyberSecurity Report
CHAPTER 1
INTRODUCTION
1.3 METHODOLOGY
Thisproject describes how to manage good performance and better services to user. the
admin adds user with encryption, each user aregiven 3 unsuccessful attempts for login and once
login is successful the admin can view the user Ipaddress. After three unsuccessful login
attempts user is blocked. The user sends request for clerk to deposit and withdraw amount both
the user and clerk can view user balance and transaction history. In this project DDOS attack is
prevented.
1. Data encryption
2. Tracking of Ip address
3. Email swifting
4. Account blocking
5. DDOS Attacks
• Existing systems does not have fast response time and does not respond quickly to any
changes in attack traffic pattern.
• It will not provide mechanisms for retaining the attack evidence for any future legal
proceedings
• It does not identify the attack at the victim and prevent the attack near to the attacking
source Does not provide confidentiality and integrity for the exchanged messages
betweendefensenodes.
• We design an effective attack mitigation scheme without the need of reverse calculation
or storage of malicious hosts. The scheme exploits the detected abnormal sketch to identify
malicious hosts directly. This avoids the computation-intensive process to infer the malicious
hosts and thus greatly improves the efficiency of the system.
• We develop a prototype of Sky Shield and evaluate its effectiveness using real attack
data collected from a largescale web server cluster. The experimental results show that Sky
Shield can quickly mitigate app-layer DDoS attacks with a limited impact on legitimate users.
Advantages:
- Security
- Confidentiality
CHAPTER-2
LITERATURE SURVEY
2.1 Literature review
1] DDoS Attacks: Tools, Mitigation Approaches, and Probable Impact on Private Cloud
Environment(R. K. Deka, D. K. Bhattacharyya and J. Kalita)-2017
The future of the Internet is predicted to be on the cloud, resulting in more complex and
more intensive computing, but possibly also a more insecure digital world. The presence of a
large amount of resources organized densely is a key factor in attracting DDoS attacks. Such
attacks are arguably more dangerous in private individual clouds with limited resources. This
paper discusses several prominent approaches introduced to counter DDoS attacks in private
clouds. We also discuss issues and challenges to mitigate DDoS attacks in private clouds.
2.2 MODULES
1. ADMIN
2. OFFICER
3. USER
ADMIN
- Admin Login
- Admin add/update/view/delete clerk
- Admin add user details with encryption
- Admin view IP address of user, when user logins in
- Logout
OFFICER
- Officer login
- Officer deposit amount of the particular user
- Officer withdraws the amount of the user
- Officer view balance of user
- Officer view all transaction details
- Logout
USER
- Login
- User is given three attempts for unsuccessful login
- User adds account details
- User request clerk to deposit amount
- User request clerk to withdraw amount
- User view transaction history
- Logout
1. HARDWARE REQUIREMENTS:
Processor - i3 or i4
Speed - 1.1 Ghz
Ram - 2GB
Hard Disk - 20 GB
2. SOFTWARE REQUIREMENTS:
CHAPTER 3
TECHNOLOGY USED
3.1 JAVA TECHNOLOGY
With most programming languages, you either compile or interpret a program so that you
can run it on your computer. The Java programming language is unusual in that a program is
both compiled and interpreted. With the compiler, first you translate a program into an
intermediate language called Java byte codes —the platform-independent codes interpreted by
the interpreter on the Java platform. The interpreter parses and runs each Java byte code
instruction on the computer. Compilation happens just once; interpretation occurs each time the
program is executed. The following figure illustrates how this works.
You can think of Java byte codes as the machine code instructions for the Java Virtual
Machine (Java VM). Every Java interpreter, whether it’s a development tool or a Web browser
that can run applets, is an implementation of the Java VM. Java byte codes help make “write
once, run anywhere” possible. You can compile your program into byte codes on any platform
that has a Java compiler. The byte codes can then be run on any implementation of the Java VM.
That means that as long as a computer has a Java VM, the same program written in the Java
programming language can run on Windows 2000, a Solaris workstation, or on an iMac.
You’ve already been introduced to the Java VM. It’s the base for the Java platform and is
ported onto various hardware-based platforms. The Java API is a large collection of ready-made
software components that provide many useful capabilities, such as graphical user interface
(GUI) widgets. The Java API is grouped into libraries of related classes and interfaces; these
libraries are known as packages. The next section, What Can Java Technology Do? Highlights
what functionality some of the packages in the Java API provide.
The following figure depicts a program that’s running on the Java platform. As the figure
shows, the Java API and the virtual machine insulate the program from the hardware.
Native code is code that after you compile it, the compiled code runs on a specific
hardware platform. As a platform-independent environment, the Java platform can be a bit
slower than native code. However, smart compilers, well-tuned interpreters, and just-in-time byte
code compilers can bring performance close to that of native code without threatening
portability.
1.The essentials: Objects, strings, threads, numbers, input and output, data structures, system
properties, date and time, and so on.
3.Networking: URLs, TCP (Transmission Control Protocol), UDP (User Data gram Protocol)
sockets, and IP (Internet Protocol) addresses.
4.Internationalization: Help for writing programs that can be localized for users worldwide.
Programs can automatically adapt to specific locales and be displayed in the appropriate
language.
5.Security: Both low level and high level, including electronic signatures, public and private key
management, access control, and certificates.
6.Software components: Known as JavaBeans TM, can plug into existing component
architectures.
7.Object serialization: Allows lightweight persistence and communication via Remote Method
Invocation (RMI).
3.3 ANDROID
Android is a buzzword that change the smartphone view from past few years. It holds the
largest part of the smartphone world and which is growing larger and larger every day. Figure
2.2 shows the logo of Android Operating System.Android is an operating system based on the
Linux kernel, and designed primarily for touchscreen mobile devices such as smartphones and
tablet computers. Initially developed by Android, Inc., which Google backed financially and later
bought in 2005, android was unveiled in 2007 along with the founding of the Open Handset
Alliance a consortium of hardware, software, and telecommunication companies devoted to
advancing open standards for mobile devices.
The user interface of Android is based on direct manipulation, using touch inputs that
loosely correspond to real world actions, like swiping, tapping, pinching and reverse pinching to
manipulate on-screen objects. Internal hardware such as accelerometers, gyroscopes and
proximity sensors are used by some applications to respond to additional user actions, for
example adjusting the screen from portrait to landscape depending on how the device is oriented.
Android allows users to customize their home screens with shortcuts to applications and widgets,
which allow users to display live content, such as emails and weather information, directly on the
home screen. Applications can further send notifications to the user to inform them of relevant
information, such as new emails and text messages.
Android is popular with technology companies which require a ready-made, low-cost and
customizable operating system for high-tech devices. Despite being primarily designed for
phones and tablets, it also has been used in televisions, games consoles, digital cameras and other
electronics. Android's open nature has encouraged a large community of developers and
enthusiasts to use the open-source code as a foundation for community driven projects, which
add new features for advanced users or bring Android to devices, which were officially released
running other operating systems.
Enhancements to Android's SDK go hand in hand with the overall Android platform
development. The SDK also supports older versions of the Android platform in case developers
wish to target their applications at older devices. Development tools are downloadable
components, so after one has downloaded the latest version and platform, older platforms and
tools can also be downloaded for compatibility testing.
Web browsers on the client side for rendering data presentation coded in HTML, a web
server program that generates data presentation, an application server program that computes
business logic, and a database server program that provides data persistency. The three types of
server programs may run on the same or different server machines. Web browsers can run on
most operating systems with limited hardware or software requirement. They are the graphic user
interface for the clients to interact with web applications. A typical web application involves four
tiers as depicted in the following web architecture figure:
3.5 MYSQL
MySQL is an open source Relational Database Management System. MySQL is very fast
reliable and flexible Database Management System. It provides a very high performance and it is
multi-threaded and multi user Relational Database management system. MySQL is one of the
most popular relational databases Management System on the web. The MySQL Database has
become the world's most popular open source Database, because it is free and available on
almost all the platforms.
The MySQL can run on UNIX, window, and Mac OS. MySQL is used for the internet
applications as it provides good speed and is very secure. MySQL was developed to manage
large volumes of data at very high speed to overcome the problems of existingsolutions. MySQL
can be used for verity of applications but it is mostly used for the web applications on the
internet.
MySQL Features:
▪ MySQL are very fast and much reliable for any type of application.
▪ MySQL is very Lightweight application.
▪ MySQL command line tool is very powerful and can be used to run SQL queries against
database.
▪ MySQL supports indexing and binary objects.
▪ It is allow changes to structure of table while server is running.
▪ MySQL Written in C and C++ language.
▪ MySQL code is tested with different compilers.
▪ MySQL is available as a separate program for use in a client/server network environment.
▪ The MySQL available for the most UNIX operating platform.
▪ MySQL are the available for window operating system window NT, window 95, and
window 98.
Dept. of CSE, Govt CPC Polytechnic, 2021-2022 Page 12
Mysore.
ENHANCING CYBER SECURITY
CHAPTER 4
SYSTEM REQUIREMENTS SPECIFICATION
CHAPTER 5
SYSTEM ANALYSIS
5.1 PROBLEM ANALYSIS
The security of systems is a serious issue due to the increasing numbers of services and
users in a networks.However, the impacts of security vulnerabilities are very dangerous in
critical smart environments used in fields such as banking, medicine and industry.
Confidentiality, integrity, and availability are three important security concepts of applications
and services in internet. The creation of smart environments in the real world faces two notable
barriers: the security of systems and the complexity and compatibility of the environments.
Attacks such as DoS or DDoS attacks on networks affects of services and thus affect the services
provided by smart environments.
1.Feasibility Study:
A feasibility study is part of the initial design stage of any project/plan. It is conducted in
order to objectively uncover the strengths and weaknesses. In addition, a of a proposed project or
an existing business.
2.Economical feasibility
The economic feasibility step of business development is that period during which a
break-even financial model of the business venture is developed based on all costs associated
with taking the product from idea to market and achieving sales sufficient to satisfy debt or
investment requirements.
3.Operational feasibility
Operational feasibility is the measure of how well a proposed system solves the
problems, and takes advantage of the opportunities identified during scope definition and how it
satisfies the requirements identified in the requirements analysis phase of system development.
4.Technical feasibility
A technical feasibility study assesses the details of how you intend to deliver a product or
service to customers. Think materials, labor, transportation, where your business will be located,
and the technology that will be necessary to bring all this together
.
5.2 SYSTEM DESIGN
A Data Flow Diagram (DFD) is a diagram that describes the flow of data and the
processes that change data throughout a system. A structured analysis and design tool can be
used for flowcharting in place of or in association with information. Oriented and process
oriented system flowcharts. When analysts prepare the Data Flow Diagram, they specify the user
needs at a level of detail that virtually determines the information flow into and out of the system
and the required data resources. This network is constructed by using a set of symbols that do not
imply physical implementations.
Data flow diagrams (DFDs) reveal relationships among and between the various
components in a program or system. DFDs are an important technique for modelling a system’s
Dept. of CSE, Govt CPC Polytechnic, 2021-2022 Page 14
Mysore.
ENHANCING CYBER SECURITY
high-level detail by showing how input data is transformed to output results through a sequence
of functional transformations. DFDs consist of four major components: entities, processes, data
stores, and data flows. The symbols used to depict how these components interact in a system are
simple and easy to understand; however, there are several DFD models to work from, each
having its own symbology. DFD syntax does remain constant by using simple verb and noun
constructs. Such a syntactical relationship of DFDs makes them ideal for object-oriented analysis
and parsing functional specifications into precise DFDs for the systems analyst.
NAME SYMBOL
Entity
Data flow
Processor
▪ User moduleusecase
CHAPTER 6
IMPLEMENTATION
Flowcharts use special shapes to represent different types of actions or steps in a process.
Lines and arrows sed. For example, a data flow diagram may contain an Input/output Symbol
(also known as an I/show the sequence of the steps, and the relationships among them. These are
known as flowchart symbols.
The type of diagram dictates the flowchart symbols that are uO Symbol), but you would
not expect to see it in most process flow diagrams.
CHAPTER 7
7.1 TESTING
Testing defines the status of the working functionalities of any particular system.
Through testing particular software, one cannot identify the defects in it but can analyses the
performance of software and its working behavior. By testing the software, we can find the
limitations that become the conditions on which the performance is measured on that particular
level. In order to start the testing process the primary thing is requirements of software
development cycle. Using this phase, the testing phase will be easier for testers. The capacity of
the software can be calculated by executing the code and inspecting the code in different
conditions such as testing the software by subjecting it to different sources as input and
examining the results with respect to the inputs.
The purpose of testing is to discover errors. Testing is the process of trying to discover
every conceivable fault or weakness in a work product. It provides a way to check the
functionality of components, sub-assemblies, assemblies and/or a finished product it is the
process of exercising software with the intent of ensuring that the Software system meets its
requirements and user expectations and does not fail in an unacceptable manner. There are
various types of test. Each test type addresses a specific testing requirement.
3.Functional test:Functional tests provide systematic demonstrations that functions tested are
available as specified by the business and technical requirements, system documentation, and
user manuals.
4. System Test:System testing ensures that the entire integrated software system meets
requirements. It tests a configuration to ensure known and predictable results. An example of
system testing is the configuration oriented system integration test. System testing is based on
process descriptions and flows, emphasizing pre-driven process links and integration points.
5. White Box Testing:White Box Testing is a testing in which the software tester has knowledge
of the inner workings, structure and language of the software, or at least its purpose. It is
purpose. It is used to test areas that cannot be reached from a black box level.
6.Black Box Testing:Black Box Testing is testing the software without any knowledge of the
inner workings, structure or language of the module being tested. Black box tests, as most other
kinds of tests, must be written from a definitive source document, such as specification or
requirements document, such as specification or requirements document. It is a testing in which
the software under test is treated, as a black box you cannot “see” into it. The test provides inputs
and responds to outputs without considering how the software works.
7. Unit Testing:Unit testing is usually conducted as part of a combined code and unit test phase
of the software lifecycle, although it is not uncommon for coding and unit testing to be
conducted as two distinct phases.
8. Test strategy and approach:Field-testing will be performed manually and functional tests
will be written in detail.
9.Test objectives:
11. Integration Testing: Software integration testing is the incremental integration testing of
two or more integrated software components on a single platform to produce failures caused by
interface defects.
12. Acceptance Testing: User Acceptance Testing is a critical phase of any project and requires
significant participation by the end user. It also ensures that the system meets the functional
requirements.
13. Test Results: All the test cases mentioned above passed successfully. No defects
encountered.
TC02 Add To enter user Add user User User added User added Pass
user details details
Add To enter user Add user User User added User details Fail
user details details missing
TC04 View View the View user View List of List of Pass
user complete user user entered user entered user
7.3 Methodology:
It’s a common practice to encrypt the data before it is been stored. Access control is
another added security upon the encrypted data to be strongly stored. At the start of the module
while company adding employee the employee data encrypted for security. The company articles
are shared among managers and its further shared to only company groups not outside. For more
secured data if employee fails to login more than thrice then the employee is blocked only the
company has the right to unblock the employee.
Attribute Based Encryption- ABE is finding its existence in cloud technology since it can
deliver data privacy with one-to-many, fine grained and non-interactive access control There
square measure already well-known existing security solutions in the main specialize in the
authentication to appreciate that a user’s privative information cannot be unauthorized accessed,
however neglect a refined privacy issue throughout a user difficult the cloud server to request
different users for information sharing.
7.3.1 RSA Algorithm
7.3.2 Three Time Account Blocking System
A process that is blocked is one that is waiting for some event such as a resource being available
for the completion of an input output operation. In this it attempts for 3 times, if the input is given
wrong continuously it automatically blocks for the third time. If input is correct, then it accepts
the command and continues the process. In this system employee login with user name and
password in case if the employees fails to login then the employee is given three chances to login
if the employee takes more than thrice chances to login then the employee is blocked by the
company for the security purpose only the company has the right to view the blocked employee
details and only the employee has the right to unblock the employee.
7.3 CODE
1. Admin login.java
import CyberSec_Package_Db.CyberSec_Db;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
response.setContentType("text/html;charset=UTF-8");
java.sql.Connection c = db.getConnection();
System.out.println(aname);
System.out.println(apassword);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
response.sendRedirect("Admin/AdminHome.jsp");
} else {
out.print("<script>alert(\"Login Failed\");window.location.href=\"AdminLogin.jsp\";</script>");
}} catch (Exception e) {
e.printStackTrace();
}}
processRequest(request, response);
processRequest(request, response);
}// </editor-fold>
2. Officer login.java
import CyberSec_Package_Db.CyberSec_Db;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
response.setContentType("text/html;charset=UTF-8");
java.sql.Connection c = db.getConnection();
System.out.println(oemail);
System.out.println(opassword);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
response.sendRedirect("Officer/OfficerHome.jsp");
} else {
out.print("<script>alert(\"Login
Failed\");window.location.href=\"OfficerLogin.jsp\";</script>");
} catch (Exception e) {
e.printStackTrace();
} }
processRequest(request, response);
processRequest(request, response);
}// </editor-fold>
2. User login.java
import CyberSec_Package_Db.CyberSec_Db;
import java.io.IOException;
import java.io.PrintWriter;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
response.setContentType("text/html;charset=UTF-8");
java.sql.Connection c = db.getConnection();
System.out.println(uemail);
System.out.println(upassword);
int attempt = 0;
ResultSet rs = ps.executeQuery();
if (rs.next()) {
session.setAttribute("UID", rs.getString("pkid"));
response.sendRedirect("User/UserHome.jsp");
} else {
// session.setAttribute("count", null);
System.out.println(session.getAttribute("count") == null ||
session.getAttribute("count").toString().equals("null"));
// sess.getAttribute("count") == null ||
sess.getAttribute("count").toString().equals("null")
System.out.println("1");
session.setAttribute("count", "1");
out.print("<script>alert(\"invalid details\");window.location.href=\"UserLogin.jsp\";</script>");
} else if (session.getAttribute("count").toString().equals("1")) {
System.out.println("2");
session.setAttribute("count", "2");
out.print("<script>alert(\"invalid details\");window.location.href=\"UserLogin.jsp\";</script>");
} else if (session.getAttribute("count").toString().equals("2")) {
System.out.println("3");
session.setAttribute("count", "3");
out.print("<script>alert(\"invalid details\");window.location.href=\"UserLogin.jsp\";</script>");
} else if (session.getAttribute("count").toString().equals("3")) {
System.out.println("Account Blocked!");
String str2 = "UPDATE `user` SET `status`='2' WHERE `uemail` = '" + encr_email + "'";
ps1.executeUpdate();
session.setAttribute("count", null);
out.print("<script>alert(\"Account
Blocked\");window.location.href=\"UserLogin.jsp\";</script>");
}}
} catch (Exception e) {
e.printStackTrace();
keyPairGenerator.initialize(2048);
keys.put("private", privateKey);
keys.put("public", publicKey);
return keys;
processRequest(request, response);
processRequest(request, response);
}// </editor-fold>
CONCLUSION
The Magnitude of DDoS and therefore harm as escalated with the inclusion of various different
attack sources and therefore creating suitable environment for harming the security and
performance of the IoT technology. The influence of attack and its frequency can further worsen
the network performance and prevent the legitimate users of the network from accessing the
network services. This article stresses in the possible security technique and proposed a
prevention scheme that is favorable to be applied in IoT networks that are vulnerable to DDoS
attacks. Based on the basic structure and functions of existing IDS, we have sued results in the
proposed algo in a manner pertaining to time. Proposed prevention algo is a multiway adaptable
administratively and technically for various security needs and is also adjustable according to the
existing information simultaneously updatable blacklist table. Following this can lead to generate
recommendation for reaction module and thus approaching to assure the network performance,
security and survivability at the time of attack occurrence.
FUTURE ENHANCEMENT
Nothing is perfect in this world. Therefore, we are also no exception. Although, we have tried ou
r best to present the information effectively, yet, there can be further enhancement in
the Application. We have taken care of all the critical aspects, which need to take care during the
development of the Project. Like the things, this project also has some limitations and can be
further enhanced. The current system is offline system, so this current system can be made online
and enhance the features by making an android app so that the customer can buy the product
online with ease.
BIBLIOGRAPHY
[2] AhamadAhanger, Tariq. (2018). Defense Scheme to Protect IoT from Cyber Attacks using AI
Principles.International Journal of Computers Communications & Control. 13. 915-926.
10.15837/ijccc.2018.6.3356.
[4] R. H. Weber, “Internet of Things – New security and privacy challenges,” Comput. lawSecur.
Rev., vol. 26, pp. 23–30, 2010.
[6] L. Catarinucci et al., “An IoT-Aware Architecture for Smart Healthcare Systems,” IEEE,
2015.
[7] J. Zhou, Z. Cao, X. Dong, and A. V. Vasilakos, “Security and Privacy for Cloud-Based IoT:
Challenges,” IEEE Commun.Mag., vol. 55, no. 1, pp. 26–33, Jan. 2017.