Uploaded by Navaneeth Krishnan

Malware Detection Documentation

advertisement
ITERATIVE CLASSIFIER FUSION
SYSTEM FOR THE DETECTION
OF ANDROID MALWARE
Project report submitted to
St. Berchmans Autonomous College,
Changanacherry
In partial fulfilment of the requirement for the award of the
MASTER OF COMPUTER SCIENCE
BY
NAVANEETH KRISHNAN
21910272
Under the guidance of
Mrs. Santhi Joseph
DEPARTMENT OF COMPUTER SCIENCE
-------------------- ----------------------- -------------------ST. BERCHMANS AUTONOMOUS COLLEGE,
CHANGANACHERRY
August, 2021
CERTIFICATE
Certify that the report entitled ITERATIVE CLASSIFIER FUSION
SYSTEM FOR THE DETECTION OF ANDROID MALWARE is
a bonafide record of the project work done by NAVANEETH
KRISHNAN (21910272) under our guidance and supervison is
submitted in partial fulfillment of the Master Degree in Computer
Science, awarded by Mahatma Gandhi University, Kerala and that
no part of this work has been submitted earlier for the award of any
other degree.
Mrs. Santhi Joseph
Project Guide
Mrs. Dhanya C Nair
HOD
Submitted for the viva-voice held on
External Examiner(s)
DECLARATION
I, Navaneeth Krishnan with the student Register No: 21910272 of final year project, declare
that the report entitled “Iterative Classifier Fusion System for the Detection of Android
Malware” written and submitted by me under the guidance of Mrs.Santhi Joseph, Assistant
Professor, Department of Computer Science, St Berchmans College, Changanacherry. The
empirical findings in this report are based on the data collected by myself. While preparing this
report, I have not copied from any other report. I also declare that this report has not been
submitted to any other University or institution for award of Fellowship or Degree or Diploma.
Place: Changanacherry
Name: Navaneeth Krishnan
Date:
Signature:
ACKNOWLEDGEMENT
First of all, I thank the Almighty for the grace and strength given to me for completing this task
without any hindrance.
I am very grateful to our Principal, Fr. Reji P Kuriyan, S.B College Changanacherry for
offering an opportunity to carry out this Project and Lecturer. Mrs. Dhanya C Nair, Head of
the Department, Dept of Computer Science, S.B College, Changanacherry for extending her
whole-hearted support and excellent encouragement for completing this dissertation. I would
take this opportunity to express my sincere gratitude to my Project Guide, Mrs.Santhi
Joseph, assistant Professor department of Computer Science, S.B College Changanacherry for
his valuable guidance and support for the completion of this project.
I would like to thank my Teachers, Parent and Friends for the encouragement and support for
the completion of this Project.
Navaneeth Krishnan
ABSTRACT
Malicious software (malware) pose serious challenges for security of big data. The
number and complexity of malware targeting Android devices have been exponentially
increasing with the ever growing popularity of Android devices. To address this problem,
multi-classifier fusion systems have long been used to increase the accuracy of malware
detection for personal computers. However, previously developed systems are quite large and
they cannot be transferred to Android platform. To this end, we propose Iterative Classifier
Fusion System (ICFS), which is a system of minimum size, since it applies a smallest possible
number of classifiers. The system applies classifiers iteratively in fusion with new iterative
feature selection (IFS) procedure. We carry out extensive empirical study to determine the best
options to be employed in ICFS and to compare the effectiveness of ICFS with several other
traditional classifiers. The experiments show that the best outcomes for Android malware
detection have been obtained by the ICFS procedure using LibSVM with polynomial kernel,
combined with Multilayer Perceptron and Nbtree classifier and applying IFS feature selection
based on Wrapper Subset Evaluator with Particle Swarm Optimization.
Front End
Python, Django
Back End
Sqlite
version: Python 3.7
Pycharm 2020.1.4
sqlite3
DBeaver 7.1
A Project Report On
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF
ANDROID MALWARE
Table of Contents
1.
EXECUTIVE SUMMARY ............................................................................................. 1
2.
BACKGROUND ............................................................................................................. 2
EXISTING SYSTEM ............................................................................................... 2
DEFINITION OF PROBLEM .................................................................................. 2
PROPOSED SYSTEM ............................................................................................. 2
3.
PROJECT OVERVIEW .................................................................................................. 3
OBJECTIVE OF THE PROJECT ............................................................................ 3
STAKEHOLDERS ................................................................................................... 3
SCOPE OF THE PROJECT ..................................................................................... 3
FEASIBILITY ANALYSIS ..................................................................................... 3
Technical Feasibility ......................................................................................... 3
Operation Feasibility ......................................................................................... 3
Schedule Feasibility .......................................................................................... 4
Economic Feasibility ......................................................................................... 4
4.
OVERALL PROJECT PLANNING ............................................................................... 5
DEVELOPMENT ENVIRONMENT....................................................................... 5
CONSTRAINTS ....................................................................................................... 5
DELIVERABLES..................................................................................................... 5
ASSUMPTION AND DEPENDENCIES................................................................. 5
RISKS ....................................................................................................................... 6
PROCESS MODEL .................................................................................................. 6
TEST STRATEGY ................................................................................................... 6
TESTING ENVIRONMENT AND TOOLS ............................................................ 7
5.
ITERATION PLANNING .............................................................................................. 8
SCHEDULE .................................................................................................................. 8
RISK .............................................................................................................................. 8
6.
HIGH LEVEL SYSTEM ANALYSIS ............................................................................ 9
USER CHARECTERISTICS ................................................................................... 9
FUNCTIONAL REQUIREMENTS ......................................................................... 9
Functional Requirements : Login ...................................................................... 9
Functional Requirements : Upload the APK ..................................................... 9
Functional Requirements : APK Extraction ...................................................... 9
Functional Requirements : Comparing .............................................................. 9
Functional Requirements : Result Analysis .......................................................... 10
Functional Requirements : Feedback .............................................................. 10
NON-FUNCTIONAL REQUIREMENTS ............................................................. 10
GLOSSARY ........................................................................................................... 10
BUSINESS RULES ................................................................................................ 10
USE CASES ........................................................................................................... 11
USE CASE DIAGRAM.......................................................................................... 11
7.
DOMAIN MODEL ....................................................................................................... 12
8.
USE CASE MODEL ..................................................................................................... 13
USE CASE TEXT .................................................................................................. 13
SYSTEM SEQUENCE DIAGRAM....................................................................... 17
OPERATIONS CONTRATCTS ............................................................................ 17
9.
DESIGN MODEL ......................................................................................................... 18
SEQUENCE DIAGRAM ....................................................................................... 18
CLASS DIAGRAM ................................................................................................ 19
DATAFLOW DIAGRAM ...................................................................................... 20
UI DESIGNS .......................................................................................................... 25
THEOROTICAL BACKGROUND ....................................................................... 30
ARCHITECTURE .................................................................................................. 31
Executive Summary
DATABASE DESIGN ......................................................................................... 35
10.
TESTING ................................................................................................................... 40
TEST CASES ...................................................................................................... 40
SAMPLE CODE FOR TESTING ....................................................................... 41
11.
TRANSITION ............................................................................................................ 42
SYSTEM IMPLEMENTATION ........................................................................ 42
SYSTEM MAINTENANCE............................................................................... 42
12.
ANNEXURE .............................................................................................................. 43
ORGANIZATIONAL PROFILE ........................................................................ 43
REFERENCES.................................................................................................... 43
SAMPLE PROJECT CODE ............................................................................... 43
ITERATIVE CLASSIFIER FUSION SYSTEM FOR THE DETECTION OF ANDROID MALWARE
EXECUTIVE SUMMARY
1. EXECUTIVE SUMMARY
Big data has become ubiquitous in all aspects of modern society and in various research domains.
With mobile devices such as smartphones becoming capable to run intricate software equivalent
to that of personal computers (PCs), owners are leveraging their smartphones for a wide variety of
applications such as accessing and storing big data that include sensitive and commercial-inconfidence data. Unfortunately, the rapid growth and widespread user acceptance of smartphones
have followed with a surge both in number and complexity of malware that target popular mobile
phone platforms.
Mobile malware is malicious software that targets mobile phones or wireless-enabled Personal
digital assistants (PDA), by causing the collapse of the system and loss or leakage of confidential
information. It pose serious challenges for security of big data. The number and complexity of
malware targeting Android devices have been exponentially increasing with the ever growing
popularity of Android devices. There are many types of mobile malware variants and different
methods of distribution and infection. For organizations that depend on mobile phones to do
business or who allow employees and visitors to use their own devices as part of a BYOD policy,
the threat is very real and needs to be addressed.
To address this problem, multi-classifier fusion systems have long been used to increase the
accuracy of malware detection for personal computers. However, previously developed systems
are quite large and they cannot be transferred to Android platform. We propose Iterative Classifier
Fusion System (ICFS), which is a system of minimum size, since it applies a smallest possible
number of classifiers. The system applies classifiers iteratively in fusion with new iterative feature
selection (IFS) procedure.
1
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
BACKGROUOND
2. BACKGROUND
Existing System
In current scenario, we use app stores such as Google store, Apple store, Amazon store etc. for
downloading APK files. Only the app stores that providing the few details about the application.
Most commonly we depend on the rating and reviews of an application. When we get an APK file
through another media, there is not an existing system for analyse and verify an APK file that is
good for our system.
Definition of Problem
•
The process is completely manual one which takes more work in background.
•
Time consuming.
•
Low accuracy, lack of flexibility.
Proposed System
We propose Iterative Classifier Fusion System (ICFS), which is a system of minimum size, since
it applies a smallest possible number of classifiers. The system applies classifiers iteratively in
fusion with new iterative feature selection (IFS) procedure. We carry out extensive empirical study
to determine the best options to be employed in ICFS and to compare the effectiveness of ICFS
with several other traditional classifiers. The experiments show that the best outcomes for Android
malware detection have been obtained by the ICFS procedure using LibSVM with polynomial
kernel, combined with Multilayer Perceptron and Nbtree classifier and applying IFS feature
selection based on Wrapper Subset Evaluator with Particle Swarm Optimization.
2
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
PROJECT OVERVIEW
3. PROJECT OVERVIEW
Objective of the Project
The main objective of this project is to detect the malicious software that targets the smartphones.
When we get an APK file through another media, there is not an existing system for analyse and
verify an APK file that is good for our system. To enhance this problem we propose Iterative
Classifier Fusion System, which is a system of minimum size, since it applies a smallest possible
number of classifiers. The system applies classifiers iteratively in fusion with new iterative feature
selection procedure. Moreover, the graphical user interface is provided in this system, which
provides user to deal with the system very easily.
Stakeholders
•
•
Admin
Customer
Scope of the Project
We propose Iterative Classifier Fusion System (ICFS), which is a system of minimum size, since
it applies a smallest possible number of classifiers. The system applies classifiers iteratively in
fusion with new iterative feature selection (IFS) procedure. We carry out extensive empirical study
to determine the best options to be employed in ICFS and to compare the effectiveness of ICFS
with several other traditional classifiers. The experiments show that the best outcomes for Android
malware detection have been obtained by the ICFS procedure using LibSVM with polynomial
kernel, combined with Multilayer Perceptron and Nbtree classifier and applying IFS feature
selection based on Wrapper Subset Evaluator with Particle Swarm Optimization.
Feasibility Analysis
Technical feasibility
The technical requirements for the system is economic and it does not use any other additional
hardware or software. The hardware requirements is a computer. The windows/linux is necessary
for implementing the application.
Operational feasibility
The new system is very much easier and user friendly than the existing system. It satisfies the
requirements identified in the requirements analysis phase of system development. It reduces the
operational time considerably. Operational cost is very less. The maintenance and modification of
the new system needs very less human effort. The new system is operationally feasible and makes
the operations simpler and quite easier.
3
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
PROJECT OVERVIEW
Schedule feasibility
The process of assessing the degree to which the potential time frame and completion dates for all
major activities within a project meet organizational deadlines and constraints for affecting
changes.
3.4.4 Economic feasibility
Economic feasibility study involves the study of benefits and cost. This project mainly contributes
to the customer benefits. We can assure the security of devices from malwares.
4
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
OVERALL PROJECT PLANNING
4. OVERALL PROJECT PLANNING
Development environment
Software Specification
Operating System : Windows 7 or above
Front End
: Python, Django
Back End
: SQlite
Tools
: Pycharm 2020.1.4 , DBeaver 7.1
Hardware Specification
Processor
: i3 or above
RAM
: 2 GB or above
Input devices
: Mouse, Keyboard
Hard Disk
: 512 GB
Constraints
The project will work on any version on python. It require Dbeaver for database purpose. Time
constraints are to complete the app within the time limit. The time limit is four months. The next
constrain is to complete the app with accuracy user friendly.
Deliverables
The deliverables expected by the users are:
•
User manual
•
Customer support
Assumptions and dependencies
This assumption that the required input will be given by the user and the system is easy to
maintain and use. This system helps the users any time.
5
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
OVERALL PROJECT PLANNING
Risks
The main risk that, we face in this software solution are,
➢ Any changes in the requirements may lead to the change in the entire solution.
➢ If no advance technology is available it may lead to a risk.
➢ Wrong time estimation- If the software is not developed within the time duration it may
lead to a risk
Process model
RAD Model is used to implement this application. RAD model is Rapid Application Development
model. It is a type of incremental model. In RAD model the components or functions are developed
in parallel as if they were mini projects. The developments are time boxed, delivered and then
assembled into a working prototype. RAD (Rapid Application Development) is a concept that
products can be developed faster and of higher quality through:
•
Gathering requirements using workshops or focus groups
•
Prototyping and early, reiterative user testing of designs
•
The re-use of software components
•
A rigidly paced schedule that refers design improvements to the next product version
•
Less formality in reviews and other team communication
Test Strategy
The overall strategy for testing “Iterative classifier fusion system for the detection of android
malware” is described as follows. Four different methods are used to test the software.
Unit Testing
In unit testing, the analyst tests the programs making up a system. This is also called as program
testing. During unit test each module such as login, registration etc. are tested independently. Each
module was tested individually and the errors are corrected.
Integration Testing
Integration testing is used to develop an incremental strategy that will limit the complexity of
interactions among components .Here all the modules are integrated together and tested and find
out interfaces are working perfect. Here tests the control flow between the forms. For example
while admin login successfully the next page should loaded is either for uploading APK file or to
view the users details.
6
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
OVERALL PROJECT PLANNING
Validation Testing
Validation testing is a process of obtaining the right amount of processing capability of the
application “Iterative classifier fusion system for the detection of android malware”. Here make
sure that the software is the exact result which it is assigned for. Here software components like
input forms (login, registration,) and functions are brought together and put various input data or
test date and derive results for and compared the results from the application with the results that
are derived and found to be OK. This will check for the validation of the application.
System Testing
The implementation of a computer based system requires that test data to be prepared and that the
system and its elements be tested in a planned structured manner. The computer program
component is a major sub-system of the computer-based information system and particular
attention should be given to the testing of this system element as it is developed.
In a software development project, errors can be injected at any stage during development. Each
will discuss different techniques for detecting and eliminating errors that originate in that phase.
In software the use of testing is not limited to the testing phase. Here I have tested all the modules
in my project separately and run successfully.
Testing environment and tools
All the testing phases are done manually by running the application in the system . After
installing Pycharm testing was carried out. So, the requirements are:
7
•
Pycharm 2020.1.4
•
Google Chrome
•
PC or Laptop of minimum requirements to run Pycharm
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
ITERATION PLANNING
5. ITERATION PLANNING
Schedule
Tasks
Duration
July
August
October
November
Week
1
System study
4 weeks
System
Analysis
2 weeks
Design
3 weeks
Coding and
Testing
4 weeks
Implemention
1 day
2
3
4
1
2
3
4
1
2
3
4
1
Risk
Main Risks involved is project duration which should be managed by effective scheduling.
8
2
3
4
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
HIGH LEVEL SYSTEM ANALYSIS
6. HIGH LEVEL SYSTEM ANALYSIS
User characteristics
•
•
Admin
Customer
Summary of system features/Functional requirements
Login
Introduction : All the details of user and admin are entered.
Inputs
: username, password
Processing : Successfully registered
Outputs
: After the checking the user and admin can log on to their corresponding home
page.
Upload the APK file
Introduction : User can upload the APK file.
Inputs
: APK file
Processing : File is being uploaded
Outputs
: Information is stored
APK Extraction
Introduction : Extracting the APK file
Inputs
: APK file
Processing : Extraction
Outputs
: Information is stored
Comparing
Introduction : Machine learning system comparing the signature using iterative classifier
fusion system
Inputs
: Signature of APK file
Processing : Matching
Outputs
: Information is stored
9
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
HIGH LEVEL SYSTEM ANALYSIS
Result Analysis
Introduction : Analyse the result from the system
Inputs
: Data from the device
Processing : Result analysis
Outputs
: Information is stored
Feedback
Introduction : User can add their feedback
Input: varied data
Output: Notification to the admin
Non Functional Requirements / Supplementary Specification
Performance: The performance of the application should have good standard.
Secure: The security of the system should be assured as we use the windows/linux platform it
is safe.
Usability: The system can be used by customer who wants to check the APK file is good for the
system.
Glossary
Python
It is an interpreted, high-level and general-purpose programming language. Python's design
philosophy emphasizes code readability with its notable use of significant whitespace.
Its language constructs and object-oriented approach aim to help programmers write clear,
logical code for small and large-scale projects.[28]
Python is dynamically typed and garbage-collected. It supports multiple programming
paradigms, including structured (particularly, procedural), object-oriented, and functional
programming. Python is often described as a "batteries included" language due to its
comprehensive standard library
Database
A collection of stored related data
Business Rules
Only rules applied to the project is that the project should follow the organizational standards.
The organizational standards give more importance to the user requirement and user-friendly
system.
10
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
Use cases
Login: With the username and password one can enter to this application.
User Details View: Admin can view the registered user details
Category management: Admin can add categories to the system
Training set: Admin can add data set to the system
Permission Settings: Admin can add permission settings to the system
Registration: User can register along with their details
User APK Upload: User can upload the Apk file
APK Analysis Result: User can analyse the result
Feedback: User can add their feedback
Use case diagram
11
HIGH LEVEL SYSTEM ANALYSIS
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
7. DOMAIN MODEL
12
DOMAIN MODEL
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
USE CASE MODEL
8. USE CASE MODEL
Use case text
The main users are:
•
•
Admin
User
The user must have the basic knowledge about web browsing. No special trainings are
required for the user.
UC1: Login
Use Case Name
Scope
Level
Primary Actor
Stakeholder
Precondition
Post condition
Main success scenario
Login
Users need to login in order to use the system
User, Admin
User, Admin
Admin
Displays Login page
Successfully login
1.Click on login
2.Enter valid details
3.Click on login button
4.User can login successfully
UC2: User Details View
Use Case Name
Scope
Level
Primary Actor
Stakeholder
Precondition
Post condition
Main success scenario
13
User details view
Admin can view the user details
Admin
Admin
Admin
Displays admin page
View user details
1. Login to admin page
2. Click on user details
3.View user details
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
USE CASE MODEL
UC3: Category Management
Use Case Name
Scope
Level
Primary Actor
Stakeholder
Precondition
Post condition
Main success scenario
Category Management
Add Category
Admin
Admin
Admin
Display category page
Successfully add categories
1.Login to admin page
2.Click on category
3.Enter valid category
4.Click on add button
5.Categories added successfully
UC4: Training Set
Use Case Name
Scope
Level
Primary Actor
Stakeholder
Precondition
Post condition
Main success scenario
Training Set
Add the dataset
Admin
Admin
Admin
Displays training page
Successfully add dataset
1.Login to admin page
2.Click on Dataset
3.Select dataset
4.Click on add button
5.Training set added successfully
UC5: Permission Settings
Use Case Name
Scope
Level
Primary Actor
Stakeholder
Precondition
Post condition
Main success scenario
14
Permission Settings
Add permission settings
Admin
Admin
Admin
Displays permission page
Successfully add permissions
1.Login to admin page
2.Click on permission
3.Select permission
4.Click on add button
5.Permission Settings added successfully
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
UC6: Registration
Use Case Name
Scope
Level
Primary Actor
Stakeholder
Precondition
Post condition
Main success scenario
Registration
User registration
User
User
User
Displays registration page
Successfully registers
1.Click on registration
2.Enter valid details
3.Click register button
4.User registered successfully
UC7: User Apk Upload
Use Case Name
Scope
Level
Primary Actor
Stakeholder
Precondition
Post condition
Main success scenario
User Apk Upload
Uploading the Apk file
User
User
User
Display uploading page
Query Submitted
1.Click on upload
2.Browse the Apk file
3.Click on Submit button
4.Successfully Uploaded
UC8: Result Analysis
Use Case Name
Scope
Level
Primary Actor
Stakeholder
Precondition
Post condition
Main success scenario
15
Result Analysis
User can analyse the detected result
User
User
User
Display history page
View result
1. Click on history page
2. Click on Report
3.View result
USE CASE MODEL
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
USE CASE MODEL
UC9: Feedback
Use Case Name
Scope
Level
Primary Actor
Stakeholder
Precondition
Post condition
Main success scenario
16
Feedback
Users can mention their feedback about the
system
User
User
User
Displays feedback page
Feedback submitted
1.Click on feedback page
2.Add your feedback
3.Click on submit button
4.Successfully submitted
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
USE CASE MODEL
System Sequence Diagram
Operation contracts
The system as a whole is considered as a class. The precondition is a fully developed system.
Inputs is an APK file. And the post condition is the analysed result generated by the system.
17
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
9. DESIGN MODEL
Sequence diagrams
18
DESIGN MODEL
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
Class diagrams
19
DESIGN MODEL
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
DESIGN MODEL
Data Flow diagrams
The DFD also known as bubble chart. It is a simple graphical formalism that can be used to represent a system
in terms of the input data to the system, various processing carried out on these data and the output data
generated by the system. The main reason why this DFD technique is so popular is probably because of the fact
that DFD is a very simple formalism- it is simple to understand and use. A DFD model uses a very limited
number of primitive symbols to represent the functions performed by a system and the data flow among these
systems. Starting with a set of high-level functions that a system performance of DFD model in hierarchically
it represents various sub functions. The Data Flow Diagramming technique also follows a simple set of intuitive
concepts and rules.
Data flow diagram (DFD) is used to show how data flows through the system and the processes that transform
the input data into output. Data flow diagrams are a way of expressing system requirements in a graphical
manner. DFD represents one of the most ingenious tools used for structured analysis.
In the normal convention, logical DFD can be completed using only four notations.
Analysis model helps us to understand that relationship between different components in the system design.
Analysis model shows the user clearly, how a system will function. This is the first technical representation of
a system. The analysis modeling must achieve three primary objectives.
1. To establish a basis for creation of software design.
2. To describe what the user requires.
3. To define a set of requirements that can be validated once the software is built.
A data flow diagram is a graphical technique that depicts information flow and transforms that are applied as
data move from input to output. The DFD is used to represent increasing information flow and functional
details.
A level 0 DFD also called a fundamental system model represents the entire software elements as single bible
with input and output indicated by incoming outgoing arrows respectively. Additional process and information
flow parts are represented in the next level, i.e. Level 1 DFD. Each of the processes represented at level 1 are
sub functions of overall system depicted in the context model. Any processes which are complex in level 1 will
be further represented into sub functions in the next level, i.e. in level 2.
20
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
DESIGN MODEL
Data flow diagram is a means of representing a system at any level of detail with a graphic network of symbols
showing data flows, data stores, data processes and data sources.
The goal of data flow diagram is to have a commonly understood model of a system. The diagram is the basis
of structured system analysis. Data flow diagram are supported by other techniques of structured system
analysis such as data structured diagrams, data dictionaries and procedure representing techniques such as
decision table, decision tree and structure English.
The basic elements of DFD are
➢ Bubbles: Used to represent functions
➢ Arrows: Used to represent data flow
➢ Rectangles: Used to represent external entries
➢ Option box: Used to represent data store
Process
A process shows a transformation or manipulation of data flow within the system. The symbol used is a
rectangular box, which contains 3 descriptive elements firstly an identification number, appears in the upper
left-hand corner. This is allocated arbitrarily at the top level and serves as a unique reference. Secondly,
allocation appears to the right of the identifier and describes where in the system the process takes place. This
may, for example, be a department or a piece of hardware. Finally, a descriptive title is placed in the center of
the box.
External entity
An external entity is source of destination of data flow, which is outside the area of study. Only those entities,
which originate or receive data, are represented on a business process diagram. The symbol used in an oval
containing a meaningful and unique identifier. Usually the is an element, from that the system inputs come or
to which the system outputs go. A common example of external entity is person or a group of persons.
Data flow
21
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
DESIGN MODEL
A data flow shows the flow of information from its source to its destination. A data flow is represented by a
line, with arrowhead showing the direction of flow, information always flows to or from a process and may be
written, verbal or electronic. Each data flow may be referenced by the processes or data stores at its head and
tail, or by a description of its contents.
Data store
Data store is a holding-place for information within the system. It is represented by an openended narrow
rectangle. Data stores may be long-term file such as sales ledgers, or may be short-term accumulations: for
example, batches of documents that are waiting to be processed.
Each data store should be given a reference followed by an arbitrary number.
DFD Symbols
➢ A Rectangle defines the source or destination of system data.
➢ An Arrows identifies flow of data in motion. It is a pipeline through which information flows.
➢ A circle or bubble represents a process that transforms incoming data flow into outgoing data flows.
➢ An open rectangle is a data store.
22
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
Level 0
Admin Level 1
23
DESIGN MODEL
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
User Level 1
24
DESIGN MODEL
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
UI design
Home
Admin Login
25
DESIGN MODEL
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
User Login
Registration
26
DESIGN MODEL
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
Admin Home
Add Category
27
DESIGN MODEL
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
Add DataSet
Add Permission
28
DESIGN MODEL
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
User Home
Apk Upload
Result
29
DESIGN MODEL
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
DESIGN MODEL
Add Feedback
Theoretical Background
This project is developed using python and SQlite as back end.
Python
Python is a widely used general-purpose, high level programming language. It is available and
can run on various operating systems such as Mac, Windows, Linux, Unix etc. This makes
python a cross platform and portable language. Python is an open source programming language.
Python comes with a large standard library that has some handy codes and functions which we
can use while writing code in Python. There are two major Python versions- Python 2 and
Python 3. Both are quite different.
SQlite
SQLite is an in-process library that implements a self-contained, serverless, zero- configuration,
transactional SQL database engine. The code for SQLite is in the public domain and is thus free
for use for any purpose, commercial or private. SQLite is the most widely deployed database in
the world with more applications than we can count, including several high-profile projects.
SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does
not have a separate server process. SQLite reads and writes directly to ordinary disk files. A
complete SQL database with multiple tables, indices, triggers, and views, is contained in a single
disk file
30
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
Architecture
Activity diagram
Login
User Details View
31
DESIGN MODEL
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
Category Management
Training Set
32
DESIGN MODEL
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
Permission Settings
Registration
33
DESIGN MODEL
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
Upload APK
Feedback
34
DESIGN MODEL
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
DESIGN MODEL
Database design
Table 1: Name: Login
FIELD NAME
TYPE
KEY
SIZE
DESCRIPTION
user_id
Integer
Primary key
10
id
Uname
Varchar
Not null
50
Name
password
Varchar
Not null
50
Password
u_type
Varchar
Not null
50
User type
Table 2: Name: user_details
FIELD NAME
TYPE
KEY
SIZE
DESCRIPTION
user_id
Interger
Primary key
10
To identify the
user
Fname
Varchar
Not null
150
First name of the
user
lname
Varchar
Not null
150
Last name of the
user
Gender
Varchar
Not null
50
Gender
Addr
Varchar
Not null
1500
Address of the
user
Pin
Integer
Not null
50
Pin code of the
user
35
Contact
Integer
Not null
50
Phone number
Email
Varchar
Not null
250
Email id
Status
Varchar
Not null
50
Status
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
DESIGN MODEL
Table 3: Name: category_master
FIELD NAME
TYPE
KEY
SIZE
DESCRIPTION
Category_id
Integer
Primary key
10
Category id
category_name
Varchar
Not null
150
Name of the
category
Descp
Varchar
Not null
1500
description
Table 4: Name: training_set
FIELD NAME
TYPE
KEY
SIZE
DESCRIPTION
training_id
Integer
Primary key
10
training id
category_id
Varchar
Foreign key
10
To identify the
category
File
Varchar
Not null
1500
File
Dt
Date
Not null
150
Date
Tm
Time
Not null
50
Time
Table 5: Name: permission_settings
FIELD NAME
TYPE
KEY
SIZE
DESCRIPTION
Permission_id
Integer
Primary key
10
permission id
Not null
1500
Permission
permission_descp Varchar
description
36
permission_class
Varchar
Not null
250
Permission class
Descp
Varchar
Not null
1500
Description
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
DESIGN MODEL
Table 6: Name: user_apk
FIELD NAME
TYPE
KEY
SIZE
DESCRIPTION
User_apk_id
Integer
Primary key
10
Apk id
user_id
Integer
Foreign key
10
To identify the
user
file_path
Varchar
Not null
1500
File path
Dt
Date
Not null
50
Date
Tm
Time
Not null
50
Time
Table 7: Name: apk_details
FIELD NAME
TYPE
KEY
SIZE
DESCRIPTION
User_Id
Integer
Primary key
10
user id
User_apk_id
integer
Foreign key
10
To identify the
user’s Apk
file_name
Varchar
Not null
150
Name of the file
Content
Varchar
Not null
1500
Content
Result
Varchar
Not null
150
Result
Table 8: Name: manifest_details
FIELD NAME
TYPE
KEY
SIZE
DESCRIPTION
User_id
Integer
Primary key
10
User id
user_apk_id
integer
Foreign key
10
To identify the
user’s apk
permission_details Varchar
Not null
1500
Permission
details
m_class
37
Varchar
Not null
150
Model class
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
DESIGN MODEL
Table 9: Name: user_feedback
FIELD NAME
TYPE
KEY
SIZE
DESCRIPTION
Feedback_Id
Integer
Primary key
10
Feedback id
user_id
integer
Foreign key
10
To identify the
user
39
Msg
Varchar
Not null
1500
Message
Dt
date
Not null
50
Date
Tm
Time
Not null
50
Time
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
TESTING
10. TESTING
Test cases
Test case
Test
Objective
Precondition
Steps/Cases:
Test data
Expected
Post-
result
condition
Valid
username&
password
Logged in
successfully
Display
home page
Invalid
username
/password
Login failed
Login
Unsuccessf
ull message
Valid
username,
password
and other
details
Valid APK
file
Details stored User
into database. homepage
ID
TC_UI_1
Successful
login
A valid User
account for
login to be
available
TC_UI_2
Unsuccessful
login
A valid use
account to
login to be
available.
TC_UI_3
Successful
registration
for User
TC_UI_4
Upload APK
file
Input as
username
,password &
personal
details
Input as the
APK file
TC_UI_5
Add
Categories
Input as the
categories
1.Browse
APK file
2.Click
“Upload”
button
Click on “Add
categories”
Add Data set
Input as the
Data set
Click on “Add
Data set”
Input as the
permission
settings
Click on “Add
permission”
TC_UI_6
TC_UI_7
40
Add
Permission
Enter
username &
password
click “login”
button
1. Enter
username and
password
2. Click
on
login button
Enter the
details.
click “register
” button
View
categories
View Data
set
View
permission
Details
stored into
database
User
Homepage
Details stored Admin
into database Homepage
Details stored Admin
into database Homepage
Details stored Admin
into database Homepage
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
Sample Code used for testing
def user_login_check(request):
if request.method == 'POST':
uname = request.POST.get('uname')
passwd = request.POST.get('passwd')
ul = user_login.objects.filter(uname=uname, password=passwd,utype='user')
print(len(ul))
if len(ul) == 1:
request.session['user_id'] = ul[0].id
request.session['user_name'] = ul[0].uname
context = {'uname': request.session['user_name']}
return render(request, 'myapp/user_home.html',context)
else:
context={'msg':'Invalid credianliats'}
return render(request, 'myapp/user_login.html',context)
else:
return render(request, 'myapp/user_login.html')
41
TESTING
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
TRANSITION
11. TRANSITION
System Implementation
Implementation is the stage of the project when the theoretical stage is turned out into a working
system. Thus it can be considered as the most crucial stage to achieve a successful system. This
phase involves the construction of actual project result. The process of implementation depends
on the characteristics of project. The implementation stage involves careful planning, investigation
of existing system, constraints of implementation etc.
System Maintenance
System maintenance is the modification of a software product after delivery to correct faults, to
improve performance or maintainability.
42
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
ANNEXURE
12. ANNEXURE
Organization profile
KITES Software PVT LTD
Born in the year 2005 and KITES flew against the wind to reach a reputed brand in skill training.
Started as a technical company providing high end Software, Animation and Electronics training
to students slowly expanded its wing in Government Skilling Projects. Presently KITES is one of
the reputed empanelled Company for providing Central and State Government skill programmes
Like DDUGKY (Deen Dayal Upadhya Grameen Kaushalya Yojna), NULM (National Urban
Livelihoods Mission), ASAP (Additional Skill Acquisition Program), PMKVY (Pradhan Mantri
Kaushal Vikas Yojna) etc.
KITES have partners with various Sector Skill Councils under NSDC for providing Govt.
sponsored skilling courses. KITES have partnership with Electronics Sector Skill Council of
India (ESSCI), Media & Entertainment Council of India (MESC), Banking Finance Sector Skill
Council (BFSI), and Apparel Sector Skill Council. Also partnered with Tally Solutions for
providing quality education to commerce students in Accounts and Tally and also started to
provide online Accountancy courses to students.
References
•
•
•
•
•
Django homepage. http://www.djangoproject.com/.
Python documentation. http://www.python.org/doc.
Django(web framework). http://en.wikipedia.org/wiki/Django.
Django documentation. http://docs.djangoproject.com.
Python(programming language). http://en.wikipedia.org/wiki/Python.
Sample Project code
view.py
from django.shortcuts import render
from .models import
user_login,category_master,user_details,apk_details,manifest_details,permission_settings,trainin
g_set,user_apk,user_feedback
from django.db.models import Max
# Create your views here.
43
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
def index(request):
return render(request,'./myapp/index.html')
def about(request):
return render(request,'./myapp/about.html')
def contact(request):
return render(request,'./myapp/contact.html')
def admin_login(request):
if request.method == 'POST':
uname = request.POST.get('uname')
passwd = request.POST.get('passwd')
ul = user_login.objects.filter(uname=uname, password=passwd)
if len(ul) == 1:
request.session['user_id'] = ul[0].uname
context = {'uname': request.session['user_id']}
return render(request, 'myapp/admin_home.html',
context)
else:
return render(request, 'myapp/admin_login.html')
else:
return render(request, 'myapp/admin_login.html')
def admin_home(request):
context = {'uname':request.session['user_id']}
return render(request,'./myapp/admin_home.html',context)
44
ANNEXURE
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
def admin_settings(request):
context = {'uname':request.session['user_id']}
return render(request,'./myapp/admin_settings.html',context)
def admin_settings_404(request):
context = {'uname':request.session['user_id']}
return render(request,'./myapp/admin_settings_404.html',context)
def admin_changepassword(request):
if request.method == 'POST':
uname = request.session['user_id']
new_password = request.POST.get('new_password')
current_password = request.POST.get('current_password')
print("username:::" + uname)
print("current_password" + str(current_password))
try:
ul = user_login.objects.get(uname=uname, password=current_password)
if ul is not None:
ul.password = new_password # change field
ul.save()
return render(request, './myapp/admin_settings.html')
else:
return render(request, './myapp/admin_settings.html')
except user_login.DoesNotExist:
return render(request, './myapp/admin_changepassword.html')
else:
45
ANNEXURE
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
return render(request, './myapp/admin_changepassword.html')
def admin_category_master_add(request):
if request.method == 'POST':
category_name = request.POST.get('category_name')
descp = request.POST.get('descp')
cm = category_master(category_name=category_name,descp=descp)
cm.save()
return render(request, 'myapp/admin_category_master_add.html')
else:
return render(request, 'myapp/admin_category_master_add.html')
def admin_category_master_delete(request):
id = request.GET.get('id')
print("id="+id)
nm = category_master.objects.get(id=int(id))
nm.delete()
nm_l = category_master.objects.all()
context ={'category_list':nm_l}
return render(request,'myapp/admin_category_master_view.html',context)
def admin_category_master_view(request):
nm_l = category_master.objects.all()
context ={'category_list':nm_l}
return render(request,'myapp/admin_category_master_view.html',context)
def admin_permission_settings_add(request):
46
ANNEXURE
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
ANNEXURE
if request.method == 'POST':
permission_descp = request.POST.get('permission_descp')
permission_class = request.POST.get('permission_class')
descp = request.POST.get('descp')
ps =
permission_settings(permission_descp=permission_descp,permission_class=permission_class,de
scp=descp)
ps.save()
return render(request, 'myapp/admin_permission_settings_add.html')
else:
return render(request, 'myapp/admin_permission_settings_add.html')
def admin_permission_settings_delete(request):
id = request.GET.get('id')
print("id="+id)
nm = permission_settings.objects.get(id=int(id))
nm.delete()
nm_l = permission_settings.objects.all()
context ={'permission_list':nm_l}
return render(request,'myapp/admin_permission_settings_view.html',context)
def admin_permission_settings_view(request):
nm_l = permission_settings.objects.all()
context = {'permission_list': nm_l}
return render(request, 'myapp/admin_permission_settings_view.html', context)
from datetime import datetime
def admin_training_set_add(request):
47
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
if request.method == 'POST':
category_id=int(request.POST.get('category_id'))
file=request.POST.get('file')
dt = datetime.today().strftime('%Y-%m-%d')
tm = datetime.today().strftime('%H:%M:%S')
cm = training_set(category_id=category_id,file=file,dt=dt,tm=tm)
cm.save()
nm_l = category_master.objects.all()
context = {'category_list': nm_l,'msg':'Record Added'}
return render(request, 'myapp/admin_training_set_add.html',context)
else:
nm_l = category_master.objects.all()
context = {'category_list': nm_l, 'msg': ''}
return render(request, 'myapp/admin_training_set_add.html', context)
def admin_training_set_delete(request):
id = request.GET.get('id')
print("id="+id)
nm = training_set.objects.get(id=int(id))
nm.delete()
nm_l = training_set.objects.all()
cmd = {}
for nm in nm_l:
lb = category_master.objects.get(id=nm.category_id)
cmd[nm.category_id] = lb.category_name
48
ANNEXURE
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
context ={'data_list':nm_l,'category_list':cmd,'msg':'Record Deleted'}
return render(request,'myapp/admin_training_set_view.html',context)
def admin_training_set_view(request):
nm_l = training_set.objects.all()
cmd = {}
for nm in nm_l:
lb = category_master.objects.get(id=nm.category_id)
cmd[nm.category_id] = lb.category_name
context = {'data_list': nm_l, 'category_list': cmd, 'msg': ''}
return render(request, 'myapp/admin_training_set_view.html', context)
def admin_user_feedback_view(request):
nm_l = user_feedback.objects.all()
cmd = {}
for nm in nm_l:
ud = user_details.objects.get(user_id=nm.user_id)
cmd[nm.user_id] = f'{ud.fname} {ud.lname}'
context = {'message_list': nm_l, 'user_list': cmd}
return render(request, 'myapp/admin_user_feedback_view.html', context)
########USER#############
def user_login_check(request):
if request.method == 'POST':
uname = request.POST.get('uname')
passwd = request.POST.get('passwd')
49
ANNEXURE
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
ul = user_login.objects.filter(uname=uname, password=passwd,utype='user')
print(len(ul))
if len(ul) == 1:
request.session['user_id'] = ul[0].id
request.session['user_name'] = ul[0].uname
context = {'uname': request.session['user_name']}
return render(request, 'myapp/user_home.html',context)
else:
context={'msg':'Invalid credianliats'}
return render(request, 'myapp/user_login.html',context)
else:
return render(request, 'myapp/user_login.html')
def user_home(request):
context = {'uname':request.session['user_name']}
return render(request,'./myapp/user_home.html',context)
def user_details_add(request):
if request.method == 'POST':
fname = request.POST.get('fname')
lname = request.POST.get('lname')
gender = request.POST.get('gender')
addr = request.POST.get('addr')
pin = request.POST.get('pin')
email = request.POST.get('email')
contact = request.POST.get('contact')
50
ANNEXURE
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
ANNEXURE
password = '1234'
uname=email
status = "new"
ul = user_login(uname=uname, password=password, utype='user')
ul.save()
user_id = user_login.objects.all().aggregate(Max('id'))['id max']
ud = user_details(user_id=user_id,fname=fname, lname=lname, gender=gender, addr=addr,
pin=pin, contact=contact,
status=status,email=email )
ud.save()
print(user_id)
return render(request, 'myapp/user_login.html')
else:
return render(request, 'myapp/user_details_add.html')
def user_changepassword(request):
if request.method == 'POST':
uname = request.session['user_name']
new_password = request.POST.get('new_password')
current_password = request.POST.get('current_password')
print("username:::" + uname)
print("current_password" + str(current_password))
try:
ul = user_login.objects.get(uname=uname, password=current_password)
51
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
if ul is not None:
ul.password = new_password # change field
ul.save()
return render(request, './myapp/user_settings.html')
else:
return render(request, './myapp/user_settings.html')
except user_login.DoesNotExist:
return render(request, './myapp/user_changepassword.html')
else:
return render(request, './myapp/user_changepassword.html')
def user_settings(request):
context = {'uname':request.session['user_name']}
return render(request,'./myapp/user_settings.html',context)
from django.core.files.storage import FileSystemStorage
import subprocess
from project.settings import BASE_DIR
import os
import shutil
def user_user_apk_add(request):
if request.method == 'POST':
uploaded_file = request.FILES['document']
fs = FileSystemStorage()
file_path = fs.save(uploaded_file.name, uploaded_file)
user_id = request.session['user_id']
dt = datetime.today().strftime('%Y-%m-%d')
52
ANNEXURE
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
ANNEXURE
tm = datetime.today().strftime('%H:%M:%S')
status = 'ok'
cm = user_apk(user_id=int(user_id), file_path=file_path, dt=dt, tm=tm)
cm.save()
user_apk_id = user_apk.objects.all().aggregate(Max('id'))['id max']
#####################################################
root_file_path = BASE_DIR + './myapp/static/myapp/media/' + file_path
bat_file_path = os.path.join(BASE_DIR, 'data/apktool.bat')
result_file_path = os.path.join(BASE_DIR, 'data/result')
shutil.rmtree(result_file_path,ignore_errors=True)
#result_file_path = os.path.join(BASE_DIR, 'data/result')
#p=subprocess.call(f'{bat_file_path} d -o {result_file_path} -f -r {root_file_path}')
#subprocess.call([bat_file_path, 'd', f'-o {result_file_path}', f'-r {root_file_path}'])
permission_obj = training_set.objects.all()
p = subprocess.Popen(f'{bat_file_path} d -o {result_file_path} -f -r {root_file_path}',
stdin=subprocess.PIPE, shell=True)
p.communicate(input=b'\n')
listOfFiles = list()
result_file_path = os.path.join(BASE_DIR, 'data/result/smali/com')
for (dirpath, dirnames, filenames) in os.walk(result_file_path):
listOfFiles += [os.path.join(dirpath, file) for file in filenames]
for elem in listOfFiles:
print(elem)
result='clean'
content = 'none'
basename ='file'
for obj in permission_obj:
basename = os.path.basename(elem)
53
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
content1 = obj.file
print(content1)
myfile = open(elem, "rt") # open lorem.txt for reading text
contents = myfile.read() # read the entire file into a string
myfile.close()
print(contents.find(content1))
if contents.find(content1) != -1:
result = 'spam'
content = content1
print(contents.find(content1))
apk_obj = apk_details(user_apk_id=user_apk_id, file_name=basename,
content=content, result=result)
apk_obj.save()
break;
#####################################################
context={'msg':'Query Submitted'}
return render(request, 'myapp/user_user_apk_add.html',context)
else:
return render(request, 'myapp/user_user_apk_add.html')
from datetime import timedelta
def user_user_apk_delete(request):
id = request.GET.get('id')
print("id="+id)
nm = user_apk.objects.get(id=int(id))
nm.delete()
54
ANNEXURE
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
user_id = request.session['user_id']
nm_l = user_apk.objects.filter(user_id=int(user_id))
context ={'request_list':nm_l,'msg':'Record deleted'}
return render(request,'myapp/user_user_apk_view.html',context)
def user_user_apk_view(request):
user_id = request.session['user_id']
nm_l = user_apk.objects.filter(user_id=int(user_id))
context = {'request_list': nm_l, 'msg': ''}
return render(request, 'myapp/user_user_apk_view.html', context)
def user_apk_details_delete(request):
id = request.GET.get('id')
user_apk_id =request.GET.get('user_apk_id')
print("id="+id)
nm = apk_details.objects.get(id=int(id))
nm.delete()
user_apk_id = request.GET.get('user_apk_id')
nm_l = apk_details.objects.filter(user_apk_id=int(user_apk_id))
context ={'request_list':nm_l,'msg':'Record deleted','user_apk_id':user_apk_id}
return render(request,'myapp/user_apk_details_view.html',context)
def user_apk_details_view(request):
user_apk_id = request.GET.get('user_apk_id')
nm_l = apk_details.objects.filter(user_apk_id=int(user_apk_id))
context = {'request_list': nm_l, 'msg': '', 'user_apk_id': user_apk_id}
return render(request, 'myapp/user_apk_details_view.html', context)
def user_feedback_add(request):
if request.method == 'POST':
55
ANNEXURE
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
dt = datetime.today().strftime('%Y-%m-%d')
tm = datetime.today().strftime('%H:%M:%S')
msg = request.POST.get('msg')
user_id=int(request.session['user_id'])
####################
km = user_feedback(user_id=user_id, msg=msg, dt=dt, tm=tm)
km.save()
context = {'msg': 'feedback posted'}
return render(request, 'myapp/user_feedback_add.html', context)
else:
context = {}
return render(request, 'myapp/user_feedback_add.html',context)
def user_feedback_delete(request):
id = request.GET.get('id')
print("id=" + id)
nm = user_feedback.objects.get(id=int(id))
nm.delete()
user_id = int(request.session['user_id'])
nm_l = user_feedback.objects.filter(user_id=user_id)
cmd = {}
for nm in nm_l:
ud = user_details.objects.get(user_id=nm.user_id)
cmd[nm.user_id] = f'{ud.fname} {ud.lname}'
context = {'message_list': nm_l, 'user_list': cmd,'msg':'Deleted'}
56
ANNEXURE
ITERATIVE CLASSIFIER FUSION S SYSTEM FOR THE DETECTION OF ANDROID MALWARE
return render(request, 'myapp/user_feedback_view.html', context)
def user_feedback_view(request):
user_id = int(request.session['user_id'])
nm_l = user_feedback.objects.filter(user_id=user_id)
cmd = {}
for nm in nm_l:
ud = user_details.objects.get(user_id=nm.user_id)
cmd[nm.user_id] = f'{ud.fname} {ud.lname}'
context = {'message_list': nm_l, 'user_list': cmd}
return render(request, 'myapp/user_feedback_view.html', context)
57
ANNEXURE
Download