軟件系統(tǒng)的安全防護(hù)方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本公開涉及軟件技術(shù)領(lǐng)域,特別涉及一種軟件系統(tǒng)的安全防護(hù)方法及裝置。
【背景技術(shù)】
[0002] 軟件系統(tǒng)是指由系統(tǒng)軟件、支撐軟件和應(yīng)用軟件組成的計算機(jī)軟件系統(tǒng),它是計 算機(jī)系統(tǒng)中由軟件組成的部分。隨著互聯(lián)網(wǎng)的快速發(fā)展和信息化程度的不斷提高,軟件系 統(tǒng)廣泛應(yīng)用于政治、金融、文化、軍工等各個領(lǐng)域,因此保障軟件系統(tǒng)的安全性日益凸顯。
[0003] 相關(guān)技術(shù)在對軟件系統(tǒng)進(jìn)行安全防護(hù)時,通常依靠 QA (Quality Assurance,質(zhì)量 保證)測試或單元測試實現(xiàn)。其中,QA測試是指在一些指定的測試點上進(jìn)行測試。單元測 試是指對軟件中的最小可測試單元進(jìn)行檢查和驗證。二者均在編譯完成后的測試階段進(jìn) 行。
【發(fā)明內(nèi)容】
[0004] 為克服相關(guān)技術(shù)中存在的問題,本公開提供一種軟件系統(tǒng)的安全防護(hù)方法及裝 置。
[0005] 根據(jù)本公開實施例的第一方面,提供一種軟件系統(tǒng)的安全防護(hù)方法,所述方法包 括:
[0006] 在軟件編譯期間,調(diào)用指定類型系統(tǒng)對目標(biāo)軟件系統(tǒng)進(jìn)行靜態(tài)檢查;
[0007] 若所述目標(biāo)軟件系統(tǒng)未通過所述靜態(tài)檢查,則確定所述軟件系統(tǒng)不安全;
[0008] 其中,所述指定類型系統(tǒng)為與所述目標(biāo)軟件系統(tǒng)采用的編程語言對應(yīng)的類型系 統(tǒng)。
[0009] 在另一個實施例中,所述調(diào)用指定類型系統(tǒng)對目標(biāo)軟件系統(tǒng)進(jìn)行靜態(tài)檢查,包 括:
[0010] 調(diào)用所述指定類型系統(tǒng),對所述目標(biāo)軟件系統(tǒng)進(jìn)行第一類數(shù)據(jù)操作檢查;
[0011] 若所述目標(biāo)軟件系統(tǒng)在執(zhí)行所述第一類數(shù)據(jù)操作時未反饋錯誤提示,則確定所述 目標(biāo)軟件系統(tǒng)未通過靜態(tài)檢查;
[0012] 其中,所述第一類數(shù)據(jù)操作為除第二類數(shù)據(jù)操作之外的操作,所述第二類數(shù)據(jù)操 作是所述目標(biāo)軟件系統(tǒng)允許執(zhí)行的操作。
[0013] 在另一個實施例中,當(dāng)所述目標(biāo)軟件系統(tǒng)為物品交易軟件系統(tǒng)時,所述第二類數(shù) 據(jù)操作包括:
[0014] -次對一個物品選定集合進(jìn)行數(shù)值轉(zhuǎn)移操作;或,
[0015] 對未完成數(shù)值轉(zhuǎn)移操作的物品選定集合執(zhí)行操作;或,
[0016] 對存儲物品的物品選定集合進(jìn)行數(shù)值轉(zhuǎn)移操作;或,
[0017] 添加物品至未存儲物品的物品選定集合或未進(jìn)行數(shù)值轉(zhuǎn)移操作的物品選定集合 中;或,
[0018] 從未進(jìn)行數(shù)值轉(zhuǎn)移操作的物品選定集合中移除物品;或,
[0019] 對未進(jìn)行數(shù)值轉(zhuǎn)移操作的物品選定集合進(jìn)行數(shù)值轉(zhuǎn)移操作。
[0020] 在另一個實施例中,所述調(diào)用所述指定類型系統(tǒng)對所述目標(biāo)軟件系統(tǒng)進(jìn)行靜態(tài)檢 查,包括:
[0021] 調(diào)用所述指定類型系統(tǒng),在已完成數(shù)值轉(zhuǎn)移操作的物品選定集合中進(jìn)行物品添加 操作;若未接收到所述目標(biāo)軟件系統(tǒng)反饋的第一操作錯誤提示,則確定所述目標(biāo)軟件系統(tǒng) 未通過所述靜態(tài)檢查;或,
[0022] 調(diào)用所述指定類型系統(tǒng),在未存儲物品的物品選定集合中進(jìn)行物品移除操作;若 未接收到所述目標(biāo)軟件系統(tǒng)反饋的第二操作錯誤提示,則確定所述目標(biāo)軟件系統(tǒng)未通過所 述靜態(tài)檢查;或,
[0023] 調(diào)用所述指定類型系統(tǒng),在已完成數(shù)值轉(zhuǎn)移操作的物品選定集合中進(jìn)行物品移除 操作;若未接收到所述目標(biāo)軟件系統(tǒng)反饋的第三操作錯誤提示,則確定所述目標(biāo)軟件系統(tǒng) 未通過所述靜態(tài)檢查。
[0024] 在另一個實施例中,所述方法還包括:
[0025] 若所述目標(biāo)軟件系統(tǒng)通過所述靜態(tài)檢查,則確定所述目標(biāo)軟件系統(tǒng)安全。
[0026] 根據(jù)本公開實施例的第二方面,提供一種軟件系統(tǒng)的安全防護(hù)裝置,所述裝置包 括:
[0027] 檢查模塊,用于在軟件編譯期間,調(diào)用指定類型系統(tǒng)對目標(biāo)軟件系統(tǒng)進(jìn)行靜態(tài)檢 查;
[0028] 確定模塊,用于當(dāng)所述目標(biāo)軟件系統(tǒng)未通過所述靜態(tài)檢查時,確定所述目標(biāo)軟件 系統(tǒng)不安全;
[0029] 其中,所述指定類型系統(tǒng)為與所述目標(biāo)軟件系統(tǒng)采用的編程語言對應(yīng)的類型系 統(tǒng)。
[0030] 在另一個實施例中,所述裝置還包括:所述檢查模塊,用于調(diào)用所述指定類型系 統(tǒng),對所述目標(biāo)軟件系統(tǒng)進(jìn)行第一類數(shù)據(jù)操作檢查;若所述目標(biāo)軟件系統(tǒng)在執(zhí)行所述第一 類數(shù)據(jù)操作時未反饋錯誤提示,則確定所述目標(biāo)軟件系統(tǒng)未通過靜態(tài)檢查;其中,所述第一 類數(shù)據(jù)操作為除第二類數(shù)據(jù)操作之外的操作,所述第二類數(shù)據(jù)操作是所述目標(biāo)軟件系統(tǒng)允 許執(zhí)行的操作。
[0031] 在另一個實施例中,當(dāng)所述目標(biāo)軟件系統(tǒng)為物品交易軟件系統(tǒng)時,所述第二類數(shù) 據(jù)操作包括:一次對一個物品選定集合進(jìn)行數(shù)值轉(zhuǎn)移操作;或,對未完成數(shù)值轉(zhuǎn)移操作的 物品選定集合執(zhí)行操作;或,對存儲物品的物品選定集合進(jìn)行數(shù)值轉(zhuǎn)移操作;或,添加物品 至未存儲物品的物品選定集合或未進(jìn)行數(shù)值轉(zhuǎn)移操作的物品選定集合中;或,從未進(jìn)行數(shù) 值轉(zhuǎn)移操作的物品選定集合中移除物品;或,對未進(jìn)行數(shù)值轉(zhuǎn)移操作的物品選定集合進(jìn)行 數(shù)值轉(zhuǎn)移操作。
[0032] 在另一個實施例中,所述檢查模塊,用于調(diào)用所述指定類型系統(tǒng),在已完成數(shù)值轉(zhuǎn) 移操作的物品選定集合中進(jìn)行物品添加操作;若未接收到所述目標(biāo)軟件系統(tǒng)反饋的第一操 作錯誤提示,則確定所述目標(biāo)軟件系統(tǒng)未通過所述靜態(tài)檢查;或,調(diào)用所述指定類型系統(tǒng), 在未存儲物品的物品選定集合中進(jìn)行物品移除操作;若未接收到所述目標(biāo)軟件系統(tǒng)反饋的 第二操作錯誤提示,則確定所述目標(biāo)軟件系統(tǒng)未通過所述靜態(tài)檢查;或,調(diào)用所述指定類型 系統(tǒng),在已完成數(shù)值轉(zhuǎn)移操作的物品選定集合中進(jìn)行物品移除操作;若未接收到所述目標(biāo) 軟件系統(tǒng)反饋的第三操作錯誤提示,則確定所述目標(biāo)軟件系統(tǒng)未通過所述靜態(tài)檢查。
[0033] 在另一個實施例中,所述檢查模塊,用于當(dāng)所述目標(biāo)軟件系統(tǒng)通過所述靜態(tài)檢查 時,確定所述目標(biāo)軟件系統(tǒng)安全。
[0034] 根據(jù)本公開實施例的第三方面,提供一種軟件系統(tǒng)的安全防護(hù)裝置,包括:
[0035] 處理器;
[0036] 用于存儲處理器可執(zhí)行指令的存儲器;
[0037] 其中,所述處理器被配置為:在軟件編譯期間,調(diào)用指定類型系統(tǒng)對目標(biāo)軟件系統(tǒng) 進(jìn)行靜態(tài)檢查;若所述目標(biāo)軟件系統(tǒng)未通過所述靜態(tài)檢查,則確定所述軟件系統(tǒng)不安全; 其中,所述指定類型系統(tǒng)為與所述目標(biāo)軟件系統(tǒng)采用的編程語言對應(yīng)的類型系統(tǒng)。
[0038] 本公開的實施例提供的技術(shù)方案可以包括以下有益效果:
[0039] 在軟件編譯期間,調(diào)用指定類型系統(tǒng)對目標(biāo)軟件系統(tǒng)進(jìn)行靜態(tài)檢查;若目標(biāo)軟件 系統(tǒng)未通過靜態(tài)檢查,則確定軟件系統(tǒng)不安全,由于通過類型系統(tǒng)在編譯期間進(jìn)行了靜態(tài) 檢查,所以在編譯期間便可以發(fā)現(xiàn)錯誤,可以最大限度地避免生成誤操作和臟數(shù)據(jù),軟件一 旦編譯通過便可以保證正確性,不會出現(xiàn)運行期錯誤和攻擊,在邏輯上保證了軟件系統(tǒng)的 安全性。
[0040] 應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不 能限制本公開。
【附圖說明】
[0041] 此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本發(fā)明的實施 例,并與說明書一起用于解釋本發(fā)明的原理。
[0042] 圖1是根據(jù)一示例性實施例示出的一種軟件系統(tǒng)的安全防護(hù)方法的流程圖。
[0043] 圖2a是根據(jù)一示例性實施例示出的一種軟件系統(tǒng)的安全防護(hù)方法的流程圖。
[0044] 圖2b是根據(jù)一示例性實施例示出的一種軟件系統(tǒng)的安全防護(hù)方法的流程圖。
[0045] 圖3是根據(jù)一示例性實施例示出的一種軟件系統(tǒng)的安全防護(hù)裝置的框圖。
[0046] 圖4是根據(jù)一示例性實施例示出的一種軟件系統(tǒng)的安全防護(hù)裝置的框圖。
【具體實施方式】
[0047] 這里將詳細(xì)地對示例性實施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及 附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例 中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附 權(quán)利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
[0048] 圖1是根據(jù)一示例性實施例示出的一種軟件系統(tǒng)的安全防護(hù)方法的流程圖,如圖 1所示,包括以下步驟。
[0049] 在步驟101中,在軟件編譯期間,調(diào)用指定類型系統(tǒng)對目標(biāo)軟件系統(tǒng)進(jìn)行靜態(tài)檢 查。
[0050] 其中,指定類型系統(tǒng)為與目標(biāo)軟件系統(tǒng)采用的編程語言對應(yīng)的類型系統(tǒng)。
[0051] 在步驟102中,若目標(biāo)軟件系統(tǒng)未通過靜態(tài)檢查,則確定軟件系統(tǒng)不安全。
[0052] 本公開實施例提供的方法,在軟件編譯期間,調(diào)用指定類型系統(tǒng)對目標(biāo)軟件系統(tǒng) 進(jìn)行靜態(tài)檢查;若目標(biāo)軟件系統(tǒng)未通過靜態(tài)檢查,則確定軟件系統(tǒng)不安全,由于通過類型系 統(tǒng)在編譯期間進(jìn)行了靜態(tài)檢查,所以在編譯期間便可以發(fā)現(xiàn)錯誤,可以最大限度地避免生 成誤操作和臟數(shù)據(jù),軟件一旦編譯通過便可以保證正確性,不會出現(xiàn)運行期錯誤和攻擊,在 邏輯上保證了軟件系統(tǒng)的安全性。
[0053] 在另一個實施例中,調(diào)用指定類型系統(tǒng)對目標(biāo)軟件系統(tǒng)進(jìn)行靜態(tài)檢查,包括:
[0054] 調(diào)用指定類型系統(tǒng),對目標(biāo)軟件系統(tǒng)進(jìn)行第一類數(shù)據(jù)操作檢查;
[0055] 若目標(biāo)軟件系統(tǒng)在執(zhí)行第一類數(shù)據(jù)操作時未反饋錯誤提示,則確定目標(biāo)軟件系統(tǒng) 未通過靜態(tài)檢查;
[0056] 其中,第一類數(shù)據(jù)操作為除第二類數(shù)據(jù)操作之外的操作,第二類數(shù)據(jù)操作是目標(biāo) 軟件系統(tǒng)允許執(zhí)行的操作。
[0057] 在另一個實施例中,當(dāng)目標(biāo)軟件系統(tǒng)為物品交易軟件系統(tǒng)時,第二類數(shù)據(jù)操作包 括:
[0058] -次對一個物品選定集合進(jìn)行數(shù)值轉(zhuǎn)移操作;或,
[0059] 對未完成數(shù)值轉(zhuǎn)移操作的物品選定集合執(zhí)行操作;或,
[0060] 對存儲物品的物品選定集合進(jìn)行數(shù)值轉(zhuǎn)移