Skip to content

Commit 9a254ea

Browse files
authored
Merge pull request #1331 from ait-aecid/development
Release 2.7.0
2 parents a9228d7 + e740f17 commit 9a254ea

File tree

165 files changed

+17921
-6929
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

165 files changed

+17921
-6929
lines changed

.deepsource.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ enabled = true
1313
[analyzers.meta]
1414
runtime_version = "3.x.x"
1515
max_line_length = 140
16+
cyclomatic_complexity_threshold = "critical"
1617

1718
[[analyzers]]
1819
name = "test-coverage"

.pre-commit-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ repos:
2020
hooks:
2121
- id: flake8
2222
args: [--max-line-length=140]
23+
exclude: ^aecid-testsuite/
2324

2425
- repo: https://github.com/pre-commit/mirrors-autopep8
2526
rev: v1.7.0

Dockerfile

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,14 @@
1010
#
1111

1212
# Pull base image.
13-
FROM debian:bullseye
13+
FROM debian:bookworm
1414
ARG UNAME=aminer
1515
ARG UID=1000
1616
ARG GID=1000
1717

18+
# allow the system to use two package managers (apt and pip), as we do it intentionally (needed since Debain Bookworm - see PEP 668
19+
ENV PIP_BREAK_SYSTEM_PACKAGES=1
20+
1821
# Set local timezone
1922
ENV TZ=Europe/Vienna
2023
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
@@ -23,6 +26,7 @@ LABEL maintainer="wolfgang.hotwagner@ait.ac.at"
2326

2427
# Install necessary debian packages
2528
ARG DEBIAN_FRONTEND=noninteractive
29+
RUN apt-get update && apt-get install -y --no-install-recommends apt-utils
2630
RUN apt-get update && apt-get install -y \
2731
supervisor \
2832
python3 \
@@ -40,7 +44,11 @@ RUN apt-get update && apt-get install -y \
4044
python3-pylibacl \
4145
python3-urllib3 \
4246
python3-statsmodels \
43-
libacl1-dev
47+
python3-patsy \
48+
python3-numpy \
49+
python3-defusedxml \
50+
libacl1-dev \
51+
rsyslog
4452

4553
# Docs
4654
RUN apt-get update && apt-get install -y \
@@ -61,8 +69,10 @@ ADD source/root/usr/lib/logdata-anomaly-miner /usr/lib/logdata-anomaly-miner
6169

