本發明專利技術屬于一種軟件探測方法和應用該方法的軟件探測器及軟件探測系統。所述軟件探測方法用于對應用軟件在運行中的程序流程信息的實時探測,在對被測軟件進行代碼插裝后,通過模型檢測判斷是否存在“特殊的結構”或“漏洞”,并找出代碼執行軌跡,然后將程序流程信息采用無線或有線方式將此信息傳送到監管節點或監管網絡。本發明專利技術在法制監管領域可以對計算機系統內部運行的軟件進行實時監控。本發明專利技術的軟件探測系統構成法制計量監控網絡,對計量器具的使用進行監控,為執法打假快速反應提供服務和支撐。能對電子衡器軟件或金融監管軟件中的“后門程序”和“作弊口令”等特定目標進行探測、并將探測得的信息對外傳輸,以使監管部門實時監視。
【技術實現步驟摘要】
本專利技術涉及一種軟件探測技術和軟件探測裝置和軟件探測的網絡系統,具體是一 種對軟件運行中流程信息進行探測的軟件探測方法和應用該方法的軟件探測器及軟件探 測系統。
技術介紹
計算機系統和網絡的大量普及使用使全球跨入了信息化時代。但是,正由于現代 社會中幾乎一切都在“計算機化”,如經濟活動(生產、流通、交換、消費)過程中的管理都已 完全基于計算機系統在運行,而計算機系統的核心是“軟件”,也就是說都是基于“軟件(程 序)”在運行,所以從技術層面來看,如果對這些軟件的運行不能進行有效地檢測和監控,那 么監管就會“缺失”,給國家或全球的金融和社會安全造成隱患。在國內,重要的法制監管領域有十幾個,如金融(銀監、證監、保監),國資,稅務,財政,審計,安監、電監、環境......等。如果對這些法制監管領域的軟件運行不能有效地檢測、監控,后果不堪設想。在質檢計量系統中,與人民群眾生活密切相關的加油機、計價秤、出租車計價器等 法制計量產品作弊事件頻頻發生。一方面,由于受到軟件技術手段的制約,質量技術監督 行政執法人員無法有效獲取相關作弊證據,對不法商販和經營者的處罰缺少依據,在一定 程度上損害了廣大消費者的利益;另一方面,由于不法制造商可以通過對軟件進行惡意修 改或在軟件中留有“后門”來擴大市場銷路,嚴重違反了公平競爭的原則。法制計量監管網 絡的目標是監管使用過程中面上的作弊的情況,主要是要突破和掌握軟件作弊探測(或稱 “軟件探頭”或“軟件探測傳感器”)的核心技術。所以,它是從廣度來進行的實時監控和動 態監管,好比是現在已經在道路交通、治安防范方面普遍使用的視頻攝像探測監控系統,使 得程序的運行由不可見、不可控變成可見又可控。因此在法制計量監管領域,如何探測電子 衡器軟件中的“后門程序”和“作弊口令”等特定目標,是本領域的技術難題。在“軟件測試”領域,國內外現有的軟件自動化測試工具,一般都是在程序內部進 行故障跟蹤和檢測,沒有將跟蹤、檢測的信息對外傳輸和發送。在“無線傳感網”領域,現有 的傳感器往往只能感知常規的“物理量”或“化學量”,不能感知計算機中軟件運行的信息。 因此,監管部門無法對軟件進行實時監視。法制計量軟件探測器開發的特點和要求有1、要能采集并發送計量器具軟件標識信息和傳感器節點標識信息計量器具軟件標識信息,相當于計價秤軟件的電子身份信息(ID-O);軟件探測傳 感器節點標識信息也就是標志軟件傳感器本身的電子身份信息(ID-I)。通過比對可以識別 計量器具軟件和軟件探測傳感器節點本身的真偽。2、要跟蹤并發送計量器具使用時的作弊信息,包括今作弊的時間及數量作弊時間包括年、月、日、時、分、秒;作弊數量、超差比例、 等;今作弊的金額包括每次作弊的金額和累計作弊的金額。為執法提供依據;今作弊的口令通過跟蹤分析可以鎖定作弊的密碼;今作弊的責任人包括監控對象的空間坐標點(省、市、區、場所)、身份(組織機構 代碼、身份證號),等;今作弊的歷史記錄作弊信息可以全部記錄在案;今實時在線監控如果計量器具脫機(停機、關機、移機,等)、更換芯片或主板,都 能立即跟蹤檢測到,并留下記錄。3、要具有計量監控傳感網軟件探測傳感器節點自身的管理、保護和安全功能。
技術實現思路
本專利技術所要解決的技術問題是提供一種用于對電子衡器軟件或金融監管軟件中 的“后門程序”和“作弊口令”等特定目標進行探測、并將探測得的信息對外傳輸和發送,以 使監管部門能實時監視的軟件探測方法和應用該方法的軟件探測器及軟件探測系統。為解決上述技術問題,本專利技術的軟件探測方法,包括如下步驟A、啟動代碼插裝步驟,該步驟包括虛擬執行被測軟件,即對被測軟件的程序源代 碼進行詞法分析和語法分析,以識別出特征代碼,該特征代碼包括變量、函數、子程序和面 向對象的類;然后對所述程序源代碼的程序流程按數據塊進行劃分,以得到表述所述被測 軟件的程序結構和靜態流程的劃分數據并存入一靜態數據庫中,同時該靜態數據庫預存有 根據被測軟件的功能說明書得到的正常程序結構和靜態流程;然后在所述程序源代碼中插 入對應于所述特征代碼的探測代碼;最后把插入了所述探測代碼的程序源代碼編譯連接成 可執行程序;所述探測代碼為一段代碼或函數,用于收集所述可執行程序運行時生成的動 態數據;該動態數據包括函數、子程序的調用記錄,面向對象的類的消息傳遞,以及由所 述函數、子程序的調用記錄和面向對象的類的消息傳遞構成的所述被測軟件運行時的程序 結構和控制流程;B、執行模式識別步驟,該步驟用于對所述可執行程序執行模型檢測,即將所述靜 態數據庫中預存的正常程序結構和靜態流程與所述探測代碼獲取的被測軟件運行時的程 序結構和控制流程進行比較;若二者一致,則判斷所述可執行程序正常;否則,則判斷所述 可執行程序中存在“特殊的結構”或“漏洞”;所述“特殊的結構”是指與被測軟件的功能說 明書不相關的變量、函數、子程序或類的消息傳遞;所述“漏洞”是指根據被測軟件的功能說 明書被測軟件中缺少應有的變量、函數、子程序或類的消息傳遞;C、當發現存在“特殊的結構”或“漏洞”后,執行模式分析步驟,該步驟用于分析所 述可執行程序的控制流程,以找出并上報引起“特殊的結構”或“漏洞”的代碼執行軌跡;該 代碼執行軌跡是由引起執行“特殊的結構”或“漏洞”的一系列代碼的集合所構成的程序流 程;D、執行數據處理與傳輸步驟,該步驟用于根據所述代碼執行軌跡,得出被測軟件 存在“特殊的結構”和/或“漏洞”的信息、及其運行的時間信息和運行次數,然后通過無線 或有線的方式,傳輸到監管節點和/或監管網絡。所述探測代碼用于程序模塊的結構化分析;故障跟蹤和錯誤處理;多線程分析 (例如判斷死鎖和共享沖突等);程序執行效率分析(例如瓶頸分析等);初始化節點、構造鏈表,形成被測程序運行所需要的數據結構。所述控制流程是指虛擬執行被測軟件,即對被測軟件的程序源代碼進行詞法分 析和語法分析,識別出特征代碼,然后對所述程序源代碼的控制流按塊進行劃分,得到所述 被測軟件的程序劃分數據的流程。所述靜態流程是指把插入了所述探測代碼的程序源代碼編譯連接成可執行程 序;運行該可執行程序得到的被測軟件運行時的程序流程。所述程序流程也即靜態流程。為解決上述技術問題,本專利技術的應用上述軟件探測方法的軟件探測器,包括與用 于執行所述可執行程序的處理器相連的探測控制器、與探測控制器相連的無線數據收發器 和/或有線數據收發器;當所述探測控制器發現存在“特殊的結構”和/或“漏洞”后,執行 所述模式分析步驟,然后將被測軟件存在“特殊的結構”和/或“漏洞”的信息、及該“特殊 的結構”和/或“漏洞”運行的時間信息和運行次數經所述無線數據收發器和/或有線數據 收發器傳送至所述監管節點和/或監管網絡。為解決上述技術問題,本專利技術的應用上述軟件探測器的軟件探測系統,包括作為 所述監管節點的上位機、與分布于不同地域的多個所述上位機相連的監管服務器系統;所 述上位機用于與同地域內的多個所述軟件探測器通過無線和/或有線的方式通信連接。為解決上述技術問題,本專利技術的軟件探測系統的軟件平臺總體設計采用層次模 型,把軟件系統分層,從而限制系統變化帶來的影響。每一層可以單獨的設計,單獨的演進、 升級。這就大大提高了系統的靈活和穩定性,可以應付本文檔來自技高網...
【技術保護點】
一種軟件探測方法,其特征在于包括如下步驟:A、啟動代碼插裝步驟,該步驟包括:虛擬執行被測軟件,即對被測軟件的程序源代碼進行詞法分析和語法分析,以識別出特征代碼,該特征代碼包括:變量、函數、子程序和面向對象的類;然后對所述程序源代碼的程序流程按數據塊進行劃分,以得到表述所述被測軟件的程序結構和靜態流程的劃分數據并存入一靜態數據庫中,同時該靜態數據庫預存有根據被測軟件的功能說明書得到的正常程序結構和靜態流程;然后在所述程序源代碼中插入對應于所述特征代碼的探測代碼;最后把插入了所述探測代碼的程序源代碼編譯連接成可執行程序;所述探測代碼用于收集所述可執行程序運行時生成的動態數據;該動態數據包括:函數、子程序的調用記錄,面向對象的類的消息傳遞,以及由所述函數、子程序的調用記錄和面向對象的類的消息傳遞構成的所述被測軟件運行時的程序結構和控制流程;B、執行模式識別步驟,該步驟用于對所述可執行程序執行模型檢測,即:將所述靜態數據庫中預存的正常程序結構和靜態流程與所述探測代碼獲取的被測軟件運行時的程序結構和控制流程進行比較;若二者一致,則判斷所述可執行程序正常;否則,則判斷所述可執行程序中存在“特殊的結構”或“漏洞”;所述“特殊的結構”是指與被測軟件的功能說明書不相關的變量、函數、子程序或類的消息傳遞;所述“漏洞”是指根據被測軟件的功能說明書被測軟件中缺少應有的變量、函數、子程序或類的消息傳遞;C、當發現存在“特殊的結構”或“漏洞”后,執行模式分析步驟,該步驟用于分析所述可執行程序的控制流程,以找出并上報引起“特殊的結構”或“漏洞”的代碼執行軌跡;該代碼執行軌跡是由引起執行“特殊的結構”或“漏洞”的一系列代碼的集合所構成的程序流程;D、執行數據處理與傳輸步驟,該步驟用于根據所述代碼執行軌跡,得出被測軟件存在“特殊的結構”和/或“漏洞”的信息、及其運行的時間信息和運行次數,然后通過無線或有線的方式,傳輸到監管節點和/或監管網絡。...
【技術特征摘要】
【專利技術屬性】
技術研發人員:張克東,
申請(專利權)人:張克東,
類型:發明
國別省市:32[中國|江蘇]
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。