Skip to content

Commit 8faa292

Browse files
authored
Merge pull request #1099 from stratosphereips/develop
Slips v1.1.4.1
2 parents fb6478e + e151b12 commit 8faa292

File tree

8 files changed

+222
-196
lines changed

8 files changed

+222
-196
lines changed

CHANGELOG.md

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1-
- 1.1.4 (Nov 29th, 2024)
1+
1.1.4.1 (Dec 3rd, 2024)
2+
- Fix abstract class starting with the rest of the modules.
3+
- Fix the updating of the MAC vendors database used in slips.
4+
- Improve MAC vendor offline lookups.
5+
6+
1.1.4 (Nov 29th, 2024)
27
- Fix changing the used database in the web interface.
38
- Reduce false positive evidence about malicious downloaded files.
49
- Fix datetime errors when running on interface
510
- Improve the detection of "DNS without connection".
611
- Add support for a light Slips docker image.
712

8-
- 1.1.3 (October 30th, 2024)
13+
1.1.3 (October 30th, 2024)
914
- Enhanced Slips shutdown process for smoother operations.
1015
- Optimized resource management in Slips, resolving issues with lingering threads in memory.
1116
- Remove the progress bar; Slips now provides regular statistical updates.
@@ -19,7 +24,7 @@
1924
- Enhance logging of IDMEF errors.
2025
- Resolve issues with the accumulated threat level reported in alerts.json.
2126

22-
- 1.1.2 (September 30th, 2024)
27+
1.1.2 (September 30th, 2024)
2328
- Add a relation between related evidence in alerts.json
2429
- Better unit tests. Thanks to @Sekhar-Kumar-Dash
2530
- Discontinued MacOS m1 docker images, P2p images, and slips dependencies image.
@@ -42,7 +47,7 @@
4247
- Update python dependencies.
4348
- Better handling of problems connecting to Redis database.
4449

45-
- 1.1 (July 2024)
50+
1.1 (July 2024)
4651
- Update Python version to 3.10.12 and all python libraries used by Slips.
4752
- Update nodejs and zeek.
4853
- Improve the stopping of Slips. Modules now have more time to process flows.
@@ -54,7 +59,7 @@
5459
- Horizontal port scan detection improvements.
5560

5661

57-
- 1.0.15 (June 2024)
62+
1.0.15 (June 2024)
5863
- Add a Parameter to export strato letters to re-train the RNN model.
5964
- Better organization of flowalerts module by splitting it into many specialized files.
6065
- Better unit tests. thanks to @Sekhar-Kumar-Dash
@@ -70,7 +75,7 @@
7075
- The port of the web interface is now configurable in slips.conf
7176

7277

73-
- 1.0.14 (May 2024)
78+
1.0.14 (May 2024)
7479
- Improve whitelists. better matching of ASNs, domains, and organizations.
7580
- Whitelist Microsoft, Apple, Twitter, Facebook and Google alerts by default to reduce false positives.
7681
- Better unit tests. thanks to @Sekhar-Kumar-Dash
@@ -79,7 +84,7 @@
7984
- Add more info to metadata/info.txt for each run.
8085

8186

82-
- 1.0.13 (April 2024)
87+
1.0.13 (April 2024)
8388
- Whitelist alerts to all organizations by default to reduce false positives.
8489
- Improve and compress Slips Docker images. thanks to @verovaleros
8590
- Improve CI and add pre-commit hooks.
@@ -90,7 +95,7 @@
9095
- Better unit tests. thanks to @Sekhar-Kumar-Dash
9196
- Fix problems stopping the daemon.
9297

93-
- 1.0.12 (March 2024)
98+
1.0.12 (March 2024)
9499
- Add an option to specify the current client IP in slips.conf to help avoid false positives.
95100
- Better handling of URLhaus threat intelligence.
96101
- Change how slips determines the local network of the current client IP.
@@ -107,7 +112,7 @@
107112
- Use the latest Redis and NodeJS version in all docker images.
108113

109114

110-
- 1.0.11 (February 2024)
115+
1.0.11 (February 2024)
111116
- Improve the logging of evidence in alerts.json and alerts.log.
112117
- Optimize the storing of evidence in the Redis database.
113118
- Fix problem of missing evidence, now all evidence is logged correctly.
@@ -117,7 +122,7 @@
117122
- Fix problem closing the progress bar.
118123
- Fix problem releasing the terminal when Slips is done.
119124

120-
- 1.0.10 (January 2024)
125+
1.0.10 (January 2024)
121126
- Faster ensembling of evidence.
122127
- Log accumulated threat levels of each evidence in alerts.json.
123128
- Better handling of the termination of the progress bar.
@@ -239,7 +244,7 @@
239244
- Fix caching ASN ranges
240245
- Code optimizations
241246

242-
- 1.0.1 (Jan 2023)
247+
1.0.1 (Jan 2023)
243248
- fix FP horizontal portscans caused by zeek flipping connections
244249
- Fix Duplicate evidence in multiple alerts
245250
- Fix FP urlhaus detetcions, now we use it to check urls only, not domains.

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.1.4
1+
1.1.4.1

docker/light/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ ENV DEBIAN_FRONTEND=noninteractive
44
# Blocking module requirement to avoid using sudo
55
ENV IS_IN_A_DOCKER_CONTAINER=True
66
# destionation dir for slips inside the container
7-
ENV SLIPS_DIR=/StratosphereLinuxIPs
7+
ENV SLIPS_DIR=/StratosphereLinuxIPS
88

99
# use bash instead of sh
1010
SHELL ["/bin/bash", "-c"]

modules/ip_info/ip_info.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@
1414
import time
1515
import asyncio
1616
import multiprocessing
17+
from functools import lru_cache
1718

1819

1920
from modules.ip_info.jarm import JARM
2021
from slips_files.common.flow_classifier import FlowClassifier
2122
from slips_files.core.helpers.whitelist.whitelist import Whitelist
2223
from .asn_info import ASN
23-
from slips_files.common.abstracts.module import AsyncModule
24+
from slips_files.common.abstracts.async_module import AsyncModule
2425
from slips_files.common.slips_utils import utils
2526
from slips_files.core.structures.evidence import (
2627
Evidence,
@@ -93,14 +94,25 @@ async def open_dbs(self):
9394
self.reading_mac_db_task = asyncio.create_task(self.read_mac_db())
9495

9596
async def read_mac_db(self):
97+
"""
98+
waits 10 mins for the update manager to download the mac db and
99+
opens it for reading. retries opening every 3s
100+
"""
101+
trials = 0
96102
while True:
103+
if trials >= 60:
104+
# that's 10 mins of waiting for the macdb (600s)
105+
# dont wait forever
106+
return
107+
97108
try:
98109
self.mac_db = open("databases/macaddress-db.json", "r")
99110
return True
100111
except OSError:
101112
# update manager hasn't downloaded it yet
102113
try:
103-
time.sleep(3)
114+
time.sleep(10)
115+
trials += 1
104116
except KeyboardInterrupt:
105117
return False
106118

@@ -186,6 +198,7 @@ def get_vendor_online(self, mac_addr):
186198
):
187199
return False
188200

201+
@lru_cache(maxsize=700)
189202
def get_vendor_offline(self, mac_addr, profileid):
190203
"""
191204
Gets vendor from Slips' offline database databases/macaddr-db.json

0 commit comments

Comments
 (0)