TWI724636B - 原套件名稱關聯方法 - Google Patents

原套件名稱關聯方法 Download PDF

Info

Publication number
TWI724636B
TWI724636B TW108141939A TW108141939A TWI724636B TW I724636 B TWI724636 B TW I724636B TW 108141939 A TW108141939 A TW 108141939A TW 108141939 A TW108141939 A TW 108141939A TW I724636 B TWI724636 B TW I724636B
Authority
TW
Taiwan
Prior art keywords
name
software package
original
list
package name
Prior art date
Application number
TW108141939A
Other languages
English (en)
Other versions
TW202121216A (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 中華電信股份有限公司
Priority to TW108141939A priority Critical patent/TWI724636B/zh
Application granted granted Critical
Publication of TWI724636B publication Critical patent/TWI724636B/zh
Publication of TW202121216A publication Critical patent/TW202121216A/zh

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本發明揭露一種原套件名稱關聯方法,利用各種分析方法提取欲檢測之軟體套件的原套件名稱,以追蹤用戶安裝之軟體套件名稱的變化資訊,藉此產生有效的關聯資訊以精準對應到公開漏洞的軟體資訊,俾降低漏洞被利用或無法偵測的資安風險。

Description

原套件名稱關聯方法
本發明係揭露一種原套件名稱關聯方法,特別是一種自動化蒐集用戶系統內的軟體套件資訊以與原套件名稱關聯之方法。
隨著時代進步,各式各樣的軟體套件不斷增加,相對地,軟體套件的資安漏洞也越來越多且不易偵測。因此,即時性偵測新漏洞的產生與實際系統安裝之軟體套件的關聯,以快速反應與進行更新,減輕資安問題並進一步保護重要系統的安裝,是越來越重要的議題。
習知的軟體套件與資安漏洞之關聯方法包括於運行平台(例如,Linux平台)檢測客戶端安全套件資訊蒐集引擎,蒐集系統文件、網路監聽服務、進程、套件管理的相關資訊,用以後續檢測主機漏洞與關聯分析。另一方面,也可蒐集運行平台上的軟體套件與套件相關的資源包,當軟體套件發生漏洞時,可向用戶或開發人員提供有關軟體套件漏洞的通知。
然而上述方法中,軟體套件常因第三方維護團隊修改軟體套件名稱,導致無法正確關聯至具有漏洞之軟體套件的實際名稱(例如,通用弱點披露(Common Vulunerabilities and Exposures,CVE)中紀錄的 漏洞軟體套件名稱),或是無法透過其它軟體套件資訊將其關聯至CVE紀錄的漏洞軟體套件名稱,造成漏洞早已公告,但企業或個人電腦仍對自身存在的漏洞一無所知或無法偵測。
因此,如何產生有效關聯資訊,將正確原始軟體套件名稱與公開漏洞的軟體資訊進行對應,達到漏洞發生時可以快速反應於系統以供維護人員將漏洞進行修補,藉此避免嚴重損失發生,乃為相關領域中的重要課題之一。
鑒於上述之缺失,本發明提供一種原套件名稱關聯方法,包括下列步驟:提取軟體套件之軟體套件名稱;比對該軟體套件名稱與原始套件名稱列表;在該軟體套件名稱存在於該原始套件名稱列表的情況下,獲取該軟體套件之原套件名稱,而在該軟體套件名稱不存在於該原始套件名稱列表的情況下,分析該軟體套件之來源網址,以獲取該軟體套件之原套件名稱;以及在該來源網址無法分析的情況下,分析軟體套件之描述以獲取該軟體套件之原套件名稱。
在一實施例中,該分析該軟體套件之來源網址以獲取該軟體套件之原套件名稱之步驟係包括下列子步驟:提取該來源網址之查詢字串;以及比對該查詢字串與系統解析清單,以獲取該軟體套件之原套件名稱。在另一實施例中,系統解析清單係定義有常見來源網址及其查詢參數,而該查詢參數係對應於該原套件名稱。
在一實施例中,該分析該軟體套件之來源網址以獲取該軟體套件之原套件名稱之步驟係包括下列子步驟:提取該來源網址之路徑字 串,其中,該路徑字串包括檔名和副檔名;去除該路徑字串中記錄在副檔名白名單內的副檔名;去除該路徑字串中記錄在預設頁面白名單內的檔名;以及提取該路徑字串剩餘之字串內容為該原套件名稱。
在一實施例中,該分析該軟體套件之來源網址以獲取該軟體套件之原套件名稱之步驟係包括下列子步驟:提取該來源網址之域名字串;去除該域名字串的公共域名以得到子域名;以及提取該子域名中的最小級子域名以得到該原套件名稱。
在一實施例中,該分析該軟體套件之描述以獲取該軟體套件之原套件名稱之步驟係包括下列子步驟:提取該軟體套件之該描述以簡化該描述;使用最長共通子序列演算法比對該經簡化之描述與通用平台列舉列表中之軟體套件名稱,以計算描述功能相似度;以及提取該通用平台列舉列表中之軟體套件名稱具有該功能相似度小於一預設門檻值者為該原套件名稱。在另一實施例中,該最長共通子序列演算法係比對該描述與該通用平台列舉列表中之軟體套件名稱內共同出現且前後次序一致的子字串,以計算該功能相似度。
在一實施例中,該原始套件名稱列表包括通用平台列舉(Common Platform Enumeration,CPE)列表、服務套件列表及/或已分析列表。
在一實施例中,在比對該軟體套件名稱與該原始套件名稱列表之前,根據目前運行的作業系統,整理該原始套件名稱列表之內容以成為通用格式。
由上述可知,本發明之原套件名稱關聯方法主要藉由各種分析方法提取欲檢測之軟體套件之原套件名稱,將其與CPE列表或CVE詳細產品列表比較,判斷並提取正確之原套件名稱,故本發明可有效追蹤用 戶安裝之軟體套件名稱的變化資訊,進而確保能精準對應到通用弱點披露(CVE)的漏洞軟體名稱,並於漏洞發生時快速反應給系統管理人員,以降低漏洞被利用或無法偵測的資安風險。
A~D‧‧‧步驟連接關係
S110~S190‧‧‧步驟
通過參考結合附圖的下述描述,可以理解本發明,其中,相同的附圖標記標識相似的元件,且其中:
第1圖係根據一些實施例圖示本發明使用原套件名稱關聯方法的步驟流程圖;以及
第2A、2B圖係根據一些實施例圖示本發明之原套件名稱關聯方法的詳細步驟流程圖。
以下藉由特定的實施例說明本發明之實施方式,熟習此項技藝之人士可由本文所揭示之內容輕易地瞭解本案之其他優點及功效。本說明書所附圖式所繪示之結構、比例、大小等均僅用於配合說明書所揭示之內容,以供熟悉此技藝之人士之瞭解與閱讀,非用於限定本發明可實施之限定條件,故任何修飾、改變或調整,在不影響本案所能產生之功效及所能達成之目的下,均應仍落在本發明所揭示之技術內容得能涵蓋之範圍內。
本發明之原套件名稱關聯方法之使用步驟流程可藉由參考圖式第1圖之步驟流程圖及下文之描述而了解。
首先,可根據軟體套件的來源資訊對欲檢測之軟體套件進行分析,包括軟體套件名稱、軟體套件描述(Summary)與軟體套件來源(例如,軟體套件來源網址URL)等。
在第1圖中,本發明在運行原套件名稱關聯方法之前,首先比對欲檢測之軟體套件名稱以確定軟體套件名稱是否已存在於通用平台列舉(Common Platform Enumeration,CPE)列表或套件列表中,從而取得軟體套件之原套件名稱。若不存在,則進行本發明之原套件名稱關聯方法,進一步確定軟體套件的原套件名稱。詳細說明如以下所描述。
在步驟S110處,搜集軟體套件原始名稱列表。接著,在步驟S120處,確認欲檢測之軟體套件是運行在何種運行平台/作業系統上(例如,軟體套件運行在Linux平台上)。再而,根據不同運行平台/作業系統,利用不同套件管理工具在步驟S121處搜集欲檢測之軟體套件資訊,以及在步驟S122處,將所搜集之軟體套件原始名稱列表進行整理以轉化為通用格式。
接著,在步驟S130處,提取整理好之軟體套件原始名稱列表,並藉由步驟S131~S133依序判斷欲檢測之軟體套件名稱是否存在於已分析之軟體套件列表(步驟S131)、CPE列表(步驟S132)、或服務軟體套件列表(步驟S133)中,若存在則直接提取欲檢測之軟體套件名稱之原套件名稱(步驟S190)。反之,若欲檢測之軟體套件名稱皆未存在於上述之列表中,則運行本發明之原套件名稱關聯方法(步驟S140),以進一步確定欲檢測之軟體套件的原套件名稱(步驟S190)。
本發明之原套件名稱關聯方法可藉由參考圖式第2A至2B圖之詳細步驟流程圖及下文之描述而了解,其中,相同的元件符號代表相同的流程步驟,並且其中,符號A、B、C、D代表第2A圖至第2B圖之間,步驟之間的連接關係。
在步驟S140處,本發明之原套件名稱關聯方法包括軟體套件來源之分析方法與軟體套件描述之分析方法。
在軟體套件來源之分析方法中包括有步驟S150、S160、S170,首先判定軟體套件來源之網址(URL)是否存在查詢(Query)字串、路徑(Path)字串、或域名(Hostname)字串等。例如在本實施例中,給定欲檢測之軟體套件之來源網址為“https://www.abc.co.uk/abc/index.html?page=abc”,則可分割來源網址的查詢字串為“page=abc”、路徑字串為“abc/index.html”、域名為“www.abc.co.uk”以及域名字串為“www.abc.co.uk”。
在步驟S150處,已知欲檢測之軟體套件之來源網址包括查詢字串“page=abc”,則進行步驟S151之參數分析方法。參數解析方法包括比對來源網址之域名與系統解析清單,其中,系統解析清單係預先定義常見之來源網址清單,並假設已知來源網址清單中一來源網址(例如,git.kernel.org)之網頁透過一p參數進行分類並導入個別頁面,則該p參數即為軟體套件之原套件名稱的判斷值。接著,在步驟S152處,將查詢字串“page=abc”對應至系統解析清單所列之參數,以在步驟S153處,提取軟體套件來源網址之查詢字串“page=abc”之page參數為“abc”,從而確定軟體套件之原始套件名稱為“abc”(步驟S190)。
在步驟S160處,給定欲檢測之軟體套件之來源網址僅為“https://www.abc.co.uk/abc/index.html”,則可知來源網址不存在查詢字串,則進行步驟S161之路徑分析方法,並提取路徑字串為“abc/index.html”。在步驟S162處,首先判斷路徑字串之後輟(即,最後一個字元)是否為斜線(“/”)。若是,則表示此路徑字串(例如,路徑字串為“abc/”)可能透過路由(route)或索引(index)將來源網址頁面導向產品介紹頁面。在這個情況下,直接進行步驟S167向路徑字串之上一層提取軟體套件之原始套件名稱為“abc”。若否,如本實施例所示之路徑字串“abc/index.html”包括檔案名稱“index.html”,則依序在步驟S163處,檢查路徑字串是否存在副檔名(例如,“.html”)、在步驟S164處,檢查副檔名是否存在於副檔名白名單內以及在步驟S165處,將路徑字串之副檔名清除。上述之步驟S163~S165係可藉由確認是否存在副檔名而避免後續將路徑字串分割以提取軟體原始套件名稱時,僅透過“點(.)”分割路徑字串而造成正確軟體原始套件名稱被分割。
在步驟S165處將路徑字串之副檔名清除後、或在步驟S164處檢查副檔名並未存在於副檔名白名單內、亦或在步驟S163處檢查路徑字串未存在副檔名時,進行步驟S166提取路徑字串之檔名為“index”,並檢查檔名是否存在於預設頁面白名單內。例如,檔名“index”存在於預設頁面白名單內,則進行步驟S167向路徑字串上一層之資料夾名稱提取軟體套件之原始套件名稱為abc(步驟S190)。
在步驟S170處,給定欲檢測之軟體套件之來源網址僅為“https://www.abc.co.uk”(亦即,來源網址不存在查詢字串及路徑字串), 則先判定來源網址是否為有效域名(例如,網址格式是否正確),接著進行步驟S171之域名分析方法分析來源網址之域名字串。
在域名分析方法中,首先在步驟S172處將域名字串與公共域名字尾列表(PUBLIC SUFFIX LIST)清單進行比對,得到來源網址之公共域名(public suffix)為“co.uk”,故提取域名字串剩餘之子域名“www.abc”繼續分析。
在步驟S173處,檢查子域名是否存在次級子域名“www”,若否,則進行步驟S174,提取去除公共域名之子域名為最小級子域名,並且視此最小級子域名為原套件名稱(步驟S190)。若是,則進行步驟S175,提取子域名之上一層(例如,“www.abc”之“abc”)為原套件名稱(步驟S190)。
若欲檢測之軟體套件之來源網址無法檢測或格式錯誤,則進行軟體套件描述之分析方法,包括有步驟S180,提取欲檢測之軟體套件之描述。在本實施例中,給定的軟體套件為NSPR,其描述(Summary)經多餘冗詞清除後可以得到“Netscape Portable Runtime”之描述。此時,步驟S181將此描述與CPE列表中的軟體套件名稱(title)逐一比較並計算描述功能相似度,以找出CPE列表中與此軟體套件描述最相近之軟體套件名稱。
在計算描述功能相似度時,使用最長共通子序列(Longest Common Subsequence,LCS)演算法(步驟S182)找出兩字串共同出現且前後次序一致的子字串,以計算軟體套件描述與CPE列表之軟體套件名稱之功能相似度,其中,基於LCS之功能相似度之計算公式如下所述:
Figure 108141939-A0101-12-0009-1
。其中,Xi表示欲檢測之軟體套件之描述(Summary),以及Yj表示CPE列表中軟體套件名稱(Title)。並且其中,LCS演算法因可避免比對時英文字詞的文法次序問題,故優於其他演算法。
在步驟S183處,當找到軟體套件描述與CPE列表中軟體套件名稱之相似度小於門檻值T時,則可提取符合條件之CPE列表中的軟體套件名稱為原套件名稱(步驟S190),若未超過門檻值T,則持續重複步驟S181~S183直到找到符合條件之原套件名稱為止。在本實施例中,假定在CPE列表中找到之符合條件之軟體套件名稱為“Mozilla Netscape Portable Runtime(NSPR)4.1.1”,故可得到相似之軟體套件名稱為“netscape_portable_runtime”。
綜上所述,本發明之原套件名稱關聯方法係利用各種分析方法提取欲檢測之軟體套件之原套件名稱,將其與CPE列表或CVE詳細產品列表比較,判斷並提取正確之原套件名稱。故本發明可有效追蹤用戶安裝之軟體套件名稱的變化資訊,進而確保能精準對應到通用弱點披露(CVE)的漏洞軟體名稱,並於漏洞發生時快速反應給系統管理人員,以降低漏洞被利用或無法偵測的資安風險。
上述實施例係用以例示性說明本發明之原理及其功效,而非用於限制本發明。任何熟習此項技藝之人士均可在不違背本發明之精神及範疇下,對上述實施例進行修改。因此本發明之權利保護範圍,應如後述之申請專利範圍所列。
S110~S190‧‧‧步驟

Claims (9)

  1. 一種原套件名稱關聯方法,包括下列步驟:
    提取軟體套件之軟體套件名稱;
    比對該軟體套件名稱與原始套件名稱列表;
    在該軟體套件名稱存在於該原始套件名稱列表的情況下,獲取該軟體套件之原套件名稱,而在該軟體套件名稱不存在於該原始套件名稱列表的情況下,分析該軟體套件之來源網址,以獲取該軟體套件之原套件名稱;以及
    在該來源網址無法分析的情況下,分析該軟體套件之描述以獲取該軟體套件之原套件名稱。
  2. 如申請專利範圍第1項所述之方法,其中,該分析該軟體套件之來源網址以獲取該軟體套件之原套件名稱之步驟係包括下列子步驟:
    提取該來源網址之查詢字串;以及
    比對該查詢字串與系統解析清單,以獲取該軟體套件之原套件名稱。
  3. 如申請專利範圍第2項所述之方法,其中,該系統解析清單係定義有常見來源網址及其查詢參數,而該查詢參數係對應於該原套件名稱。
  4. 如申請專利範圍第1項所述之方法,其中,該分析該軟體套件之來源網址以獲取該軟體套件之原套件名稱之步驟係包括下列子步驟:
    提取該來源網址之路徑字串,其中,該路徑字串包括檔名和副檔名;
    去除該路徑字串中記錄在副檔名白名單內的副檔名;
    去除該路徑字串中記錄在預設頁面白名單內的檔名;以及
    提取該路徑字串剩餘之字串內容為該原套件名稱。
  5. 如申請專利範圍第1項所述之方法,其中,該分析該軟體套件之來源網址以獲取該軟體套件之原套件名稱之步驟係包括下列子步驟:
    提取該來源網址之域名字串;
    去除該域名字串的公共域名以得到子域名;以及
    提取該子域名中的最小級子域名以得到該原套件名稱。
  6. 如申請專利範圍第1項所述之方法,其中,該分析該軟體套件之描述以獲取該軟體套件之原套件名稱之步驟係包括下列子步驟:
    提取該軟體套件之該描述以簡化該描述;
    使用最長共通子序列演算法比對該經簡化之描述與通用平台列舉列表中之軟體套件名稱,以計算描述功能相似度;以及
    提取該通用平台列舉列表中之軟體套件名稱具有該功能相似度小於一預設門檻值者為該原套件名稱。
  7. 如申請專利範圍第6項所述之方法,其中,該最長共通子序列演算法係比對該經簡化之描述與該通用平台列舉列表中之軟體套件名稱內共同出現且前後次序一致的子字串,以計算該功能相似度。
  8. 如申請專利範圍第1項所述之方法,其中,該原始套件名稱列表包括通用平台列舉列表、服務套件列表或已分析列表。
  9. 如申請專利範圍第8項所述之方法,復包括下列步驟:
    在比對該軟體套件名稱與該原始套件名稱列表之前,根據目前運行的作業系統,整理該原始套件名稱列表之內容以成為通用格式。
TW108141939A 2019-11-19 2019-11-19 原套件名稱關聯方法 TWI724636B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW108141939A TWI724636B (zh) 2019-11-19 2019-11-19 原套件名稱關聯方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108141939A TWI724636B (zh) 2019-11-19 2019-11-19 原套件名稱關聯方法

Publications (2)

Publication Number Publication Date
TWI724636B true TWI724636B (zh) 2021-04-11
TW202121216A TW202121216A (zh) 2021-06-01

Family

ID=76604889

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108141939A TWI724636B (zh) 2019-11-19 2019-11-19 原套件名稱關聯方法

Country Status (1)

Country Link
TW (1) TWI724636B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103248513A (zh) * 2012-06-19 2013-08-14 谷尼国际软件(北京)有限公司 基于Office办公套件的网络信息数据采集方法及***
CN104573525A (zh) * 2014-12-19 2015-04-29 中国航天科工集团第二研究院七〇六所 一种基于白名单的专用信息服务软件漏洞修复***
CN105389328A (zh) * 2015-09-21 2016-03-09 中国人民解放军国防科学技术大学 一种大规模开源软件搜索排序优化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103248513A (zh) * 2012-06-19 2013-08-14 谷尼国际软件(北京)有限公司 基于Office办公套件的网络信息数据采集方法及***
CN104573525A (zh) * 2014-12-19 2015-04-29 中国航天科工集团第二研究院七〇六所 一种基于白名单的专用信息服务软件漏洞修复***
CN105389328A (zh) * 2015-09-21 2016-03-09 中国人民解放军国防科学技术大学 一种大规模开源软件搜索排序优化方法

Also Published As

Publication number Publication date
TW202121216A (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
US11036858B2 (en) System and method for training a model for detecting malicious objects on a computer system
US8955133B2 (en) Applying antimalware logic without revealing the antimalware logic to adversaries
US20190073476A1 (en) Automated malware signature generation
US9032516B2 (en) System and method for detecting malicious script
JP7120350B2 (ja) セキュリティ情報分析方法、セキュリティ情報分析システム、及び、プログラム
JP6698956B2 (ja) サンプルデータ生成装置、サンプルデータ生成方法およびサンプルデータ生成プログラム
JP5345492B2 (ja) Dnsトラフィックデータを利用したボット感染者検知方法
US10262139B2 (en) System and method for detection and prevention of data breach and ransomware attacks
Hayes et al. Recognizing authors: an examination of the consistent programmer hypothesis
Hu et al. Champ: Characterizing undesired app behaviors from user comments based on market policies
CN112084146A (zh) 基于多维特征的固件同源性检测方法
Lee et al. A study of malware detection and classification by comparing extracted strings
JP2012088803A (ja) 悪性ウェブコード判別システム、悪性ウェブコード判別方法および悪性ウェブコード判別用プログラム
KR102031592B1 (ko) 악성코드를 탐지하기 위한 방법 및 장치
TWI724636B (zh) 原套件名稱關聯方法
US11321453B2 (en) Method and system for detecting and classifying malware based on families
CN111865979A (zh) 一种漏洞信息处理方法及网络攻防平台
KR101712462B1 (ko) Ip 위험군 탐지 시스템
Layton et al. Determining provenance in phishing websites using automated conceptual analysis
CN114238974A (zh) 恶意Office文档的检测方法、装置、电子设备及存储介质
Dumitrasc et al. User behavior analysis for malware detection
WO2021243716A1 (zh) 一种可疑软件检测方法、装置和计算机可读介质
CN110855612B (zh) web后门路径探测方法
Movahedi Some guidelines for risk assessment of vulnerability discovery processes
Alruhaily et al. A better understanding of machine learning malware misclassifcation