User:Stanleykywu/sandbox

Currently editing: (additions)

Adversarial machine learning is a machine learning technique that attempts to exploit models by taking advantage of obtainable model information and using it to create malicious attacks. The most common reason is to cause a malfunction in a machine learning model.

Most machine learning techniques were designed to work on specific problem sets in which the training and test data are generated from the same statistical distribution (IID). When those models are applied to the real world, adversaries may supply data that violates that statistical assumption. This data may be arranged to exploit specific vulnerabilities and compromise the results. The four most common adversarial machine learning strategies are evasion, poisoning, model stealing (extraction), and inference.

History
In Snow Crash (1992), the author offered scenarios of technology that was vulnerable to an adversarial attack. In Zero History (2010), a character dons a t-shirt decorated in a way that renders him invisible to electronic surveillance.

In 2004, Nilesh Dalvi and others noted that linear classifiers used in spam filters could be defeated by simple "evasion attacks" as spammers inserted "good words" into their spam emails. (Around 2007, some spammers added random noise to fuzz words within "image spam" in order to defeat OCR-based filters.) In 2006, Marco Barreno and others published "Can Machine Learning Be Secure?", outlining a broad taxonomy of attacks. As late as 2013 many researchers continued to hope that non-linear classifiers (such as support vector machines and neural networks) might be robust to adversaries, until Battista Biggio and others demonstrated the first gradient-based attacks on such machine-learning models (2012 -2013 ). In 2012, deep neural networks began to dominate computer vision problems; starting in 2014, Christian Szegedy and others demonstrated that deep neural networks could be fooled by adversaries, again using a gradient-based attack to craft adversarial perturbations.

Recently, it was observed that adversarial attacks are harder to produce in the practical world due to the different environmental constraints that cancel out the effect of noises. For example, any small rotation or slight illumination on an adversarial image can destroy the adversariality. In addition, researchers such as Google Brain's Nicholas Frosst point out that it is much easier to make self-driving cars miss stop signs by physically removing the sign itself, rather than creating adversarial examples. Frosst also believe that the adversarial machine learning community incorrectly assumes models trained on a certain data distribution will also perform well on a completely different data distribution. He suggests that a new approach to machine learning should be explored, and is currently working on a unique neural network that has characteristics more similar to human perception than state of the art approaches.

While adversarial machine learning continues to be heavily rooted in academia, large tech companies such as Google, Microsoft, and IBM have begun curating documentation and open source code bases to allow others to concretely assess the robustness of machine learning models and minimize the risk of adversarial attacks.

Examples
Examples include attacks in spam filtering, where spam messages are obfuscated through the misspelling of "bad" words or the insertion of "good" words; attacks in computer security, such as obfuscating malware code within network packets or to mislead signature detection; attacks in biometric recognition where fake biometric traits may be exploited to impersonate a legitimate user; or to compromise users' template galleries that adapt to updated traits over time.

Researchers showed that by changing only one-pixel it was possible to fool deep learning algorithms. Others 3-D printed a toy turtle with a texture engineered to make Google's object detection AI classify it as a rifle regardless of the angle from which the turtle was viewed. Creating the turtle required only low-cost commercially available 3-D printing technology.

A machine-tweaked image of a dog was shown to look like a cat to both computers and humans. A 2019 study reported that humans can guess how machines will classify adversarial images. Researchers discovered methods for perturbing the appearance of a stop sign such that an autonomous vehicle classified it as a merge or speed limit sign.

McAfee attacked Tesla's former Mobileye system, fooling it into driving 50 mph over the speed limit, simply by adding a two-inch strip of black tape to a speed limit sign.

Adversarial patterns on glasses or clothing designed to deceive facial-recognition systems or license-plate readers, have led to a niche industry of "stealth streetwear".

An adversarial attack on a neural network can allow an attacker to inject algorithms into the target system. Researchers can also create adversarial audio inputs to disguise commands to intelligent assistants in benign-seeming audio; a parallel literature explores human perception of such stimuli.

Clustering algorithms are used in security applications. Malware and computer virus analysis aims to identify malware families, and to generate specific detection signatures.

