登錄業務中存在的安全問題

背景:
          在互聯網網站中,用戶註冊,登錄幾乎是每個網站的標配功能。在一般人看來一個小小的登錄業務表面上看起來很簡單 ,大概過程是這樣的:用戶在前臺頁面輸入用戶名和密碼,然後後臺web服務器拿到用戶輸入信息,在數據庫里根據用戶名和密碼匹配一下,有數據返回,表示用戶的賬號和密碼匹配成功,跳轉到相關頁面;沒有則返回登錄錯誤提示用戶。這個小小的業務流程看似很簡單,但是因爲涉及到用戶賬號和密碼這類關鍵性用戶數據,常常成爲黑客的攻擊點。比如:csdn被人拖庫,密碼報出明文存儲,小米網站爆出泄漏用戶登錄信息(小米技術人比較牛,密碼泄漏後,做了兩件事情,第一承認用戶賬號泄漏,第二泄漏後叫用戶別怕,因爲加密存儲了密碼,黑客拿到的是加密後的密碼)。京東,支付寶等大的互聯網網站等也有暴露過相關泄漏用戶賬號黑客事件。
   
          由於程序員的開發技術水平參差不齊,項目進度,或者壓根就沒安全意識等因素,導致編寫的用戶註冊,登錄功能存在很大的安全風險。安全小菜鳥在這裏羅列一二,以備不時之需。


遇到的安全問題:
1、 拖庫
          由於程序中存在sql注入漏洞,在客戶端輸入信息時,用戶惡意輸入一些sql語句,導致數據庫裏的用戶信息被黑客竊取(有興趣的同學可以上網搜搜怎樣進行sql注入攻擊,進行拖庫),然後用戶的賬號信息就被黑客拿到,然後黑客就可以幹很多事情了。

應對措施:
          對存入數據庫中的密碼,進行加密存儲。有些技術人員爲了省事,直接用“原始密碼”MD5加密後存儲。 MD5雖然不能解密,但是原始值MD5加密後的值是不變,根據這些特性可以通過碰撞檢測,字典表等猜出用戶的密碼。即根據字符串的組合,MD5加密後,生成加密值,存入MD5庫;然後根據泄漏網站的密碼從MD5庫裏一查,什麼都有了。現在都有網站提供“MD5解密”功能,原理猜測估計是根據碰撞檢測。
原始密碼用MD5加密不能用那用什麼了?
加鹽存儲:用戶的密碼+鹽(固定格式的隨機字符串)然後在用md5加密或者相應的hash函數進行加密;加密後的字符串和固定格式的隨機字符串需要保存關聯存入庫裏;下次用戶登錄時,使用密碼+鹽,再調用相應的加密算法,算出加密後的值和庫裏的密碼值是否相同,如果相同則登錄成功,否則登錄失敗。

鹽:可以使用註冊時間+用戶名等,有網上專家建議使用“基於加密的僞隨機數生成器”來生成鹽,見http://blog.jobbole.com/61872/

 

好處
1、增加原始加密字符串的長度,黑客在碰撞長字符串時花費更多的時間(理論上來說還是可以破解不過破解所花費的和獲得利益就需要黑客評估了)
2、增加了破解難度,如果鹽值不隨機,而採用固定鹽值,或者短鹽值,黑客也可以通過“猜測的密碼”+短鹽值,加密後,快速對比泄漏的密碼,而獲得原始密碼。

除了從技術上解決完,還要加強線上安全掃描或者安全代碼審查。

2、 客戶端無限制登錄
           有些登錄接口,在登錄多少失敗時,沒有任何限制,這樣就造成了黑客可以無限制調用登錄接口,達到暴力破解的目的。

應對措施:加驗證碼。驗證碼也有可能被高明的黑客破解。
如果不行;加用戶名登錄錯誤次數檢驗;或者ip登錄次數限制。

3、 Cookie被盜,xss攻擊
          大多數互聯網應用,都用cookie來標示用戶登錄信息,如果cookie被黑客盜用,也就等於用戶登錄的令牌已經被黑客竊取,然後用戶在自己的瀏覽器裏種入cookie,冒充用戶已經登錄。盜取cookie一般是用xss攻擊,即在頁面上提交信息的字段
里加入一段惡意的js腳本,其它用戶在瀏覽信息時,執行這段惡意的腳步,然後把瀏覽信息用戶的cookie發到黑客服務器裏,然後黑客就可以冒充被黑用戶了。

應對措施:
          對於用戶可控輸入的信息,進行展現,都做html編碼。
          設置httpOnly屬性,防止客戶端腳本訪問cookie

4、 httpOnly突破,中間人攻擊
         設置httpOnly,或者做xss腳步處理,cookie信息就安全了嗎?
no,客戶端和服務端的http通信,在整個網絡傳輸時,是明天傳輸,中間人可以控制路由器等網絡設備,抓取這些網絡設備上的數據,由於明文傳輸,一分析,什麼都出來。

應對措施:設置secure屬性,cookie只能在https 下發送到服務端,所有的http通信都加密,即使中間人截取到網絡通信數據,也無法解密出數據。

 

分享到: sina.jpg tec.jpg
參考知識庫
語音識別與合成知識庫 110  關注 | 141  收錄
計算機視覺知識庫 197  關注 | 187  收錄
自然語言理解和處理知識庫 125  關注 | 55  收錄
Android知識庫 32586  關注 | 2675  收錄
評論
liuwenjie517333
  • 瀏覽: 8834 次
  • 性別: Icon_minigender_1
  • 來自: 成都
  • offline.gif
社區版塊
存檔分類
最新評論
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章