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