楊志國
摘要:互聯(lián)網(wǎng)的一個最大特性就是所有機器的開發(fā)性以及相互之間的可訪問性,Web應用的每個單個部分都需要進行安全保護,防止可能的錯誤使用,不能僅僅停留在對應用的電子商務部分進行安全保護,還要開發(fā)一個能夠計劃和處理安全性問題的方法。
關鍵詞:Web應用;威脅;策略
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2015)06-0039-02
Vocational School "Non-linear Editing Premiere" Teaching Mode
YANG Zhi-guo
(Hefei Economy and Management Vocational School, Hefei 230041, China)
Abstract: One of the biggest characteristics of the Internet is the development of all machines and mutual accessibility, each individual part of the Web application is required for security protection, to prevent possible errors, can not just stay in the application of e-commerce security, but also to develop a method to plan and deal with security issues.
Key words: Web application; threat; strategy
互聯(lián)網(wǎng)的一個最大特性就是所有機器的開發(fā)性以及相互之間的可訪問性,這個特性同樣成為Web應用開發(fā)人員必須面對的最大挑戰(zhàn)。由于存在如此之多的計算機,有些用戶就會存在一些不道德的想法。由于存在這樣的威脅,向全球網(wǎng)絡開放一個處理可能的機密信息(例如,信用卡號、銀行賬戶信息或者健康記錄)的Web應用的想法就需要慎之又慎。但是商務業(yè)務必須開展,作為Web應用開發(fā)人員的眼光就不能僅僅停留在對應用的電子商務部分進行安全保護,必須開發(fā)一個能夠計劃和處理安全性問題的方法:保護自身與能夠執(zhí)行業(yè)務的可用應用。
1 面臨的威脅
1.1 訪問或修改敏感數(shù)據(jù)
作為Web應用的設計和編程人員, 要確保用戶提交的任何數(shù)據(jù)都是安全的,正如我們從其他部門獲得的任何數(shù)據(jù)。當向Web應用的用戶公開部分信息時,必須遵循只能看到允許看到的信息的原則,而且不能看到其他用戶的信息。
如果開發(fā)一個在線股票或基金交易系統(tǒng)的前臺程序,可以訪問系統(tǒng)賬戶表的用戶可能能夠訪問用戶的納稅唯一信息,用戶所持股票以及極端情況下的用戶銀行賬戶信息。即使公開一個包含用戶名稱和地址的表格也是嚴重地違反安全原則。客戶非常重視他們信息的私有性,這些用戶的名稱和地址以及相關信息可能成為一些不遵守商業(yè)規(guī)則的市場公司的潛在信息收購對象。
當然,比直接訪問數(shù)據(jù)更糟糕的是,操作這些數(shù)據(jù),有的銀行客戶可能會非常高興得看到他的賬戶內(nèi)多了幾千美金,或者修改客戶的郵寄地址,從而導致其他客戶(假設這個客戶修改了別人的數(shù)據(jù))收到大量本不應該郵寄給他的包裹。
1.2 數(shù)據(jù)丟失或破壞
如果突然發(fā)現(xiàn)部分數(shù)據(jù)被刪除或者破壞,那么未授權用戶能夠訪問任何敏感數(shù)據(jù)都是非常糟糕的。如果有人要破壞數(shù)據(jù)庫的表,我們的業(yè)務將面臨不可恢復的后果。如果我們的應用是一個顯示銀行賬戶信息的在線銀行系統(tǒng),任何一個賬戶信息的丟失,都將表明我們不是一個好的銀行。更糟糕的是,如果如果整個用戶表都被刪除,我們將花費大量時間來重新構建數(shù)據(jù)庫以及數(shù)據(jù)重新輸入。
數(shù)據(jù)丟失或破壞不一定完全源自系統(tǒng)的惡意或意外的錯誤使用。如果放置服務器的建筑失火,而所有服務器和硬盤又都放置在該建筑中,我們將丟失大量數(shù)據(jù),只能期盼我們具有足夠的備份和災難恢復計劃。
1.3 拒絕服務
拒絕服務攻擊(Dos)以及更嚴重的拒絕服務攻擊:分布式拒絕服務攻擊(DDos),這些都是對應用可用性的破壞性的攻擊。它們會使服務器停止工作數(shù)小時,這將導致系統(tǒng)恢復更嚴重的負擔。如果考慮互聯(lián)網(wǎng)主要站點的普及性以及人們對其服務的期望,任何的停機時間都會是問題。
Dos源自有意行為,而不是錯誤使用。即使有完備的備份機制,如果防止服務器的建筑失火,或者遭遇泥石流,或者被入侵者摧毀,而我們又沒有很快恢復這些計算機的計劃,我們很快就會發(fā)現(xiàn)客戶的丟失。
1.4 惡意代碼注入
互聯(lián)網(wǎng)中,一種非常常見的有效攻擊類型就是我們所說的惡意代碼注入。這種攻擊最著名的方式是站點間腳本(Cross Site Scripting),也就是XSS,這樣可以與CSS(級聯(lián)樣式表單)相區(qū)分。這種供給帶來的常見問題就是它們并不會帶來立即的數(shù)據(jù)丟失,但是由于執(zhí)行了某些代碼,這將導致不同程度的信息丟失或者在用戶不知情的情況下,錯誤引導用戶操作。
基本上,XSS的工作流程如下所示:
1)惡意用戶,在一些公共區(qū)域輸入一些文本,這些文本將被其他用戶看到,但這些文本不僅僅是他們要輸入的文本,同時還包含了一些可以在客戶端執(zhí)行的腳本。
2)惡意用戶提交這個表單并等待。
3)系統(tǒng)的下一個用戶看到了這個包含了惡意用戶輸入文本的頁面,其中的腳本將在這個用戶的客戶端執(zhí)行。
1.5 服務器被攻擊
盡管服務器被攻破的影響包括許多威脅,但還需要注意的是,攻擊者期望能夠獲得對系統(tǒng)的訪問,大多數(shù)情況下是希望成為超級用戶。這樣,他們就可以對被攻破的服務器任意控制,執(zhí)行他們希望執(zhí)行的程序,關閉計算機或者安裝我們并不希望安裝的軟件。我們需要警惕這種類型的攻擊,因為攻擊者在攻破一個服務器后首先要做的就是掩蓋他們的攻擊以及所有的證據(jù)。
2 處理安全性問題的策略
2.1 正確心態(tài)
安全性并不是一個特性。當編寫一個Web應用以及決定應用的特性列表時,安全性并不會隨意的就包含在這個列表,并且由一個開發(fā)人員的幾天工作就可以完成。它必須出現(xiàn)在應用的代碼設計階段。對安全問題投入的精力永遠不會結束,即使是在這個應用已經(jīng)部署、開發(fā)工作進展緩慢。
在構思和計劃我們系統(tǒng)可能遭遇的各種攻擊階段,也就是最開始的階段,我們可以設計代碼來減少這些問題發(fā)生的可能性。這也可以避免在項目后期階段當我們將注意力轉移到安全性問題時,需要重新更改所有代碼和設計。
2.2 安全性和可用性之間的平衡
當設計一個用戶系統(tǒng)時,最大的一個顧慮就是用戶的密碼。用戶通常會選擇一些通用軟件不太難破解的密碼,尤其是他們使用字典里可以找到的單詞作為密碼。我們需要一個方法能夠減少用戶密碼被破解以及通過破解用戶密碼造成的系統(tǒng)被攻破的風險。
一個可能的解決方案是要求每個用戶遍歷4個登陸對話框,每個對話框具有不同的密碼。也可以要求用戶至少每個月修改這4個密碼,并且確保新密碼不是以前已經(jīng)使用過的。這可能會使系統(tǒng)更加安全,而且黑客將花費大量的時間來執(zhí)行登陸過程從而攻破系統(tǒng)。不幸的是,這樣的系統(tǒng)是會非常安全,但是沒有用戶會希望使用它——在某種程度,用戶會認為它不值得使用。這就表明,擔心安全性非常重要,但是擔心安全性對可用性造成的影響同樣的是重要的。一個易于使用并且只有少量安全錯誤的系統(tǒng)可能會吸引用戶,但是也將更有可能導致與安全相關的問題以及商業(yè)業(yè)務的影響。同樣的,一個具有很高安全性的系統(tǒng)如果具有很差的可用性,它將不會吸引大量用戶,也將對業(yè)務帶來負面的影響,作為Web應用的設計人員,必須找到一個能夠改進系統(tǒng)安全而又不會降低或者破壞系統(tǒng)可用性的方法。由于目前所有問題都與用戶界面相關,還沒有任何特定規(guī)則需要遵循,所以只能依靠某些個人判斷、可用性測試以及研究用戶對原型和設計的反應。
2.3 安全監(jiān)視
在完成Web應用的開發(fā)并將其部署在產(chǎn)品服務器以供用戶使用,我們的工作并沒有完成。
系統(tǒng)運營時需要其監(jiān)視其安全狀況,可以通過查看日志以及其他文件確認系統(tǒng)運營和被使用的狀況。只有密切關注系統(tǒng)的運營狀況,才能發(fā)現(xiàn)是否存在安全問題,找到可能需要更多時間來開發(fā)更安全的解決方案。
2.4 基本方法
要在合理的精力和時間范圍給出最完備的安全解決方案,我們需要描述一個有兩部分組成的方法。第一部分主要內(nèi)容:如果計劃應用的安全保護以及設計能夠實現(xiàn)安全性的特性。我們將這種方法叫做自上而下的方法。第二部分的方法可以稱作自下而上的方法。在這種方法里,我們將面向應用的各個組成模塊,例如數(shù)據(jù)庫服務器,服務器本身以及應用運行的網(wǎng)絡環(huán)境。我們不僅需要確保與這些組件的交互是安全的,安裝和配備這些組件同樣是安全的。
參考文獻:
[1] 郭玉龍. 網(wǎng)絡服務器安全配置策略研究[J]. 網(wǎng)絡安全技術與應用, 2014(2).
[2] 鐘平. Web服務器安全防護技術研究[J]. 現(xiàn)代計算機:專業(yè)版, 2007(10).
[3] 鈕超. 淺談WEB服務器的安全[J]. 科技資訊, 2010(5).
[4] 魯絮飛. Web服務器安全防衛(wèi)系統(tǒng)構建[J]. 現(xiàn)代商貿(mào)工業(yè), 2011(23).