Taxonomy
Attacks against (supervised) machine learning algorithms have been categorized along three primary axes: influence on the classifier, the security violation and their specificity.


 * Classifier influence: An attack can influence the classifier by disrupting the classification phase. This may be preceded by an exploration phase to identify vulnerabilities. The attacker's capabilities might be restricted by the presence of data manipulation constraints.
 * Security violation: An attack can supply malicious data that gets classified as legitimate. Malicious data supplied during training can cause legitimate data to be rejected after training.
 * Specificity: A targeted attack attempts to allow a specific intrusion/disruption. Alternatively, an indiscriminate attack creates general mayhem.

This taxonomy has been extended into a more comprehensive threat model that allows explicit assumptions about the adversary's goal, knowledge of the attacked system, capability of manipulating the input data/system components, and on attack strategy. This taxonomy has further been extended to include dimensions for defense strategies against adverserial attacks.

Strategies
Below are some of the most commonly encountered attack scenarios:

Evasion
Evasion attacks are the most prevalent type of attack. For instance, spammers and hackers often attempt to evade detection by obfuscating the content of spam emails and malware. Samples are modified to evade detection; that is, to be classified as legitimate. This does not involve influence over the training data. A clear example of evasion is image-based spam in which the spam content is embedded within an attached image to evade textual analysis by anti-spam filters. Another example of evasion is given by spoofing attacks against biometric verification systems.

Evasion attacks can be generally split into two different categories: black box attacks and white box attacks.

Poisoning
Poisoning is adversarial contamination of training data. Machine learning systems can be re-trained using data collected during operations. For instance, intrusion detection systems (IDSs) are often re-trained using such data. An attacker may poison this data by injecting malicious samples during operation that subsequently disrupt retraining.

Model stealing
Model stealing (also called model extraction) involves an adversary probing a black box machine learning system in order to either reconstruct the model or extract the data it was trained on. This can cause issues when either the training data or the model itself is sensitive and confidential. For example, model stealing could be used to extract a proprietary stock trading model which the adversary could then use for their own financial benefit.

Inference
Inference attacks, leverages over-generalization on training data, a common weakness of supervised machine learning models, in order to identify data used during model training. For attackers, this can be done even without knowledge or access to a target model's parameters, raising security concerns for models trained on sensitive data, including but not limited to medical records and/or personally identifiable information. With the emergence of transfer learning and public accessibility of many state of the art machine learning models, tech companies are increasingly drawn to create models based off public ones, giving attackers freely accessible information to the structure and type of model being used. However, membership inference relies heavily on overfitting resulting from poor machine learning practices, meaning a model that generalizes well to the real distribution of data should theoretically be more secure to membership inference attacks.

Specific attack types
There are a large variety of different adversarial attacks that can be used against machine learning systems. Many of these work on both deep learning systems as well as traditional machine learning models such as SVMs and linear regression. A high level sample of these attack types include:


 * Adversarial Examples
 * Trojan Attacks / Backdoor Attacks
 * Model Inversion
 * Membership Inference

Adversarial examples
An adversarial example refers to specially crafted input which is design to look "normal" to humans but causes misclassification to a machine learning model. Often, a form of specially designed "noise" is used to elicit the misclassifications. Below are some current techniques for generating adversarial examples in the literature (by no means an exhaustive list).


 * Gradient-based evasion attack
 * Fast Gradient Sign Method (FGSM)
 * Projected Gradient Descent (PGD)
 * Carlini and Wagner (C&W) attack
 * Adversarial patch attack

Black Box Attacks
Black box attacks in adversarial machine learning assumes that the adversary can only get outputs for provided inputs and has no knowledge of the model structure or parameters. In this case, the adversarial example is generated either using a model created from scratch, or without any model at all (excluding the ability to query the original model). In either case, the objective of these attacks are to create adversarial examples that are able to transfer to the black box model in question.

Square Attack
The Square Attack was introduced in 2020 as a black box evasion adversarial attack based on querying classification scores without the need of gradient information. As a score based black box attack, this adversarial approach is able to query probability distributions across model output classes, but has no other access to the model itself. According to the paper's authors, the proposed Square Attack required less queries than when compared to state of the art score based black box attacks at the time.

To describe the function objective, the attack defines the classifier as $f:[0, 1]^d \rightarrow \reals^K$, with $d$ representing the dimensions of the input and $K$  as the total number of output classes. $f_k(x)$ returns the score (or a probability between 0 and 1) that the input $x$  belongs to class $k$, which allows the classifier's class output for any input $x$  to be defined as $argmax_{k=1,...,K}f_k(x)$. The goal of this attack is as followed :

