Maison > Article > Périphériques technologiques > Comment utiliser ChatGPT pour améliorer le niveau d'intelligence de la détection de sécurité
ChatGPT est basé sur l'architecture Transformer, qui est un réseau neuronal profond qui utilise un mécanisme d'auto-attention pour traiter les données d'entrée. L'architecture Transformer est largement utilisée dans les tâches de traitement du langage naturel telles que la traduction, le résumé de texte et la réponse aux questions. ChatGPT utilise le modèle de langage large GPT-3.5 (modèle de langage large LLM) et, sur la base de ce modèle, un apprentissage par renforcement est introduit pour affiner le modèle de langage pré-entraîné. L'apprentissage par renforcement utilise ici le RLHF (Reinforcement Learning from Human Feedback), qui est une méthode d'annotation manuelle. L'objectif est de permettre au modèle LLM d'apprendre à comprendre diverses tâches de traitement du langage naturel grâce à son mécanisme de récompense et de punition, et d'apprendre à juger quels types de réponses sont de haute qualité à partir des trois dimensions de l'utilité, de l'honnêteté et de l'inoffensive.
Le processus de formation principal du modèle ChatGPT est le suivant :
Utilisez d'abord une série de questions et les réponses à la formation supervisée du modèle (également appelée mise au point de l'instruction de supervision).Comment effectuer une détection de sécurité
Le cœur de la détection actuelle des attaques de réseau grand public est la détection de l'accès HTTP (WAF) développée sur la base de la technologie DPI et la détection de prévention des intrusions (IPS) du système d'exploitation. Autrement dit, il est déployé avant l'application, analyse et filtre les demandes des utilisateurs avant qu'elles n'atteignent le serveur, analyse et vérifie les paquets réseau demandés par chaque utilisateur, garantit la sécurité et l'efficacité de chaque demande et intercepte ou intercepte les demandes invalides ou offensantes. isolement. Actuellement, les méthodes de détection d'attaques couramment utilisées sont les suivantes :
1 Technologie de détection de signature
2. Technologie d'analyse du trafic
3. Technologie d'analyse du comportement
4. Correspondance de règles sémantiques
En plus de ces restrictions d'utilisation, il existe de nombreuses façons de contourner le moteur d'analyse du trafic pour les intrusions basées sur la méthode de détection du moteur DPI. Par exemple, profitant de l'éventuelle faille d'analyse du protocole HTTP dans le moteur DPI, il reconnaît uniquement le port 80 comme trafic HTTP. Si le port de l'application Web est sur 8080, son trafic HTTP sera analysé par le moteur DPI comme non HTTP. contournant ainsi la détection des attaques de la couche application.
Nous suivons le processus de déballage du moteur DPI pour analyser le trafic d'origine en données de champ clés et effectuer une correspondance de règles. Si la règle peut correspondre, cela signifie que le paquet contient un comportement d'attaque ; si elle ne peut pas correspondre, cela signifie que le risque du paquet est faible. Le trafic reçu par le moteur DPI est le suivant :
Le moteur DPI regroupera le trafic en fonction des sessions. Les messages d'un même groupe sont généralement des messages de réponse à des demandes du même cinq-tuple :
Le DPI. Le moteur démontera le trafic en fonction du niveau de protocole jusqu'à ce que tous les champs soient analysés.
Le moteur DPI extraira la requête en texte brut de la couche d'application comme contenu à détecter :
ChatGPT, en tant que modèle de traitement du langage naturel à grande échelle, peut comprendre les informations du message HTTP d'origine, de sorte que peu importe où l'attaque apparaît dans l'URL, les cookies ou le référent, peuvent être détectés avec succès.
ChatGPT, New Bing et d'autres modules de jugement d'attaque appelleront les interfaces API liées à OpenAI et utiliseront des questions pour permettre à ChatGPT, New Bing, etc. de porter des jugements d'attaque. Le code est le suivant :
import openai openai.api_key = "sk-Bew1dsFo3YXoY2***********81AkBHmY48ijxu"# api token 用来认证 def get_answer(prompt, max_tokens): # 定义一个获取答案的函数 try: response = openai.Completion.create( model = "text-davinci-003", # 模型名称 prompt = prompt,# 问题 temperature = 0.7, max_tokens = max_tokens,# 返回内容的长度限制 stream = False, # False就是一次性返回, True 就是一个个打出来像打字机, 返回的是迭代器, 需要后面代码处理. 此处没有处理 所以用False top_p = 1, frequency_penalty = 0, presence_penalty = 0 ) return 0, response['choices'][0]['text'].strip()# 获取返回值关键返回内容 except Exception as e:# 异常处理 return str(e), None
. Grâce à la fonction ci-dessus, vous pouvez obtenir un effet similaire à celui de poser des questions à ChatGPT (le modèle utilisé est text-davinci-003), comme indiqué ci-dessous :
ChatGPT renverra une conclusion claire quant à savoir s'il y a une attaque. comportement et une description du comportement, complétant ainsi un juge d'attaque.
Comme le montre l'image ci-dessus, un grand nombre de requêtes qui doivent être jugées dans le trafic peuvent être stockées dans différents fichiers, et ChatGPT peut effectuer un jugement d'attaque. L'exemple de code est le suivant :
def main(read_dir = 'detect'):# 定义main函数 args = []# 缓存列表 global sign_req, all_req# 识别计数 for rf in walk_dir(read_dir, ['.txt']):# 遍历待检测目录 all_req += 1# 总数据包数自增1 content = read_fileA(rf, 'str')[:2048]# 提取报文文件前2048个字符 key_content = content.split('rnrnrn')[0][:1024]# 提取http请求 if len(key_content) < 10: continue# 如果长度太小就不检测 err, sign, disc = judge_attack(key_content, rf_rst)# 调用ChatGPT接口进行攻击检测 if sign: sign_req += 1# 如果检测到攻击, 攻击计数自增1 print('r' + f' 已检测 {all_req: 4} 个报文, 识别到攻击 {sign_req} 个, 检出率: {sign_req/all_req:0.2%}', end='', flush=True) # 打印结论
In. de cette façon, la détection des attaques par messages par lots peut être obtenue.
Les échantillons d'attaque proviennent de l'analyse des machines cibles par Nuclei et de la détection complète du PoC, car il existe certaines requêtes pour lesquelles il est vraiment difficile de dire s'il existe une menace à partir d'un seul message.
La situation ci-dessus peut nécessiter plus de contexte pour être jugée. Cette fois, nous avons supprimé les exemples de requêtes qui ne peuvent pas être jugés avec précision et essayons de donner quelques exemples qui peuvent être jugés avec précision dans des conditions artificielles. suit :
On peut voir que la précision de la détection du trafic de ChatGPT est très élevée, ce qui équivaut fondamentalement au jugement rapide d'un expert en sécurité. Ses capacités de détection de sécurité méritent d'être attendues.
Les lecteurs intéressés peuvent consulter le code source complet du projet, le lien est : https://github.com/VitoYane/PcapSplit
À l'avenir, quel rôle ChatGPT jouera-t-il dans la sécurité des réseaux ? Il est difficile de prédire avec précision quel sera l’impact, car cela dépend de la manière dont l’information sera utilisée et de l’intention de son utilisation. Les menaces liées à l'intelligence artificielle ne sont pas un problème nouveau. Il est important que les praticiens de la cybersécurité soient conscients des risques potentiels de ChatGPT en temps opportun et prennent les mesures appropriées pour y faire face.
Les experts en sécurité prédisent que les pirates informatiques soutenus par l'État seront les premiers à utiliser ChatGPT dans les attaques de réseau, et que la technologie sera finalement utilisée à grande échelle par davantage d'organisations d'attaque. Les défenseurs doivent commencer à développer des systèmes capables de résister à de telles attaques.
Du point de vue de la protection de la sécurité du réseau, les entreprises peuvent prendre des contre-mesures ciblées, former ChatGPT et d'autres modèles similaires, marquer les activités malveillantes et les codes malveillants et mettre en place des garde-fous difficiles à contourner. Pour les menaces causées par ChatGPT, une nouvelle formation de sensibilisation à la cybersécurité peut être dispensée aux employés pour acquérir les connaissances nécessaires pour identifier les attaques d'ingénierie sociale afin d'identifier les attaques de phishing créées par des outils d'intelligence artificielle tels que ChatGPT.
Bien sûr, cela ne suffit pas. Les outils d’intelligence artificielle tels que ChatGPT créeront de nouvelles menaces plus rapidement que les criminels humains et propageront les menaces plus rapidement que le personnel de cybersécurité ne peut y répondre. La seule façon pour les organisations de suivre ce rythme de changement est de répondre à l’IA par l’IA.
En résumé : d'une part, les chercheurs, les praticiens, les établissements universitaires et les entreprises du secteur de la cybersécurité peuvent tirer parti de la puissance de ChatGPT pour innover et collaborer, notamment en matière de découverte de vulnérabilités, de réponse aux incidents et de détection de phishing ; , avec le développement d'outils tels que ChatGPT, il sera encore plus important de développer de nouveaux outils de sécurité réseau à l'avenir. Les fournisseurs de sécurité devraient être plus actifs dans le développement et le déploiement d’outils de sécurité d’IA basés sur le comportement (plutôt que sur des règles) pour détecter les attaques générées par l’IA.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!