Optimisation de la détection des menaces et de la réponse avec Cortex
Cortex Analyzer and Responder : le duo qui change la donne pour la détection et la réponse aux cybermenaces
Projet Github :https://github.com/TheHive-Project/Cortex
Introduction
Avec la sophistication et le volume croissants des cyberattaques, les équipes de sécurité ont besoin de plus que de simples outils de détection de base. Les solutions de renseignement et de réponse aux menaces sont devenues essentielles dans les stratégies de cyberdéfense d'aujourd'hui. Le Cortex de TheHive Project offre une plate-forme puissante et flexible pour automatiser les renseignements sur les menaces et la réponse, donnant aux équipes de sécurité la capacité de détecter et de répondre aux menaces rapidement et efficacement.
Qu'est-ce que Cortex ?
Cortex est une plate-forme open source, hautement extensible et conviviale qui permet aux équipes de sécurité d'automatiser leurs workflows de renseignement sur les menaces et de réponse. La plate-forme permet aux utilisateurs d'analyser et de répondre aux alertes provenant de diverses sources, y compris les SIEM, les IDS et d'autres outils de sécurité.
L'une des principales caractéristiques de Cortex est sa capacité à s'intégrer à une large gamme d'outils et de services de sécurité. Cette intégration permet aux équipes de sécurité d'automatiser de nombreux aspects de leurs opérations de sécurité, notamment l'enrichissement, l'analyse et la réponse. Cortex fournit un référentiel central pour ces informations, permettant aux utilisateurs de gérer et d'accéder facilement aux informations dont ils ont besoin.
Comprendre les analyseurs et les répondeurs
Les analyseurs et les répondeurs sont les éléments constitutifs de Cortex, permettant à la plate-forme de se connecter à divers outils et services de sécurité et d'automatiser différents aspects du processus de renseignement et de réponse aux menaces.
Analyseurs
Les analyseurs sont chargés de récupérer les données de différentes sources et d'enrichir ces données pour fournir plus de contexte et d'informations utiles aux équipes de sécurité. Il existe de nombreux types d'analyseurs différents, chacun étant conçu pour se connecter à différents types de sources de données, telles que les services en ligne, les flux de menaces et les bases de données.
Lorsqu'un analyseur est appelé, il récupère les données de la source spécifiée et les transforme dans un format standardisé, ce qui facilite l'analyse et la comparaison avec d'autres données. Ces données peuvent inclure des informations sur les adresses IP, les domaines, les hachages, les noms de fichiers, etc.
Une fois les données transformées, l'analyseur peut effectuer des processus d'enrichissement supplémentaires, tels que la vérification des données par rapport à une liste d'indicateurs malveillants connus, l'interrogation de services en ligne pour plus d'informations ou l'exécution de scripts personnalisés pour effectuer une analyse plus avancée. Ces données enrichies sont ensuite renvoyées à la plateforme Cortex pour une analyse plus approfondie.
Intervenants
Les intervenants sont responsables d'agir en fonction des données enrichies fournies par les analyseurs. Il existe de nombreux types de répondeurs différents, chacun conçu pour effectuer des actions spécifiques, telles que le blocage d'une adresse IP, l'isolement d'un appareil infecté ou l'envoi d'une alerte à un analyste de la sécurité.
Lorsqu'un répondeur est appelé, il utilise les données enrichies pour effectuer une action spécifique. Par exemple, un répondeur peut être configuré pour bloquer automatiquement une adresse IP associée à une activité malveillante connue. Le répondeur peut également être configuré pour envoyer une alerte à un analyste de la sécurité afin qu'il prenne des mesures manuelles ou consigne l'événement pour une analyse future.
Les analyseurs et les répondeurs peuvent être personnalisés à l'aide du puissant moteur de script de Cortex, permettant aux utilisateurs d'adapter la plate-forme à leurs besoins spécifiques. Par exemple, un utilisateur peut développer un analyseur personnalisé pour se connecter à une base de données interne ou développer un répondeur personnalisé pour effectuer une action spécifique unique à son organisation.
Dans l'ensemble, les analyseurs et les répondeurs permettent à Cortex d'automatiser de nombreux aspects du processus de renseignement et de réponse aux menaces, fournissant aux équipes de sécurité davantage d'informations contextuelles et exploitables pour mieux protéger leur organisation contre les cybermenaces.
Installation
Cortex a besoin d'Elasticsearch en tant que composant essentiel de son architecture pour stocker et indexer la grande quantité de données générées par les analyseurs et les répondeurs de la plateforme. Au moment d'écrire ces lignes, Cortex ne prend en charge qu'Elasticsearch 7.x.
Étant donné que notre Wazuh-Indexer déployé est un fork d'Elasticsearch 7.10.2, il répond à ces exigences. Personnellement, j'aime utiliser le cluster Wazuh-Indexer de la pile SIEM actuelle plutôt que de dédier un nouveau cluster Elasticsearch uniquement pour Cortex.
Cependant, si vous souhaitez déployer un nœud Elasticsearch dédié pour votre instance Cortex, je vous recommande docker.
Recherche élastique via Docker
- Installer Docker
- Créer un répertoire pour le volume
mkdir -p /opt/elasticsearch
chmod 777 -R /opt/elasticsearch/
sysctl -w vm.max_map_count=262144
nano /etc/sysctl.conf
vm.max_map_count=262144
docker run -d --name elasticsearch --hostname elasticsearch --rm --publish 127.0.0.1:9200:9200 --volume /opt/elasticsearch:/usr/share/elasticsearch/data -e "http.host=0.0.0.0" -e "xpack.security.enabled=false" -e "cluster.name=hive" -e "thread_pool.search.queue_size=100000" -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.10.2
- Installer Java
apt install software-properties-common
add-apt-repository ppa:openjdk-r/ppa
apt-get update
apt-get install openjdk-11-jre-headless
curl https://raw.githubusercontent.com/TheHive-Project/TheHive/master/PGP-PUBLIC-KEY | sudo apt-key add -
echo 'deb https://deb.thehive-project.org release main' | sudo tee -a /etc/apt/sources.list.d/thehive-project.list
apt-get update
apt install cortex
- Importez le crt CA racine qu'Elasticsearch utilise actuellement. Cette commande demandera un mot de passe pour protéger le keystore. Enregistrez ce mot de passe car il sera requis pour le fichier cfg dans Cortex (suite).
keytool -import -file /path/to/rootca.crt -alias CA -keystore root_ca.jks
# Sample Cortex application.conf file
## SECRET KEY
#
# The secret key is used to secure cryptographic functions.
#
# IMPORTANT: If you deploy your application to several instances, make
# sure to use the same key.
#play.http.secret.key="***CHANGEME***"
## ElasticSearch
search {
# Name of the index
index = cortex
# ElasticSearch instance address.
# For cluster, join address:port with ',': "http://ip1:9200,ip2:9200,ip3:9200"
uri = "https://ELASTICSEARCH_HOST:9200"
## Advanced configuration
# Scroll keepalive.
#keepalive = 1m
# Scroll page size.
#pagesize = 50
# Number of shards
#nbshards = 5
# Number of replicas
#nbreplicas = 1
# Arbitrary settings
#settings {
# Maximum number of nested fields
# mapping.nested_fields.limit = 100
#}
## Authentication configuration For Elasticsearch
user = "admin"
password = "ELASTIC_PASS"
## SSL configuration
keyStore {
path = "/etc/cortex/root_ca.jks"
type = "JKS" # or PKCS12
password = "KEYSTORE_PASS"
}
trustStore {
path = "/etc/cortex/root_ca.jks"
type = "JKS" # or PKCS12
password = "KEYSTORE_PASS"
}
}
- Python2
- Python3
- Dépendances
cd /opt
wget https://bootstrap.pypa.io/get-pip.py
python2 get-pip.py
python3 get-pip.py
pip2 install -U pip setuptools && sudo pip3 install -U pip setuptools
git clone https://github.com/TheHive-Project/Cortex-Analyzers
2. Installer
for I in $(find Cortex-Analyzers -name 'requirements.txt'); do sudo -H pip2 install -r $I; done && \
for I in $(find Cortex-Analyzers -name 'requirements.txt'); do sudo -H pip3 install -r $I || true; done
nano /etc/cortex/application.conf
## ANALYZERS
#
analyzer {
# analyzer location
# url can be point to:
# - directory where analyzers are installed
# - json file containing the list of analyzer descriptions
urls = [
#"https://download.thehive-project.org/analyzers.json"
"/opt/Cortex-Analyzers/analyzers"
]
# Sane defaults. Do not change unless you know what you are doing.
fork-join-executor {
# Min number of threads available for analysis.
parallelism-min = 2
# Parallelism (threads) ... ceil(available processors * factor).
parallelism-factor = 2.0
# Max number of threads available for analysis.
parallelism-max = 4
}
}
# RESPONDERS
#
responder {
# responder location (same format as analyzer.urls)
urls = [
#"https://download.thehive-project.org/responders.json"
"/opt/Cortex-Analyzers/responders"
]
# Sane defaults. Do not change unless you know what you are doing.
fork-join-executor {
# Min number of threads available for analysis.
parallelism-min = 2
# Parallelism (threads) ... ceil(available processors * factor).
parallelism-factor = 2.0
# Max number of threads available for analysis.
parallelism-max = 4
}
}
sudo mkdir /etc/cortex
(cat << _EOF_
# Secret key
# ~~~~~
# The secret key is used to secure cryptographics functions.
# If you deploy your application to several instances be sure to use the same key!
play.http.secret.key="$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1)"
_EOF_
) | sudo tee -a /etc/cortex/application.conf
tail -f /var/log/cortex/application.log
Si la page de maintenance ne se charge pas par défaut, entrezhttp://IP:9001/index.html#!/maintenance
Regardez la vidéo ci-dessus pour savoir comment créer votre première organisation et comment activer vos analyseurs et répondeurs.
Conclusion
Cortex offre une plate-forme puissante et flexible pour automatiser les renseignements et la réponse aux menaces. Grâce à sa capacité à s'intégrer à une large gamme d'outils et de services de sécurité, les utilisateurs peuvent automatiser de nombreux aspects de leurs opérations de sécurité, réduisant ainsi la charge de travail et augmentant l'efficacité. La conception extensible de la plate-forme et le puissant moteur de script offrent également un haut degré de flexibilité, permettant aux équipes de sécurité de personnaliser Cortex en fonction de leurs besoins spécifiques. Cortex est un outil précieux pour toute organisation cherchant à améliorer sa posture de sécurité et à répondre rapidement et efficacement aux menaces.
Besoin d'aide?
Les fonctionnalités décrites dans cet article, et bien plus encore, sont disponibles via les services professionnels de SOCFortress. Laissez SOCFortress vous aider, vous et votre équipe, à sécuriser votre infrastructure.
Site Internet:https://www.socfortress.co/
Services professionnels:https://www.socfortress.co/contact_form.html
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































