微軟推出AI惡意軟件檢測智能體 Project Ire

開篇

在8月5號,微軟研究院發布了一篇博客文章,在該篇博客中推出了一款名為Project Ire的AI Agent。該Agent可以在無需人類協助的情況下,自主分析和分類二進制文件。它可以在無需了解二進制文件來源或用途的情況下,對文件進行完全的逆向工程,然后利用LLM來審查逆向后的輸出內容,并確定軟件是惡意的還是良性的。

我們知道,針對二進制的分析工作極具挑戰性,因為它不像腳本文件那樣能夠直接的看到代碼意圖。通常需要使用逆向工具,從匯編代碼或者反編譯后的偽代碼中去抽絲剝繭,總結出二進制文件的實際行為。

目前Project Ire還處于原型階段,據稱在使用 Windows 驅動程序的公共數據集上進行測試,能達到 0.98 的精確度和 0.83 的召回率,這在二進制分析領域已經可以算是很高的了。

遍歷已有

事實上,隨著MCP協議的出現,各類逆向MCP Server也如雨后春筍般層出不窮。
比如github上Ghidra逆向工具的MCP Server就有多個repo。
在這里插入圖片描述
筆者嘗試了其中的一些,發現它們的功能基本大同小異。都是通過IDA Pro或者Ghidra的插件能力,在實現的插件中啟動http server對外暴漏了一些逆向的基本tools(工具),比如下面是Ghidra暴漏的一些tools,包括列舉出二進制文件的所有函數(list_functions)、反編譯指定函數(decompile_function)等等。
在這里插入圖片描述

然后隨便分析了一個惡意的二進制文件:
在這里插入圖片描述

可見其調用了Ghidra MCP Sverver提供的工具來獲取該二進制文件的信息。然后綜合判斷后給出了下面的結論:
在這里插入圖片描述
很可惜,大模型并沒有分析出其包含的惡意行為。

簡單的AI Agent可以提高人類分析二進制文件的效率,但不能把判斷權完全交給大模型。

筆者嘗試過讓大模型分析反匯編后的函數匯編代碼,大模型的表現非常敏感,經常會出現誤報的情況,一個正常函數也會被認為存在惡意行為。無論怎么調整提示詞也無法達到一個理想狀態。

所以,微軟推出的Project Ire并不是一個簡單的AI Agent,能達到98%的準確率肯定是有其獨特的技術創新和深度優化。

Project Ire

Project Ire 誕生于微軟研究院、Microsoft Defender和Microsoft Discovery & Quantum 的合作,匯集了安全專業知識、安全運營知識、全球惡意軟件威脅情報以及人工智能研究。

Microsoft Discovery是2025年微軟推出的面向企業的AI科研平臺。該平臺集成了多種專業的 AI 模型與工具,其主要特點是具備高度的可擴展性。

它建立在 GraphRAG (知識圖譜+RAG)和 Microsoft Discovery 的基礎之上,使用高級大語言模型以及一套逆向和二進制分析工具來推動調查和判斷。

逆向工具會識別文件類型、結構以及潛在的關注點。之后,系統會使用angr和Ghidra等二進制分析框架重建二進制文件的控制流圖。這些構建的成果構成了Project Ire 內存模型的Graph,用于指導后續分析工作。

通過迭代函數進行分析,LLM 通過 API 調用二進制分析工具來識別和總結關鍵函數。每個分析的結果都會被輸入到“證據鏈”中,這是一個詳細且可審計的線索,展示了Project Ire是如何得出結論的。這份可追溯的證據日志支持安全團隊進行二次審查,并有助于在出現錯誤分類的情況下改進系統。

為了驗證其分析結果,Project Ire 可以調用一個驗證工具,根據證據鏈對分析報告中的內容進行交叉核對。該工具借鑒了 Project Ire 團隊惡意軟件逆向工程師的專家知識。系統會根據這些證據及其內部模型,創建最終報告,并將樣本分類為惡意或良性。

總結

基于LLM的AI Agent是AI時代進行二進制文件分析的重要工具,Project Ire作為微軟在這一領域的杰出代表,是網絡安全和惡意軟件檢測領域的一大進步。