6270
# copy these files instead as symlinks would need absolute paths.
6371
ADD source/root/etc/aminer/conf-available/ait-lds/* /etc/aminer/conf-enabled/
72+
ADD source/root/etc/aminer/conf-available/ait-lds2/* /etc/aminer/conf-enabled/
6473
ADD source/root/etc/aminer/conf-available/generic/* /etc/aminer/conf-enabled/
6574
ADD source/root/etc/aminer/conf-available/ait-lds /etc/aminer/conf-available/ait-lds
75+
ADD source/root/etc/aminer/conf-available/ait-lds2 /etc/aminer/conf-available/ait-lds2
6676
ADD source/root/etc/aminer/conf-available/generic /etc/aminer/conf-available/generic
6777

6878
# Entrypoint-wrapper
@@ -85,6 +95,9 @@ RUN ln -s /usr/lib/logdata-anomaly-miner/aminerremotecontrol.py /usr/bin/aminerr
8595
&& ln -s /usr/lib/python3/dist-packages/six.py /usr/lib/logdata-anomaly-miner/six.py \
8696
&& ln -s /usr/lib/python3/dist-packages/urllib3 /usr/lib/logdata-anomaly-miner/urllib3 \
8797
&& ln -s /usr/lib/python3/dist-packages/statsmodels /usr/lib/logdata-anomaly-miner/statsmodels \
98+
&& ln -s /usr/lib/python3/dist-packages/packaging /usr/lib/logdata-anomaly-miner/packaging \
99+
&& ln -s /usr/lib/python3/dist-packages/patsy /etc/aminer/conf-enabled/patsy \
100+
&& ln -s /usr/lib/python3/dist-packages/defusedxml /etc/aminer/conf-enabled/defusedxml \
88101
&& groupadd -g $GID -o $UNAME && useradd -u $UID -g $GID -ms /usr/sbin/nologin $UNAME && mkdir -p /var/lib/aminer/logs \
89102
&& chown $UID.$GID -R /var/lib/aminer \
90103
&& chown $UID.$GID -R /docs \

Jenkinsfile

Lines changed: 128 additions & 47 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ This tool parses log data and allows to define analysis pipelines for anomaly de
66

77
## Requirements
88

9-
In order to install logdata-anomaly-miner a **Linux system** with **python >= 3.6** is required. **Debian-based** distributions are currently recommended.
9+
In order to install logdata-anomaly-miner a **Linux system** with **python >= 3.6** is required. All **Ubuntu** and **Debian** versions that we have in the tests are currently recommended.
10+
There is only experimental support for **Fedora**.
11+
More specifically the tested systems include Debian Buster, Debian Bullseye, Debian Bookworm, Ubuntu 20.04, Ubuntu 22.04, Fedora (docker image fedora:latest), and RedHat (docker image redhat/ubi9).
1012

1113
_See [requirements.txt](https://github.com/ait-aecid/logdata-anomaly-miner/requirements.txt) for further module dependencies_
1214

@@ -15,8 +17,7 @@ _See [requirements.txt](https://github.com/ait-aecid/logdata-anomaly-miner/requi
1517

1618
### Debian
1719

18-
There are Debian packages for logdata-anomaly-miner in the official Debian/Ubuntu
19-
repositories.
20+
There are Debian packages for logdata-anomaly-miner in the official Debian/Ubuntu repositories.
2021

2122
```
2223
apt-get update && apt-get install logdata-anomaly-miner
@@ -49,9 +50,10 @@ Here are some resources to read in order to get started with configurations:
4950

5051
Publications and talks:
5152

52-
* Wurzenberger M., Skopik F., Settanni G., Fiedler R. (2018): [AECID: A Self-learning Anomaly Detection Approach Based on Light-weight Log Parser Models](http://www.scitepress.org/DigitalLibrary/Link.aspx?doi=10.5220/0006643003860397). [4th International Conference on Information Systems Security and Privacy (ICISSP 2018)](http://www.icissp.org/), January 22-24, 2018, Funchal, Madeira - Portugal. INSTICC. \[[PDF](https://www.markuswurzenberger.com/wp-content/uploads/2020/05/2018_icissp.pdf)\]
53-
* Wurzenberger M., Landauer M., Skopik F., Kastner W. (2019): AECID-PG: [AECID-PG: A Tree-Based Log Parser Generator To Enable Log Analysis](https://ieeexplore.ieee.org/document/8717887). [4th IEEE/IFIP International Workshop on Analytics for Network and Service Management (AnNet 2019)](https://annet2019.moogsoft.com/) in conjunction with the [IFIP/IEEE International Symposium on Integrated Network Management (IM)](https://im2019.ieee-im.org/), April 8, 2019, Washington D.C., USA. IEEE. \[[PDF](https://www.markuswurzenberger.com/wp-content/uploads/2020/05/2019_annet.pdf)\]
54-
* Landauer M., Skopik F., Wurzenberger M., Hotwagner W., Rauber A. (2019): [A Framework for Cyber Threat Intelligence Extraction from Raw Log Data](https://ieeexplore.ieee.org/document/9006328). [International Workshop on Big Data Analytics for Cyber Threat Hunting (CyberHunt 2019)](https://securitylab.no/cyberhunt2019/) in conjunction with the [IEEE International Conference on Big Data 2019](http://bigdataieee.org/BigData2019/), December 9-12, 2019, Los Angeles, CA, USA. IEEE. \[[PDF](https://www.markuswurzenberger.com/wp-content/uploads/2020/05/2019_cyberhunt.pdf)\]
53+
* Landauer M., Wurzenberger M., Skopik F., Hotwagner W., Höld G. (2023): [AMiner: A Modular Log Data Analysis Pipeline for Anomaly-based Intrusion Detection](https://dl.acm.org/doi/full/10.1145/3567675). [Digital Threats: Research and Practice](https://dl.acm.org/toc/dtrap/2023/4/1), Volume 4, Issue 1. March 2023, pp. 1–16, ACM. \[[PDF](https://dl.acm.org/doi/pdf/10.1145/3567675)\]
54+
* Wurzenberger M., Skopik F., Settanni G., Fiedler R. (2018): [AECID: A Self-learning Anomaly Detection Approach Based on Light-weight Log Parser Models](http://www.scitepress.org/DigitalLibrary/Link.aspx?doi=10.5220/0006643003860397). [4th International Conference on Information Systems Security and Privacy (ICISSP 2018)](http://www.icissp.org/), January 22-24, 2018, Funchal, Madeira - Portugal. INSTICC. \[[PDF](https://pdfs.semanticscholar.org/cd58/8e51d7a1d7f02f95ef2127623b21e2cd02c6.pdf)\]
55+
* Wurzenberger M., Landauer M., Skopik F., Kastner W. (2019): AECID-PG: [AECID-PG: A Tree-Based Log Parser Generator To Enable Log Analysis](https://ieeexplore.ieee.org/document/8717887). [4th IEEE/IFIP International Workshop on Analytics for Network and Service Management (AnNet 2019)](https://annet2019.moogsoft.com/) in conjunction with the [IFIP/IEEE International Symposium on Integrated Network Management (IM)](https://im2019.ieee-im.org/), April 8, 2019, Washington D.C., USA. IEEE. \[[PDF](https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=8717887)\]
56+
* Landauer M., Skopik F., Wurzenberger M., Hotwagner W., Rauber A. (2019): [A Framework for Cyber Threat Intelligence Extraction from Raw Log Data](https://ieeexplore.ieee.org/document/9006328). [International Workshop on Big Data Analytics for Cyber Threat Hunting (CyberHunt 2019)](https://securitylab.no/cyberhunt2019/) in conjunction with the [IEEE International Conference on Big Data 2019](http://bigdataieee.org/BigData2019/), December 9-12, 2019, Los Angeles, CA, USA. IEEE. \[[PDF](https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=9006328)\]
5557

5658
A complete list of publications can be found at [https://aecid.ait.ac.at/further-information/](https://aecid.ait.ac.at/further-information/).
5759

aecid-testsuite/Dockerfile

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@
1818
#
1919

2020
# Pull base image.
21-
FROM debian:bullseye
21+
FROM debian:bookworm
22+
23+
# allow the system to use two package managers (apt and pip), as we do it intentionally (needed since Debain Bookworm - see PEP 668
24+
ENV PIP_BREAK_SYSTEM_PACKAGES=1
2225

2326
# Set local timezone
2427
ENV TZ=Europe/Vienna
@@ -28,23 +31,25 @@ LABEL maintainer="wolfgang.hotwagner@ait.ac.at"
2831

2932
# Install necessary debian packages
3033
ARG DEBIAN_FRONTEND=noninteractive
34+
RUN apt-get update && apt-get install -y --no-install-recommends apt-utils
3135
RUN apt-get update && apt-get install -y \
3236
python3 \
3337
python3-pip \
34-
python3-pip \
3538
python3-tz \
3639
python3-scipy \
3740
python3-pkg-resources \
3841
python3-setuptools \
3942
python3-dateutil \
4043
python3-six \
41-
python3-scipy \
4244
python3-kafka \
4345
python3-cerberus \
4446
python3-yaml \
4547
python3-pylibacl \
4648
python3-urllib3 \
4749
python3-statsmodels \
50+
python3-pandas \
51+
python3-patsy \
52+
python3-defusedxml \
4853
libacl1-dev \
4954
postfix \
5055
procps \
@@ -53,7 +58,7 @@ RUN apt-get update && apt-get install -y \
5358
curl \
5459
vim \
5560
postfix \
56-
openjdk-11-jre \
61+
openjdk-17-jre \
5762
locales \
5863
locales-all \
5964
rsyslog \
@@ -78,8 +83,10 @@ ADD source/root/usr/lib/logdata-anomaly-miner /usr/lib/logdata-anomaly-miner
7883

7984
# copy these files instead as symlinks would need absolute paths.
8085
ADD source/root/etc/aminer/conf-available/ait-lds/* /etc/aminer/conf-enabled/
86+
ADD source/root/etc/aminer/conf-available/ait-lds2/* /etc/aminer/conf-enabled/
8187
ADD source/root/etc/aminer/conf-available/generic/* /etc/aminer/conf-enabled/
8288
ADD source/root/etc/aminer/conf-available/ait-lds /etc/aminer/conf-available/ait-lds
89+
ADD source/root/etc/aminer/conf-available/ait-lds2 /etc/aminer/conf-available/ait-lds2
8390
ADD source/root/etc/aminer/conf-available/generic /etc/aminer/conf-available/generic
8491

8592
# Entrypoint-wrapper
@@ -102,6 +109,10 @@ RUN ln -s /usr/lib/logdata-anomaly-miner/aminerremotecontrol.py /usr/bin/aminerr
102109
&& ln -s /usr/lib/python3/dist-packages/six.py /etc/aminer/conf-enabled/six.py \
103110
&& ln -s /usr/lib/python3/dist-packages/urllib3 /etc/aminer/conf-enabled/urllib3 \
104111
&& ln -s /usr/lib/python3/dist-packages/statsmodels /etc/aminer/conf-enabled/statsmodels \
112+
&& ln -s /usr/lib/python3/dist-packages/packaging /etc/aminer/conf-enabled/packaging \
113+
&& ln -s /usr/lib/python3/dist-packages/pandas /etc/aminer/conf-enabled/pandas \
114+
&& ln -s /usr/lib/python3/dist-packages/patsy /etc/aminer/conf-enabled/patsy \
115+
&& ln -s /usr/lib/python3/dist-packages/defusedxml /etc/aminer/conf-enabled/defusedxml \
105116
&& useradd -ms /usr/sbin/nologin aminer && mkdir -p /var/lib/aminer/log && chmod 0755 /aminerwrapper.sh \
106117
&& chown aminer.aminer -R /var/lib/aminer && chmod 0755 /etc/aminer
107118

aecid-testsuite/demo/ait-lds2-config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1706,7 +1706,7 @@ Parser:
17061706
name: 'EximParsingModel'
17071707

17081708
- id: SyslogParsingModel
1709-
type: SyslogParsingModel
1709+
type: SyslogParsingModelAIT-LDSv2
17101710
name: 'SyslogParsingModel'
17111711

17121712
- id: SuricataFastParsingModel

0 commit comments

Comments
 (0)