https://github.com/secure-software-engineering/modguard
https://github.com/secure-software-engineering/modguard
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/secure-software-engineering/modguard
- Owner: secure-software-engineering
- License: lgpl-2.1
- Created: 2018-09-23T14:52:59.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2023-06-16T14:11:17.000Z (over 2 years ago)
- Last Synced: 2024-12-27T01:25:17.757Z (about 1 year ago)
- Language: Java
- Size: 30.9 MB
- Stars: 1
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.MD
- License: LICENSE
Awesome Lists containing this project
README
# ModGuard: Identifying Integrity & Confidentiality Violations in Java Modules
## Docker Image
To execute ModGuard and reporduce our results, we provide the docker image `andann/modguard:latest`
The instructions to use the docker image are in the folder `adann-ubuntu1604java9/README.md`.
## Building ModGuard
For building Modguard the following software needs to be installed: Java1.8, Maven3, bash, git.
Install PA-Datalog by following the instructions on http://snf-705535.vm.okeanos.grnet.gr/agreement.html.
To build Modguard cd into the project's root directory and execute `sh build.sh`.
The compiled jar files are stored in the folder `build`.
Install Doop by unpacking `doop-4.0.0.tar` into your home-directory and export `DOOP_HOME` to Doop's install folder.
## Running ModGuard
To execute ModGuard with your own module run
```
java -cp /opt/jdk-9/lib/jrt-fs.jar:soot-module-analysis-1.0-SNAPSHOT.jar DoopModuleAnalysis -moduleName {0} -modulePath {1} -logPath {2} -appendCP {3} --criticalEntitiesFile {4} -onlyAppClass -ignoreArrayAndCollection
```
with
{0} - the name of the module to check
{1} - the module-path ModGuard should use to locate the module with the given name
{2} - where to store generated log files
{3} - (optionally) further jar files that should also be loaded into ModGuard
{4} - a simple *.txt file containing the fully-qualified names of the sensitive entities that should not escape a module; one per line, e.g., ``
This are the sensitve entities that are checked by ModGuard.