$$argmax_{k = 1,...,K}f_k(\hat{x}) \neq y, ||\hat{x} - x||_p \leq \epsilon \text{ and } \hat{x} \in [0, 1]^d$$

In other words, finding some perturbed adversarial example $\hat{x}$ such that the classifier incorrectly classifies it to some other class under the constraint that $\hat{x}$  and $x$  are similar. The paper then defines loss $L$ as $L(f(\hat{x}), y) = f_y(\hat{x}) - \max_{k \neq y}f_k(\hat{x})$  and proposes the solution to finding adversarial example $\hat{x}$  as solving the below constrained optimization problem :

$$\min_{\hat{x} \in [0, 1]^d}L(f(\hat{x}), y), \text{ s.t. } ||\hat{x} - x||_p \leq \epsilon$$

The result in theory is an adversarial example that is highly confident in the incorrect class but is also very similar to the original image. To find such example, Square Attack utilizes the iterative random search technique to randomly perturb the image in hopes of improving the objective function. In each step, the algorithm perturbs only a small square section of pixels, hence the name Square Attack, which terminates as soon as an adversarial example is found in order to improve query efficiency. Finally, since the attack algorithm uses scores and not gradient information, the authors of the paper indicate that this approach is not affected by gradient masking, a common technique formerly used to prevent evasion attacks.

HopSkipJump Attack
This black box attack was also proposed as a query efficient attack, but one that relies solely on access to any input's predicted output class. In other words, the HopSkipJump attack does not require the ability to calculate gradients or access to score values like the Square Attack, and will require just the model's class prediction output (for any given input). The proposed attack is split into two different settings, targeted and untargeted, but both are built from the general idea of adding minimal perturbations that leads to a different model output. In the targeted setting, the goal is to cause the model to misclassify the perturbed image to a specific target label (that is not the original label). In the untargeted setting, the goal is to cause the model to misclassify the perturbed image to any label that is not the original label. The attack objectives for both are as followed where $x$ is the original image, $x^\prime$  is the adversarial image, $d$  is a distance function between images, $c^*$  is the target label, and $C$  is the model's classification class label function:

$$\textbf{Targeted: } \min_{x^\prime}d(x^\prime, x) \text{ subject to } C(x^\prime) = c^* $$

$$\textbf{Untargeted: } \min_{x^\prime}d(x^\prime, x) \text{ subject to } C(x^\prime) \neq C(x) $$

To solve this problem, the attack proposes the following boundary function $S$ for both the untargeted and targeted setting:

$$S(x^\prime):= \begin{cases} max_{c \neq C(x)}{F(x^\prime)_c} - F(x^\prime) _{C(x)}, & \text{(Untargeted)} \\ F(x^\prime) _{c^*} - max_{c \neq c^*}{F(x^\prime)_c}, & \text{(Targeted)} \end{cases} $$

This can be further simplified to better visualize the boundary between different potential adversarial examples:

$$S(x^\prime) > 0 \iff \begin{cases} argmax_cF(x^\prime) \neq C(x), & \text{(Untargeted)} \\ argmax_cF(x^\prime) = c^*, & \text{(Targeted)} \end{cases} $$

With this boundary function, the attack then follows an iterative algorithm to find adversarial examples $x^\prime$ for a given image $x$  that satisfies the attack objectives.


 * 1) Initialize $x$  to some point where $S(x) > 0$
 * 2) Iterate below
 * 3) Boundary search
 * 4) Gradient update
 * 5) * Compute the gradient
 * 6) * Find the step size

Boundary search uses a modified binary search to find the point in which the boundary (as defined by $S$ ) intersects with the line between $x$ and $x^\prime$. The next step involves calculating the gradient for $x$, and update the original $x$ using this gradient and a pre-chosen step size. HopSkipJump authors prove that this iterative algorithm will converge, leading $x$ to a point right along the boundary that is very close in distance to the original image.