但也要看到這類AI工具的局限性,降低誤報率依舊是個大難題,仍然需要人類分析師參與其中。

不過以目前AI領域的發展速度,有理由相信,在不久的將來,AI工具在二進制文件分析上的表現將會取得質的飛躍。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/93053.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/93053.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/93053.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

哪些對會交由SpringBoot容器管理?

在 Spring Boot 中,交由容器管理的對象通常稱為“Spring Bean”,這些對象的創建、依賴注入、生命周期等由 Spring 容器統一管控。以下是常見的會被 Spring Boot 容器管理的對象類型及識別方式: 一、通過注解聲明的組件(最常見) Spring Boot 通過類級別的注解自動掃描并注…

Android POS應用在android運行常見問題及解決方案

概述 本文檔記錄了在Android POS應用開發過程中遇到的兩個關鍵問題及其解決方案: UnsatisfiedLinkError: couldnt find "libnative.so" 錯誤ActivityNotFoundException 錯誤商戶信息一致性檢查繞過 問題1:UnsatisfiedLinkError - libnative.so…

基于SpringBoot的旅游網站系統

1. 項目簡介 旅游線路管理系統是一個基于Spring Boot的在線旅游服務平臺,提供旅游線路展示、分類、預訂、訂單管理等功能。系統包含前臺用戶界面和后臺管理模塊,支持用戶注冊登錄、線路瀏覽、收藏、下單支付、客服咨詢等核心功能。管理員可管理線路信息、…

CVPR 2025 | 機器人操控 | RoboGround:用“掩碼”中介表示,讓機器人跨場景泛化更聰明

點擊關注gongzhonghao【計算機sci論文精選】1.導讀1.1論文基本信息論文標題:ROBOGROUND: Robotic Manipulation with Grounded Vision-Language Priors作者:Haifeng Huang, Xinyi Chen, Hao Li, Xiaoshen Han, Yilun Chen, Tai Wang, Zehan W…

構建Node.js單可執行應用(SEA)的方法

如果為了降低部署復雜度,可以考慮使用vercel/ncc。除非有特別理由,不建議使用SEA。1. 環境準備1.1. 基礎要求Node.js: > 19.0.0 (推薦最新LTS版本)1.2. 安裝依賴npm install postject typescript1.3. 驗證環境node -v # 確認版本 > 19 ts…

Java19 Integer 位操作精解:compress與expand《Hacker‘s Delight》(第二版,7.4節)

compress(int i, int mask) 這個方法是Java 19中新增的一個強大的位操作函數。compress 方法的核心功能可以理解為 “按位過濾和壓縮” 。過濾 (Filter): 它使用 mask(掩碼)作為過濾器。對于輸入整數 i,只有那些在 mask 中對應位為 1 的比特才…

minio部署和雙機熱備

安裝單機版MinIO(準備2臺機器A、B,A、B服務器操作一致)切換目錄并下載MinIO二進制文件cd /usr/local/bin wget https://dl.minio.org.cn/server/minio/release/linux-amd64/minio chmod x minio編輯配置文件vi /etc/default/minio.confMINIO_VOLUMES&quo…

【Java】 Java 21 革命性升級:虛擬線程與結構化并發的深度實踐指南

還在為高昂的AI開發成本發愁?這本書教你如何在個人電腦上引爆DeepSeek的澎湃算力! Java 21 作為 Oracle JDK 的長期支持版本,引入了多項革命性特性,其中虛擬線程(Virtual Threads)和結構化并發(Structured Concurrency)尤為突出。這些特性旨在解決傳統線程模型在高并發…

Apache IoTDB 全場景部署:基于 Apache IoTDB 的跨「端-邊-云」的時序數據庫 DB+AI

Apache IoTDB 全場景部署:基于 Apache IoTDB 的跨「端-邊-云」的時序數據庫 DBAI 文章目錄Apache IoTDB 全場景部署:基于 Apache IoTDB 的跨「端-邊-云」的時序數據庫 DBAIApache IoTDB 介紹Docker部署指導企業版數據庫配套工具 WorkbenchTimechoDB&…

