CybercentreCanada/assemblyline-service-floss
GitHub: CybercentreCanada/assemblyline-service-floss
基于 FireEye FLOSS 引擎的 Assemblyline 恶意软件分析服务,专注于从 Windows 可执行文件中自动提取和分析混淆字符串并匹配 IOC 模式。
Stars: 2 | Forks: 5
[](https://discord.gg/GUAy9wErNu)
[](https://discord.gg/GUAy9wErNu)
[](https://github.com/CybercentreCanada/assemblyline)
[](https://github.com/CybercentreCanada/assemblyline-service-floss)
[](https://github.com/CybercentreCanada/assemblyline/issues?q=is:issue+is:open+label:service-floss)
[](./LICENSE)
# Floss 服务
该服务使用 FireEye Labs Obfuscated String Solver (FLOSS) 来查找混淆字符串,例如堆叠字符串。
https://github.com/fireeye/flare-floss/ - 根据 Apache License 2.0 获得许可 (https://github.com/fireeye/flare-floss/blob/master/LICENSE.txt)
## 服务详情
该服务执行以下操作:
1. 字符串提取:
* executable/windows 文件:
- 静态字符串模块 (unicode 和 ascii)。仅匹配 IOC
- 已解码字符串模块
- 堆叠字符串模块
**当不处于深度扫描模式时,此服务将根据提交文件的大小跳过某些检测模块(以防止服务积压和超时)。默认值被有意设置为较小的尺寸。可以根据您的 AL 实例运行的流量/硬件量,在服务配置中轻松更改过滤器。**
### 服务配置
- max_size:为此服务提交的文件的最大大小。
- max_length:字符串长度的最大值。用于基本的 ASCII 和 UNICODE 模块。
- st_max_size:字符串列表的最大大小。该列表由基本的 ASCII 和 UNICODE 模块结果生成,并将决定 patterns.py 是否仅评估网络 IOC 模式。
### 结果输出
1. 静态字符串 (ASCII, UNICODE):
* 匹配目标 IOC 模式的字符串
2. FF 已解码字符串:
* 所有字符串
* 匹配目标 IOC 模式的字符串
3. FF 堆叠字符串:
* 所有字符串,按相似度分组(由 fuzzywuzzy 库确定)
* 匹配目标 IOC 模式的字符串
## 镜像变体和标签
Assemblyline 服务是基于 [Assemblyline 服务基础镜像](https://hub.docker.com/r/cccs/assemblyline-v4-service-base) 构建的,
该镜像基于带有 Python 3.11 的 Debian 11。
Assemblyline 服务使用以下标签定义:
| **标签类型** | **描述** | **示例标签** |
| :----------: | :----------------------------------------------------------------------------------------------- | :------------------------: |
| latest | 最新的构建版本(可能不稳定)。 | `latest` |
| build_type | 使用的构建类型。`dev` 是最新的不稳定构建。`stable` 是最新的稳定构建。 | `stable` 或 `dev` |
| series | 完整的构建详情,包括版本和构建类型:`version.buildType`。 | `4.5.stable`, `4.5.1.dev3` |
## 运行此服务
这是一个 Assemblyline 服务。它被设计为 Assemblyline 框架的一部分运行。
如果您想在本地测试此服务,可以直接从 shell 运行 Docker 镜像:
```
docker run \
--name Floss \
--env SERVICE_API_HOST=http://`ip addr show docker0 | grep "inet " | awk '{print $2}' | cut -f1 -d"/"`:5003 \
--network=host \
cccs/assemblyline-service-floss
```
要将此服务添加到您的 Assemblyline 部署中,请遵循此
[指南](https://cybercentrecanada.github.io/assemblyline4_docs/developer_manual/services/run_your_service/#add-the-container-to-your-deployment)。
## 文档
常规 Assemblyline 文档可在以下网址找到:https://cybercentrecanada.github.io/assemblyline4_docs/
# Service Floss
Ce service utilise le logiciel FireEye Labs Obfuscated String Solver (FLOSS) pour trouver les chaînes obscurcies telles que les chaînes empilées.
## Service 详情
Ce service permet d'effectuer les opérations suivantes
1. Extraction de la chaîne de caractères :
* Fichiers exécutables/windows :
- Modules de chaînes statiques (unicode et ascii). Correspond uniquement aux IOC
- Modules de chaînes décodés
- Modules de chaînes empilées
**Lorsqu'il n'est pas en mode d'analyse approfondie, ce service saute des modules de détection en fonction de la taille du fichier soumis (afin d'éviter les retards de service et les dépassements de délai). Les valeurs par défaut sont intentionnellement fixées à des tailles faibles. Les filtres peuvent être facilement modifiés dans la configuration du service, en fonction de la quantité de trafic/du matériel utilisé par votre instance AL**.
### Service 配置
- max_size : Taille maximale du fichier soumis pour ce service.
- max_length : Longueur maximale d'une chaîne de caractères. Utilisé dans les modules ASCII et UNICODE de base.
- st_max_size : Taille maximale de la liste de chaînes de caractères. Liste produite par les résultats des modules basic ASCII et UNICODE, et qui déterminera si patterns.py n'évaluera que les motifs IOC du réseau.
### 输出结果
1. Chaînes statiques (ASCII, UNICODE) :
* Chaînes correspondant aux motifs IOC d'intérêt
2. Chaînes décodées FF :
* Toutes les chaînes
* Chaînes correspondant à des motifs IOC intéressants
3. FF Stacked Strings (chaînes empilées) :
* Toutes les chaînes, regroupées par ressemblance (déterminée par la bibliothèque fuzzywuzzy)
* Chaînes correspondant à des motifs IOC intéressants
## 镜像变体与标签
Les services d'Assemblyline sont construits à partir de l'image de base [Assemblyline service](https://hub.docker.com/r/cccs/assemblyline-v4-service-base),
qui est basée sur Debian 11 avec Python 3.11.
Les services d'Assemblyline utilisent les définitions d'étiquettes suivantes:
| **Type d'étiquette** | **Description** | **Exemple d'étiquette** |
| :------------------: | :------------------------------------------------------------------------------------------------------------- | :------------------------: |
| dernière version | La version la plus récente (peut être instable). | `latest` |
| build_type | Type de construction utilisé. `dev` est la dernière version instable. `stable` est la dernière version stable. | `stable` ou `dev` |
| série | Détails de construction complets, comprenant la version et le type de build: `version.buildType`. | `4.5.stable`, `4.5.1.dev3` |
## 运行此 Service
Ce service est spécialement optimisé pour fonctionner dans le cadre d'un déploiement d'Assemblyline.
Si vous souhaitez tester ce service localement, vous pouvez exécuter l'image Docker directement à partir d'un terminal:
```
docker run \
--name Floss \
--env SERVICE_API_HOST=http://`ip addr show docker0 | grep "inet " | awk '{print $2}' | cut -f1 -d"/"`:5003 \
--network=host \
cccs/assemblyline-service-floss
```
Pour ajouter ce service à votre déploiement d'Assemblyline, suivez ceci
[guide](https://cybercentrecanada.github.io/assemblyline4_docs/fr/developer_manual/services/run_your_service/#add-the-container-to-your-deployment).
## Documentation
La documentation générale sur Assemblyline peut être consultée à l'adresse suivante: https://cybercentrecanada.github.io/assemblyline4_docs/
标签:ASCII, Assemblyline, CCCS, DAST, DNS 反向解析, FireEye, flare-floss, FLOSS, Unicode, Windows可执行文件, YARA, 云安全监控, 云资产可视化, 堆叠字符串, 威胁情报, 字符串提取, 安全服务, 开发者工具, 恶意软件分析, 混淆字符串解密, 网络安全, 自动化分析, 请求拦截, 跨站脚本, 逆向工具, 隐私保护, 静态分析