https://github.com/amazon-science/adversarial-robustness-with-nonuniform-perturbations
https://github.com/amazon-science/adversarial-robustness-with-nonuniform-perturbations
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.5%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: amazon-science
- License: apache-2.0
- Language: Python
- Default Branch: main
- Size: 2.1 MB
Statistics
- Stars: 9
- Watchers: 1
- Forks: 2
- Open Issues: 3
- Releases: 0
Metadata Files
README.md
Adversarial Robustness with Non-uniform Perturbations
This repository hosts the code to replicate experiments of the paper Adversarial Robustness with Non-uniform Perturbations for malware use-case.
Installation
Please first refer to https://github.com/elastic/ember and follow the instructions to download 2018 version of EMBER dataset and install ember package.
After installing ember, use pip to install the required packages for this project:
pip install -r requirements.txt
Usage
NonuniformRobustness.py
This file contains the following functions:
get_clean_data(data_dir)returns train and test sets of vectorized EMBER dataset featuresget_adversarial_examples(data_dir, num_features, attack_name="GreedyNN")returns adversarial example set which is crafted by the specified problem space attack, e.g., Greedy attack (GreedyNN).omega(num_features, perturbation_constraint="Uniform")computes the matrix Omega which is used in l2 PGD algorithm as a coefficient of delta perturbation constraint. Constraint type can be selected as"Uniform","Pearson","SHAP","Masked","Mahalanobis"and"Mahalanobis benign".pgd_l2(model, X, y, config)returns delta perturbations to be added to training data during adversarial training. l2 PGD algorithm is applied according to the given configurations which containomegamatrix of previously selectedperturbation_constraint.get_trained_modelreturns adversarially trained model with l2 PGD algorithm and prints test performance on clean data and adversarial examples
Malware_demo.ipynb
Contains a demo of adversarial training a model with specified perturbation constraints. Clean accuracy on test set and defense success on adversarial examples are tested.
nonuniform_omega
Contains necessary data for Omega matrix calculation such as Pearson correlation coefficients, Shapley values, covariance matrix of the training set to calculate Mahalanobis distance and covariance matrix of only benign class for Mahalanobis benign.
Adversarialexamplesets
Contains the adversarial example sets generated by the winner attacks of malware evasion competition 2019.
Owner
- Name: Amazon Science
- Login: amazon-science
- Kind: organization
- Website: https://amazon.science
- Twitter: AmazonScience
- Repositories: 80
- Profile: https://github.com/amazon-science
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 1
- Total pull requests: 3
- Average time to close issues: N/A
- Average time to close pull requests: about 2 hours
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 2.0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 2
Past Year
- Issues: 0
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: about 2 hours
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- Zhanyu-Wang (1)
Pull Request Authors
- dependabot[bot] (2)
- saydore (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- lightgbm >=2.2.3
- numpy ==1.19.4
- pandas >=0.24.2
- py-lief >=0.9.0
- scikit-learn ==0.23.2
- scipy ==1.4.1
- torch ==1.7.0
- torchvision ==0.8.1
- tqdm >=4.31.0
- xgboost ==1.2.0