TW201633747A - 利用運行期代理器及網路探查器判定漏洞之技術 - Google Patents

利用運行期代理器及網路探查器判定漏洞之技術 Download PDF

Info

Publication number
TW201633747A
TW201633747A TW104139133A TW104139133A TW201633747A TW 201633747 A TW201633747 A TW 201633747A TW 104139133 A TW104139133 A TW 104139133A TW 104139133 A TW104139133 A TW 104139133A TW 201633747 A TW201633747 A TW 201633747A
Authority
TW
Taiwan
Prior art keywords
network
aut
runtime agent
security test
engine
Prior art date
Application number
TW104139133A
Other languages
English (en)
Other versions
TWI603600B (zh
Inventor
歐薇若 慕諾茲
沙西S 慕瑟拉賈
Original Assignee
惠普發展公司有限責任合夥企業
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 惠普發展公司有限責任合夥企業 filed Critical 惠普發展公司有限責任合夥企業
Publication of TW201633747A publication Critical patent/TW201633747A/zh
Application granted granted Critical
Publication of TWI603600B publication Critical patent/TWI603600B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

此處揭示之具體實施例係有關於在一安全性測試期間使用一運行期代理器及網路探查器判定一受測應用程式的漏洞。一運行期代理器監視一受測應用程式的執行。一網路探查器係用以識別一探針值用於該漏洞的判定。

Description

利用運行期代理器及網路探查器判定漏洞之技術
本發明係有關於利用運行期代理器及網路探查器判定漏洞之技術。
發明背景
軟體安全性測試係用以識別於一應用程式諸如網路應用程式中之漏洞。傳統用於以網路為基的軟體之黑箱安全性測試係藉使用一安全性測試應用程式工作,通稱為掃描器,其係用作為攻擊者。於一黑箱辦法中,該掃描器探勘一受測應用程式(AUT)之方式係藉做出超文字傳輸協定(HTTP)請求,及評估HTTP回應,以便找到該AUT接受輸入該處的全部統一資源定位器(URL)。該AUT接受輸入該處的該等URL可稱作為該AUT的攻擊表面。然後,掃描器基於該攻擊表面及漏洞的可能分類而產生攻擊。掃描器施加攻擊,藉由評估該程式的HTTP回應而診斷漏洞的存在與否。
依據本發明之一實施例,係特地提出一種計算系統其包含:一運行期代理器引擎用以於一安全性測試期間 監視於一伺服器執行的一受測應用程式(AUT);一網路探查器引擎,其中該運行期代理器引擎自該安全性測試接收一可識別探針值的一通知,其中該運行期代理器引擎通訊該可識別探針值給該網路探查器引擎,其中該網路探查器引擎監視來自該AUT的通訊流通量,其中該網路探查器引擎識別該可識別探針值,其中該網路探查器引擎提供該可識別探針值被識別的一指示給該運行期代理器引擎,及其中該運行期代理器引擎提供該指示給該安全性測試,及其中該安全性測試係用以至少部分地基於該指示而判定一潛在AUT漏洞。
100、200、400、600‧‧‧計算系統
110‧‧‧計算裝置
120‧‧‧安全性測試引擎
140‧‧‧伺服器
142、240‧‧‧受測應用程式(AUT)
144‧‧‧運行期代理器引擎
146‧‧‧網路探查器引擎
210‧‧‧掃描器
250‧‧‧運行期代理器
270‧‧‧網路探查器
272‧‧‧網路收聽器
280‧‧‧應用程式請求
282‧‧‧應用程式回應
284‧‧‧探針請求
286‧‧‧探針回應
288‧‧‧軌跡請求
290‧‧‧軌跡回應
292‧‧‧攻擊請求
294‧‧‧攻擊回應
300、500‧‧‧方法
302-310、502-510‧‧‧方塊
410、610‧‧‧處理器
420、620‧‧‧機器可讀取儲存媒體
422‧‧‧AUT指令
424‧‧‧運行期代理器指令
426‧‧‧網路探查器指令
622‧‧‧安全性測試指令
624‧‧‧攻擊指令
626‧‧‧稽核指令
後文詳細說明部分參考附圖,附圖中:圖1為依據一個實施例能夠判定一潛在安全性漏洞的一計算系統之方塊圖;圖2為依據一個實施例能夠判定一潛在安全性漏洞的一計算系統之方塊圖;圖3為依據一個實施例一種藉由識別一可識別探針值是否已出現在離開一受測應用程式的通訊用於輔助一安全性測試的一方法之流程圖;圖4為依據一個實施例一種藉由識別一可識別探針值是否已出現在離開一受測應用程式的通訊用於輔助一安全性測試的一計算裝置;圖5為依據一個實施例找出與確認一漏洞的一方法之流程圖;及 圖6為依據一個實施例能夠找出與確認一漏洞的一計算裝置。
較佳實施例之詳細說明
一網路應用程式漏洞掃描器乃用於識別於一網路應用程式中的漏洞的辦法。一掃描器始於蠕動該受測應用程式(AUT)以識別該攻擊表面。一運行期代理器可安裝在該應用程式伺服器上以輔助執行一安全性測試。
如此處描述,此處稱作為一運行期代理器的一軟體程式係用以觀察由該AUT執行的該等內部操作。軟體可由硬體執行。運行期代理器使得掃描器能判定AUT的操作及回應於攻擊其如何表現。運行期代理器也使得掃描器能判定回應於正常應用程式請求AUT的表現,掃描器可用來判定欲發送哪些類型的攻擊。掃描器繼續發送攻擊給AUT,及掃描器自運行期代理器接收該AUT的內部工作的知識。藉此方式,掃描器可找到更多漏洞,及產生更佳的漏洞報告,藉此提供更全面性的更詳細的以網路為基之應用程式的軟體安全性測試。
檢測發生在一AUT的伺服器端之安全性敏感事件乃富挑戰性的任務。其原因在於該事件的結果並不反映在回應上。黑箱掃描器仰賴發送給伺服器/AUT的請求,及掃描器接收自該伺服器/AUT的回應,以便推斷在模型化為黑箱的該運作應用程式中的漏洞。
今日企業部署的許多應用程式包含多層及多個 組件,及通常部署於內部網路而與多種其它伺服器互動,諸如郵件伺服器、資料庫、輕量目錄存取協定(LDAP)伺服器、內部網路服務等。此等其它伺服器可能易受伺服器端請求偽造攻擊。利用伺服器端請求偽造攻擊,一攻擊者可槓桿運用應用程式如何處理使用者控制的資料而精心製作成與發送請求給另一個內部伺服器。
檢測一攻擊者可能影響如何做出此等連結或檢測攻擊者是否能劫持該等連結,及指向該等連結用以仲裁於內部或外部網路的伺服器,用於防止此等伺服器受損是有用的。網路應用程式與內部伺服器通訊以完成其任務。針對應用程式安全性的挑戰係用於檢測何時一外部攻擊者可能影響、修正、或完全劫持此等連結。
於黑箱測試情況下,由於此等攻擊的結果為客戶所未知,難以證實攻擊是否成功。靜態分析及運行期分析乃也屬檢測漏洞的辦法。但靜態分析及運行期分析兩者需要事先知曉哪些功能應用程式規劃介面(API)能夠用以設定一連結或發送請求給不同的伺服器。此點相當耗時,原因在於可能需要個別識別用於此等目的的大量API。此點將接著為針對靜態或運行期平台手動書寫規則的工作以檢測此等調用。
又,於某些情況下,甚至不可能正確地檢測通訊串流。舉例言之,若應用程式啟用了與一遠端點的原始插座連結,則靜態分析器將不可能檢測確切的通訊類型。
因此,優異地需要能夠識別如何(例如,哪些協 定)及何時AUT與其它組件互動,以便識別一攻擊者是否掌控該等連結(例如,伺服器端請求偽造)或以便深入探索被傳輸的訊息內容(例如,找出一電子郵件是否發送給使用者而其密碼為透明)。雖然分析各個API為可能,但耗時、繁瑣、且不夠普遍性以支援全部可能的情況。
據此,此處各種實施例描述分析此種行為的通用方式。此處實施例使用一安全性測試諸如,動態掃描器、安裝於應用程式伺服器內部的運行期代理器引擎、及網路探查器用以追蹤進出該應用程式伺服器的網路連結。動態掃描器當作為客戶時可識別資訊,及遞交獨特可識別探針給伺服器。在伺服器內部的運行期代理器追蹤此等探針,及將其目前數值通知網路探查器。
網路探查器用以監視輸入及輸出的網路連結,及檢視有關由運行期代理器提供的已知探針值。若網路探查器(例如,透過網路封包檢查)找到該等探針值用在統一資源定位器(URL)或訊息本體的證據,則其將通知該運行期代理器以傳遞該資訊給該安全性測試。安全性測試可將此列入可能的漏洞。安全性測試也可精心製作新穎封包以嘗試危害伺服器,例如,嘗試劫持連結(伺服器端請求偽造)或處理與分析訊息內容以便檢測安全性敏感細節,例如,由「復置或忘記密碼特性件」發送的電子郵件、後端網路服務連結、RESTful操作等。網路探查功能可由硬體執行的軟體實施或實施為硬體。又復,網路探查功能可於伺服器上實施或實施為分開裝置。
採用此等辦法,源自於應用程式的網路流通量可用以識別哪些連結可由攻擊者控制。又,此處討論之實施例可用以識別攻擊者酬載反映在連結目的地或被傳輸的資料。再者,可將此等細節通訊返回一安全性測試用以起始第二階掃描成各種後端服務。
雖然此種辦法的一個目標係識別可由攻擊者操控或劫持的不安全性通訊,但此等辦法也可用以檢查明文/加密資料庫連結或以合法方式使用的其它協定,於該處攻擊者已經注入惡意酬載。又復,藉由檢查從該應用程式輸出的通訊串流本體,將可能檢查蓄意的或無意間洩漏的敏感資訊。
於一特定實施例中,伺服器端請求偽造(SSRF)可以是欲檢測的漏洞。為了本例之目的,使用擴充性標記語言(XML)外部實體注入(XXE)。一XXE漏洞為若在XML文件中一資源被宣告為一實體,則XML處理器藉由讀取該資源而擴充此一實體,但未驗證其存取範圍。舉例言之:<?xml encoding=’utf-8’?>
<!DOCTYPE test(<!ENTITY ent‘test’>]>
<tag>&ent;</tag>
於前述實施例中,XML實體「&ent;」以在實體宣告中宣告的文字「test」置換。概略言之,一實體可視為在XML文件中被置換的一恆定字符串。以下為另一實施例顯示以另一種方式使用XML。
<?xml encoding=’utf-8’?>
<!DOCTYPE test[<!ENTITY ent SYSTEM‘/etc/passwd’>]>
<tag>&ent;</tag>
於前述實施例中,實體指向電腦中的一檔案。於此種情況下,因被宣告為「SYSTEM」,實體以被宣告的檔案的實際內容置換。現在,以SSRF為例,相同概念可用以指稱在機器外部的一資源,例如,URL。
<?xml encoding=’utf-8’?>
<!DOCTYPE test[<!ENTITY ent SYSTEM ‘http://[mail.example]’>]>
<tag>&ent;</tag>
於此種情況下,當XML實體獲得擴充時,被宣告的URL到達外部。SSRF攻擊的步驟可始於本體內含有XML的POST請求。然後,惡意攻擊者諸如客戶或使用者修改XML包括指向內部伺服器的外部實體。當XML係由脆弱易被入侵的應用程式處理時,並不驗證該實體,及因而請求由攻擊者提供的URL。結果可能於回應中直接回送,或因攻擊所致可能發生的其它結果。結果可取決於AUT本身。因攻擊結果為不可靠,可有利地使用如此處討論的運行期代理器及網路探查器。此種攻擊可用以掃描內部專用網路是否存在有各種資源。於某些情況下,也可用以自網路提取出敏感資料。此點為可能,原因在於脆弱AUT引發第二連結。因該脆弱AUT係位在內部網路內,通常在其防火牆後方,故攻擊者能承繼施加至該脆弱應用程式之網路連接性。
圖1為依據一個實施例能夠判定一潛在安全性漏洞的一計算系統之方塊圖。計算裝置110及伺服器140包括組件其可用以在一受測應用程式142上進行安全性測試。個別裝置110、140可以是筆記型電腦、桌上型電腦、伺服器、工作站、或能夠執行引述功能的任何其它計算裝置。於某些實施例中,伺服器140為可回應於電腦網路上的請求以提供或協助提供網路服務。於某些實施例中,計算裝置110可包括一安全性測試引擎120(例如,掃描器),能夠在AUT 142上進行安全性測試。伺服器140可包括該受測應用程式142、一運行期代理器引擎144、一網路探查器引擎146。計算裝置110與伺服器140間之通訊係使用請求-回應協定諸如超文字傳輸協定(HTTP)進行。
安全性測試引擎120能在AUT諸如掃描器上進行安全性測試。安全性測試引擎120負責蠕動該應用程式及模糊測試參數用以尋找AUT 142中的漏洞。當運行期代理器引擎144係安裝在伺服器140上時,安全性測試引擎120發送額外指令給運行期代理器引擎144,使得運行期代理器引擎144能發揮其功能。
安全性測試引擎120發送稱作可識別探針值(IPV)的特別值為獨特可識別字符串,運行期代理器引擎144將能夠容易地追蹤、識別、及與網路探查器引擎146分享該字符串。此等可發送為通知,如於圖2中進一步描述。再者,於若干實施例中,IPV可以是基於一圖樣可識別的已知值。如此,於若干實施例中,IPV可以基於德布魯因(De Bruijn)圖 樣。如此,一探針的子字符串可識別為一完整探針的部分。又,可推斷在一封包內擷取的該部分之一偏移值。
含有此等獨特IPV的各項請求可由對運行期代理器引擎144的一軌跡請求追蹤,請求於應用程式請求之執行期間由運行期代理器引擎144所收集的資訊。然後,收集的資訊可儲存於與安全性測試引擎120相關聯的一儲存裝置,讓其可供後來使用。
安全性測試引擎120發送一請求通知附有一備註觀察一給定IPV。然後,運行期代理器引擎144可將該(等)IPV通訊給網路探查器引擎146用於封包檢驗及匹配。
網路探查器引擎146將自AUT 142探查與分析通訊串流或資料流,及檢驗由安全性測試引擎120發送的針對已知IPV進入或離開該應用程式的該等封包。
若網路探查器引擎146檢測得包括所提供的IPV於該URL或內容的一封包,則其將發送或提供有關該封包的資料回送給運行期代理器引擎144。該資訊可包括IPV經識別的一指示。於若干實施例中,整個封包可回送提供給運行期代理器引擎144(例如,作為指示的部分)用於分析,及該等細節可回送到安全性測試引擎120用於進一步分析(例如,判定、確認、或評分一漏洞)。於若干實施例中,該指示及/或其它資訊可透過運行期代理器引擎144提供回安全性測試引擎120。
於某些實施例中,網路探查器引擎146可攔截及登錄通過一網路(例如,數位網路)或一網路部分的資料通 量。當資料串流流出AUT 142及/或伺服器140而流入網路時,探查器可擷取封包。網路探查器引擎146也可解碼封包的原始資料以顯示各個欄位值(例如,標頭、酬載等基於多個已知協定簽章)。又,網路探查器引擎146可分析欄位以判定該內容部分是否匹配IPV。
於若干實施例中,安全性測試引擎120可包括一稽核引擎(圖中未顯示)用以識別漏洞。多個稽核引擎可存在於安全性測試引擎,及各個引擎可負責執行給定類型的任務/攻擊。舉例言之,網路稽核引擎可負責分析來自運行期代理器引擎144的回應,及若有所需,將一漏洞加旗標。如此,安全性測試引擎可基於經識別的IPV之指示而判定一潛在AUT 142漏洞。
網路稽核引擎可自相關聯的儲存裝置讀取,及檢視具有敏感資訊的全部蠕動請求及其對應軌跡回應。若一軌跡回應包括有關網路連結的存在的資訊而其URL或內容受到由安全性測試引擎120發送的IPV的影響,則網路稽核引擎從事進一步分析以判定一漏洞。其可尋找的若干情況如下:檢測伺服器端請求偽造攻擊(例如,檢測源自於具有受污染資料的AUT的連結(基於掃描IPV));檢測對郵件伺服器的受污染連結,其可由連結至簡易郵件傳輸協定(SMTP)伺服器的一原始插座進行而非使用郵寄API;檢測對後端網路服務的受污染連結;檢測對混搭的受污染連結;檢測對資料庫的受污染連結;檢測對RESTful API的受污染連結等。
於某些實施例中,系統100可使用一網路收聽器(圖中未顯示)以確認一漏洞。網路收聽器為一收聽裝置,其可存在於伺服器140上,且可由運行期代理器引擎144控制。來自安全性測試引擎120的攻擊酬載可能試圖迫使AUT142發送一或多個請求給網路收聽器。如此,安全性測試引擎120可產生一攻擊向量以試圖使得AUT而與網路收聽器通訊。若攻擊成功,則網路收聽器將接收該請求。網路收聽器可將該請求的存在通訊給運行期代理器,其可指示或發送該資訊給安全性測試引擎120。
安全性測試引擎120可產生漏洞報告。於一個實施例中,若因IPV係使用網路探查器引擎146檢測得而出現可能的漏洞,則安全性測試引擎120可將其涵括於報告作為AUT 142的一可能的或潛在的漏洞。若接收確認網路收聽器係與其通訊,則安全性測試引擎120可將其涵括於報告內作為已確認的漏洞。
此處描述之引擎、模組、及部件可分布在一或多個裝置間。引擎120、144、146包括硬體及/或硬體與程式規劃的組合用以從事此處提供的功能。再者,如此處提供,模組可包括欲由硬體執行的規劃功能及/或規劃功能的組合。當討論引擎及模組時,發現歸因於引擎的功能也可歸因於對應模組,及反之亦然。再者,歸因於特定模組及/或引擎的功能也可使用另一模組及/或引擎實施。模組及引擎之實例包括安全性測試引擎120、受測應用程式142、運行期代理器引擎144、及網路探查器引擎146。
一處理器諸如適用以取回與執行指令及/或電子電路的中央處理單元(CPU)或微處理器可經組配以從事此處描述之引擎及/或模組中之任一者的功能。於某些情況下,指令及/或其它資訊諸如法則可涵括於記憶體。於若干實施例中,輸入/輸出介面可由裝置額外提供。舉例言之,輸入裝置諸如鍵盤、感測器、觸控介面、滑鼠、麥克風等可用以自裝置的周圍環境接收輸入。又,輸出裝置諸如顯示器可用以呈現資訊給使用者。輸出裝置之實例包括揚聲器、顯示裝置、放大器等。再者,於某些實施例中,有些組件可運用以實施此處描述之其它組件的功能。輸入/輸出裝置諸如通訊裝置,例如網路通訊裝置或無線裝置也可被視為能夠使用輸入/輸出介面的裝置。
引擎/模組各自可包括例如硬體裝置包括用於實現此處描述之功能的電子電路。此外或另外,各個模組可實現為編碼在計算裝置之機器可讀取儲存媒體上且由處理器可執行的一串列指令。須注意,於若干實施例中,有些模組可實現為硬體裝置,而其它模組則實現為編碼在機器可讀取儲存媒體上的可執行指令。
圖2為依據一個實施例能夠判定一潛在安全性漏洞的一計算系統之方塊圖。系統200可包括掃描器210、AUT 240、及運行期代理器250。AUT 240可以任何合宜的以網路為基的電腦語言編碼,諸如爪哇或.NET等。AUT 240可在適當軟體框架內部操作,諸如框架(Struts)、框架2、ASP.NET MVC、甲骨文(Oracle)網路邏輯、及春泉(Spring) MVC等。軟體框架包括一集合的通用代碼模組,其提供通用功能,其可由使用者代碼選擇性地覆寫或特化以提供特定功能。AUT 240可經組配以執行爪哇虛擬機(JVM)、共同語言運行期(CLR)、或用以處理來自掃描器210的請求的其它運行期環境之一或多個案例。由軟體框架或運行期環境的通用代碼模組所提供的規劃指令可稱作為容器代碼。AUT 240特定的客戶規劃指令可稱作為使用者代碼。
AUT 240可包括一網路介面用以許可掃描器210與AUT 240間透過網路通訊。網路介面暴露出AUT 240的攻擊表面,且可以是當AUT 240可供一般用途時最終用以提供接取AUT 240的相同介面。掃描器210與AUT 240間透過網路介面通訊可經由自掃描器210簽發給AUT 240的HTTP請求及自AUT 240簽發給掃描器210的HTTP回應進行。靶定AUT 240的請求可稱作為應用程式請求,及接收自AUT 240的回應可稱作為應用程式回應。由掃描器210所產生的應用程式請求可經組配以暴露AUT 240的潛在漏洞。又,於某些實施例中,一網路探查器270可用以監視全部通訊。於若干實施例中,該等通訊包括掃描器210與AUT 240間之通訊以及與其它裝置,例如資料庫、其它伺服器等間之通訊。
AUT 240可耦合至一檔案系統、一資料庫、及由AUT 240使用的其它資源。檔案系統可包括由AUT 240使用的資料及程式,以及可由使用者請求的資料諸如HTTP頁面、軟體程式、媒體檔案等。再者,AUT 240可耦合至一或多個伺服器、資料庫等。
運行期代理器250可在AUT 240的執行環境內部操作且已經接取由AUT 240執行的內部操作。舉例言之,於某些實施例中,運行期代理器250能藉由在各種規劃點,注入額外代碼諸如爪哇類別而修改AUT 240的位元組代碼。注入的代碼代為監視器,其觀察AUT 240。注入的監視器代碼可位在AUT 240中的策略規劃點,例如,應用程式規劃介面(API)調用執行特定操作,諸如讀取一URL參數或寫入至檔案系統。每當在AUT 240內的此種規劃點執行時,監視器調用由運行期代理器250提供的服務用以紀錄由AUT 240執行的操作。運行期代理器250可耦合至一緩衝器用以儲存有關AUT 240的內部操作已被收集的資訊。緩衝器可用以儲存已被收集但尚未被報告給掃描器210的資料。緩衝器可儲存於非依電性儲存媒體,諸如硬碟、固態驅動裝置等。
運行期代理器250也可包括一額外網路介面用以使得運行期代理器250與掃描器210間能夠經由網路通訊。如前記,兩個網路介面可使用相同通訊通道,例如,相同HTTP通道。掃描器210與運行期代理器250間之通訊可透過使用客戶請求與回應標頭實現。客戶標頭可由掃描器210加至應用程式請求,及客戶標頭可由運行期代理器250加至應用程式回應。藉此方式,掃描器210與運行期代理器250間之通訊的至少部分可背負於與AUT 240的正常通訊上。
掃描器210也可使用客戶請求標頭用以產生靶定於運行期代理器250的請求,而獲得有關由AUT 240執行的 內部處理之額外資訊、或有關AUT 240、伺服器、運行期代理器250、網路探查器270、及/或網路收聽器272的資訊。靶定於運行期代理器250的請求可稱作為服務請求,及接收自運行期代理器250的回應可稱作為服務回應。由運行期代理器250簽發的服務回應可包括於服務回應本體內的補充資訊,容後詳述。
於各種實施例中,運行期代理器250係經組配以接收自掃描器210發送給AUT 240的應用程式請求及服務請求。然後,運行期代理器250可分析標頭資訊以判定該項請求是否為應用程式請求或服務請求。當接收到應用程式請求時,運行期代理器250可分析標頭資訊以獲得有關該特定應用程式請求由運行期代理器250所使用的資料。然後,應用程式請求可由運行期代理器250遞送給AUT 240以供由AUT 240根據AUT的程式規劃處理。當AUT 240產生應用程式回應時,運行期代理器250可增加一或多個客戶標頭給應用程式回應以將額外資訊送回給掃描器210。
於若干實施例中,根據請求的標頭可以是客戶HTTP標頭,其包括一客戶欄位名稱,接著為由運行期代理器250及掃描器210瞭解的一或多個欄位值。於此等實施例中,客戶HTTP標頭被AUT 240忽略。須瞭解此處描述的欄位名稱只是用作為能用於特定實施例的欄位名稱而非意圖限制申請專利範圍各項之範圍。
如前記,針對由掃描器210發送的探針,運行期代理器250可紀錄各項資訊於一緩衝器。運行期代理器250 可基於根據請求的標頭而知曉該探針。舉例言之,根據請求的標頭可包括一備忘錄標頭用以協調掃描器210與運行期代理器250間的互動。於若干實施例中,掃描器210可增加一備忘錄標頭探針及/或軌跡請求。運行期代理器250可使用該備忘錄標頭而識別與該探針相關聯的一攻擊字符串。舉例言之,備忘錄標頭可格式化如下:X-Scan-Memo:<AttackString>/<Otherlnformation>
回應於針對一探針/軌跡的一應用程式請求,運行期代理器250可藉由判定例如,已經由AUT 240執行的特定代碼行,已經由AUT 240接取的檔案,由AUT 240執行的資料庫查詢、或其它資訊而判定應用程式請求的效應。由運行期代理器250收集的資料可儲存至一資料結構,此處稱作「軌跡」。於實施例中,各個軌跡可儲存於緩衝器。於若干實施例中,軌跡可包括有關IPV的資訊。
各個軌跡可包括對應該軌跡的應用程式請求的請求ID及應用程式回應。掃描器210可習得有關AUT 240的內部操作,其係藉自運行期代理器250取回對應軌跡而由一特定應用程式請求觸發。為了取回一軌跡,掃描器210可簽發一服務請求給運行期代理器250,其包括一標頭欄位名稱/數值對經組配以指示對應一特定應用程式請求或回應,例如,針對特定探針或探針集合的該軌跡之請求。舉例言之,請求一軌跡的欄位名稱/數值對可格式化如下:Trace=<request_id>
值<request_id>為由掃描器210或運行期代理器 250指定之值對應與所請求軌跡相關聯的應用程式請求及/或應用程式回應。當接收到軌跡服務請求時,運行期代理器250可繞道AUT 240及產生包括該所請求軌跡之一服務回應。於某些實施例中,所請求軌跡可由運行期代理器250自緩衝器取回,及加至服務回應本體,然後可發送給掃描器210。又,於若干實施例中,服務回應標頭包括所請求軌跡的request_id值,及服務回應本體可格式化為JSON物件。
運行期代理器250可維持多個軌跡於緩衝器,使得掃描器210可請求針對已經做出任何應用程式請求的一軌跡。緩衝器可以是適合特定實施的任何大小。於一實施例中,若緩衝器變滿時,儲存於緩衝器的軌跡可以先進先出、先進後出等方式而自緩衝器中移出。
掃描器210可經組配以在做出對應應用程式請求及自AUT 240接收一回應之後,發送一分開的軌跡服務請求。request_id使得運行期代理器250能夠亂序接收軌跡請求,同時仍然能夠關聯所接收的軌跡與適當應用程式請求及回應。軌跡請求可亂序接收,部分原因在於掃描器210可能有多個執行緒簽發應用程式請求給AUT 240。
於若干實施例中,一請求ID可與個別探針關聯。有關該等探針收集的資訊可儲存於一資料庫,其可使用請求ID參考。當針對一特定請求ID或多個請求ID的一軌跡請求到達時,可提供有關探針的資訊(例如,攻擊提示)。
在安全性測試期間,掃描器210可使用應用程式請求280及接收應用程式回應282用以與AUT 240通訊。應 用程式請求280及回應282可用以蠕動AUT 240的攻擊表面以及由於其它理由故。舉例言之,應用程式請求280能用以提供資訊給AUT 240(例如,藉將資訊載入一欄位,載入一URL等)。可執行各種攻擊向量用以判定AUT 240的潛在及經確認的漏洞。
於AUT 240之一掃描期間,探針可用以判定是否存在有一漏洞。更明確言之,探針可用以協助判定對後端伺服器的通訊是否為漏洞。探針可包括一IPV。於若干實施例中,探針可插入HTTP標頭。舉例言之,於下述標頭中:HTTP://[root][path][parameter][parameter],該IPV可涵括於標頭中之一者內。又,於若干實施例中,測試期間可加入額外參數。如所記,IPV可以是參數、參數之部分、或基於參數之分析而可識別。於其它實施例中,IPV可透過AUT 240的一或多個欄位提交(例如,電子郵件欄位與電子郵件位址通訊)。
一探針請求284可提供IPV給AUT。一探針回應286可以是因探針請求284而接收自AUT 240的一回應。再者,探針請求284可包括一服務請求及/或一服務請求可斷續執行。服務請求可通知IPV的運行期代理器250。於若干實施例中,一集合的IPV可一次發送。於其它實施例中,IPV可針對特定探針發送。
運行期代理器250可提供IPV給網路探查器270。如所記,網路探查器270可監視AUT 240的通訊。於一個實施例中,網路探查器270能在一網路層實施。網路探查器270 可檢驗通訊的標頭、酬載等中之一或多者。監視期間,網路探查器270可尋找由運行期代理器250提供的該(等)IPV。於若干實施例中,若至少臨界數目的字符為匹配,則IPV可視為匹配。於其它實施例中,若字符由網路探查器270檢查IPV是否匹配內容,則IPV可視為匹配。當出現匹配時,網路探查器270可將該資訊回頭提供給運行期代理器250。於若干實施例中,該項資訊可包括網路探查器270注視的封包或封包之部分的一拷貝。此項資訊可包括標頭及/或酬載的一完整的或部分的部分。此項資訊可儲存於緩衝器欲發送給掃描器210。
掃描器210可請求一軌跡288及接收包括該資訊的一軌跡回應290。於若干實施例中,軌跡回應290可無請求而由運行期代理器250發送(例如,基於來自網路探查器的通訊而自動發送)。
掃描器210能分析資訊(例如,標頭、封包等)及對獲得匹配的攻擊向量加註記號為AUT的一潛在漏洞。
於一個實施例中,掃描器210可基於該潛在漏洞而產生一攻擊向量以試圖劫持該通訊,及例如發送至另一個位置。於此一實施例中,網路收聽器272可實現為該通訊發送到的位置。網路收聽器272可經組配使得掃描器210知曉網路收聽器272位在何處。運行期代理器250可將掃描器210發送到該位置。通訊的劫持可以是試圖造成AUT 240與網路收聽器272通訊。
此點可以是透過試圖伺服器端請求偽造攻擊(例 如,透過檔案描述符探勘、協定伺服器端請求偽造(SSRF)偷渡等)。此等可根據特定漏洞調整適應,諸如格式處理、直接插座存取(載具返回及行饋進(CRLF)注入)、淨存庫URL處理(不安全伺服器端重新導向等)諸如cURL、於PerI的WWW存庫(LWP)、ASP.NET統一資源識別符(URI)、爪哇URI等、外部資料鏈結等。如此,掃描器210可基於特定漏洞機率而產生一或多個攻擊向量。攻擊向量可包括對AUT 240的一攻擊請求292。於若干實施例中,接收一攻擊回應294。此點可包括試圖自伺服器端收集的資訊。然而,回應並非必要。
若網路收聽器272接收通訊,則網路收聽器272可將該通訊通知運行期代理器250。於若干實施例中,其可提供通訊涵括的內容。運行期代理器250可提供一指示給掃描器210指示已出現通訊。又,運行期代理器250可提供有關通訊內容的資訊。運行期代理器250可網路收聽器272可基於其本身的主動而通訊該資訊,或該資訊可儲存於個別緩衝器,及透過一軌跡請求而被請求。如此,掃描器210可使用另一軌跡請求288以獲得資訊。回應之,運行期代理器250可於一軌跡回應中提供該資訊。當確認一漏洞時,掃描器210能夠在一漏洞報告中加入/修改潛在AUT漏洞為一漏洞或確認的漏洞。
又,於若干實施例中,由網路探查器270及運行期代理器250收集的資訊能用以放大AUT 240的攻擊表面。舉例言之,此處使用的辦法也可用以找出與判定欲攻擊的 AUT 240之第二階連結(例如,後端伺服器)。此點例如可藉透過漏洞引發一埠掃描達成。一埠掃描為一攻擊,其發送客戶請求給在一主機上的一範圍之伺服器埠位址,目標係找出欲探勘的一運作埠。於若干實施例中,埠掃描可透過網路探查器270引發。於此種情況下,網路探查器270可存取回應,及透過運行期代理器250提供該資訊給掃描器210。
可能的或已確認的漏洞及/或漏洞類別的知識可用作為額外攻擊向量的起點。又,後端伺服器精確指明為目標也可用以建構攻擊向量。舉例言之,除了試圖與網路收聽器272對話之外,知曉存在有可能的漏洞可用以從事額外測試。此等測試可以在由AUT 240提供的可能為漏洞的特定介面上運作。於若干實施例中,藉由將潛在額外攻擊向量加旗標讓一使用者選擇,可擴大攻擊表面。於其它實施例中,存在有特定種類的可能漏洞可自動啟動二次攻擊向量,其意旨在擴大攻擊表面及/或確認一或多個漏洞。
圖3為依據一個實施例一種藉由識別一可識別探針值是否已出現在離開一受測應用程式的通訊用於輔助一安全性測試的一方法之流程圖。圖4為依據一個實施例一種藉由識別一可識別探針值是否已出現在離開一受測應用程式的通訊用於輔助一安全性測試的一計算裝置。雖然後文中方法300之執行係參考計算裝置400描述,但也可運用用以執行方法300的其它合宜組件(例如,計算系統100及/或200)。此外,用以執行方法300的組件可散布在多個裝置間。方法300可以儲存在一機器可讀取儲存媒體上的可執行 指令形式諸如儲存媒體420、及/或以電子電路形式實施。
計算裝置400包括例如一處理器410,及一機器可讀取儲存媒體420包括用以輔助在一AUT上的安全性測試的指令422、424、426。計算裝置400可以是例如,筆記型電腦、桌上型電腦、工作站、伺服器、或能夠執行此處描述之功能的任何其它計算裝置。
處理器410可以是至少一個中央處理單元(CPU)、至少一個以半導體為基之微處理器、至少一個圖形處理單元(GPU)、適用於取回與執行儲存於機器可讀取儲存媒體420中之指令的其它硬體裝置、或其組合。舉例言之,處理器410可包括在一晶片上的多個核心,包括跨多個晶片的多個核心,跨多個裝置(例如,若計算裝置400包括多個節點裝置)的多個核心,或其組合。處理器410可提取、解碼、及執行指令422、424、426用以實施方法300。另外或除了取回與執行指令之外,處理器410可包括至少一個積體電路(IC)、其它控制邏輯、其它電子電路、或其組合,其包括多個電子組件用以發揮指令422、424、426之功能。
機器可讀取儲存媒體420可以是任何電子學、磁學、光學、或其它實體儲存裝置其含有或儲存可執行指令。如此,機器可讀取儲存媒體可以是例如隨機存取記憶體(RAM)、可電氣抹除可規劃唯讀記憶體(EEPROM)、儲存裝置驅動裝置、光碟-唯讀記憶體(CD-ROM)等。如此,機器可讀取儲存媒體可以是非暫態。如此處詳細描述,機器可讀取儲存媒體420可以一系列之可執行指令編碼用以輔助 一安全性測試。又,於若干實施例中,各種指令422、424、426可儲存於不同媒體上。
於302,運行期代理器指令424可經執行以監視一AUT的執行。該AUT可藉由AUT指令422的執行而在計算裝置400上執行。一掃描器可在該AUT上從事安全性測試。
於304,運行期代理器可自安全性測試接收一IPV的一通知。該IPV可發送給一網路探查器(306)。網路探查器可使用網路探查器指令426實施以監視AUT的一或多個外部通訊。此點可在網路層。
網路探查器可監視通訊以判定一通訊是否包括一IPV。若網路探查器判定通訊匹配IPV,則網路探查器可提供此種指示給運行期代理器。該指示可包括額外資訊,諸如包括IPV的封包。又,該指示可包括IPV。運行期代理器接收到指示網路探查器已經識別了IPV(308)。又,運行期代理器可提供指示網路探查器已經識別了IPV給安全性測試(310)。可使用多個IPV及可測試AUT攻擊表面的多個部分。
如前記,安全性測試可包括此項資訊作為可能的漏洞。又,安全性測試可確認漏洞。確認程序可包括運行期代理器提供一網路收聽器的位置給安全性測試。然後,安全性測試可基於可能的漏洞而產生一攻擊向量。攻擊向量的目標可以是與網路收聽器通訊。可實現攻擊向量使得AUT可受安全性測試攻擊與網路收聽器通訊。若通訊成功,則網路收聽器可發送一通訊給運行期代理器指示出現 通訊。此點可在運行期代理器接收,運行期代理器可提供資訊給安全性測試。如前記,該資訊可包括用以識別漏洞、通訊等的資訊。多於一型漏洞可經測試及/或基於可能的漏洞加以確認。如此,可實現多個攻擊向量。
圖5為依據一個實施例找出與確認一漏洞的一方法之流程圖。圖6為依據一個實施例能夠找出與確認一漏洞的一計算裝置。雖然後文中方法500之執行係參考計算裝置600描述,但也可運用用以執行方法500的其它合宜組件(例如,計算系統100及/或200)。此外,用以執行方法500的組件可散布在多個裝置間。方法500可以儲存在一機器可讀取儲存媒體上的可執行指令形式諸如儲存媒體620、及/或以電子電路形式實施。
計算裝置600包括例如一處理器610,及一機器可讀取儲存媒體620包括用以輔助在一AUT上的安全性測試的指令622、624、626。計算裝置600可以是例如,筆記型電腦、桌上型電腦、工作站、伺服器、或能夠執行此處描述之功能的任何其它計算裝置。
處理器610可以是至少一個中央處理單元(CPU)、至少一個以半導體為基之微處理器、至少一個圖形處理單元(GPU)、適用於取回與執行儲存於機器可讀取儲存媒體620中之指令的其它硬體裝置、或其組合。舉例言之,處理器610可包括在一晶片上的多個核心,包括跨多個晶片的多個核心,跨多個裝置(例如,若計算裝置600包括多個節點裝置)的多個核心,或其組合。處理器610可提取、解 碼、及執行指令622、624、626用以實施方法500。另外或除了取回與執行指令之外,處理器610可包括至少一個積體電路(IC)、其它控制邏輯、其它電子電路、或其組合其包括多個電子組件用以發揮指令622、624、626之功能。
機器可讀取儲存媒體620可以是任何電子學、磁學、光學、或其它實體儲存裝置其含有或儲存可執行指令。如此,機器可讀取儲存媒體可以是例如隨機存取記憶體(RAM)、可電氣抹除可規劃唯讀記憶體(EEPROM)、儲存裝置驅動裝置、光碟-唯讀記憶體(CD-ROM)等。如此,機器可讀取儲存媒體可以是非暫態。如此處詳細描述,機器可讀取儲存媒體620可以一系列之可執行指令編碼用以輔助一安全性測試。
安全性測試指令622可經執行用以測試在一伺服器執行的一AUT。安全性測試可透過如於圖2中顯示的掃描器實施。於502,安全性測試可提供一IPV給AUT作為一探針。IPV也可通訊給與AUT相關聯的一運行期代理器。此值如前文討論可通訊給一網路探查器。網路探查器可判定於其監視期間IPV係在AUT外部通訊。如此,網路探查器可將該項判定通訊給運行期代理器,其可通訊(例如,透過軌跡)該資訊給安全性測試。於504,安全性測試可接收IPV由網路探查器識別的指示。於506,此點可用以判定一潛在AUT漏洞。稽核指令626可用以判定該(等)潛在AUT漏洞。各種可能的漏洞可能植基於IPV的發現,該IPV的發現可基於IPV如何與AUT通訊及IPV至何處。
於508,計算裝置可執行攻擊指令624用以基於可能的漏洞而產生一攻擊向量。於一個實施例中,如前文討論,該攻擊可基於與運行期代理器相關聯的一網路收聽器之已知位置。該攻擊向量可經精心製作成試圖造成基於在網路探查器匹配的通訊的形成AUT與網路收聽器的通訊。若與網路收聽器通訊,則網路探查器可通知運行期代理器,及運行期代理器可通知該通訊給安全性測試。稽核指令626可經執行以基於來自運行期代理器的回應而確認存在有一AUT漏洞(510)。
100‧‧‧計算系統
110‧‧‧計算裝置
120‧‧‧安全性測試引擎
122‧‧‧可識別探針值
140‧‧‧伺服器
142‧‧‧受測應用程式(AUT)
144‧‧‧運行期代理器引擎
146‧‧‧網路探查器引擎

Claims (15)

  1. 一種計算系統,其包含:一運行期代理器引擎用以於一安全性測試期間監視於一伺服器執行的一受測應用程式(AUT);一網路探查器引擎,其中該運行期代理器引擎自該安全性測試接收一可識別探針值的一通知,其中該運行期代理器引擎通訊該可識別探針值給該網路探查器引擎,其中該網路探查器引擎監視來自該AUT的通訊流通量,其中該網路探查器引擎識別該可識別探針值,其中該網路探查器引擎提供該可識別探針值被識別的一指示給該運行期代理器引擎,及其中該運行期代理器引擎提供該指示給該安全性測試,及其中該安全性測試係用以至少部分地基於該指示而判定一潛在AUT漏洞。
  2. 如請求項1之計算系統,其中該網路探查器引擎識別於一封包內的該可識別探針值,及其中該指示包括該封包。
  3. 如請求項1之計算系統,其中該計算系統進一步包括該安全性測試,其中該安全性測試接收一網路收聽器的一位置,及該安全性測試係使用一掃描器執行。
  4. 如請求項3之計算系統,其中該計算系統進一步產生一攻擊向量試圖使得該AUT基於該潛在AUT漏洞而與該網路收聽器通訊。
  5. 如請求項4之計算系統,其中該運行期代理器接收已經與該網路收聽器通訊的另一指示,及提供該另一指示給該安全性測試。
  6. 如請求項5之計算系統,其中該安全性測試產生一報告包括該潛在AUT漏洞為一漏洞。
  7. 一種非暫態機器可讀取儲存媒體儲存指令用以輔助漏洞的檢測,若由一計算系統的至少一個處理器執行,則使得該計算系統用以:於一運行期代理器,監視於一安全性測試期間在該裝置執行的一受測應用程式的執行;自該安全性測試接收一可識別探針值的通知;將該可識別探針值發送給一網路探查器用以監視該受測應用程式的至少一個外部通訊;自該網路探查器接收指示該網路探查器已經識別該可識別探針值;及提供指示給該安全性測試該網路探查器已經識別該可識別探針值。
  8. 如請求項7之非暫態機器可讀取儲存媒體,其進一步包含指令其若由該至少一個處理器執行使得該計算系統用以:自該網路探查器接收一封包包括該可識別探針值, 其中該至少一個外部通訊包括該封包。
  9. 如請求項7之非暫態機器可讀取儲存媒體,其進一步包含指令其若由該至少一個處理器執行使得該計算系統用以:提供一網路收聽器的一位置給該安全性測試。
  10. 如請求項9之非暫態機器可讀取儲存媒體,其中該受測應用程式係進一步由該安全性測試攻擊用以與該網路收聽器通訊。
  11. 如請求項10之非暫態機器可讀取儲存媒體,其進一步包含指令其若由該至少一個處理器執行使得該計算系統用以:自該網路收聽器接收出現一通訊的另一指示;及提供該另一指示給該安全性測試。
  12. 一種方法,其包含:透過一運行期代理器,監視於一安全性測試期間於一伺服器執行的一受測應用程式(AUT);於該運行期代理器,自該安全性測試接收一可識別探針值之一通知,由該運行期代理器,通訊該可識別探針值給一網路探查器,其中該網路探查器監視自該AUT的通訊流通量,於該網路探查器,識別於該安全性測試期間該可識別探針值,由該網路探查器,提供資料給該該運行期代理器引 擎指示該可識別探針值係經識別,其中該運行期代理器提供該資料給該安全性測試,及其中該安全性測試係至少部分地基於該指示而判定一潛在AUT漏洞。
  13. 如請求項12之方法,其中該可識別探針值係包括於一封包內及該資料也包括該封包。
  14. 如請求項12之方法,其中該安全性測試係透過一掃描器執行,該方法進一步包含:於該安全性測試,基於該資料產生一攻擊向量,其中該攻擊向量試圖透過該潛在AUT漏洞通訊給一網路收聽器;及執行該攻擊向量。
  15. 如請求項14之方法,其進一步包含:於該網路收聽器,接收透過該被執行的攻擊向量之通訊;將該已執行的攻擊向量之該接收透過該運行期代理器回通訊給該安全性測試;及基於該所通訊的該已執行的攻擊向量之接收,設定該潛在AUT漏洞為一經確認的漏洞。
TW104139133A 2014-11-26 2015-11-25 利用運行期代理器及網路探查器判定漏洞之技術 TWI603600B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/067658 WO2016085499A1 (en) 2014-11-26 2014-11-26 Determine vulnerability using runtime agent and network sniffer

Publications (2)

Publication Number Publication Date
TW201633747A true TW201633747A (zh) 2016-09-16
TWI603600B TWI603600B (zh) 2017-10-21

Family

ID=56074847

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104139133A TWI603600B (zh) 2014-11-26 2015-11-25 利用運行期代理器及網路探查器判定漏洞之技術

Country Status (4)

Country Link
US (1) US10182068B2 (zh)
EP (1) EP3224984A4 (zh)
TW (1) TWI603600B (zh)
WO (1) WO2016085499A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115687111A (zh) * 2022-10-27 2023-02-03 中国人民解放军国防科技大学 面向计算机二进制程序的直接比对依赖识别方法与系统

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10015178B2 (en) * 2015-07-28 2018-07-03 Sap Se Real-time contextual monitoring intrusion detection and prevention
US10419452B2 (en) 2015-07-28 2019-09-17 Sap Se Contextual monitoring and tracking of SSH sessions
US10305918B1 (en) * 2016-01-27 2019-05-28 Vmware Inc. Monitoring for hybrid applications
WO2017146729A1 (en) * 2016-02-26 2017-08-31 Entit Software Llc Scan adaptation during scan execution
US10140456B2 (en) 2016-06-08 2018-11-27 Salesforce.Com, Inc. Runtime analysis of software security vulnerabilities
US10380347B2 (en) 2016-06-08 2019-08-13 Salesforce.Com., Inc. Hierarchical runtime analysis framework for defining vulnerabilities
KR101885615B1 (ko) * 2016-07-19 2018-08-06 주식회사 스패로우 공격 문자열 생성 방법 및 장치
US10241890B2 (en) 2016-07-28 2019-03-26 Salesforce.Com, Inc. Hybrid code modification in intermediate language for software application
US11522901B2 (en) * 2016-09-23 2022-12-06 OPSWAT, Inc. Computer security vulnerability assessment
US10547524B2 (en) * 2017-04-27 2020-01-28 Cisco Technology, Inc. Diagnostic transparency for on-premise SaaS platforms
US10855700B1 (en) * 2017-06-29 2020-12-01 Fireeye, Inc. Post-intrusion detection of cyber-attacks during lateral movement within networks
US10698752B2 (en) 2017-10-26 2020-06-30 Bank Of America Corporation Preventing unauthorized access to secure enterprise information systems using a multi-intercept system
EP3711279A1 (en) 2017-11-15 2020-09-23 XM Cyber Ltd. Selectively choosing between actual-attack and simulation/evaluation for validating a vulnerability of a network node during execution of a penetration testing campaign
DE102018214587A1 (de) * 2018-08-29 2020-03-05 Continental Teves Ag & Co. Ohg Verfahren zum Überprüfen der Sicherung eines fahrzeuginternen Kommunikationssystems gegen Angriffe
US11283827B2 (en) 2019-02-28 2022-03-22 Xm Cyber Ltd. Lateral movement strategy during penetration testing of a networked system
KR102231726B1 (ko) * 2019-03-28 2021-03-25 네이버클라우드 주식회사 취약점 진단방법 및 이를 위한 진단장치
US11206281B2 (en) 2019-05-08 2021-12-21 Xm Cyber Ltd. Validating the use of user credentials in a penetration testing campaign
US20200372183A1 (en) * 2019-05-21 2020-11-26 Hewlett Packard Enterprise Development Lp Digitally Signing Software Packages With Hash Values
US11640469B2 (en) 2019-06-21 2023-05-02 Ventech Solutions, Inc. Method and system for cloud-based software security vulnerability diagnostic assessment
US11544385B2 (en) 2019-07-29 2023-01-03 Ventech Solutions, Inc. Method and system for dynamic testing with diagnostic assessment of software security vulnerability
US11416623B2 (en) * 2019-07-31 2022-08-16 International Business Machines Corporation Automatic penetration testing enablement of regression buckets
US10880326B1 (en) 2019-08-01 2020-12-29 Xm Cyber Ltd. Systems and methods for determining an opportunity for node poisoning in a penetration testing campaign, based on actual network traffic
US11005878B1 (en) 2019-11-07 2021-05-11 Xm Cyber Ltd. Cooperation between reconnaissance agents in penetration testing campaigns
US11575700B2 (en) 2020-01-27 2023-02-07 Xm Cyber Ltd. Systems and methods for displaying an attack vector available to an attacker of a networked system
US11582256B2 (en) 2020-04-06 2023-02-14 Xm Cyber Ltd. Determining multiple ways for compromising a network node in a penetration testing campaign
CN113760339A (zh) * 2020-07-01 2021-12-07 北京沃东天骏信息技术有限公司 漏洞修复方法和装置
CN112398843A (zh) * 2020-11-09 2021-02-23 广州锦行网络科技有限公司 一种基于http走私攻击的检测方法及装置
CN112329024B (zh) * 2020-11-17 2024-07-05 国网北京市电力公司 漏洞的检测方法及装置
US11516232B1 (en) * 2021-10-01 2022-11-29 Zerofox, Inc. Attack surface identification
US20240176892A1 (en) * 2022-11-30 2024-05-30 Cequence Security, Inc. Automated application programming interface (api) testing

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359350B (zh) 1995-02-13 2012-10-03 英特特拉斯特技术公司 用于安全地管理在数据项上的操作的方法
EP1269286B1 (en) * 2000-03-03 2008-11-19 International Business Machines Corporation System for determining web application vulnerabilities
US7412723B2 (en) * 2002-12-31 2008-08-12 International Business Machines Corporation Method and system for morphing honeypot with computer security incident correlation
US7761918B2 (en) 2004-04-13 2010-07-20 Tenable Network Security, Inc. System and method for scanning a network
US7849448B2 (en) 2005-06-01 2010-12-07 Crosscheck Networks Technique for determining web services vulnerabilities and compliance
US20090100518A1 (en) * 2007-09-21 2009-04-16 Kevin Overcash System and method for detecting security defects in applications
CN101465764B (zh) 2008-12-30 2013-01-02 公安部第三研究所 互联网上网服务营业场所信息安全管理的检验方法
EP2513800B1 (en) * 2009-12-15 2021-08-04 Synopsys, Inc. Methods and systems of detecting and analyzing correlated operations in a common storage
US20120174075A1 (en) * 2010-08-10 2012-07-05 International Business Machines Corporation Automatically Testing a Web Application
US20130054792A1 (en) * 2011-08-25 2013-02-28 Salesforce.Com, Inc. Cloud-based performance testing of functionality of an application prior to completion of development
US9213832B2 (en) * 2012-01-24 2015-12-15 International Business Machines Corporation Dynamically scanning a web application through use of web traffic information
US8959629B2 (en) * 2012-07-12 2015-02-17 Sap Se Preserving web document integrity through web template learning
US9990500B2 (en) * 2012-07-25 2018-06-05 Entit Software Llc Determining application vulnerabilities
US9866466B2 (en) * 2013-01-21 2018-01-09 Entit Software Llc Simulating real user issues in support environments
US9953169B2 (en) * 2013-02-28 2018-04-24 Entit Software Llc Modify execution of application under test so user is power user
US10310962B2 (en) * 2014-09-24 2019-06-04 Entit Software Llc Infrastructure rule generation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115687111A (zh) * 2022-10-27 2023-02-03 中国人民解放军国防科技大学 面向计算机二进制程序的直接比对依赖识别方法与系统
CN115687111B (zh) * 2022-10-27 2024-05-14 中国人民解放军国防科技大学 面向计算机二进制程序的直接比对依赖识别方法与系统

Also Published As

Publication number Publication date
WO2016085499A1 (en) 2016-06-02
EP3224984A4 (en) 2018-08-08
US20170223043A1 (en) 2017-08-03
US10182068B2 (en) 2019-01-15
TWI603600B (zh) 2017-10-21
EP3224984A1 (en) 2017-10-04

Similar Documents

Publication Publication Date Title
TWI603600B (zh) 利用運行期代理器及網路探查器判定漏洞之技術
US9479526B1 (en) Dynamic comparative analysis method and apparatus for detecting and preventing code injection and other network attacks
US9268945B2 (en) Detection of vulnerabilities in computer systems
US10447730B2 (en) Detection of SQL injection attacks
CN111400722B (zh) 扫描小程序的方法、装置、计算机设备和存储介质
US8458798B2 (en) Detection of vulnerabilities in computer systems
US7647631B2 (en) Automated user interaction in application assessment
US20050021791A1 (en) Communication gateway apparatus, communication gateway method, and program product
US20180075233A1 (en) Systems and methods for agent-based detection of hacking attempts
CN111783096B (zh) 检测安全漏洞的方法和装置
US10491629B2 (en) Detecting sensitive data sent from client device to third-party
Falkenberg et al. A new approach towards DoS penetration testing on web services
WO2019144548A1 (zh) 安全测试方法、装置、计算机设备和存储介质
CN112685745B (zh) 一种固件检测方法、装置、设备及存储介质
US10701087B2 (en) Analysis apparatus, analysis method, and analysis program
Wang et al. A new cross-site scripting detection mechanism integrated with HTML5 and CORS properties by using browser extensions
CN113206850B (zh) 恶意样本的报文信息获取方法、装置、设备及存储介质
Pieczul et al. Runtime detection of zero-day vulnerability exploits in contemporary software systems
CN111563260B (zh) 一种面向安卓应用程序的Web注入代码执行漏洞检测方法及系统
US20150163238A1 (en) Systems and methods for testing and managing defensive network devices
CN113162937A (zh) 应用安全自动化检测方法、系统、电子设备及存储介质
Mostafa et al. Netdroid: Summarizing network behavior of android apps for network code maintenance
CN115378655A (zh) 漏洞检测方法及装置
US10650148B2 (en) Determine protective measure for data that meets criteria
CN113839957B (zh) 未授权漏洞的检测方法及装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees