詳細
嚴格來說,各個CPU廠商在CPU內部集成的防病毒技術不能稱之為“硬體防毒”。首先,無論是Intel的EDB還是AMD的EVP,它們都是採用硬軟結合的方式工作的,都必須搭配相關的作業系統和軟體才能實現;其次,EDB和EVP都是為了防止因為記憶體緩衝區溢出而導致系統或套用軟體崩潰的,而這記憶體緩衝區溢出有可能是惡意代碼(病毒)所為,也有可能是應用程式設計的缺陷所致(無意識的),因此我們將其稱之為“防緩衝區溢出攻擊”更為恰當些。
在計算機內部,等待處理的數據一般都被放在記憶體的某個臨時空間裡,這個臨時存放空間被稱為緩衝區(Buffer),緩衝區的長度事先已經被程式或者作業系統定義好了。緩衝區溢出(buffer overrun)是指當電腦程式向緩衝區內填充的數據位數超過了緩衝區本身的容量。溢出的數據覆蓋在合法數據上。理想情況是,程式檢查數據長度並且不允許輸入超過緩衝區長度的字元串。但是絕大多數程式都會假設數據長度總是與所分配的存儲空間相匹配,這就為緩衝區溢出埋下隱患。作業系統所使用的緩衝區又被稱為堆疊,在各個操作進程之間,指令被臨時存儲在堆疊當中,堆疊也會出現緩衝區溢出。當一個超長的數據進入到緩衝區時,超出部分就會被寫入其他緩衝區,其他緩衝區存放的可能是數據、下一條指令的指針,或者是其他程式的輸出內容,這些內容都被覆蓋或者破壞掉。可見一小部分數據或者一套指令的溢出就可能導致一個程式或者作業系統崩潰。而更壞的結果是,如果相關數據里包含了惡意代碼,那么溢出的惡意代碼就會改寫應用程式返回的指令,使其指向包含惡意代碼的地址,使其被CPU編譯而執行,而這可能發生“記憶體緩衝區溢出攻擊”,名噪一時的“衝擊波”、“震盪波”等蠕蟲病毒就是採用這種手段來攻擊電腦的。
緩衝區溢出是由編程錯誤引起的。如果緩衝區被寫滿,而程式沒有去檢查緩衝區邊界,也沒有停止接收數據,這時緩衝區溢出就會發生。緩衝區邊界檢查被認為是不會有收益的管理支出,計算機資源不夠或者記憶體不足是編程者不編寫緩衝區邊界檢查語句的理由,然而技術的飛速發展已經使這一理由失去了存在的基礎,但是多數用戶日常主要套用的程式中大多數其實仍然是十年甚至二十年前的程式代碼,並沒有檢查緩衝區邊界的功能。
緩衝區溢出是病毒編寫者和特洛伊木馬編寫者偏愛使用的一種攻擊方法。攻擊者或者病毒善於在系統當中發現容易產生緩衝區溢出之處,運行特別程式,獲得優先權,指示計算機破壞檔案,改變數據,泄露敏感信息,產生後門訪問點,感染或者攻擊其他計算機。
對於緩衝區溢出攻擊,防毒防毒軟體雖然也可以處理,但也只能是亡羊補牢,而作業系統和套用軟體的漏洞又是難以預測的,隨時可能被利用,引來緩衝區溢出攻擊。在這種情況下,預防緩衝區溢出攻擊應該從硬體層次著手,開始成為許多IT廠商的共識,於是大家俗稱的CPU硬體防病毒功能應運而生了。
緩衝區溢出攻擊最基本的實現途徑是向正常情況下不包含可執行代碼的記憶體區域插入可執行的代碼,並欺騙CPU執行這些代碼。而如果我們在這些記憶體頁面的數據區域設定某些標誌(No eXecute或eXcute Disable),當CPU讀取數據時檢測到該記憶體頁面有這些標誌時就拒絕執行該區域的可執行指令,從而可防止惡意代碼被執行,這就是CPU的防緩衝區溢出攻擊實現的原理。
而對於開啟了EDB或EVP功能的計算機來說,一般也就可實現數據和代碼的分離,而在記憶體某個頁面將被設定為只做數據頁,而任何企圖在其中執行代碼的行為都將被CPU所拒絕。當然,開啟EDB、EVP功能的CPU是無法獨立完成標註不可執行代碼記憶體頁面以及進行相關檢測防治工作的,它還需要相關作業系統和應用程式的配合。
Windows XP SP2、Windows Server 2003 SP1及64bit的Windows作業系統都提供了對EDB、EVP技術的支持。如果你使用的作業系統是Windows XP SP2,那么啟用其中的DEP(Data Execution Protection,數據執行保護)功能即可為你的電腦提供比較全面的防緩衝區溢出攻擊功能。DEP是可以獨立運行的,並也可幫助防禦某些類型的惡意代碼攻擊,但要充分利用DEP可以提供的保護功能,就需要CPU的配合了。DEP可單獨或和兼容的CPU一起將記憶體的某些頁面位置標註為不可執行,如果某個程式嘗試從被保護的位置運行代碼,將會被CPU拒絕同時DEP會關閉程式並通知用戶,從而在一定程度上保障用戶電腦的安全。
CPU內嵌的防病毒技術以及作業系統的防病毒技術因此在目前來說可能還存在著一些兼容性的問題,例如因應用程式設計的缺陷或驅動程式而導致的誤報(特別是一些比較老的驅動程式);另外,對於有些程式來說,是採用實時生成代碼方式來執行動態代碼的,而生成的代碼就有可能位於標記為不可執行的記憶體區域,這就有可能導致DEP將其檢測為非法應用程式而將其關閉。而這些都還有賴於硬體和軟體廠商的相互配合解決,當然,這些都是需要的時間。因此,DEP、EDB、EVP等技術都還在向前發展。
其他解釋
二等布工作室
EDB:二等布工作室的簡稱。網址為erdengbu簡稱為edb。其相關軟體成為二等布軟體或是EDB軟體。二等布工作室主要以免費軟體和共享軟體為主,屬於個人開發。可以定做軟體,許多軟體可以免費升級。
易語言資料庫
易語言的資料庫功能大部分基於XBASE 方式,所以您如果曾經接觸過XBASE資料庫系統中的任何一款,如:DBASE、FOXBASE、FOXPRO 等等,就能夠相當快地了解並套用易語言的資料庫。
易語言資料庫檔案的組成
.edb 資料庫主檔案
.edt 資料庫輔助數據檔案,僅在資料庫中存在備註型或者位元組集型欄位時才存在,檔案名稱稱除了後綴外與資料庫主檔案相同,它必須與.edb檔案放在同一目錄中。
.enx資料庫索引檔案。使用 B+ 樹結構,由用戶根據需要自行創建,用作加快記錄的查找速度。
易語言資料庫常用操作
1、創建資料庫:
2、打開資料庫:
欲打開指定資料庫,請使用“打開”命令。可以同時打開多個資料庫(其數目僅受Windows 作業系統限制)。
注意易語言的資料庫拋棄了XBASE 的工作區概念,以便可以同時打開更多的資料庫。
3、置當前資料庫:
系統內部有一個“當前資料庫”狀態值,它被用來指向某一個已被打開的資料庫。絕大部分資料庫操作命令都針對當前資料庫,譬如:記錄指針的移動、欄位的讀寫等等。用戶可以使用“置當前庫”命令來改變系統中“當前資料庫”狀態值的指向。
4、關閉資料庫:
欲關閉當前資料庫,請使用“關閉”命令。欲一次性關閉已打開的所有資料庫,請使用“全部關閉”命令。
EDB 新加坡經濟發展局
新加坡經濟發展局(EDB)是負責規劃與執行新加坡經濟發展策略的主要政府機構。經發局致力於加強新加坡作為全球商業中心的地位。構思、設計並推出為新加坡投資者和企業創造價值的方案。新加坡經濟發展局的使命是推動新加坡的可持續經濟成長,創造蓬勃商機和良好的就業機會。
經發局的“企業、創新、人才之都”的策略體現了新加坡經濟發展的最新方向,從而使新加坡能更好地迎接未來的機會與挑戰。這意味著新加坡所提供的優勢不僅能讓企業提升收益,也能幫助企業通過新加坡展開與深化他們在亞洲與國際市場的業務、創新和人才方面的戰略性活動,以取得營業的增長。
經濟發展局的遠景
成為環球領袖、一個大都會和亞洲商貿、創新與人才聚集之家園
經濟發展局的使命
經濟發展局的每位成員都具備這些核心價值,這些價值觀塑造並領導著經濟發展局。
經濟發展局的核心價值
互相關懷
我們互相關懷,尊重每一個人,傾聽和理解,並設法讓與我們合作的每個人的生活更加充實。
誠信
我們絕不因任何理由犧牲誠信。誠實、真誠和可靠是獲得信任和建立長期關係的必經途徑。
團隊精神
我們一起合作,互相啟發,並分享成功。
想像力
我們需要充滿想像力、創新和自發性來創造更美好的未來。
勇氣
我們敢于堅持做正確的事,以及堅持信念,直面缺點,必要時候做出改變,並引領時代。
追求卓越
我們力求做到最好,利用我們的天賦和能力來發揮我們的潛能。
國家
我們為新加坡和我們的人民服務。我們相信,無私地為更崇高和偉大的目標服務是激發人們精神的關鍵。