Heuristic and Knowledge-Based Security Checks of Source Code Artifacts Using Community Knowledge

Heuristic and Knowledge-Based Security Checks of Source Code Artifacts Using Community Knowledge
Author: Fabien Patrick Viertel
Publisher: Logos Verlag Berlin GmbH
Total Pages: 225
Release: 2021-08-02
Genre: Computers
ISBN: 3832553495

The goal of this dissertation is to support developers in applying security checks using community knowledge. Artificial intelligence approaches combined with natural language processing techniques are employed to identify security-related information from community websites such as Stack Overflow or GitHub. All security-related information is stored in a security knowledge base. This knowledge base provides code fragments that represent the community´s knowledge about vulnerabilities, security-patches, and exploits. Comprehensive knowledge is required to carry out security checks on software artifacts, such as data covering known vulnerabilities and their manifestation in the source code as well as possible attack strategies. Approaches that check software libraries and source code fragments are provided for the automated use of the data. Insecure software libraries can be detected using the NVD combined with metadata and library file hash approaches introduced in this dissertation. Vulnerable source code fragments can be identified using community knowledge represented by code fragments extracted from the largest coding community websites: Stack Overflow and GitHub. A state-of-the-art clone detection approach is modified and enriched by several heuristics to enable vulnerability detection and leverage community knowledge while maintaining good performance. Using various case studies, the approaches implemented in Eclipse plugins and a JIRA plugin are adapted to the users´ needs and evaluated.

Representation Learning for Vulnerability Detection on Assembly Code

Representation Learning for Vulnerability Detection on Assembly Code
Author: Ashita Diwan
Publisher:
Total Pages:
Release: 2021
Genre:
ISBN:

"Software vulnerability detection is one of the most challenging tasks faced by reverse engineers. Recently, vulnerability detection has received a lot of attention due to a drastic increase in the volume and complexity of software. Reverse engineering is a time-consuming and labor-intensive process for detecting malware and software vulnerabilities. However, with the advent of deep learning and machine learning, it has become possible for researchers to automate the process of identifying potential security breaches in software by developing more intelligent technologies. This has indeed opened a new paradigm for researchers in the area of software security, and it has helped to alleviate the cumbersome process of reverse engineering. In this research, we propose VDGraph2Vec, an automated deep learning method to generate representations of assembly code for the task of vulnerability detection. Previous approaches failed to attend to topological characteristics of assembly code while discovering the weakness in the software. VDGraph2Vec embeds the control flow and semantic information of assembly code efficiently using the expressive capabilities of message passing neural networks and the RoBERTa model. Our model is able to learn the important features that help distinguish between vulnerable and non-vulnerable software. We carry out our experimental analysis for performance benchmark on three of the most common weaknesses and demonstrate that our model can identify vulnerabilities with high accuracy and outperforms the current state-of-the-art binary vulnerability detection models"--

Automated Vulnerability Prediction in Software Systems and Lightweight Identification of Design Patterns in Source Code

Automated Vulnerability Prediction in Software Systems and Lightweight Identification of Design Patterns in Source Code
Author: Jeffy Jahfar Poozhithara
Publisher:
Total Pages: 91
Release: 2021
Genre:
ISBN:

Software development companies put a heavy investment in fixing security vulnerabilities in their products after code development. This demands an automated mechanism to identify security vulnerabilities during and after software development. One approach is to include possible solutions like security design patterns during design. This reduces system-wide architectural changes required and enables efficient documentation and maintenance of the software systems. Further, identifying which design patterns already exist in source code can help maintenance engineers determine if new requirements can be satisfied. The current techniques for design pattern identification require either manually labeling training datasets or manually specifying rules or queries for each pattern. As part of this research, we took a two-pronged approach: 1. Pre-implementation: predict vulnerabilities before any source code is written, to increase awareness of possible risks while developing the system. 2. Post-implementation: check the source code to identify any missing security patterns, based on the identified vulnerabilities. For the first approach, we created a Keyword Extraction-based Vulnerability Identification System (KEVIS) that uses natural language processing techniques to extract keywords and n-grams from software documentation to predict security vulnerabilities in software systems. We analyzed the correlation of certain keywords and n-grams with the occurrence of various security vulnerabilities as well as the correlation between different vulnerabilities. Additionally, we analyzed the performance of classification algorithms (Logistic Regression, Support Vector Machines, K-Nearest Neighbors, Multi-level perception, and Random Forest) in the prediction. To enable the analysis, we also created a dataset by mapping over 200,000 vulnerability reports on the CVE website with technical/functional documentation of 3602 products. The preliminary analysis shows that the performance of KEVIS is comparable or better than the prediction using source code as well as other static analysis methods. For the second approach, we introduced PatternScout, a technique for automatically generating SPARQL queries by parsing UML diagrams of design patterns, ensuring that pattern characteristics are matched. We discuss key concepts and the design of PatternScout. Our results indicate that PatternScout can automatically generate queries for the three types of design patterns (i.e., creational, behavioral, structural), with accuracy that is comparable, or perform better than, existing techniques. Due to the difference in concepts used for both approaches and ease of explanation, the background, literature review, method, results, and discussions corresponding to each approach is discussed separately in their own sections (Approach 1 - Automated Vulnerability Prediction in Software Systems, and Approach 2 - Lightweight Identification of Design Patterns in Source Code, respectively).

Hands-on Penetration Testing for Web Applications

Hands-on Penetration Testing for Web Applications
Author: Richa Gupta
Publisher: BPB Publications
Total Pages: 324
Release: 2021-03-27
Genre: Computers
ISBN: 9389328543