However since HopSkipJump is a proposed black box attack and the iterative algorithm above requires the calculation of a gradient in the second iterative step (which black box attacks do not have access to), the authors propose a solution to gradient calculation that requires only the model's output predictions alone. By generating many random vectors in all directions, denoted as $u_b$, an approximation of the gradient can be calculated using the average of these random vectors weighted by the sign of the boundary function on the image $x^\prime + \delta_{u_b}$ , where $\delta_{u_b}$ is the size of the random vector perturbation:

$$\nabla S(x^\prime, \delta) \approx \frac{1}{B}\sum_{b=1}^{B}\phi(x^\prime + \delta_{u_b}) u_b $$

The result of the equation above gives a close approximation of the gradient required in step 2 of the iterative algorithm, completing HopSkipJump as a black box attack.

White Box Attacks
White box attacks assumes that the adversary has access to model parameters on top of being able to get labels for provided inputs.

Fast Gradient Sign Method (FGSM)
One of the very first proposed attacks for generating adversarial examples was proposed by Google researchers Ian J. Goodfellow, Jonathon Shlens, and Christian Szegedy. The attack was called fast gradient sign method, and it consists of adding a linear amount of in-perceivable noise to the image and causing a model to incorrectly classify it. This noise is calculated by multiplying the sign of the gradient with respect to the image we want to perturb by a small constant epsilon. As epsilon increases, the model is more likely to be fooled, but the perturbations become easier to identify as well. Shown below is the equation to generate an adversarial example where $x$ is the original image, $\epsilon$  is a very small number, $\Delta_x$  is the gradient function, $J$  is the loss function, $\theta$  is the model weights, and $y$  is the true label.

$$adv_x = x + \epsilon \cdot sign(\Delta_xJ(\theta, x, y))$$

One important property of this equation is that the gradient is calculated with respect to the input image since the goal is to generate an image that maximizes the loss for the original image of true label $y$. In traditional gradient descent (for model training), the gradient is used to update the weights of the model since the goal is to minimize the loss for the model on a ground truth dateset. The Fast Gradient Sign Method was proposed as a fast way to generate adversarial examples to evade the model, based off the hypothesis that neural networks cannot resist even linear amounts of perturbation to the input.

Carlini & Wagner (C&W)
In an effort to analyze existing adversarial attacks and defenses, researchers at the University of California, Berkeley, Nicholas Carlini and David Wagner in 2016 propose a faster and more robust method to generate adversarial examples.

The attack proposed by Carlini and Wagner begins with trying to solve a difficult non-linear optimization equation:

$$\min(||\delta||_{p}) \text{ subject to } C(x + \delta) = t, x + \delta \in [0, 1]^n$$

Here the objective is to minimize the noise ($\delta$ ), added to the original input $x$, such that the machine learning algorithm ($C$ ) predicts the original input with delta (or $x + \delta$ ) as some other class $t$. However instead of directly the above equation, Carlini and Wagner propose using a new function $f$ such that:

$$C(x + \delta) = t \iff f(x + \delta) < 0$$

This condenses the first equation to the problem below:

$$\min(||\delta||_{p}) \text{ subject to } f(x + \delta), x + \delta \in [0, 1]^n$$

Carlini and Wagner then propose the use of the below function in place of $f$, which can be thought of as...

$$f(x) = ([\max_{i \neq t}Z(x)_i] - Z(x)_t)^{+}$$

When solved, this equation is able to produce stronger adversarial examples when compared to fast gradient sign method that is also able to bypass defensive distillation, a defense that was once proposed to be effective against adversarial examples.

Defenses
Researchers have proposed a multi-step approach to protecting machine learning.


 * Threat modeling – Formalize the attackers goals and capabilities with respect to the target system.
 * Attack simulation – Formalize the optimization problem the attacker tries to solve according to possible attack strategies.
 * Attack impact evaluation
 * Countermeasure design
 * Noise detection (For evasion based attack)
 * Information laundering – Alter the information received by adversaries (for model stealing attacks)

Mechanisms
A number of defense mechanisms against evasion, poisoning, and privacy attacks have been proposed, including:


 * Secure learning algorithms
 * Multiple classifier systems
 * AI-written algorithms.
 * AIs that explore the training environment; for example, in image recognition, actively navigating a 3D environment rather than passively scanning a fixed set of 2D images.
 * Privacy-preserving learning
 * Ladder algorithm for Kaggle-style competitions
 * Game theoretic models
 * Sanitizing training data
 * Adversarial training
 * Backdoor detection algorithms