王命全,張祖蓮,李景林
(新疆氣象局 新疆興農網信息中心,新疆 烏魯木齊 830002)
目前網絡攻擊現象十分嚴重,給很多企業和單位造成很大程度的破壞。網絡安全問題一直是很多單位重視的問題。目前所有交互性系統或用戶查詢系統類,都需要涉及到登錄窗口。網絡攻擊者也主要是攻破登錄窗口這個界面,才能進入應用系統,進行操作相關的數據或應用程序。可見登錄窗口對系統的作用是至關重要的。現在Web系統直接部署在網絡上,任何人都可以訪問到,安全問題是很多系統擔心的問題。
本文的防Web攻擊登錄窗口設計主要從程序設計角度來講,針對一般的Web系統,例如論壇、留言等用戶能自己登錄后發布信息的窗口。對于銀行等安全性要求極高的系統來說,除了本身的Web設計外,還必須借助其他如U盾等外界硬件設備來保證其足夠安全性。
(1)基于可信平臺模塊(TPM)的用戶登錄可信認證。該認證方式是利用PC機USB接口外接TPM,將用戶的身份信息、相關的密鑰信息等存儲在TPM中,并利用USBKEY技術、動態的口令技術來確保用戶身份的真實可信[1];(2)用戶登錄端程序嵌入到還原程序當中通信代理服務,用戶端和服務器端分開響應[2]。
以上的研究主要從硬件來考慮,對于一般的論壇類系統不可能讓每個用戶發篇帖子還要單獨配置相關的硬件。
(1)以著名的 RSA算法和 DES算法為基礎,提出一種互補性的混合數據加密方案及其實現過程[3];(2)安全減少用戶登錄次數,在分布式環境中基于Web服務的用戶單點登錄機制,使得用戶只需登錄一次即可完成復雜業務[4]。
過濾特殊字符,分配數據庫賬戶權限,正確使用存儲過程,確保輸入的合法性,對敏感數據加密存儲,嚴格進行錯誤處理[5]。此研究主要從軟件設計上考慮,用戶可以借鑒,設計考慮的并不全面,對于不同的攻擊不一定能很好地預防。關于數據庫設置,對于網絡管理員來說,可以借鑒。
本文主要從軟件設計方面來考慮不同用戶不同需要及各種有關預防策略。
登錄窗口要設計好,首先考慮的方面要全,攻擊者不可能用所有的方法去試探,但僅用其中的部分要素就可以。本文將列出一部分常見的實用的攻擊及預防的策略。
(1)防 SQL注入漏洞攻擊
目前很多登錄程序在設計上存在一個很大的隱患就是直接寫SQL語句進行驗證登錄,即黑客輸入任意的用戶名、密碼后,只要在后面輸入“′1′or′1′=′1′”成為選擇語句,驗證就會輕松通過,進入后臺,訪問數據庫。換一種方法去驗證用戶名和密碼,就可以有效地預防這類現象。
代碼例如:

(2)加入輸入密碼次數
目前電腦配置也越來越高,很多相關黑客破解密碼的軟件,黑客會用一個配置較好的主機去破解用戶名的密碼,直到破解為止,計算機的運行速度特別快,一般數字密碼很快就會破解。因此在登錄窗口要設置用戶登錄輸入密碼的次數,如輸入密碼次數不超過3次,這樣才能大大減少被破解的機會。如果用戶登錄成功,錯誤次數會自動清零。以免影響正常用戶的正常登錄。
核心代碼例如:


(3)限制同一IP多次申請注冊
如果用戶一直注冊,當作攻擊的一種類型,當申請次數達到一定數據,該用戶不能再申請。主要由瀏覽器緩存暫時存下用戶的相關信息如IP等,用于記錄用戶申請帳戶次數。
核心代碼:

(6)重要的應用登錄后寫入注冊表
輸入正確用戶名和密碼后,寫入注冊表,即使該用戶暫時沒權限,發生異常,則寫入XML。
核心代碼如下:

(7)對鍵盤上的回車進行處理
相關代碼(用戶按鍵盤Enter也可以登錄):


(9)添加驗證碼
目前網絡上有多種驗證碼,稍加修改,明白其中的成圖原理,都可以改成自己常用的開發語言進行使用。
例如下面生成驗證碼相關核心代碼:



(10)客戶端和服務器端都驗證,防止黑客禁掉客戶端程序
登錄是用戶進入系統的首要窗口,攻破登錄,對非法用戶操作數據就很容易了,開發Web程序時應當重視登錄窗口的設計,做好程序代碼的安全性檢查,設置好服務器和數據庫的安全,雖然沒有絕對的安全,但各種方面小心防范,就可以從很大程度上保證Web服務器的安全。
本文從以上10個方面考慮防Web攻擊登錄窗口設計,設計的登錄窗口系統已在實際系統中使用一年半時間,目前發現攻擊的次數越來越少。隨著網絡的發展,可能有更多的情況需要考慮,本文將不斷優化改進。
[1]譚良,周明天.一種新的用戶登錄可信認證方案的設計與實現[J].計算機應用,2007,27(5):1070-1072.
[2]王書海,劉明生,肖眾.機房管理系統用戶登錄認證方案設計[J].實驗室研究與探索,2008,24(2):37-38.
[3]伍華健.公開密鑰密碼體系在網絡安全中的應用研究[J].微計算機信息,2006,22(43):14-17.
[4]胡毅時,懷進鵬.基于Web服務的單點登錄系統的研究與實現[J].北京航空航天大學學報,2004,30(3):236-239.
[5]郜激揚.基于Web服務的數據庫注入攻擊與防范[J].華北水利水電學院學報,2008,29(1):89-91.