Learn how to build an end-to-end Web application security testing framework Ê KEY FEATURESÊÊ _ Exciting coverage on vulnerabilities and security loopholes in modern web applications. _ Practical exercises and case scenarios on performing pentesting and identifying security breaches. _ Cutting-edge offerings on implementation of tools including nmap, burp suite and wireshark. DESCRIPTIONÊ Hands-on Penetration Testing for Web Applications offers readers with knowledge and skillset to identify, exploit and control the security vulnerabilities present in commercial web applications including online banking, mobile payments and e-commerce applications. We begin with exposure to modern application vulnerabilities present in web applications. You will learn and gradually practice the core concepts of penetration testing and OWASP Top Ten vulnerabilities including injection, broken authentication and access control, security misconfigurations and cross-site scripting (XSS). You will then gain advanced skillset by exploring the methodology of security testing and how to work around security testing as a true security professional. This book also brings cutting-edge coverage on exploiting and detecting vulnerabilities such as authentication flaws, session flaws, access control flaws, input validation flaws etc. You will discover an end-to-end implementation of tools such as nmap, burp suite, and wireshark. You will then learn to practice how to execute web application intrusion testing in automated testing tools and also to analyze vulnerabilities and threats present in the source codes. By the end of this book, you will gain in-depth knowledge of web application testing framework and strong proficiency in exploring and building high secured web applications. WHAT YOU WILL LEARN _ Complete overview of concepts of web penetration testing. _ Learn to secure against OWASP TOP 10 web vulnerabilities. _ Practice different techniques and signatures for identifying vulnerabilities in the source code of the web application. _ Discover security flaws in your web application using most popular tools like nmap and wireshark. _ Learn to respond modern automated cyber attacks with the help of expert-led tips and tricks. _ Exposure to analysis of vulnerability codes, security automation tools and common security flaws. WHO THIS BOOK IS FORÊÊ This book is for Penetration Testers, ethical hackers, and web application developers. People who are new to security testing will also find this book useful. Basic knowledge of HTML, JavaScript would be an added advantage. TABLE OF CONTENTS 1. Why Application Security? 2. Modern application Vulnerabilities 3. Web Pentesting Methodology 4. Testing Authentication 5. Testing Session Management 6. Testing Secure Channels 7. Testing Secure Access Control 8. Sensitive Data and Information disclosure 9. Testing Secure Data validation 10. Attacking Application Users: Other Techniques 11. Testing Configuration and Deployment 12. Automating Custom Attacks 13. Pentesting Tools 14. Static Code Analysis 15. Mitigations and Core Defense Mechanisms

Proceedings of Seventh International Congress on Information and Communication Technology

Proceedings of Seventh International Congress on Information and Communication Technology
Author: Xin-She Yang
Publisher: Springer Nature
Total Pages: 889
Release: 2022-07-26
Genre: Technology & Engineering
ISBN: 9811916101

This book gathers selected high-quality research papers presented at the Seventh International Congress on Information and Communication Technology, held at Brunel University, London, on February 21–24, 2022. It discusses emerging topics pertaining to information and communication technology (ICT) for managerial applications, e-governance, e-agriculture, e-education and computing technologies, the Internet of Things (IoT) and e-mining. Written by respected experts and researchers working on ICT, the book offers a valuable asset for young researchers involved in advanced studies. The work is presented in four volumes.

Automated Tools for Testing Computer System Vulnerability

Automated Tools for Testing Computer System Vulnerability
Author: W. Timothy Polk
Publisher: DIANE Publishing
Total Pages: 42
Release: 1992
Genre: Computer networks
ISBN: 0788100432

Discusses automated tools for testing computer system vulnerability. Examines basic requirements for vulnerability testing tools and describes the different functional classes of tools. Offers general recommendations about the selection and distribution of such tools.

Practical Security Automation and Testing

Practical Security Automation and Testing
Author: Tony Hsiang-Chih Hsu
Publisher: Packt Publishing Ltd
Total Pages: 245
Release: 2019-02-04
Genre: Computers
ISBN: 1789611695

Your one stop guide to automating infrastructure security using DevOps and DevSecOps Key FeaturesSecure and automate techniques to protect web, mobile or cloud servicesAutomate secure code inspection in C++, Java, Python, and JavaScriptIntegrate security testing with automation frameworks like fuzz, BDD, Selenium and Robot FrameworkBook Description Security automation is the automatic handling of software security assessments tasks. This book helps you to build your security automation framework to scan for vulnerabilities without human intervention. This book will teach you to adopt security automation techniques to continuously improve your entire software development and security testing. You will learn to use open source tools and techniques to integrate security testing tools directly into your CI/CD framework. With this book, you will see how to implement security inspection at every layer, such as secure code inspection, fuzz testing, Rest API, privacy, infrastructure security, and web UI testing. With the help of practical examples, this book will teach you to implement the combination of automation and Security in DevOps. You will learn about the integration of security testing results for an overall security status for projects. By the end of this book, you will be confident implementing automation security in all layers of your software development stages and will be able to build your own in-house security automation platform throughout your mobile and cloud releases. What you will learnAutomate secure code inspection with open source tools and effective secure code scanning suggestionsApply security testing tools and automation frameworks to identify security vulnerabilities in web, mobile and cloud servicesIntegrate security testing tools such as OWASP ZAP, NMAP, SSLyze, SQLMap, and OpenSCAPImplement automation testing techniques with Selenium, JMeter, Robot Framework, Gauntlt, BDD, DDT, and Python unittestExecute security testing of a Rest API Implement web application security with open source tools and script templates for CI/CD integrationIntegrate various types of security testing tool results from a single project into one dashboardWho this book is for The book is for software developers, architects, testers and QA engineers who are looking to leverage automated security testing techniques.