TWI524206B - 提供程式解析驗證服務系統及其控制方法、控制程式、使電腦發揮作用之控制程式、程式解析驗證裝置、程式解析驗證工具管理裝置 - Google Patents

提供程式解析驗證服務系統及其控制方法、控制程式、使電腦發揮作用之控制程式、程式解析驗證裝置、程式解析驗證工具管理裝置 Download PDF

Info

Publication number
TWI524206B
TWI524206B TW101142173A TW101142173A TWI524206B TW I524206 B TWI524206 B TW I524206B TW 101142173 A TW101142173 A TW 101142173A TW 101142173 A TW101142173 A TW 101142173A TW I524206 B TWI524206 B TW I524206B
Authority
TW
Taiwan
Prior art keywords
tool
program
verification
parsing
analysis
Prior art date
Application number
TW101142173A
Other languages
English (en)
Other versions
TW201331779A (zh
Inventor
前田俊行
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 TW201331779A publication Critical patent/TW201331779A/zh
Application granted granted Critical
Publication of TWI524206B publication Critical patent/TWI524206B/zh

Links

Classifications

    • 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
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

提供程式解析驗證服務系統及其控制方法、控制程式、使電腦發揮作用之控制程式、程式解析驗證裝置、程式解析驗證工具管理裝置
本發明係關於使用程式解析驗證工具進行對象程式的解析驗證之提供程式解析驗證服務系統等發明。
程式解析驗證係一種解析驗證計算機程式符合何種性質之技術。程式解析驗證可視為一種用以保障驗證程式安全性或信賴性之極有效的裝置。
近年來,此程式解析驗證技術係有突破性的進步,逐漸可針對各種實用程式進行解析驗證。實際上,進行程式解析驗證之程式(以下,稱之為「程式解析驗證工具」)無論在研究用途、商業用途上皆被積極地開發中。
在此,針對共享程式解析驗證工具之傳統技術而言,係以病毒解析檢測網站為例進行說明。
第11圖表示病毒解析檢測網站之典型組成例。如第11圖所示, 病毒解析檢測網站900之使用者係將欲進行病毒解析檢測之對象程式傳送至病毒解析檢測網站900(步驟P1)。舉例而言,若係下述非專利文獻1所列出之網站,則經由Web介面進行傳送。接著,傳送對象程式後,病毒解析檢測網站900係使用病毒解析檢測軟體901進行所傳送之對象程式的解析檢測(步驟P2)。解析檢測結束後,病毒解析檢測網站900會將該結果傳送給使用者(步驟P3)。
此病毒解析檢測網站900的優點係可省略網站使用者為了進行解析檢測而需準備計算資源(CPU時間或記憶體容量等)或載入解析檢測軟體之工作時間。
【先前技術文獻】 【專利文獻】
【非專利文獻1】“以沙盒(sandbox)解析病毒、惡意軟體之網站”、〔online〕、2011年6月、〔2011年10月20日搜尋〕、網際網路<URL:http://lhsp.s206.xrea.com/misc/virussandbox.html>
【發明概要】
但傳統程式解析驗證工具具備下述之實用性上的問題。
(1)程式解析驗證工具所需之計算資源的膨脹化
依據程式解析驗證技術種類,部分程式解析驗證工具需龐大的計算資源(CPU時間或記憶體容量等)。尤其在進行較複雜性質之解析驗證時或解析驗證之對象程式規模較大時係特別顯著。因此,各個程式解析驗證工具之使用者實際可執行之解析驗證種類或規模係有限度。
(2)程式解析驗證工具種類之多樣化
隨著解析驗證技術的進步,係存在有眾多種類之程式解析驗證工具,且持續研發、開發新工具。因此,對程式解析驗證工具之使用者而言,係難以判斷挑選何種程式解析驗證工具較佳。
(3)載入、運用程式解析驗證工具的工作時間、成本
如上所述,雖存在眾多種類之程式解析驗證工具,但鮮少能以一種程式解析驗證工具滿足程式解析驗證工具的使用者之需求。因此,使用者需載入複數程式解析驗證工具並進行運用、維護管理,而耗費較多工作時間、成本。
(4)程式解析驗證工具本身測試之難度
程式解析驗證工具的可使用性雖被廣泛認可。但另一方面,係難以測試程式解析驗證工具本身是否如預期般運作。對程式解析驗證工具之提供者而言,對程式解析驗證工具之使用者亦同,其程式解析驗證規模係有限。另外,因程式解析驗證工具之提供者可使用、閱覽之程式及其原始碼有限,而無法針對各種對象程式進行程式解析驗證工具之測試。
有鑑於上述問題,本發明之目的係實現提供程式解析驗證服務系統等,其自複數程式解析驗證工具中適當地挑選出應使用之工具,以輕易執行程式解析驗證。
為了解決上述課題,本發明之提供程式解析驗證服務系統,係以程式解析驗證工具進行對象程式之解析驗證,其包含:對象程式取得裝置,係取得對象程式;工具儲存部,係存放複數程式解析驗證工具;工具提取裝置,係自存放於該工具儲存部之複數程式解析驗證工具中提取出用以解析驗證該對 象程式取得裝置所取得之對象程式的程式解析驗證工具;工具取得裝置,係自該工具儲存部取得該工具提取裝置所提取出之程式解析驗證工具;工具執行裝置,係使用該工具取得裝置所取得之各個程式解析驗證工具,進行該對象程式取得裝置所取得之對象程式的解析驗證。
另外,本發明之提供程式解析驗證服務系統的控制方法,係使用程式解析驗證工具進行對象程式的解析驗證之提供程式解析驗證服務系統的控制方法;其中該提供程式解析驗證服務系統包含存放複數程式解析驗證工具之工具儲存部;而該控制方法包含:對象程式取得步驟,係取得對象程式;工具提取步驟,係自存放於該工具儲存部之複數程式解析驗證工具中提取出用以解析驗證該對象程式取得步驟所取得之對象程式的程式解析驗證工具;工具取得步驟,係自該工具儲存部取得該工具提取步驟所提取出之程式解析驗證工具;工具執行步驟,係使用該工具取得步驟所取得之各個程式解析驗證工具進行該對象程式取得步驟所取得之對象程式的解析驗證。
另外,本發明之提供資料處理服務系統,係依序使用複數資料處理工具,藉此於複數階段進行對象資料之資料處理,其包含:工具儲存部,係將複數資料處理工具與各個資料處理工具的工具相關資訊相對應後進行存放;結果資料儲存部,係將使用前階段的資料處理工具進行資料處理後所得之結果資料與該結果資料的特徵記載資訊相對應後進行存放;結果資料取得裝置,係自該結果資料儲存部取得該結果資料;工具指定資訊取得裝置,係自該結果資料儲存部取得與該結果資料相對應之特徵記載資訊,並將其作為指定資料處理工具之工具指定資訊,而該資料處理工具係用於該結果資料取得裝置所取得之結果資料的資料處理;工具提取裝置,係依據該工具指定資訊取得裝置 所得之工具指定資訊,搜尋該工具相關資訊,並自存放於該工具儲存部之複數資料處理工具中提取出與適當的工具相關資訊相對應之資料處理工具;工具取得裝置,係自該工具儲存部取得該工具提取裝置所提取出之資料處理工具;工具執行裝置,係使用該工具取得裝置所取得之資料處理工具,進行該結果資料取得裝置所取得之結果資料的資料處理。
透過本發明一態樣,可自複數程式解析驗證工具中適當地挑選出應使用之工具,以輕易執行程式的解析驗證。接著,於共享系統上進行程式的解析驗證,藉此解決傳統程式解析驗證技術的實用性上之各種問題。另外,該等效果並無侷限於進行程式解析驗證之處理。
1‧‧‧提供程式解析驗證服務系統
10‧‧‧解析驗證執行子系統
11‧‧‧控制器
12‧‧‧虛擬機執行環境
13‧‧‧儲存庫
20‧‧‧對象程式管理子系統
21‧‧‧控制器
22‧‧‧儲存庫
30‧‧‧工具管理子系統
31‧‧‧控制器
32‧‧‧儲存庫
33‧‧‧虛擬機執行環境
40‧‧‧外部系統
100‧‧‧解析驗證部
110‧‧‧解析驗證控制部
111‧‧‧使用者介面部
112‧‧‧工具執行控制部
113‧‧‧資料管理部
114‧‧‧對象程式取得部
115‧‧‧工具取得部
120‧‧‧虛擬機執行環境部
121a‧‧‧虛擬機
121b‧‧‧虛擬機
130‧‧‧資料儲存部
200‧‧‧對象程式管理部
210‧‧‧對象程式管理控制部
211‧‧‧使用者輸入部
212‧‧‧對象程式取得部
213‧‧‧對象程式登錄搜尋部
214‧‧‧對象程式傳送部
220‧‧‧對象程式儲存部
300‧‧‧工具管理部
310‧‧‧工具管理控制部
311‧‧‧工具提供者輸入部
312‧‧‧虛擬機產生部
3121‧‧‧初始虛擬機產生部
3122‧‧‧工具載入部
313‧‧‧工具登錄搜尋部
314‧‧‧工具傳送部
320‧‧‧工具儲存部
900‧‧‧病毒解析檢測網站
901‧‧‧病毒解析檢測軟體
A1-A6‧‧‧步驟
B1-B4‧‧‧步驟
C1-C3‧‧‧步驟
D1-D4‧‧‧步驟
DBi‧‧‧委託管理資料庫
DBp‧‧‧對象程式管理資料庫
DBt‧‧‧工具管理資料庫
E1-E4‧‧‧步驟
F1-F4‧‧‧步驟
P‧‧‧對象程式
P1-P3‧‧‧步驟
R‧‧‧解析驗證結果資料
T‧‧‧虛擬機
第1圖表示本發明實施形態,係提供程式解析驗證服務系統的詳細組成之功能方塊圖。
第2圖表示本發明實施形態,係提供程式解析驗證服務系統所含之解析驗證執行子系統的組成及解析驗證的執行處理程序之方塊圖。
第3圖表示本發明實施形態,係提供程式解析驗證服務系統所含之解析驗證執行子系統的組成及解析驗證結果的顯示處理程序之方塊圖。
第4圖表示本發明實施形態,係提供程式解析驗證服務系統所含之對象程式管理子系統的組成及對象程式的登錄處理流程之方塊圖。
第5圖表示本發明實施形態,係提供程式解析驗證服務系統所含之對象程式管理子系統的組成及自解析驗證執行子系統提出之對象程式的取得要求處 理程序之方塊圖。
第6圖表示本發明實施形態,係提供程式解析驗證服務系統所含之工具管理子系統的組成及程式解析驗證工具的登錄處理程序之方塊圖。
第7圖表示本發明實施形態,係提供程式解析驗證服務系統所含之工具管理子系統的組成及自解析驗證執行子系統提出之包含程式解析驗證工具影像之虛擬機的取得要求處理程序之方塊圖。
第8圖係可於第1圖所示之提供程式解析驗證服務系統中使用之資料說明圖,其表示委託管理資料庫之資料結構。
第9圖係可於第1圖所示之提供程式解析驗證服務系統中使用之資料說明圖,其表示對象程式管理資料庫之資料結構。
第10圖係可於第1圖所示之提供程式解析驗證服務系統中使用之資料說明圖,其表示工具管理資料庫之資料結構。
第11圖表示傳統技術,係病毒解析檢測網站之典型組成例方塊圖。
【用以實施發明的態樣】
以下將詳細說明本發明一實施形態。以第1圖至第10圖說明本實施形態之提供程式解析驗證服務系統1,其如以下所述。
〔1.用以共享程式解析驗證工具之系統組成方法〕
首先,說明用以解決該傳統程式解析驗證工具於實用上的四個問題之方法。再者,具體方法之實施例係稍後另述。
本發明之出發點係依據近年流行之「雲端」的想法,讓複數程式解析驗證工具之使用者與複數程式解析驗證工具之提供者(工具提供者)共享 一個系統以進行程式解析驗證。
具體而言,提供程式解析驗證服務系統1係由解析驗證執行子系統10、對象程式管理子系統20及工具管理子系統30之三個子系統所組成。以下將針對各個子系統進行說明。再者,該等子系統可將三個子系統全數配置於一電腦上,亦可分散配置於以網路連結之複數電腦群組上。
〔1.1解析驗證執行子系統〕
解析驗證執行子系統10(第2圖、第3圖)係依據使用者要求,首先,自對象程式管理子系統20取得程式解析驗證對象之對象程式P,另自工具管理子系統30取得解析驗證工具(虛擬機T)。接著,使用所得之對象程式P與解析驗證工具(虛擬機T)執行程式解析驗證,並將結果(解析驗證結果資料R)登錄至儲存庫13(repository)。另外,向使用者顯示該結果。
另外,解析驗證執行子系統10,除了使用者提出之要求外,係因應其運作狀況自對象程式管理子系統20取得程式解析驗證對象之對象程式P。所謂解析驗證執行子系統10取得對象程式P時之運作狀況,具體而言係:(1)系統之CPU使用率;(2)記憶體使用率;(3)外部記憶使用率等低於預先設定之閾值等之狀況。解析驗證執行子系統10於取得對象程式P的同時,自工具管理子系統30取得程式解析驗證工具(虛擬機T)並進行解析驗證,其結果(解析驗證結果資料R)係登錄至儲存庫13。藉此,若之後使用者提出要求時,便可查詢儲存庫13以迅速回覆解析驗證結果。
如此,若複數使用者共享解析驗證執行子系統10,便可活用剩餘之計算資源,以抑制程式解析驗證之整體成本。另外,除了使用者提出之要求外,係可預先執行程式解析驗證,因此可隱藏自使用者提出要求至提供解析 驗證結果為止所需之計算資源成本。更可輕易自複數程式解析驗證工具中適當地挑選出程式解析驗證工具。
〔1.2對象程式管理子系統〕
對象程式管理子系統20(第4圖、第5圖)係依據使用者要求進行使用者所指定、提供之對象程式P的維護管理(取得、保存、更新、刪除)。另外,針對解析驗證執行子系統10提出之要求,提供適當之對象程式P。
如此,可針對複數使用者所登錄之對象程式P執行程式解析驗證工具,因此,各個程式解析驗證工具之提供者可針對各種對象程式P進行程式解析驗證工具之測試。
〔1.3工具管理子系統〕
工具管理子系統30(第6圖、第7圖)係依據使用者(程式解析驗證工具之提供者)的要求、指示進行使用者指定之程式解析驗證工具的維護管理(載入、設定、刪除)。另外,針對解析驗證執行子系統10提出之取得要求提供適當之程式解析驗證工具。
如此,程式解析驗證工具之提供者係進行載入、維護管理,並與複數使用者共享程式解析驗證工具,藉此,使用者本身便無需進行程式解析驗證工具之載入、維護管理。
〔2.用以共享程式解析驗證工具之系統安裝例〕
接著說明上述各個子系統的一安裝例。
〔2.1.解析驗證執行子系統的一安裝例〕
第2圖係解析驗證執行子系統10的組成及解析驗證的執行處理程序之方塊圖。
解析驗證執行子系統10係由控制器11、虛擬機執行環境12、儲存庫13所組成。控制器11係執行:使用者提出之執行要求處理;與對象程式管理子系統20或工具管理子系統30間之交流;執行解析驗證;將解析驗證結果儲存至儲存庫13。虛擬機執行環境12係用以進行解析驗證之執行環境。儲存庫13係保存解析驗證結果。
再者,使用虛擬機執行環境12進行解析驗證之理由有二。首先,第一:使用虛擬機執行解析驗證,藉此輕易實現複數使用者與複數程式解析驗證工具之提供者間的系統公平使用。在此,所謂系統公平使用,舉例而言,將大量消耗CPU或記憶體之程式解析驗證工具延後執行,先執行其他程式解析驗證工具等。
另外,第二:藉由於虛擬機上載入、設定程式解析驗證工具(詳細請參照〔2.3.工具管理子系統的一安裝例〕),程式解析驗證工具之提供者可載入、設定與一般自行開發、測試之執行環境近乎相同之程式解析驗證工具,因此,不會為了因應特殊執行環境而修正程式解析驗證工具或為了於程式解析驗證工具進行與外部數據之交流而另準備其他組成,而造成程式解析驗證工具之提供者額外負擔。
具體之解析驗證執行程序係如以下所述。首先,將使用者提出之解析驗證執行要求傳送至控制器11(步驟A1)。該執行要求係由標示針對何種對象程式P進行解析驗證之標籤與標示使用何種程式解析驗證工具(虛擬機T)之標籤所組成。接收執行要求之控制器11係依據執行要求指定之標籤與因應使用者權限給予之標籤,自對象程式管理子系統20取得對象程式P(步驟A2-a、步驟A3-a:對象程式取得步驟),另自工具管理子系統30取得包含程式解析驗證工具 影像之虛擬機T(步驟A2-b、步驟A3-b:工具取得步驟)。
再者,上述「因應使用者權限所給予之標籤」係給予各個使用者之標籤,其表示針對對象程式P與程式解析驗證工具(虛擬機T)之存取權限。舉例而言,最基本係給予使用者A的執行要求如「USER_A」之標籤。如此,使用者A可取得標註有「USER_A」標籤之對象程式P或程式解析驗證工具(虛擬機T)。另一方面,給予其他使用者B如「USER_B」之標籤,因此,使用者B無法取得僅標註有「USER_A」標籤之對象程式P或程式解析驗證工具(虛擬機T)。即,可向使用者B隱藏使用者A的對象程式P或程式解析驗證工具(虛擬機T)。另外,較複雜例係將使用者A與使用者B視為共同使用者,共享各自之對象程式P或程式解析驗證工具(虛擬機T)時,給予使用者A,B其執行要求如「GROUP_AB」之標籤。藉此,使用者A,B可取得標註有「GROUP_AB」標籤之對象程式P或程式解析驗證工具(虛擬機T)。
接著,使用所得之對象程式P與工具影像(虛擬機T),於虛擬機執行環境12實際執行解析驗證(步驟A4;工具執行步驟)。解析驗證結束後,控制器11係接收該結果(步驟A5)並將該結果標註標籤並保存於儲存庫13(步驟A6)。再者,第2圖中雖未明示,但如上所述,可因應解析驗證執行子系統10的運作狀況,即便使用者未提出執行要求,亦可預先執行第2圖(步驟A2)以後之程序。此情況下,解析驗證結果保存於儲存庫13時所標註之標籤係可使用給予對象程式P本身與程式解析驗證工具的工具影像(虛擬機T)本身之標籤。
第3圖係解析驗證執行子系統10的組成及解析驗證結果的顯示處理程序之方塊圖。
保存於儲存庫13之解析驗證結果係如以下所述提供給使用者。 首先,使用者提出之解析驗證結果的取得要求(結果取得要求)係傳送至控制器11(步驟B1)。該結果取得要求係由與上述執行要求相同之標籤所組成。接收結果取得要求之控制器11係依據結果取得要求指定之標籤與因應使用者權限給予之標籤,自儲存庫13取得解析驗證結果(步驟B2、步驟B3)。接著,控制器11係將取得之結果顯示給使用者(步驟B4)。再者,結果沒保存於儲存庫13之情況下,可執行第2圖(步驟A2)以後之程序。
〔2.2.對象程式管理子系統的一安裝例〕
第4圖係對象程式管理子系統20的組成及對象程式P的登錄處理程序之方塊圖。
對象程式管理子系統20係由控制器21與儲存庫22所組成。控制器21係執行:處理使用者提出之對象程式登錄要求;取得對象程式P;登錄至儲存庫22。儲存庫22係保存對象程式P。
具體對象程式之登錄程序係如以下所述。首先,將使用者提出之對象程式P的登錄要求傳送至控制器21(步驟C1)。該登錄要求係由使用者指定之標籤與指定對象程式P的傳送方法所組成。登錄要求中使用者指定之標籤,係使用者可於任意內容指定任意個數。預設使用方法係可指定對象程式P所使用之程式設計語言種類或程式種類(區分為使用者程式、系統程式等)等。另外,對象程式P的傳送方法,在此預設為使用者直接傳送(步驟C2)與自外部系統(版本管理系統等)輸入(步驟C2-1、步驟C2-2)。接收登錄要求之控制器21係以登錄要求指定之方法取得對象程式P(步驟C2、步驟C2-1、步驟C2-2),並標註登錄要求指定之標籤與因應使用者權限給予之標籤後,將對象程式P保存至儲存庫22(步驟C3)。
第5圖係對象程式管理子系統20的組成及解析驗證執行子系統10所提出之對象程式P的取得要求處理程序之方塊圖。
接收解析驗證執行子系統10所提出之對象程式P的取得要求(步驟D1)後,控制器21係依據取得要求所指定之標籤搜尋儲存庫22(步驟D2、步驟D3)。接著,控制器21係將自儲存庫22取得之對象程式P傳送至解析驗證執行子系統(步驟D4)。
〔2.3.工具管理子系統的一安裝例〕
第6圖係工具管理子系統30的組成及程式解析驗證工具的登錄處理程序之方塊圖。
工具管理子系統30係由控制器31、儲存庫32及虛擬機執行環境33所組成。控制器31係執行:處理工具提供者提出之登錄要求;產生用以載入、設定程式解析驗證工具之虛擬機(初始虛擬機);將包含工具影像之虛擬機T保存至儲存庫32。虛擬機執行環境33係工具提供者載入、設定程式解析驗證工具之環境。儲存庫32係保存工具提供者載入、設定有程式解析驗證工具之虛擬機T的系統影像。
程式解析驗證工具的登錄處理具體程序係如以下所述。首先,將工具提供者提出之程式解析驗證工具的登錄要求傳送至控制器31(步驟E1)。該登錄要求係由工具提供者指定之標籤組成。登錄要求中工具提供者所指定之標籤,係工具提供者可於任意內容指定任意個數。登錄要求中工具提供者所指定之標籤係預設於指定:(1)程式解析驗證工具可處理之程式設計語言種類及程式種類(區分為使用者程式、系統程式等);(2)程式解析驗證工具運作之執行環境(作業系統或程式庫種類版本、必要之計算資源,即,CPU速度或種類、記憶體 或磁碟大小等)等時使用。
接收登錄要求之控制器31係產生新虛擬機(初始虛擬機)(步驟E2)。此時,控制器31係因應登錄要求指定之標籤,製成作業系統種類或版本、記憶體或磁碟大小等經調整之適當虛擬機(初始虛擬機)。再者,本實施形態中,載入、設定程式解析驗證工具前之虛擬機記載為「初始虛擬機」。
在此,針對頻繁出現之標籤指定組合,係產生事前載入適當的作業系統或程式庫之半完成狀態的虛擬機(初始虛擬機)後加以保存,亦可於產生虛擬機時單純將其複製。藉此可降低產生虛擬機之成本。
接著,工具提供者係於虛擬機執行環境33上執行經控制器31所產生之虛擬機(初始虛擬機),並於該虛擬機(初始虛擬機)載入、設定程式解析驗證工具(步驟E3)。如此,依據登錄要求所指定之標籤,於虛擬機(初始虛擬機)事先準備適當之作業程式或程式庫等。藉此,程式解析驗證工具的載入、設定係與工具提供者一般進行之載入、設定程序近乎相同,對工具使用者而言,可不增加為了因應執行環境而修正程式解析驗證工具或為了與外部系統進行資料交流而準備特別裝置等額外程序。
最後,控制器31係將標註有登錄要求指定之標籤,且包含經工具提供者載入、設定有程式解析驗證工具的工具影像之虛擬機T保存於儲存庫32(步驟E4)。
第7圖係工具管理子系統30的組成及解析驗證執行子系統10提出之包含程式解析驗證工具影像之虛擬機T的取得要求處理程序之方塊圖。
接收解析驗證執行子系統10提出之虛擬機T的取得要求後(步驟F1:工具取得步驟),控制器31係依據取得要求指定之標籤搜尋儲存庫32(步 驟F2、步驟F3:工具提取步驟),並將所得之虛擬機T傳送至解析驗證執行子系統10(步驟F4:工具取得步驟)。
〔3.詳細實施例〕
在此詳細說明提供程式解析驗證服務系統1之一實施例。
〔3.1.組成〕
參照第1圖及第8圖至第10圖,以說明提供程式解析驗證服務系統1的組成。第1圖係提供程式解析驗證服務系統1的組成之功能方塊圖。第8圖至第10圖係提供程式解析驗證服務系統1所使用之資料說明圖。再者,以下說明中亦會適度參照第2圖至第7圖。
提供程式解析驗證服務系統1係程式解析驗證工具的使用者使用工具提供者所提供之程式解析驗證工具,以提供對象程式P的解析驗證服務。
如第1圖所示,提供程式解析驗證服務系統1係由解析驗證部100(程式解析驗證裝置)、對象程式管理部200(程式解析驗證對象程式管理裝置)及工具管理部300(程式解析驗證工具管理裝置)所組成。再者,提供程式解析驗證服務系統1亦可由一台裝置組成。即,解析驗證部100、對象程式管理部200及工具管理部300亦可安裝於一台裝置上。另外,提供程式解析驗證服務系統1亦可由複數台裝置組成。即,解析驗證部100、對象程式管理部200及工具管理部300亦可分散安裝於二台以上裝置上。
另外,解析驗證部100、對象程式管理部200及工具管理部300係各自與第2圖至第7圖所示之解析驗證執行子系統10、對象程式管理子系統20及工具管理子系統30相對應。
再者,本實施形態中,雖列舉出提供程式解析驗證服務系統1 將外部輸入、輸出之資訊及內部處理之資訊以標籤形式記載之例進行說明,但並非將其侷限於使用標籤之記載形式中。
〔3.1.1.解析驗證部〕
首先,解析驗證部100具備有接收使用者提出之對象程式P的解析驗證之執行要求,並依據該執行要求取得對象程式P與程式解析驗證工具(虛擬機T),且於執行解析驗證後保存解析驗證結果資料R之功能(第2圖)。另外,解析驗證部100具備有接收使用者提出之結果取得要求,並將保存之解析驗證結果資料R提供給使用者之功能(第3圖)。
因此,如第1圖所示,解析驗證部100具備有解析驗證控制部110、虛擬機執行環境部120(工具執行裝置)及資料儲存部130。再者,解析驗證控制部110、虛擬機執行環境部120及資料儲存部130係各自與第2圖與第3圖所示之解析驗證執行子系統10的控制器11、虛擬機執行環境12及儲存庫13相對應。
該解析驗證控制部110係控制解析驗證部100整體。詳細而言,解析驗證控制部110係具備使用者介面部111(工具指定資訊取得裝置)、工具執行控制部112、資料管理部113、對象程式取得部114(對象程式取得裝置)及工具取得部115(工具取得裝置)。
使用者介面部111係向使用者提供操作畫面並具備接收輸入之使用者介面。使用者介面部111係可直接接收使用者於鍵盤或滑鼠等輸入裝置上之操作,亦可透過網際網路等通訊間接接收。
具體而言,使用者介面部111係於接收使用者輸入之操作時,取得使用者辨識資訊標籤(使用者辨識資訊)與標示使用者權限之標籤(使用者權 限資訊)。
另外,使用者介面部111係接收使用者提出之執行要求(第2圖之步驟A1)。執行要求中包含:標示針對何種對象程式P進行解析驗證之標籤(對象程式指定資訊);指示使用何種程式解析驗證工具(虛擬機T)之標籤(工具指定資訊)。該工具指定資訊係指定用以進行對象程式取得部114所取得之對象程式P的解析驗證之程式解析驗證工具(虛擬機T)。
另外,使用者介面部111係接收使用者提出之結果取得要求(第3圖之步驟B1)。結果取得要求中包含與執行要求相同之標籤。再者,結果取得要求中可省略工具指定資訊。
工具執行控制部112係依據使用者介面部111所接收之使用者執行要求,進行對象程式P之解析驗證。具體而言,工具執行控制部112係控制對象程式取得部114,並依據對象程式指定資訊取得對象程式P(第2圖之步驟A2-a、步驟A3-a:對象程式取得步驟)。另外,工具執行控制部112係控制工具取得部115,並依據工具指定資訊取得包含程式解析驗證工具影像之虛擬機T(第2圖之步驟A2-b、步驟A3-a:工具取得步驟)。另外,工具執行控制部112於虛擬機執行環境部120所得之虛擬機T上,執行所得對象程式P並進行程式解析驗證(第2圖之步驟A4;工具執行步驟)。再者,虛擬機T上進行之對象程式P的解析驗證,雖可於虛擬機T上執行對象程式P後進行,亦可不執行對象程式P。而且,工具執行控制部112係於虛擬機執行環境部120所進行之解析驗證結束後,接收該結果(第2圖之步驟A5)並控制資料管理部113,將該結果(解析驗證結果資料R)與執行要求標籤相對應後,保存於資料儲存部130(第2圖之步驟A6)。
再者,工具執行控制部112係因應虛擬機執行環境部120等之運作狀態(CPU使用率、記憶體使用率或外部記憶使用率等),即便使用者無提出執行要求,亦可事先執行第2圖(步驟A2)以後之程序。此情況下,將結果(解析驗證結果資料R)保存於資料儲存部130時對應之標籤,係標註於對象程式P本身之標籤及標註於虛擬機T本身之標籤。
工具執行控制部112係依據使用者介面部111所接收之使用者提出之結果取得要求,控制資料管理部113並取得保存於資料儲存部130之解析驗證結果資料R,並將其於使用者介面部111提供給使用者(第3圖之步驟B1至步驟B4)。具體而言,該解析驗證結果資料R之取得,係透過結果取得要求所含之標籤搜尋委託管理資料庫DBi,自資料儲存部130取得符合之解析驗證結果資料R(即,標註有該標籤之解析驗證結果資料R)。
資料管理部113於接收使用者所提出之執行要求時,將所含之標籤內容存放於資料儲存部130的委託管理資料庫DBi。另外,資料管理部113係將解析驗證結果資料R存放於資料儲存部130。此時,於委託管理資料庫DBi係與解析驗證結果資料R的辨識資訊(結果資料辨識資訊)、執行要求的標籤資訊相對應後加以存放。另外,資料管理部113於接收使用者所提出之結果取得要求時,自資料儲存部130讀取出與所含之標籤內容相對應之解析驗證結果資料R。
對象程式取得部114係朝對象程式管理部200傳送包含對象程式指定資訊之對象程式取得要求(第2圖之步驟A2-a),而其回應係取得對象程式P(第2圖之步驟A3-a)。
工具取得部115係朝工具管理部300傳送包含工具指定資訊之 虛擬機(工具影像)取得要求(第2圖之步驟A2-b),而其回應係取得程式解析驗證工具(虛擬機T)(第2圖之步驟A3-b)。
而且,該虛擬機執行環境部120係於工具取得部115所取得之虛擬機T上,運作對象程式取得部114所取得之對象程式P,藉此進行對象程式P的解析驗證(第2圖之步驟A4)。
資料儲存部130係存放委託管理資料庫DBi與解析驗證結果資料R。如第8圖所示,於委託管理資料庫DBi的一個紀錄存放有使用者辨識資訊、使用者權限資訊、對象程式指定資訊、工具指定資訊及結果資料辨識資訊。解析驗證結果資料R係藉由結果資料辨識資訊,與其他資訊相對應。
在此,依據第8圖具體說明登錄至委託管理資料庫DBi之各個資訊。
‧使用者辨識資訊係使用者之辨識資訊。記載例之“USER_A,USER_B”係表示分配至使用者A、使用者B之標籤。
‧使用者權限資訊係使用者之存取權限。記載例之“GROUP_AB”係表示使用者A,B共享對象程式P與程式解析驗證工具(虛擬機T)之群組權限的標籤。另外,“PUBLIC”係表示任意使用者皆可存取之標籤。另外,“ADMIN”係表示僅管理者可進行存取之標籤。
‧對象程式指定資訊係指定進行解析驗證對象的對象程式P之資訊。對象程式指定資訊等同於對象程式管理資料庫DBp的對象程式辨識資訊與對象程式相關資訊之和。記載例之“OBJP_ID_1,C,SYSTEM_PROG”係表示「具備辨識資訊OBJP_ID_1,為C語言程式,且程式種類屬於系統程式」之對象程式。
‧工具指定資訊係指定解析驗證時使用之程式解析驗證工具(虛擬機T)之資 訊。工具指定資訊等同於工具管理資料庫DBt的工具辨識資訊與工具相關資訊之和。記載例之“TOOL_ID_0,C,USER_PROG,SYSTEM_PROG,CPU_SPEED_2G,MEM_MAX_1G”係表示「具備辨識資訊TOOL_ID_0,並可驗證使用者程式與系統程式,且CPU頻率為2GHz,而記憶體最大可使用1G」之程式解析驗證工具(虛擬機T)。
‧結果資料辨識資訊係解析驗證的結果資料(解析驗證結果資料R)之辨識資料。記載例之“RESULT_0,RESULT_1”係參照解析驗證的結果資料之辨識資訊。
再者,於委託管理資料庫DBi更可設置直接特定執行要求之資訊(舉例而言,編號或要求的發出時間)。但針對委託管理資料庫DBi,若集中指定對象程式指定資訊與工具指定資訊(即,對象程式P與程式解析驗證工具(虛擬機T)),便可特定出執行要求,而無需上述資訊。
〔3.1.2.對象程式管理部〕
對象程式管理部200具備接收使用者提出之對象程式P的登錄要求,且依據該登錄要求取得對象程式P後進行保存之功能(第4圖)。另外,對象程式管理部200具備接收解析驗證部100之對象程式取得要求,並將保存之對象程式P傳送至解析驗證部100之功能(第5圖)。
因此,如第1圖所示,對象程式管理部200具備對象程式管理控制部210與對象程式儲存部220。再者,對象程式管理控制部210與對象程式儲存部220係各自與第4圖與第5圖所示之對象程式管理子系統20的控制器21與儲存庫22相對應。
該對象程式管理控制部210係控制對象程式管理部200整體。 詳細而言,對象程式管理控制部210具備使用者輸入部211、對象程式取得部212、對象程式登錄搜尋部213及對象程式傳送部214。
使用者輸入部211係向使用者提供操作畫面並具備接收輸入之使用者介面。使用者輸入部211係可直接接收使用者於鍵盤或滑鼠等輸入裝置上之操作,亦可透過網際網路等通訊間接接收。
具體而言,使用者輸入部211係於接收使用者輸入之操作時,取得使用者的辨識資訊之標籤(使用者辨識資訊)與標示使用者權限之標籤(使用者權限資訊)。
另外,使用者輸入部211係接收使用者提出之對象程式P的登錄要求(第4圖之步驟C1)。登錄要求中包含:使用者指定之標籤(對象程式相關資訊);指定對象程式P傳送方法之標籤(傳送方法指定資訊);解析驗證對象的對象程式P之辨識資訊(對象程式辨識資訊)。
對象程式取得部212係依據使用者輸入部211所接收之使用者提出之登錄要求取得對象程式P。具體而言,若登錄要求所含之傳送方法指定資訊為「直接傳送」時,係取得使用者傳送之對象程式P(第4圖之步驟C2)。另外,若登錄要求所含之傳送方法指定資訊為「輸入」時,係自外部系統(版本管理系統等)取得對象程式P(第4圖之步驟C2-1、步驟C2-2)。
對象程式登錄搜尋部213係於使用者輸入部211接收使用者提出之登錄要求時,將所含之標籤內容存放於對象程式儲存部220的對象程式管理資料庫DBp(第4圖之步驟C3)。另外,對象程式登錄搜尋部213係將對象程式取得部212取得之對象程式P存放於對象程式儲存部220(第4圖之步驟C3)。此時,於對象程式管理資料庫DBp中,係與對象程式P的辨識資訊(對象程式辨 識資訊)、登錄要求標籤資訊相對應後進行存放。
另外,對象程式登錄搜尋部213於接收解析驗證部100提出之對象程式取得要求時,參照對象程式管理資料庫DBp,自對象程式儲存部220讀取出與對象程式取得要求所含之對象程式指定資訊(對象程式辨識資訊與對象程式相關資訊之和)相對應之對象程式P(第5圖之步驟D1至步驟D4)。
對象程式傳送部214係接收解析驗證部100所提出之包含對象程式辨識資訊之對象程式取得要求(第5圖之步驟D1),而其回應係將對象程式P傳送至解析驗證部100(第5圖之步驟D4)。
對象程式儲存部220係存放對象程式管理資料庫DBp與對象程式P。如第9圖所示,於對象程式管理資料庫DBp的一個紀錄,係存放有使用者辨識資訊、使用者權限資訊、對象程式相關資訊、傳送方法指定資訊及對象程式辨識資訊。對象程式P係藉由對象程式辨識資訊,與其他資訊相對應。
在此,依據第9圖具體說明登錄至對象程式管理資料庫DBp之各個資訊。
‧使用者辨識資訊係使用者之辨識資訊。記載例之“USER_A,USER_B”係表示分配至使用者A、使用者B之標籤。
‧使用者權限資訊係使用者的存取權限。記載例之“GROUP_AB”係表示使用者A,B共享對象程式P與程式解析驗證工具(虛擬機T)之群組權限的標籤。另外,“PUBLIC”係表示任意使用者皆可存取之標籤。另外,“ADMIN”係表示僅管理者可進行存取之標籤。
‧對象程式相關資訊係使用者可於任意內容指定任意個數之資訊。對象程式相關資訊,舉例而言,可記載對象程式P所使用之程式設計語言種類、程式種 類(區分為使用者程式、系統程式等)等。記載例中列舉出「程式設計語言種類」與「程式種類」之例。程式設計語言種類之例-“Java,C,C++,OCaml”,係表示對象程式以何種程式設計語言記載之標籤種類。另外,程式種類之例-“USER_PROG,SYSTEM_PROG,LIBRARY”,係表示對象程式種類(使用者程式、系統程式、程式庫等)。
‧傳送方法指定資訊係指定對象程式P的傳送方法,舉例而言,係記載自使用者直接傳送或自外部系統輸入。記載例之“DIRECT_UPLOAD”係表示使用者直接上傳對象程式P之標籤。另外,“IMPORT_git://XX…”係表示自外部儲存庫(在此係git://XXX…)取得或已取得對象程式P之標籤。
‧對象程式辨識資訊係表示解析驗證對象的對象程式P之辨識資訊。記載例之“OBJP_ID_0,OBJP_ID_1”係表示參照保存之對象程式P的辨識資訊標籤。
〔3.1.3.工具管理部〕
工具管理部300具備接收工具提供者提出之程式解析驗證工具的登錄要求,且依據該登錄要求產生載入、設定有程式解析驗證工具之虛擬機T後進行保存之功能(第6圖)。另外,工具管理部300具備接收解析驗證部100提出之虛擬機取得要求,並將此時取得之工具指定資訊的搜尋、提取出之虛擬機T傳送至解析驗證部100之功能(第7圖)。
因此,如第1圖所示,工具管理部300具備工具管理控制部310與工具儲存部320。再者,工具管理控制部310與工具儲存部320係與第6圖及第7圖所示之工具管理子系統30的控制器31與儲存庫32相對應。接著,工具管理子系統30的虛擬機執行環境33具備與第1圖之工具管理部300中之工具 管理控制部310的虛擬機產生部312相對應之功能。
該工具管理控制部310係控制工具管理部300整體。詳細而言,其具備工具提供者輸入部311、虛擬機產生部312(虛擬機產生裝置)、工具登錄搜尋部313(工具提取裝置)及工具傳送部314。
工具提供者輸入部311係向工具提供者提供操作畫面並具備接收輸入之使用者介面。工具提供者輸入部311係可直接接收使用者於鍵盤或滑鼠等輸入裝置上之操作,亦可透過網際網路等通訊間接接收。
具體而言,工具提供者輸入部311係於接收工具提供者輸入之操作時,取得工具提供者的辨識資訊標籤(工具提供者辨識資訊)。
另外,工具提供者輸入部311係接收工具提供者所提出之程式解析驗證工具的登錄要求(第6圖之步驟E1)。登錄要求中包含:工具提供者指定之標籤(工具相關資訊);及程式解析驗證工具之辨識資訊(工具辨識資訊)標籤。再者,工具辨識資訊係作為虛擬機T辨識資訊使用,其包含載入、設定有解析驗證時使用之程式解析驗證工具的工具影像。另外,工具提供者輸入部311係伴隨登錄要求接收程式解析驗證工具(第6圖之步驟E3)。
虛擬機產生部312係於每一程式解析驗證工具產生載入、設定有程式解析驗證工具之虛擬機T(第6圖之步驟E2)。產生虛擬機T時,登錄要求所含之工具相關資訊係作為將程式解析驗證工具載入、設定於虛擬機時使用之資料。虛擬機產生部312係具備初始虛擬機產生部3121與工具載入部3122。
初始虛擬機產生部3121係依據工具相關資訊,產生載入、設定程式解析驗證工具前之虛擬機(初始虛擬機)。如此,舉例而言,可取得符合程式解析驗證工具可處理之程式設計語言種類或程式種類(區分為使用者程式、系統 程式等)、程式解析驗證工具運作之執行環境(作業系統或程式庫之種類版本、必要之計算資源,即,CPU速度或種類、記憶體或磁碟大小等)之初始虛擬機。
工具載入部3122係執行初始虛擬機產生部3121產生之虛擬機(初始虛擬機),並依據工具提供者之指示等載入、設定程式解析驗證工具(第6圖之步驟E3)。
工具登錄搜尋部313係於工具提供者輸入部311接收工具提供者提出之登錄要求時,將所含之標籤內容存放於工具儲存部320的工具管理資料庫DBt(第6圖之步驟E4)。另外,工具登錄搜尋部313係將虛擬機產生部312產生之虛擬機T存放於工具儲存部320(第4圖之步驟C3)。此時,工具登錄搜尋部313係將虛擬機T作為工具影像資料存放於工具儲存部320。
另外,工具登錄搜尋部313係於工具管理資料庫DBt與虛擬機T的辨識資訊(工具辨識資訊)等相對應後加以存放。另外,工具登錄搜尋313於接收解析驗證部100提出之虛擬機(工具影像)取得要求時,參照工具管理資料庫DBt,搜尋符合虛擬機(工具影像)取得要求所含之工具指定資訊之工具相關資訊。接著,自工具儲存部320讀取出與符合工具指定資訊之工具相關資訊相對應之虛擬機T(工具影像)(第7圖之步驟F1至步驟F4)。
工具傳送部314係接收解析驗證部100提出之包含工具指定資訊之虛擬機(工具影像)取得要求(第7圖之步驟F1),而其回應係將經工具登錄搜尋部313提取出之一或複數虛擬機T傳送至解析驗證部100(第7圖之步驟F4)。
工具儲存部320係存放工具管理資料庫DBt與虛擬機T(影像資料)。如第10圖所示,於工具管理資料庫DBt的一個紀錄存放有工具提供者辨識資訊、工具相關資訊及工具辨識資訊。虛擬機T(工具影像)係藉由工具辨識資 訊,與其他資訊相對應。
在此,依據第10圖具體說明登錄至工具管理資料庫DBt之各個資訊。
‧工具提供者辨識資訊係工具提供者之辨識資訊。記載例之“USER_A,USER_B”係表示分配至使用者A、使用者B之標籤。
‧工具相關資訊係工具提供者可於任意內容指定任意個數之資訊。工具相關資訊,舉例而言,可記載程式解析驗證工具(虛擬機T)可處理之程式設計語言種類或程式種類(區分為使用者程式、系統程式等)、程式解析驗證工具(虛擬機T)運作之執行環境(作業系統或程式庫種類版本、必要之計算資源(CPU速度或種類、記憶體或磁碟大小等)等。記載例列舉出「程式設計語言種類」、「程式種類」及「執行環境、計算資源」之例。程式設計語言種類之例-“Java,C,C++,OCaml”,係表示程式解析驗證工具(虛擬機T)將何種程式設計語言記載之程式視為對象之標籤種類。另外,程式種類之例-“USER_PROG,SYSTEM_PROG,LIBRARY”,係列舉出程式解析驗證工具(虛擬機T)可進行解析驗證之對象的程式種類(使用者程式、系統程式及程式庫等)。另外,執行環境、計算資源之例-“OS_Linux 3.X,LIB_libgplk_1.X,CPU_KIND_X86,CPU_SPEED_2G,CPU_NUM_8,MEM_MAX_1G,DISK_MAX_4G”,係列舉出程式解析驗證工具(虛擬機T)可執行之執行環境、計算資源種類。此情況下,表示OS係Linux 3.X、程式庫係libgplk 1.X、CPU種類係X86、執行頻率係2GHz、CPU核心數最多係8個、使用之最大記憶體容量係1GB、磁碟容量係4G。
‧工具辨識資訊係表示虛擬機T之辨識資訊,其包含載入、設定有解析驗證時使用之程式解析驗證工具(虛擬機T)的工具影象。記載例之“TOOL_ID_0, TOOL_ID_1”係保存之程式解析驗證工具,更具體而言,係參照虛擬機T之辨識資訊,其包含載入、設定有程式解析驗證工具之工具影像。
〔4.與傳統技術之比較〕
在此,本實施形態之提供程式解析驗證服務系統1與傳統技術之相異點,尤其係與病毒解析檢測網站(非專利文獻1)之比較,以[發明所欲解決的課題]列舉之各個問題進行說明。
(1)程式解析驗證工具所需之計算資源的膨脹化
針對該問題,傳統病毒解析檢測網站雖然讓使用者無需準備計算資源,但解析驗證工具之提供者需獨自準備計算資源或製成新Web介面。
對此,該提供程式解析驗證服務系統1因可於複數程式解析驗證工具之提供者間共享計算資源,所以可大幅減輕工具提供者之負擔。另外,如〔2.3.工具管理子系統的一安裝例〕所述,工具提供者可僅針對事先準備之虛擬機進行程式解析驗證工具之載入、設定,因此,無需耗費新Web介面製作等之額外工作時間。
(2)程式解析驗證工具種類之多樣化
針對該問題,如非專利文獻1之記載,雖存在有眾多病毒解析檢測網站,但各個網站係由不同工具提供者獨自運作,並沒有具備統一介面。因此,對程式解析驗證工具之使用者而言,係難以判斷該挑選何種程式解析驗證工具較佳,即,難以判斷該挑選何種病毒解析檢測網站較佳。
(3)載入、運用程式解析驗證工具之工作時間、成本
同樣地,針對該問題,眾多病毒解析檢測網站係由不同工具提供者獨自運作且沒有具備統一介面,因此,較難有效率地使用複數網站進行解析 驗證或該結果之收集比較。
該問題之簡單解決方法,可考慮將複數程式解析驗證網站作為最終程序,而最初程序係設置提供統一介面之網站。即,方法係為接收使用者提出之對象程式,將其傳送至複數程式解析驗證網站,並將結果收集後傳送給使用者。
但如以下所述,該方法仍存在有問題。首先,單純僅將對象程式傳送至複數程式解析驗證網站,但亦會傳送至提供使用者不需要之程式解析驗證工具之程式解析驗證網站。結果導致解析驗證效率變差,另解析驗證結果亦增多,無法輕易進行比較檢討。對此,如〔2.用以共享程式解析驗證工具之系統安裝例〕所述,於該提供程式解析驗證服務系統1係將對象程式或程式解析驗證工具標註標籤後進行管理,以有效率挑選出必要之程式解析驗證工具。
另外,其他問題係若單純僅將對象程式傳送至複數程式解析驗證網站,使用者需保存、管理解析驗證之結果,對使用者而言,可能會增加計算資源的負擔或重複進行不必要之相同解析驗證。對此,如〔2.用以共享程式解析驗證工具之系統安裝例〕所述,於該提供程式解析驗證服務系統1可將解析驗證結果統一保存於儲存庫,並利用標註標籤進行結果搜尋等。
而且,將複數網站作為最終程序使用之方法,係無法解決(1)、(4)之問題。
(4)程式解析驗證工具本身測試之難度
針對該問題,首先,各個解析驗證工具之提供者可準備之計算資源係有限,實際可進行解析驗證之對象大小或複雜度亦有限。因此,傳統病毒解析檢測網站亦具備較難進行解析驗證工具本身測試之問題。
對此,該提供程式解析驗證服務系統1係可於複數程式解析驗證工具之提供者間共享計算資料。結果,因可解析驗證較大、較複雜之對象,更可嚴格進行程式解析驗證工具本身之測試。另外,因可於複數程式解析驗證工具共享解析驗證對象之程式,所以可針對較多對象進行程式解析驗證工具之測試。
如以上所述,傳統病毒解析檢測網站雖然具備讓使用者不需耗費為了進行解析驗證而準備計算資源或載入解析檢測軟體等工作時間之優點,但仍具備本發明欲解決之課題((1)~(4))之問題。
〔5.多階段式解析驗證之運用等〕
於上述記載中,說明提供程式解析驗證服務系統1使用程式解析驗證工具以一階段式解析驗證對象程式之情況。但亦可於多階段式解析驗證進行對象程式的解析驗證時適度使用提供程式解析驗證服務系統1。
接著,舉例而言,使用程式解析驗證工具解析驗證對象程式後,針對該解析驗證所得之結果資料另進行解析驗證時,較佳係於對象程式或結果資料標註適合各個階段進行解析驗證之工具指定資訊標籤與工具相關資訊標籤。即,提供程式解析驗證服務系統1亦於各個階段之解析驗證等中使用標籤,藉此於多階段式解析驗證工程時可有效率地進行對象程式之解析驗證處理。
首先,提供程式解析驗證服務系統1中,於各個階段解析驗證使用標籤,並以多階段式解析驗證進行對象程式的解析驗證之例係如以下所述。
在此係說明:提供程式解析驗證服務系統1使用程式解析驗證工具進行對象程式之解析驗證處理;及針對該處理所得之結果資料連續進行解析驗證(後處理)之情況。
首先,將虛擬機執行環境部120(工具執行裝置)使用程式解析驗證工具進行對象程式解析驗證後所得之結果資料,與結果資料的特徵記載資訊(標籤)相對應後,存放於資料儲存部130(結果資料儲存部)。另一方面,工具儲存部320係將解析驗證結果資料之程式解析驗證工具(後處理工具)與該解析驗證工具相關資訊相對應後存放於工具儲存部320。
接著,使用者介面部111(工具指定資訊取得裝置)係自資料儲存部130取得與結果資料相對應之特徵記載資訊,並將其視為該工具指定資訊。
工具登錄搜尋部313(工具提取裝置)係依據使用者介面部111所取得之工具指定資訊搜尋工具相關資訊,並自儲存於工具儲存部320之複數後處理工具中提取出與適當的工具相關資訊相對應之後處理工具。
接著,提供程式解析驗證服務系統1係使用上述提取出之後處理工具,針對解析驗證對象程式所得之處理結果資料連續進行解析驗證(後處理)。
於上述例子中,舉例而言,於解析驗證所得之處理結果資料適當地標註之特徵記載資訊(標籤),可為表示資料種類之標籤(如:"execution_path"(表示執行路徑)、"execution_trace"(表示執行軌跡)、"program_point"(表示程式中之執行位置))等。另外,針對資料解析工具,係如同程式解析驗證,可標註工具指定資訊(標籤)。
再者,並未將解析驗證對象程式之處理階段次數侷限於二階段式,亦可以任意次數之處理階段進行處理。
另外,在此雖說明將提供程式解析驗證服務系統1使用程式解析驗證工具進行對象程式的解析驗證處理所得之結果資料連續進行解析驗證之情況,但提供程式解析驗證服務系統1針對於其他系統進行解析驗證所得之結果 資料進行解析驗證之情況亦適用本發明。即,進行多階段式解析驗證處理時,提供程式解析驗證服務系統1係可進行全部的解析驗證處理,亦可由其他系統分擔各個階段之處理。
具體而言,可列舉出依據其他系統所輸出之解析結果-執行路徑,提供程式解析驗證服務系統1可進行更精確之解析驗證等情況。
非使用提供程式解析驗證服務系統1之程式解析驗證工具,而以其他系統之程式解析驗證工具進行對象程式的解析驗證時,亦可於作為該解析驗證結果輸出之結果資料上標註標籤(特徵記載資訊),藉此以資料解析工具進行該結果資料的解析驗證。
即,以其他系統之程式解析驗證工具進行對象程式的解析驗證時,亦可於輸出之解析驗證結果資料上標註標籤並進行保存,如此使用本發明之機制。
並非將本發明侷限於上述之對象程式的解析驗證及以輸出之解析驗證結果資料為對象進行解析驗證處理(後處理)時使用。舉例而言,對象程式的解析驗證若需進行前處理時,亦可適當標註標籤加以運用。
接著,以下表示將提供程式解析驗證服務系統1欲進行解析驗證之對象程式,針對前處理前的程式進行前處理之例。
依據程式解析驗證工具之種類,將其預設為針對程式(前處理前的程式)進行前處理後之結果視為對象程式(前處理後的程式)之情況。
即,首先,第一階段係將使用前處理工具(工具)針對前處理前的程式進行前處理後之結果的對象程式加以輸出,並將該對象程式儲存於對象程式儲存部220(前處理後的程式儲存部)。接著,第二階段係針對該前處理後所得 之對象程式,以程式解析驗證工具連續進行解析驗證處理。
此情況下,係將前處理前的程式進行前處理後所得之對象程式與對象程式的特徵記載資訊(標籤)相對應後存放於對象程式儲存部220(前處理後的程式儲存部)。
接著,對象程式取得部114係自對象程式儲存部220取得對象程式。另一方面,使用者介面部111(工具指定資訊取得裝置)係取得與對象程式相對應之特徵記載資訊,並將其作為工具指定資訊,而該特徵記載資訊係可自對象程式儲存部220取得對象程式。
如此,為了進行某程式之解析驗證,而需進行之程式的前處理係如:資料程序解析、控制程序解析、程式分割、指標解析等。
接著,可於前處理工具(工具)與對象程式(前處理後程式)標註標籤並加以保存,如此使用本發明機制。
實際上,前處理工具係如同解析驗證工具,具備各種種類,因消耗較多計算資源,所以如同解析驗證工具,可透過本發明解決該問題。
舉例而言,標註於前處理工具(工具)之標籤(工具相關資訊),可為:表示可進行前處理對象之標籤(如同標註於驗證工具之標籤);及,表示進行何種前處理之標籤(如:表示"data_flow_analysis"、"control_flow_analysis"、"program_slicing"、"pointer_analysis"等前處理種類之標籤)。另外,對應前處理結果資料之特徵記載資訊(標籤)係可為"data_flow_analysis"、"control_flow_analysis"、"program_slicing"、"pointer_analysis"等。
另外,作為組合上述二例子之組合例,係揭露於提供程式解析驗證服務系統1(提供資料處理服務系統),使用前處理工具(前處理之資料處理工具) 進行對象程式的前處理,接著針對前處理後之對象程式使用程式解析驗證工具進行解析驗證,更針對其解析驗證之結果資料使用其他解析驗證工具(後處理之資料處理工具)進行解析驗證之例。
首先,第一階段係使用前處理工具(前處理之資料處理工具)將針對前處理前的程式進行前處理後所得之結果-對象程式加以輸出,並將該對象程式儲存於對象程式儲存部220(前處理後之程式儲存部)。前處理前的程式進行前處理後所得之對象程式係如上所述,與對象程式的特徵記載資訊(標籤)相對應後存放於對象程式儲存部220(前處理後之程式儲存部)。
此時,於前處理後之對象程式所標註之適當的特徵記載資訊(標籤),係如上述例,舉例而言,可為表示前處理種類之標籤("data_flow_analysis"、"control_flow_analysis"、"program_slicing"、"pointer_analysis"等)等。
接著,第二階段係針對前處理所得之對象程式,使用程式解析驗證工具進行解析驗證。具體而言,首先,對象程式取得部114係自對象程式儲存部220取得對象程式。另一方面,使用者介面部111(工具指定資訊取得裝置)係取得與對象程式相對應之特徵記載資訊,並將其作為工具指定資訊,而該特徵記載資訊係可自對象程式儲存部220取得對象程式。接著,虛擬機執行環境部120(工具執行裝置)係使用程式解析驗證工具進行對象程式的解析驗證,並將最終取得之結果資料與結果資料的特徵記載資訊(標籤)相對應後存放於資料儲存部130(結果資料儲存部)。
此時,於結果資料適當地標註之特徵記載資訊(標籤),係如上述例,舉例而言,可為表示資料種類之標籤("execution_path"(表示執行路徑)、"execution_trace"(表示執行軌跡)、"program_point"(表示程式中之執行位置)等) 等。
最後,第三階段係使用者介面部111(工具指定資訊取得裝置)自資料儲存部130取得與結果資料相對應之特徵記載資訊,並將其作為該工具指定資訊。在此,工具儲存部320係將解析驗證結果資料之程式解析驗證工具(後處理之資料處理工具)與該解析驗證工具相關資訊相對應後存放於工具儲存部320。接著,工具登錄搜尋部313(工具提取裝置)係依據使用者介面部111所取得之工具指定資訊搜尋工具相關資訊,並自存放於工具儲存部320之複數後處理工具中提取出與適當的工具相關資訊相對應之後處理工具(後處理之資料處理工具)。之後,提供程式解析驗證服務系統1係自工具儲存部320取得提取出之資料處理工具,並使用取得之後處理工具,針對解析驗證對象程式所得之處理結果資料連續進行解析驗證(後處理)。
再者,於上述組合例中前處理與後處理之次數係各一次,但亦可以任意次數組合前處理、後處理、解析驗證處理。另外,亦可省略前處理、後處理或解析驗證處理的其中任一項。
如此,進行多階段式資料處理時,提供程式解析驗證服務系統1係將可取得各個階段處理結果之資料(程式或程式以外資料)與特徵記載資料(標籤)相對應後保存(存放)。將各個階段處理結果之資料與特徵記載資訊(標籤)相對應之處理,係與保存資料同時進行或保存資料後至提取出下一階段處理所用工具之間進行。此時,所對應之特徵記載資訊(標籤),較佳係對應各個階段處理所使用之工具並依據預設規定加以決定。再者,提供程式解析驗證服務系統1的使用者亦可以人為操作將各個階段處理所得資料與特徵記載資訊(標籤)相對應。
如以上所述,本發明若適用連續進行:於程式進行前處理以取得 對象程式之處理(前處理);及,將所得之對象程式進行解析驗證處理之多階段式解析驗證,其組成可如以下所述。
提供程式解析驗證服務系統(提供程式解析驗證服務系統1),係連續進行將前處理前的程式進行前處理並取得對象程式之處理,及使用程式解析驗證工具解析驗證該處理所得對象程式之處理;且提供程式解析驗證服務系統1更具備:前處理後之程式儲存部(對象程式儲存部220)係將前處理前的程式進行前處理後所得之對象程式與該對象程式的特徵記載資訊(工具指定資訊)相對應進行存放;對象程式取得裝置(對象程式取得部114)係自前處理後之程式儲存部取得對象程式;工具指定資訊取得裝置(使用者介面部111)係自前處理後之程式儲存部取得與對象程式取得裝置所得之對象程式相對應之特徵記載資訊,將其視為工具指定資訊。
另外,本發明若適用於持續進行對象程式的解析驗證處理,並將所得結果資料進行解析驗證處理之多階段式解析驗證時,其組成可如以下所述。
提供程式解析驗證服務系統(提供程式解析驗證服務系統1),係連續進行使用程式解析驗證工具進行對象程式之解析驗證處理,及將該處理所得之結果資料進行後處理;且提供程式解析驗證服務系統1更具備:結果資料儲存部(資料儲存部130),係將工具執行裝置(虛擬機執行環境部120)使用程式解析驗證工具進行對象程式的解析驗證後所得之結果資料與該結果的特徵記載資訊(工具指定資訊)相對應後進行存放;同時,工具儲存部(工具儲存部320)係將後處理結果資料之後處理工具與該後處理工具之工具相關資訊相對應後進行存放;工具指定資訊取得裝置(使用者介面部111)係自結果資料儲存部取得與結果資料相對應之特徵記載資訊,並將其視為工具指定資訊;工具提取裝置(工具登 錄搜尋部313)係依據工具指定資訊取得裝置所取得之工具指定資訊搜尋工具相關資訊,並自存放於工具儲存部之複數後處理工具中提取出與適當的工具相關資訊相對應之後處理工具。
另外,本發明不需進行程式解析驗證處理之提供服務系統組成係如以下所述。
本發明之提供資料處理服務系統(提供程式解析驗證服務系統1)係依序使用複數資料處理工具(程式解析驗證工具、前處理工具、後處理工具),藉此以複數階段進行對象資料(對象程式、結果資料)之資料處理,其包含:工具儲存部(工具儲存部320),將複數資料處理工具與各個資料處理工具的工具相關資訊相對應並加以存放;結果資料儲存部(資料儲存部130),係將使用前階段之資料處理工具(前處理工具、程式解析驗證工具)進行資料處理後所得之結果資料與該結果資料的特徵記載資訊(工具指定資訊)相對應後加以存放;結果資料取得裝置(對象程式取得部114),係自該結果資料儲存部取得該結果資料;工具指定資訊取得裝置(使用者介面部111),係作為工具指定資訊,其指定進行該結果資料取得裝置所取得之結果資料的資料處理時之資料處理工具(程式解析驗證工具、後處理工具),以自該結果資料儲存部取得與該結果資料相對應之特徵記載資訊;工具提取裝置(工具登錄搜尋部313),係依據該工具指定資訊取得裝置所取得之工具指定資訊搜尋該工具相關資訊,並自存取於該工具儲存部之複述數資料處理工具中提取出與適當的工具相關資訊相對應之資料處理工具;工具取得裝置(工具取得部115),係自該工具儲存部中取得該工具提取裝置所提取出之資料處理工具;工具執行裝置(虛擬機執行環境部120),係使用該工具取得裝置所取得之資料處理工具,將該結果資料取得裝置所取得之結果資料進行資料處 理。
〔6.結論〕
本發明之提供程式解析驗證服務系統,係以程式解析驗證工具進行對象程式之解析驗證,其包含:對象程式取得裝置,係取得對象程式;工具儲存部,係存放複數程式解析驗證工具;工具提取裝置,係自存放於該工具儲存部之複數程式解析驗證工具中提取出用以解析驗證該對象程式取得裝置所取得之對象程式之程式解析驗證工具;工具取得裝置,係自該工具儲存部取得該工具提取裝置所提取出之程式解析驗證工具;工具執行裝置,係使用該工具取得裝置所取得之各個程式解析驗證工具,進行該對象程式取得裝置所取得之對象程式的解析驗證。
另外,本發明之提供程式解析驗證服務系統的控制方法,係使用程式解析驗證工具進行對象程式的解析驗證之提供程式解析驗證服務系統的控制方法;其中該提供程式解析驗證服務系統係包含存放複數程式解析驗證工具之工具儲存部;而該控制方法包含:對象程式取得步驟,係取得對象程式;工具提取步驟,係自存放於該工具儲存部之複數程式解析驗證工具中提取出用以解析驗證該對象程式取得步驟所取得之對象程式的程式解析驗證工具;工具取得步驟,係自該工具儲存部取得該工具提取步驟所提取出之程式解析驗證工具;工具執行步驟,係使用該工具取得步驟所取得之各個程式解析驗證工具進行該對象程式取得步驟所取得之對象程式的解析驗證。
透過該組成,於取得對象程式的同時,自存放於工具儲存部之複數程式解析驗證工具中提取並取得解析驗證該對象程式時使用之程式解析驗證工具。接著,使用取得之各個程式解析驗證工具以進行對象程式的解析驗證。
藉此,取得對象程式並自事前準備之複數程式解析驗證工具中挑選出配合該對象程式解析驗證時使用之程式解析驗證工具。如此,針對希望解析驗證對象程式之複數使用者,可提供一種使用自事前準備之複數程式解析驗證工具中配合各個對象程式挑選出之程式解析驗證工具來執行解析驗證之服務。另外,針對希望能提供程式解析驗證工具之複數工具提供者,可提供一種接收複數使用者提出之對象程式解析驗證委託執行解析驗證之服務。即,透過該組成,可實現一種程式解析驗證工具之共享系統。
藉此,可發揮以下效果。(1)因複數使用者共享工具執行系統,而各個使用者無需準備計算資源。因此,可活用剩餘之計算資源,於抑制解析驗證成本的同時,放寬可執行解析驗證之種類或規模限制。(2)可統一進行程式解析驗證工具之載入、維護管理,因此各個使用者無需進行載入、維護管理。(3)另外,因可提供統一之使用者介面,使用者可輕易於複數程式解析驗證工具中挑選出適當之工具。(4)另一方面,對程式解析驗證工具之提供者而言,與使用者相同,各個工具提供者無需準備計算資源。如此,可活用剩餘之計算資源,於抑制解析驗證成本的同時,放寬可執行解析驗證之種類或規模限制。另外,程式解析驗證工具可針對各種對象程式進行測試。尤其,程式解析驗證工具可針對現階段因計算資源限制而具難度之對象程式進行測試。
因此,自複數程式解析驗證工具中適當地挑選出應使用之工具,以輕易執行程式的解析驗證。接著,於共享系統上進行程式解析驗證,以解決傳統程式解析驗證技術的實用性上所存在之各種問題。
另外,本發明之提供程式解析驗證服務系統更具備:工具指定資訊取得裝置,係取得用以指定程式解析驗證工具之工具指定資訊,而該程式解 析驗證工具係用於解析驗證該對象取得裝置所取得之對象程式;其中,該工具儲存部係將複數程式解析驗證工具與各個程式解析驗證工具的工具相關資訊相對應後加以存放;該工具提取裝置係依據該工具指定資訊取得裝置所取得之工具指定資訊搜索該工具相關資訊並提取出與適當的工具相關資訊相對應之程式解析驗證工具。
透過該組成,工具儲存部更將複數程式解析驗證工具與各個程式解析驗證工具的工具相關資訊各別對應後進行存放。接著,取得工具指定資訊,其係指定程式解析驗證時使用之程式解析驗證工具,再依據該工具指定資訊搜尋該工具相關資訊,以提取出與適當的工具相關資訊相對應之程式解析驗證工具。
如此,於程式解析驗證工具對應工具相關資訊,並同時設定對象程式與工具指定資訊,藉此挑選出配合對象程式之程式解析驗證工具。在此,舉例而言,於工具相關資訊可設定程式解析驗證工具可處理之程式設計語言種類或程式種類(區分使用者程式、系統程式等)、程式解析驗證工具之運作執行環境(作業系統或程式庫之種類版本、必要之計算資源(CPU速度或種類、記憶體或磁碟大小等)等)。另一方面,工具指定資訊係指定解析驗證時使用之程式解析驗證工具資訊,係可自視為工具相關情報所設定之內容中加以設定。
另外,因可提供統一之使用者介面,所以使用者可輕易自複數程式解析驗證工具中挑選出適當的工具。
而且本發明之提供程式解析驗證服務系統,其中工具儲存部存放有載入、設定該程式解析驗證工具之虛擬機,並將其作為該程式解析驗證工具;而該工具執行裝置,係於取得該工具取得裝置之虛擬機上進行該對象程式取得 裝置所取得之對象程式的解析驗證。
透過該組成,更準備載入、設定有該程式解析驗證工具之虛擬機,將其作為該程式解析驗證工具,以於該虛擬機上進行對象程式的解析驗證。
如此,可發揮以下效果。首先,第一:使用虛擬機執行解析驗證,藉此於複數使用者與複數程式解析驗證工具之提供者間,輕易實現系統公平使用性。第二:於虛擬機上載入、設定程式解析驗證工具,藉此程式解析驗證工具之提供者可載入、設定與一般自行開發、測試之執行環境近乎相同之程式解析驗證工具。因此,不會為了因應特殊執行環境而修正程式解析驗證工具或為了於程式解析驗證工具與外部進行數據交流而另準備其他組成,而造成程式解析驗證工具之提供者額外負擔。再者,虛擬機上對象程式的解析驗證係可於虛擬機上執行對象程式後進行,亦可無執行對象程式加以進行。
本發明之提供程式解析驗證服務系統更具備:虛擬機產生裝置,係於每一程式解析驗證工具產生載入、設定有程式解析驗證工具之虛擬機;而該工具儲存部係存放該虛擬機產生裝置所產生之虛擬機,並將其作為該程式解析驗證工具。
透過該組成,更可於接收新程式解析驗證工具時,產生載入、設定有該程式解析驗證工具之虛擬機,並存放於工具儲存部。
如此,因於提供程式解析驗證服務系統產生載入、設定有程式解析驗證工具之虛擬機,工具提供者係無需產生虛擬機。另外,因可以統一樣式,尤其可考量虛擬機的執行環境而產生載入、設定有各不相同之程式解析驗證工具之複數虛擬機,所以可以相同處理。
另外,本發明之程式解析驗證裝置,係組成該提供程式解析驗證 服務系統,亦可具備該對象程式取得裝置、該工具取得裝置及該工具執行裝置。
另外,本發明之程式解析驗證工具管理裝置,係組成該提供程式解析驗證服務系統,亦可具備該工具儲存部與該工具提取裝置。
再者,該提供程式解析驗證服務系統、程式解析驗證裝置、程式解析驗證工具管理裝置係可透過電腦加以實現,此情況下,將電腦視為各該裝置加以運作,如此,以電腦實現該提供程式解析驗證服務系統、程式解析驗證裝置、程式解析驗證工具管理裝置之控制程式及儲存該控制程式之電腦可讀取之儲存媒體亦列入本發明範疇內。
〔7.補充〕
最後,可透過硬體邏輯組成提供程式解析驗證服務系統1、解析驗證部100、對象程式管理部200及工具管理部300之各個區塊,尤其係組成解析驗證控制部110、對象程式管理控制部210及工具管理控制部310;亦可如下述使用CPU並透過軟體實現。
後述情況之提供程式解析驗證服務系統1(其各組成裝置)係具備執行各個功能的程式命令之CPU(central processing unit);存放該程式之ROM(read only memory);展開該程式之RAM(random access memory);及,存放該程式及各個資料之記憶體等儲存裝置(儲存媒體)等。接著,本發明目的係將實現該功能之軟體-提供程式解析驗證服務系統1(其各組成裝置)的控制程式之程式碼(執行形式程式、中間碼程式、源極程式)儲存於電腦可讀取之儲存媒體,並提供給該提供程式解析驗證服務系統1(其各組成裝置),而該電腦(或CPU、MPU)可讀取並執行儲存於儲存媒體之程式碼。
舉例而言,該儲存媒體可以使用磁帶或卡帶等磁帶類; FLOPPY(登錄商標)磁碟/硬碟等磁性碟片或包含CD-ROM/MO/MD/DVD/CD-R等光碟之碟片類;IC卡(包含記憶卡)/光學卡等卡片類;或者,遮罩ROM/EPROM/EEPROM(登錄商標)/快閃ROM等半導體記憶體類等。
另外,提供程式解析驗證服務系統1(其各組成裝置)係可連結網路來組成,亦可藉由通訊網路提供該程式碼。該通訊網路並無特別之限制,舉例而言,可使用網際網路、廣域網路(intranet)、超網路(extra-net)、LAN、ISDN、VAN、CATV通訊網、假想專用網(virtual private network)、電話電路網、移動體通訊網、衛星通訊網等。另外,組成通訊網路之傳輸媒體係無特別之限制,舉例而言,可以利用IEEE1394、USB、電力線通訊、纜線電視電路、電話線、ADSL電路等有線方式;IrDA或如遙控器之類的紅外線、Bluetooth(登錄商標)、802.11無線、HDR、行動電話網、衛星線路、地上波數位網等無線方式。再者,本發明亦可採用該程式碼經電子傳送而具體化之混入搬送波的電腦資料訊號形態加以實現。
本發明並無侷限於上述實施形態,可於請求項所述範圍內做各種變更,而適度組合實施形態中揭露之技術手段所得之實施形態亦屬於本發明技術範圍。
【產業上之利用可能性】
可將本發明運用於使用程式解析驗證工具進行對象程式的解析驗證之裝置(系統)上。
1‧‧‧提供程式解析驗證服務系統
100‧‧‧解析驗證部
110‧‧‧解析驗證控制部
111‧‧‧使用者介面部
112‧‧‧工具執行控制部
113‧‧‧資料管理部
114‧‧‧對象程式取得部
115‧‧‧工具取得部
120‧‧‧虛擬機執行環境部
121a‧‧‧虛擬機
121b‧‧‧虛擬機
130‧‧‧資料儲存部
200‧‧‧對象程式管理部
210‧‧‧對象程式管理控制部
211‧‧‧使用者輸入部
212‧‧‧對象程式取得部
213‧‧‧對象程式登錄搜尋部
214‧‧‧對象程式傳送部
220‧‧‧對象程式儲存部
300‧‧‧工具管理部
310‧‧‧工具管理控制部
311‧‧‧工具提供者輸入部
312‧‧‧虛擬機產生部
3121‧‧‧初始虛擬機產生部
3122‧‧‧工具載入部
313‧‧‧工具登錄搜尋部
314‧‧‧工具傳送部
320‧‧‧工具儲存部
DBi‧‧‧委託管理資料庫
DBp‧‧‧對象程式管理資料庫
DBt‧‧‧工具管理資料庫
P‧‧‧對象程式
R‧‧‧解析驗證結果資料
T‧‧‧虛擬機

Claims (12)

  1. 一種提供程式解析驗證服務系統,係以程式解析驗證工具進行對象程式之解析驗證,其包含:一對象程式取得裝置,係取得一對象程式;一工具儲存部,係存放複數程式解析驗證工具;一工具提取裝置,係自存放於該工具儲存部之複數程式解析驗證工具中提取出用以解析驗證該對象程式取得裝置所取得之對象程式的程式解析驗證工具;一工具取得裝置,係自該工具儲存部取得該工具提取裝置所提取出之程式解析驗證工具;一工具執行裝置,係使用該工具取得裝置所取得之各個程式解析驗證工具,進行該對象程式取得裝置所取得之對象程式的解析驗證。
  2. 如申請專利範圍第1項所述之提供程式解析驗證服務系統,更包含一工具指定資訊取得裝置,係取得用以指定程式解析驗證工具之工具指定資訊,而該程式解析驗證工具係用於解析驗證該對象取得裝置所取得之對象程式;其中,該工具儲存部係將複數程式解析驗證工具與各個程式解析驗證工具的工具相關資訊相對應後加以存放;該工具提取裝置係依據該工具指定資訊取得裝置所取得之工具指定資訊,搜索該工具相關資訊,並提取出與適當的工具相關資訊相對應之程式解析驗證工具。
  3. 如申請專利範圍第1項或第2項所述之提供程式解析驗證服務系統,其中該工具儲存部係存放載入、設定有該程式解析驗證工具之一虛擬機,並將其作 為該程式解析驗證工具;而該工具執行裝置係於該工具取得裝置所取得之虛擬機上,進行該對象程式取得裝置所取得之對象程式的解析驗證。
  4. 如申請專利範圍第3項所述之提供程式解析驗證服務系統,更包含一虛擬機產生裝置,係於每一程式解析驗證工具產生載入、設定有程式解析驗證工具之虛擬機;而該工具儲存部係存放該虛擬機產生裝置所產生之虛擬機,並將其作為該程式解析驗證工具。
  5. 如申請專利範圍第2項所述之提供程式解析驗證服務系統,其中該提供程式解析驗證服務系統係連續進行前處理一前處理前程式並取得該對象程式之處理,及使用該程式解析驗證工具進行該處理所得之對象程式的解析驗證處理;且更包含一前處理後程式儲存部,係將前處理該前處理前程式後所得之對象程式與該對象程式的特徵記載資訊相對應後進行存放;而該對象程式取得裝置係自該前處理後程式儲存部取得該對象程式;該工具指定資訊取得裝置係自該前處理後程式儲存部中取得與該對象程式取得裝置所取得之對象程式相對應之特徵記載資訊,並將其作為該工具指定資訊。
  6. 如申請專利範圍第2項所述之提供程式解析驗證服務系統,其中該提供程式解析驗證服務系統係連續進行使用該程式解析驗證工具進行該對象程式之解析驗證處理,及後處理該處理所得之結果資料處理;且更包含一結果資料儲存部,係將該工具執行裝置使用該程式解析驗證工 具解析驗證該對象程式後所得之結果資料與該結果資料的特徵記載資訊相對應後進行存放;同時,該工具儲存部係將後處理該結果資料之後處理工具與該後處理工具的工具相關資訊相對應後進行存放;該工具指定資訊取得裝置係自該結果資料儲存部取得與該結果資料相對應之特徵記載資訊,並將其作為該工具指定資訊;該工具提取裝置係依據該工具指定資訊裝置所取得之工具指定資訊,搜索該工具相關資訊,並自存放於該工具儲存部之複數後處理工具中提取出與適當的工具相關資訊相對應之後處理工具。
  7. 一種提供程式解析驗證服務系統之控制方法,係使用程式解析驗證工具進行對象程式的解析驗證之提供程式解析驗證服務系統的控制方法;其中該提供程式解析驗證服務系統係包含存放複數程式解析驗證工具之工具儲存部;而該控制方法包含:一對象程式取得步驟,係取得對象程式;一工具提取步驟,係自存放於該工具儲存部之複數程式解析驗證工具中提取出用以解析驗證該對象程式取得步驟所取得之對象程式的程式解析驗證工具;一工具取得步驟,係自該工具儲存部取得該工具提取步驟所提取出之程式解析驗證工具;一工具執行步驟,係使用該工具取得步驟所取得之各個程式解析驗證工具進行該對象程式取得步驟所取得之對象程式的解析驗證。
  8. 一種控制程式,係使電腦發揮如申請專利範圍第1項或第2項所述之提供程式解析驗證服務系統的各裝置功能。
  9. 一種電腦可讀取之儲存媒體,係儲存如申請專利範圍第8項所述之控制程式。
  10. 一種程式解析驗證裝置,係組成申請專利範圍第1項所述之提供程式解析驗證服務系統,其包含:該對象程式取得裝置、該工具取得裝置及該工具執行裝置。
  11. 一種程式解析驗證工具管理裝置,係組成如申請專利範圍第1項所述之提供程式解析驗證服務系統,其包含:該工具儲存部與該工具提取裝置。
  12. 一種提供資料處理服務系統,係依序使用複數資料處理工具,藉此於複數階段進行對象資料之資料處理,其包含;一工具儲存部,係將複數資料處理工具與各個資料處理工具的工具相關資訊相對應後進行存放;一結果資料儲存部,係將使用前階段的資料處理工具進行資料處理後所取得之結果資料與該結果資料的特徵記載資訊相對應後進行存放;一結果資料取得裝置,係自該結果資料儲存部取得該結果資料;一工具指定資訊取得裝置,係自該結果資料儲存部取得與該結果資料相對應之特徵記載資訊,並將其作為指定資料處理工具之工具指定資訊,而該資料處理工具係用於該結果資料取得裝置所取得之結果資料的資料處理;一工具提取裝置,係依據該工具指定資訊取得裝置所取得之工具指定資訊,搜尋該工具相關資訊,並自存放於該工具儲存部之複數資料處理工具中提取出與適當的工具相關資訊相對應之資料處理工具; 一工具取得裝置,係自該工具儲存部取得該工具提取裝置所提取出之資料處理工具;一工具執行裝置,係使用該工具取得裝置所取得之資料處理工具,進行該結果資料取得裝置所取得之結果資料的資料處理。
TW101142173A 2011-11-15 2012-11-13 提供程式解析驗證服務系統及其控制方法、控制程式、使電腦發揮作用之控制程式、程式解析驗證裝置、程式解析驗證工具管理裝置 TWI524206B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011249978 2011-11-15

Publications (2)

Publication Number Publication Date
TW201331779A TW201331779A (zh) 2013-08-01
TWI524206B true TWI524206B (zh) 2016-03-01

Family

ID=48429562

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101142173A TWI524206B (zh) 2011-11-15 2012-11-13 提供程式解析驗證服務系統及其控制方法、控制程式、使電腦發揮作用之控制程式、程式解析驗證裝置、程式解析驗證工具管理裝置

Country Status (9)

Country Link
US (1) US9400887B2 (zh)
EP (1) EP2782039B1 (zh)
JP (1) JP5540160B2 (zh)
CN (1) CN103930898B (zh)
BR (1) BR112014011612B1 (zh)
RU (1) RU2586016C2 (zh)
SG (1) SG11201402290VA (zh)
TW (1) TWI524206B (zh)
WO (1) WO2013073504A1 (zh)

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8510596B1 (en) 2006-02-09 2013-08-13 Virsec Systems, Inc. System and methods for run time detection and correction of memory corruption
KR102368170B1 (ko) 2013-09-12 2022-02-25 버섹 시스템즈, 인코포레이션 멀웨어의 자동화된 런타임 검출
US10275333B2 (en) * 2014-06-16 2019-04-30 Toyota Jidosha Kabushiki Kaisha Risk analysis of codebase using static analysis and performance data
CA2953793C (en) 2014-06-24 2021-10-19 Virsec Systems, Inc. System and methods for automated detection of input and output validation and resource management vulnerability
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
EP3203333B1 (en) * 2014-09-30 2019-12-04 Makino Milling Machine Co., Ltd. Control device for machine tool and machine tool
US9832216B2 (en) * 2014-11-21 2017-11-28 Bluvector, Inc. System and method for network data characterization
US9413626B2 (en) 2014-12-05 2016-08-09 Amazon Technologies, Inc. Automatic management of resource sizing
WO2016117317A1 (ja) * 2015-01-22 2016-07-28 日本電気株式会社 ソフトウェア判定装置、ソフトウェア判定方法、ソフトウェア判定プログラムが格納された記録媒体、ソフトウェア解析装置、及び、マルウェア診断装置
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US9727365B2 (en) * 2015-04-12 2017-08-08 At&T Intellectual Property I, L.P. End-to-end validation of virtual machines
DE102015211308A1 (de) * 2015-06-19 2016-12-22 Robert Bosch Gmbh Werkzeugsystem für eine Montageanlage mit anwenderspezifischem Bericht und ein Verfahren für ein Werkzeugsystem einer Monateanlage
US10042660B2 (en) 2015-09-30 2018-08-07 Amazon Technologies, Inc. Management of periodic requests for compute capacity
WO2017094519A1 (ja) 2015-11-30 2017-06-08 日本電気株式会社 ソフトウェア解析装置、ソフトウェア解析方法、及び、記録媒体
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US10002026B1 (en) * 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10528734B2 (en) * 2016-03-25 2020-01-07 The Mitre Corporation System and method for vetting mobile phone software applications
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
CA3027728A1 (en) * 2016-06-16 2017-12-21 Virsec Systems, Inc. Systems and methods for remediating memory corruption in a computer application
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
JP6695437B2 (ja) * 2016-10-03 2020-05-20 株式会社日立製作所 管理計算機及びテスト環境決定方法
US10878020B2 (en) * 2017-01-27 2020-12-29 Hootsuite Media Inc. Automated extraction tools and their use in social content tagging systems
CN108932429B (zh) * 2017-05-27 2023-02-03 腾讯科技(深圳)有限公司 应用程序的分析方法、终端及存储介质
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11138098B2 (en) * 2019-03-27 2021-10-05 At&T Intellectual Property I, L.P. Disk image selection in virtualized network environments
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
CN113326513B (zh) * 2021-06-16 2022-09-02 百度在线网络技术(北京)有限公司 应用测试方法和装置、系统、电子设备、计算机可读介质
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11968280B1 (en) 2021-11-24 2024-04-23 Amazon Technologies, Inc. Controlling ingestion of streaming data to serverless function executions
US12015603B2 (en) 2021-12-10 2024-06-18 Amazon Technologies, Inc. Multi-tenant mode for serverless code execution

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09288592A (ja) 1996-04-23 1997-11-04 Nec Corp 情報処理システムの保守診断プログラム管理方式
JP2002108778A (ja) 2000-09-27 2002-04-12 Japan Business Computer Co Ltd ウイルスチェックサーバ及びウイルスチェック方法
CN1147795C (zh) 2001-04-29 2004-04-28 北京瑞星科技股份有限公司 检测和清除已知及未知计算机病毒的方法、系统
US6944775B2 (en) * 2001-07-26 2005-09-13 Networks Associates Technology, Inc. Scanner API for executing multiple scanning engines
US7424706B2 (en) 2003-07-16 2008-09-09 Microsoft Corporation Automatic detection and patching of vulnerable files
US20060161982A1 (en) 2005-01-18 2006-07-20 Chari Suresh N Intrusion detection system
US7734607B2 (en) * 2005-02-01 2010-06-08 University Of Massachusetts Universal visualization platform
JP4770306B2 (ja) 2005-07-12 2011-09-14 日本電気株式会社 端末セキュリティチェックサービス提供方法及びそのシステム
US7996901B2 (en) * 2006-03-31 2011-08-09 Lenovo (Singapore) Pte. Ltd. Hypervisor area for email virus testing
US20070261124A1 (en) 2006-05-03 2007-11-08 International Business Machines Corporation Method and system for run-time dynamic and interactive identification of software authorization requirements and privileged code locations, and for validation of other software program analysis results
US7778987B2 (en) 2006-10-06 2010-08-17 Microsoft Corporation Locally storing web-based database data
JP4607918B2 (ja) * 2007-03-27 2011-01-05 株式会社東芝 プログラム検証仕様生成装置、方法およびプログラム
CN101661425B (zh) * 2008-08-26 2012-03-21 国际商业机器公司 测试覆盖分析方法和装置
JP5440973B2 (ja) * 2009-02-23 2014-03-12 独立行政法人情報通信研究機構 コンピュータ検査システム、コンピュータ検査方法
JP5119185B2 (ja) 2009-03-10 2013-01-16 Kddi株式会社 通信端末、データ検査サーバおよびデータ検査システム

Also Published As

Publication number Publication date
JP5540160B2 (ja) 2014-07-02
RU2014123633A (ru) 2015-12-20
CN103930898B (zh) 2016-10-12
EP2782039B1 (en) 2021-10-13
BR112014011612B1 (pt) 2021-08-31
SG11201402290VA (en) 2014-07-30
US20140304815A1 (en) 2014-10-09
TW201331779A (zh) 2013-08-01
BR112014011612A2 (pt) 2017-05-30
EP2782039A4 (en) 2015-08-26
WO2013073504A1 (ja) 2013-05-23
CN103930898A (zh) 2014-07-16
US9400887B2 (en) 2016-07-26
JPWO2013073504A1 (ja) 2015-04-02
EP2782039A1 (en) 2014-09-24
RU2586016C2 (ru) 2016-06-10

Similar Documents

Publication Publication Date Title
TWI524206B (zh) 提供程式解析驗證服務系統及其控制方法、控制程式、使電腦發揮作用之控制程式、程式解析驗證裝置、程式解析驗證工具管理裝置
US10416970B2 (en) Analysis device, analysis method, and analysis program
CN107665233B (zh) 数据库数据处理方法、装置、计算机设备和存储介质
US10402310B1 (en) Systems and methods for reducing storage required for code coverage results
US9875090B2 (en) Program analysis based on program descriptors
US10169005B2 (en) Consolidating and reusing portal information
US20150089415A1 (en) Method of processing big data, apparatus performing the same and storage media storing the same
CN109672722B (zh) 数据部署方法及装置、计算机存储介质和电子设备
KR101796369B1 (ko) 소프트웨어 분석을 위한 리버스 엔지니어링 협업 장치, 방법 및 시스템
CN111797351A (zh) 页面数据管理方法、装置、电子设备及介质
WO2016007178A1 (en) System and method for providing contextual analytics data
CN107391528B (zh) 前端组件依赖信息搜索方法及设备
CN113962597A (zh) 一种数据分析方法、装置、电子设备及存储介质
US20160070765A1 (en) Integrating search with application analysis
CN111488386B (zh) 数据查询方法和装置
CN117251228A (zh) 功能管理方法、装置、计算机设备及存储介质
US20130262662A1 (en) Methods and systems for smart adapters in a social media content analytics environment
US9189299B2 (en) Framework for system communication for handling data
CN102999719B (zh) 一种基于硬件模拟器的恶意代码在线分析方法及系统
CN114238391A (zh) 数据分页查询方法、装置、电子设备及存储介质
KR20110070767A (ko) 네트워크 기반 원격 포렌식 시스템
Kilic et al. Interactive function identification decreasing the effort of reverse engineering
US12026144B1 (en) Populating multi-layer technology product catalogs
Vuković CENTRALIZED DIGITAL FORENSIC ANALYTICAL SYSTEM: RATIONALIZATION USING OPEN-SOURCE SOFTWARE OF GENERAL PURPOSES
CN114371886A (zh) 前端框架组件转换方法、装置、计算机设备及存储介质

Legal Events

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