計算機網絡---傳輸控制協議Transmission Control Protocol(TCP)

一、TCP的定位與核心特性 TCP(Transmission Control Protocol,傳輸控制協議)是TCP/IP協議棧中傳輸層的核心協議,與UDP(用戶數據報協議)共同承擔端到端數據傳輸功能。其設計目標是在不可靠的IP網絡上提供可靠…

week1-[分支嵌套]公因數

week1-[分支嵌套]公因數 題目描述 給定 444 個正整數 a,b,c,ka,b,c,ka,b,c,k。如果 a,b,ca,b,ca,b,c 都是 kkk 的倍數,那么稱 kkk 是 a,b,ca,b,ca,b,c 的公因數。否則如果某兩個數都是 kkk 的倍數,那么稱 kkk 是這兩個數的公因數。問 kkk 是哪些數的公因…

C#枚舉/結構體講一講

先展示一段簡單代碼// 定義枚舉 public enum thisday {吃飯,不吃 }// 定義結構體 public struct person {public string name;public int age;public thisday zhuangtai; // 使用枚舉類型作為字段 }static void Main(string[] args) {// 創建結構體實例person thisperson;thisp…

C++-setmap詳解

Cset&map 1. 序列式容器和關聯式容器 1.1 序列式容器 序列式容器按照線性順序存儲元素,元素的位置取決于插入的時間和位置,與元素的值無關。 主要特點:元素按插入順序存儲可以通過位置(索引)直接訪問元素不自動排序…

解決程序連不上RabbitMQ:Attempting to connect to/access to vhost虛擬主機掛了的排錯與恢復

前言:在分布式系統里,RabbitMQ作為消息中間件,是服務間通信的關鍵紐帶。但實際使用中,程序連接RabbitMQ失敗的情況時有發生。本文結合真實報錯,細致呈現從問題發現到解決的完整排錯思路,還會深入講解Rabbit…

K8S中如何配置PDB(Pod Disruption Budget)

1. PDB 核心概念作用:控制自愿中斷(如節點升級、縮容)期間,應用的最小可用副本數或最大不可用比例。關鍵參數:minAvailable:必須保持運行的 Pod 數量(如 2 或 50%)。maxUnavailable&…

從 0 到 1:用 MyCat 打造可水平擴展的 MySQL 分庫分表架構

一、為什么要分庫分表? 單機 MySQL 的極限大致在:維度經驗值單表行數≤ 1 000 萬行(B 樹三層)單庫磁盤≤ 2 TB(SSD)單機 QPS≤ 1 萬(InnoDB)當業務繼續增長,數據量和并發…

電池模組奇異值分解降階模型

了解如何將奇異值分解 (SVD) 降階模型 (ROM) 應用于電池模塊熱模擬。挑戰隨著電池模塊在電動汽車和儲能系統中的重要性日益提升,其熱性能管理也成為一項重大的工程挑戰。高功率密度會產生大量熱量,如果散熱不當,可能導致電池性能下降、性能下…

《Python函數:從入門到精通,一文掌握函數編程精髓》

堅持用 清晰易懂的圖解 代碼語言,讓每個知識點變得簡單! 🚀呆頭個人主頁詳情 🌱 呆頭個人Gitee代碼倉庫 📌 呆頭詳細專欄系列 座右銘: “不患無位,患所以立。” Python函數:從入門到…

【記錄貼】STM32 I2C 控制 OLED 卡死?根源在 SR1 與 SR2 的讀取操作

問題描述最近在復用以前STM32F407控制OLED的代碼,移植到STM32F103 上,使用硬件 I2C 通信方式。按照常規流程,先發送 OLED 的從機地址,OLED 有正常應答,但當發送第一個控制命令(0xAE)前的控制字節…

【AI驅動的語義通信:突破比特傳輸的下一代通信范式】

文章目錄1 語義通信簡介1.1 基本概念:什么是語義通信?語義通信的核心目標1.2 基本結構:語義通信系統結構語義通信系統的通用結構組成語義通信系統的結構關鍵模塊1.3 基于大模型的語義通信關鍵技術🧠語義通信系統中AI大模型的設計建…