保護(hù)軟件產(chǎn)品中的敏感數(shù)據(jù)的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及敏感數(shù)據(jù)的保護(hù)技術(shù),具體地說(shuō),涉及保護(hù)軟件產(chǎn)品中的敏感數(shù)據(jù)W避免在內(nèi)存轉(zhuǎn)儲(chǔ)過(guò)程中泄露的方法和裝置。
【背景技術(shù)】
[0002] 現(xiàn)有的大多數(shù)操作系統(tǒng)和軟件產(chǎn)品均支持內(nèi)存轉(zhuǎn)儲(chǔ)(coredump)機(jī)制。當(dāng)軟件產(chǎn) 品在運(yùn)行過(guò)程中發(fā)生異常時(shí),操作系統(tǒng)會(huì)進(jìn)行內(nèi)存轉(zhuǎn)儲(chǔ),生成內(nèi)存轉(zhuǎn)儲(chǔ)文件。在內(nèi)存轉(zhuǎn)儲(chǔ)文 件中保存了在發(fā)生異常的時(shí)刻內(nèi)存中的數(shù)據(jù),該些數(shù)據(jù)有助于幫助進(jìn)行故障分析??蒞理 解,許多異常的發(fā)生依賴(lài)于運(yùn)行環(huán)境下的特定類(lèi)型的數(shù)據(jù),因此,在測(cè)試環(huán)境下難W再現(xiàn)該 種異常。內(nèi)存轉(zhuǎn)儲(chǔ)文件能夠真實(shí)地記錄計(jì)算機(jī)內(nèi)存在發(fā)生異常時(shí)的狀態(tài)。因此,內(nèi)存轉(zhuǎn)儲(chǔ) 文件中的數(shù)據(jù)對(duì)于開(kāi)發(fā)人員對(duì)軟件產(chǎn)品進(jìn)行調(diào)試除錯(cuò)非常有幫助。在許多情況下,分析內(nèi) 存轉(zhuǎn)儲(chǔ)文件是發(fā)現(xiàn)異常的根原因,進(jìn)而解決異常問(wèn)題的最有效的方式。在此意義上,內(nèi)存轉(zhuǎn) 儲(chǔ)機(jī)制對(duì)于軟件產(chǎn)品的開(kāi)發(fā)和調(diào)試是不可或缺的。
[0003] 另一方面,由于在內(nèi)存轉(zhuǎn)儲(chǔ)過(guò)程中會(huì)全面地記錄內(nèi)存中的數(shù)據(jù),因此,內(nèi)存轉(zhuǎn)儲(chǔ)文 件中可能包含敏感數(shù)據(jù),特別是在軟件產(chǎn)品涉及金融領(lǐng)域或安全領(lǐng)域的情況下。在軟件產(chǎn) 品的提供方要求獲得內(nèi)存轉(zhuǎn)儲(chǔ)文件W進(jìn)行調(diào)試除錯(cuò)時(shí),軟件產(chǎn)品的用戶(hù)常常會(huì)擔(dān)也敏感數(shù) 據(jù)泄露的問(wèn)題。
[0004] 軟件產(chǎn)品提供方,特別是一些系統(tǒng)級(jí)別軟件的提供方,期望能夠降低在內(nèi)存轉(zhuǎn)儲(chǔ) 發(fā)生時(shí)暴露敏感數(shù)據(jù)的風(fēng)險(xiǎn)。該要求軟件產(chǎn)品的開(kāi)發(fā)人員能夠釋放或清除內(nèi)存中與敏感數(shù) 據(jù)相關(guān)的數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)變量。
[0005] -些軟件也提供了其它幫助不同問(wèn)題的調(diào)試的方法,該些方法也需要將內(nèi)存中的 一些結(jié)構(gòu)和緩存轉(zhuǎn)儲(chǔ)到文件中。例如,某些操作系統(tǒng)使用內(nèi)核跟蹤程序(trace)W進(jìn)行問(wèn)題 調(diào)試,該內(nèi)核跟蹤程序?qū)㈤_(kāi)發(fā)人員所定義的一些跟蹤條目寫(xiě)到跟蹤緩沖區(qū)中。當(dāng)跟蹤內(nèi)容 被回收時(shí),跟蹤緩沖區(qū)中的內(nèi)容將會(huì)被格式化為可讀的跟蹤報(bào)告文件。另外,在該操作系統(tǒng) 上運(yùn)行的其它軟件產(chǎn)品也使用該樣的跟蹤機(jī)制W將內(nèi)存中的數(shù)據(jù)轉(zhuǎn)儲(chǔ)為可讀的文本文件。 如果軟件產(chǎn)品的用戶(hù)擔(dān)也敏感數(shù)據(jù)的泄露而不愿提供足夠的調(diào)試數(shù)據(jù),則將使得軟件產(chǎn)品 的問(wèn)題調(diào)試更加困難或者不可能。
[0006] 因此,希望能夠保護(hù)軟件產(chǎn)品中的敏感數(shù)據(jù),W避免在內(nèi)存轉(zhuǎn)儲(chǔ)過(guò)程中敏感數(shù)據(jù) 被泄露。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明的實(shí)施例提供了一種保護(hù)軟件產(chǎn)品中的敏感數(shù)據(jù)的方法和裝置W及一種 在執(zhí)行內(nèi)存轉(zhuǎn)儲(chǔ)時(shí)保護(hù)敏感數(shù)據(jù)的方法和裝置。
[0008] 根據(jù)本發(fā)明的一個(gè)方面,提供了一種保護(hù)軟件產(chǎn)品中的敏感數(shù)據(jù)的方法,其包括: 編譯所述軟件產(chǎn)品的源文件W生成目標(biāo)文件,其中,所述源文件包括用特定標(biāo)識(shí)符標(biāo)記的 至少一個(gè)敏感數(shù)據(jù),所述目標(biāo)文件具有用于在編譯時(shí)和運(yùn)行時(shí)保存所述至少一個(gè)敏感數(shù)據(jù) 的存儲(chǔ)信息的安全數(shù)據(jù)段;w及鏈接所述目標(biāo)文件w生成可執(zhí)行文件,其中所述可執(zhí)行文 件在運(yùn)行時(shí)更新所述安全數(shù)據(jù)段。
[0009] 根據(jù)本發(fā)明的另一個(gè)方面,提供了一種在執(zhí)行內(nèi)存轉(zhuǎn)儲(chǔ)時(shí)保護(hù)敏感數(shù)據(jù)的方法, 其包括:掃描計(jì)算機(jī)的內(nèi)存W在所述內(nèi)存中查找安全數(shù)據(jù)段,其中所述安全數(shù)據(jù)段保存所 述敏感數(shù)據(jù)的存儲(chǔ)信息;根據(jù)所查找的安全數(shù)據(jù)段內(nèi)的所述敏感數(shù)據(jù)的存儲(chǔ)信息,獲得所 述敏感數(shù)據(jù);處理所述敏感數(shù)據(jù)W隱藏所述敏感數(shù)據(jù);W及生成內(nèi)存轉(zhuǎn)儲(chǔ)文件。
[0010] 根據(jù)本發(fā)明的再一個(gè)方面,提供了一種用于保護(hù)軟件產(chǎn)品中的敏感數(shù)據(jù)的裝置, 其包括;編譯器,其被配置為編譯所述軟件產(chǎn)品的源文件W生成目標(biāo)文件,其中,所述源文 件包括用特定標(biāo)識(shí)符標(biāo)記的至少一個(gè)敏感數(shù)據(jù),所述目標(biāo)文件具有用于在編譯時(shí)和運(yùn)行時(shí) 保存所述至少一個(gè)敏感數(shù)據(jù)的存儲(chǔ)信息的安全數(shù)據(jù)段;W及鏈接器,其被配置為鏈接所述 目標(biāo)文件W生成可執(zhí)行文件,其中所述可執(zhí)行文件在運(yùn)行時(shí)更新所述安全數(shù)據(jù)段。
[0011] 根據(jù)本發(fā)明的再一個(gè)方面,提供了用于在執(zhí)行內(nèi)存轉(zhuǎn)儲(chǔ)時(shí)保護(hù)敏感數(shù)據(jù)的裝置, 其包括:掃描模塊,其被配置為掃描計(jì)算機(jī)的內(nèi)存W在所述內(nèi)存中查找安全數(shù)據(jù)段,其中所 述安全數(shù)據(jù)段保存所述敏感數(shù)據(jù)的存儲(chǔ)信息;敏感數(shù)據(jù)獲得模塊,其被配置為根據(jù)所查找 的安全數(shù)據(jù)段內(nèi)的所述敏感數(shù)據(jù)的存儲(chǔ)信息,獲得所述敏感數(shù)據(jù);處理模塊,其被配置為處 理所述敏感數(shù)據(jù)W隱藏所述敏感數(shù)據(jù);W及文件生成模塊,其被配置為生成內(nèi)存轉(zhuǎn)儲(chǔ)文件。
[0012] 本發(fā)明的實(shí)施例能夠準(zhǔn)確地定位和跟蹤敏感數(shù)據(jù),避免了敏感數(shù)據(jù)在內(nèi)存轉(zhuǎn)儲(chǔ)時(shí) 被泄露,從而提高安全性。
【附圖說(shuō)明】
[0013] 通過(guò)結(jié)合附圖對(duì)本公開(kāi)示例性實(shí)施方式進(jìn)行更詳細(xì)的描述,本公開(kāi)的上述W及其 它目的、特征和優(yōu)勢(shì)將變得更加明顯,其中,在本公開(kāi)示例性實(shí)施方式中,相同的參考標(biāo)號(hào) 通常代表相同部件。
[0014] 圖1示出了適于用來(lái)實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)/服務(wù)器12的框 圖;
[0015] 圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的保護(hù)軟件產(chǎn)品中的敏感數(shù)據(jù)的方法的流程圖;
[0016] 圖3是圖2所示的實(shí)施例中編譯過(guò)程的示意性流程圖;
[0017] 圖4是用于說(shuō)明具有安全數(shù)據(jù)段的目標(biāo)文件的示意圖;
[0018] 圖5是用于說(shuō)明安全數(shù)據(jù)段的結(jié)構(gòu)的示意圖;
[0019] 圖6是根據(jù)本發(fā)明的一個(gè)實(shí)施例的在執(zhí)行內(nèi)存轉(zhuǎn)儲(chǔ)時(shí)保護(hù)敏感數(shù)據(jù)的方法的流 程圖;
[0020] 圖7是根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于保護(hù)軟件產(chǎn)品中的敏感數(shù)據(jù)的裝置的示 意性方框圖;
[0021] 圖8是根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于在執(zhí)行內(nèi)存轉(zhuǎn)儲(chǔ)時(shí)保護(hù)敏感數(shù)據(jù)的裝置 的示意性方框圖。
【具體實(shí)施方式】
[0022] 下面將參照附圖更詳細(xì)地描述本公開(kāi)的優(yōu)選實(shí)施方式。雖然附圖中顯示了本公開(kāi) 的優(yōu)選實(shí)施方式,然而應(yīng)該理解,可WW各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被該里闡述的實(shí)施方 式所限制。相反,提供該些實(shí)施方式是為了使本公開(kāi)更加透徹和完整,并且能夠?qū)⒈竟_(kāi)的 范圍完整地傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0023] 圖1示出了適于用來(lái)實(shí)現(xiàn)本發(fā)明實(shí)施方式的示例性計(jì)算機(jī)系統(tǒng)/服務(wù)器12的框 圖。圖1顯示的計(jì)算機(jī)系統(tǒng)/服務(wù)器12僅僅是一個(gè)示例,不應(yīng)對(duì)本發(fā)明實(shí)施例的功能和使 用范圍帶來(lái)任何限制。
[0024] 如圖1所示,計(jì)算機(jī)系統(tǒng)/服務(wù)器12W通用計(jì)算設(shè)備的形式表現(xiàn)。計(jì)算機(jī)系統(tǒng) /服務(wù)器12的組件可W包括但不限于;一個(gè)或者多個(gè)處理器或者處理單元16,系統(tǒng)存儲(chǔ)器 28,連接不同系統(tǒng)組件(包括系統(tǒng)存儲(chǔ)器28和處理單元16)的總線(xiàn)18。
[00巧]總線(xiàn)18表示幾類(lèi)總線(xiàn)結(jié)構(gòu)中的一種或多種,包括存儲(chǔ)器總線(xiàn)或者存儲(chǔ)器控制器, 外圍總線(xiàn),圖形加速端口,處理器或者使用多種總線(xiàn)結(jié)構(gòu)中的任意總線(xiàn)結(jié)構(gòu)的局域總線(xiàn)。舉 例來(lái)說(shuō),該些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線(xiàn),微通道體系結(jié)構(gòu)(MAC) 總線(xiàn),增強(qiáng)型ISA總線(xiàn)、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局域總線(xiàn)W及外圍組件互連(PCI)總線(xiàn)。
[0026] 計(jì)算機(jī)系統(tǒng)/服務(wù)器12典型地包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。該些介質(zhì)可W是 任何能夠被計(jì)算機(jī)系統(tǒng)/服務(wù)器12訪(fǎng)問(wèn)的可用介質(zhì),包括易失性和非易失性介質(zhì),可移動(dòng) 的和不可移動(dòng)的介質(zhì)。
[0027] 系統(tǒng)存儲(chǔ)器28可W包括易失性存儲(chǔ)器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存 取存儲(chǔ)器(RAM)30和/或高速緩存存儲(chǔ)器32。計(jì)算機(jī)系統(tǒng)/服務(wù)器12可W進(jìn)一步包括其 它可移動(dòng)/不可移動(dòng)的、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。僅作為舉例,存儲(chǔ)系統(tǒng)34 可W用于讀寫(xiě)不可移動(dòng)的、非易失性磁介質(zhì)(圖1未顯示,通常稱(chēng)為"硬盤(pán)驅(qū)動(dòng)器")。盡管圖 1中未示出,可W提供用于對(duì)可移動(dòng)非易失性磁盤(pán)(例如"軟盤(pán)")讀寫(xiě)的磁盤(pán)驅(qū)動(dòng)器,W及對(duì) 可移動(dòng)非易失性光盤(pán)(例如CD-ROM,DVD-ROM或者其它光介質(zhì))讀寫(xiě)的光盤(pán)驅(qū)動(dòng)器。在該些 情況下,每個(gè)驅(qū)動(dòng)器可W通過(guò)一個(gè)或者多個(gè)數(shù)據(jù)介質(zhì)接口與總線(xiàn)18相連。存儲(chǔ)器28可W 包括至少一個(gè)程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個(gè))程序模塊,該些程序模塊被 配置W執(zhí)行本發(fā)明各實(shí)施