Mastering Machine Learning for Penetration Testing: Develop an extensive skill set to break self-learning systems using Python
✍ Scribed by Chiheb Chebbi
- Publisher
- Packt Publishing
- Tongue
- English
- Leaves
- 264
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
Become a master at penetration testing using machine learning with Python
Key Features
- Identify ambiguities and breach intelligent security systems
- Perform unique cyber attacks to breach robust systems
- Learn to leverage machine learning algorithms
Book Description
Cyber security is crucial for both businesses and individuals. As systems are getting smarter, we now see machine learning interrupting computer security. With the adoption of machine learning in upcoming security products, it's important for pentesters and security researchers to understand how these systems work, and to breach them for testing purposes.
This book begins with the basics of machine learning and the algorithms used to build robust systems. Once you've gained a fair understanding of how security products leverage machine learning, you'll dive into the core concepts of breaching such systems. Through practical use cases, you'll see how to find loopholes and surpass a self-learning security system.
As you make your way through the chapters, you'll focus on topics such as network intrusion detection and AV and IDS evasion. We'll also cover the best practices when identifying ambiguities, and extensive techniques to breach an intelligent system.
By the end of this book, you will be well-versed with identifying loopholes in a self-learning security system and will be able to efficiently breach a machine learning system.
What you will learn
- Take an in-depth look at machine learning
- Get to know natural language processing (NLP)
- Understand malware feature engineering
- Build generative adversarial networks using Python libraries
- Work on threat hunting with machine learning and the ELK stack
- Explore the best practices for machine learning
Who this book is for
This book is for pen testers and security professionals who are interested in learning techniques to break an intelligent security system. Basic knowledge of Python is needed, but no prior knowledge of machine learning is necessary.
Table of Contents
- Introduction to Machine Learning in Pentesting
- Phishing Domain Detection
- Malware Detection with API Calls and PE Headers
- Malware Detection with Deep Learning
- Botnet Detection with Machine Learning
- Machine Learning in Anomaly Detection Systems
- Detecting Advanced Persistent Threats
- Evading Intrusion Detection Systems with Adversarial Machine Learning
- Bypass machine learning malware Detectors
- Best Practices for Machine Learning and Feature Engineering
- Assessments
✦ Table of Contents
Cover
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Table of Contents
Preface
Chapter 1: Introduction to Machine Learning in Pentesting
Technical requirements
Artificial intelligence and machine learning
Machine learning models and algorithms
Supervised
Bayesian classifiers
Support vector machines
Decision trees
Semi-supervised
Unsupervised
Artificial neural networks
Linear regression
Logistic regression
Clustering with k-means
Reinforcement
Performance evaluation
Dimensionality reduction
Improving classification with ensemble learning
Machine learning development environments and Python libraries
NumPy
SciPy
TensorFlow
Keras
pandas
Matplotlib
scikit-learn
NLTK
Theano
Machine learning in penetration testing - promises and challenges
Deep Exploit
Summary
Questions
Further reading
Chapter 2: Phishing Domain Detection
Technical requirements
Social engineering overview
Social Engineering Engagement Framework
Steps of social engineering penetration testing
Building real-time phishing attack detectors using different machine learning models
Phishing detection with logistic regression
Phishing detection with decision trees
NLP in-depth overview
Open source NLP libraries
Spam detection with NLTK
Summary
Questions
Chapter 3: Malware Detection with API Calls and PE Headers
Technical requirements
Malware overview
Malware analysis
Static malware analysis
Dynamic malware analysis
Memory malware analysis
Evasion techniques
Portable Executable format files
Machine learning malware detection using PE headers
Machine learning malware detection using API calls
Summary
Questions
Further reading
Chapter 4: Malware Detection with Deep Learning
Technical requirements
Artificial neural network overview
Implementing neural networks in Python
Deep learning model using PE headers
Deep learning model with convolutional neural networks and malware visualization
Convolutional Neural Networks (CNNs)
Recurrent Neural Networks (RNNs)
Long Short Term Memory networks
Hopfield networks
Boltzmann machine networks
Malware detection with CNNs
Promises and challenges in applying deep learning to malware detection
Summary
Questions
Further reading
Chapter 5: Botnet Detection with Machine Learning
Technical requirements
Botnet overview
Building a botnet detector model with multiple machine learning techniques
How to build a Twitter bot detector
Visualization with seaborn
Summary
Questions
Further reading
Chapter 6: Machine Learning in Anomaly Detection Systems
Technical requirements
An overview of anomaly detection techniques
Static rules technique
Network attacks taxonomy
The detection of network anomalies
HIDS
NIDS
Anomaly-based IDS
Building your own IDS
The Kale stack
Summary
Questions
Further reading
Chapter 7: Detecting Advanced Persistent Threats
Technical requirements
Threats and risk analysis
Threat-hunting methodology
The cyber kill chain
The diamond model of intrusion analysis
Threat hunting with the ELK Stack
Elasticsearch
Kibana
Logstash
Machine learning with the ELK Stack using the X-Pack plugin
Summary
Questions
Chapter 8: Evading Intrusion Detection Systems
Technical requirements
Adversarial machine learning algorithms
Overfitting and underfitting
Overfitting and underfitting with Python
Detecting overfitting
Adversarial machine learning
Evasion attacks
Poisoning attacks
Adversarial clustering
Adversarial features
CleverHans
The AML library
EvadeML-Zoo
Evading intrusion detection systems with adversarial network systems
Summary
Questions
Further reading
Chapter 9: Bypassing Machine Learning Malware Detectors
Technical requirements
Adversarial deep learning
Foolbox
Deep-pwning
EvadeML
Bypassing next generation malware detectors with generative adversarial networks
The generator
The discriminator
MalGAN
Bypassing machine learning with reinforcement learning
Reinforcement learning
Summary
Questions
Further reading
Chapter 10: Best Practices for Machine Learning and Feature Engineering
Technical requirements
Feature engineering in machine learning
Feature selection algorithms
Filter methods
Pearson's correlation
Linear discriminant analysis
Analysis of variance
Chi-square
Wrapper methods
Forward selection
Backward elimination
Recursive feature elimination
Embedded methods
Lasso linear regression L1
Ridge regression L2
Tree-based feature selection
Best practices for machine learning
Information security datasets
Project Jupyter
Speed up training with GPUs
Selecting models and learning curves
Machine learning architecture
Coding
Data handling
Business contexts
Summary
Questions
Further reading
Assessments
Other Books You May Enjoy
Index
📜 SIMILAR VOLUMES
We live in an era where cyber security plays an important role. As systems are getting smarter, we now see machine learning interrupting computer security. With the adoption of machine learning in upcoming security products, it’s important for pentesters and security researchers to understand how th
Cybercriminals are always one step ahead, when it comes to tools and techniques. This means you need to use the same tools and adopt the same mindset to properly secure your software. This course shows you how to do just that, demonstrating how effective Python can be for powerful pentesting that ke
<span>Get familiar with various Supervised, Unsupervised and Reinforcement learning algorithms</span><span><br><br> </span><span>Key Features</span><ul><li><span><span>Understand the types of Machine learning.</span></span></li><li><span><span> Get familiar with different Feature extraction methods.
The second edition of “Machine Learning for Beginners” addresses key concepts and subjects in Machine Learning. The book begins with an introduction to the foundational principles of machine learning, followed by a discussion of data preprocessing. It then delves into feature extraction and featu
<p><span>Leverage the simplicity of Python and available libraries to build web security testing tools for your application</span></p><h4><span>Key Features</span></h4><ul><li><span><span> Understand the web application penetration testing methodology and toolkit using Python</span></span></li><li><