【摘要】隨著“互聯網+”時代的到來,互聯網在人們生活中扮演著越來越重要的角色?;ヂ摼W滲透到人們的生活的同時,隨之而來的是頻頻發生的網絡安全問題。因此,網絡安全問題日趨重要。面對高發的網絡安全問題,如何有效的減少Web應用程序中的各種漏洞以及當非法用戶對Web應用程序進行攻擊時,系統應做出怎樣的反攻擊用以確保Web應用程序能夠正常運行。
【關鍵詞】網絡安全;Web漏洞;防御機制;滲透測試
一、前言
隨著網上購物、網上支付的普遍化,我們卻面臨著各種各樣的網絡安全威脅。計算機病毒、網絡詐騙、數據丟失和隱私泄露等問題在時時刻刻地困擾著我們。信用卡、銀行卡顯然對黑客有著極大的誘惑力,不斷出現非法信用卡交易網站對盜來的信用卡通過論壇、用戶反饋和賣家評價等進行交易。我們的個人信息、各種密碼、電話號碼、電子郵件賬戶等在無意間就被泄露出去,這給我們的生活帶來了極大的困擾。于是構建一個良好的網絡環境,對于病毒和系統漏洞做好安全防范以及及時查殺病毒和修復漏洞就顯得尤為重要。為了避免計算機網絡遭遇惡意軟件、病毒和黑客攻擊,就必須要做好計算機網絡安全維護和防護。
二、Web應用程序的安全現狀的分析
互聯網發展的早期是由Web站點構成的,這些站點中大多存儲的是靜態文本。Web瀏覽器出現之后,用Web瀏覽器來檢索、顯示儲存在Web站點中的文檔。早期的互聯網發展模式中,信息的流向只是服務器向瀏覽器的單方向傳送。大多數站點對所有用戶同等對待,提供同樣的服務與信息,而且不驗證使用該站點的用戶是否合法。網絡安全隱患主要與Web服務器中軟件的漏洞有關。因此,非法用戶通過修改服務器上的文件,篡改Web站點存儲的靜態文本,用來傳播非法的信息;或者利用服務器的存儲容量和帶寬搭載非法軟件,對非法軟件進行傳播?;ヂ摼W發展到今天已經發生了很大的變化,如今Web上的大多數站點實際上是應用程序。這些應用程序功能強大,不僅有注冊、登錄、金融交易、搜索等功能,而且能夠在瀏覽器與服務器之間進行雙向信息傳遞。用戶通過瀏覽器獲取的信息以動態形式生成,而且通常能夠滿足各用戶的特殊需求。其中,處理的許多信息屬于私密和高度敏感的信息。雖然Web應用程序在不斷地發展,但新的安全隱患也隨之產生。安全漏洞隨著應用程序不同而有所差異。很多應用程序的開發人員對他們自己編寫的代碼中潛在安全隱患也不是很清楚。通常Web應用程序要與相應的存儲著私密數據的數據庫建立連接的,一旦非法用戶發現并利用應用程序中的漏洞,將會引起很多的安全問題。試想,如果Web應用程序會將用戶的信息泄露給任一利用“特殊技術”的非法訪問者,用戶將會使用該Web應用程序嗎?
三、網絡安全常見問題
常見的Web網絡安全問題主要有:注入攻擊和跨站腳本攻擊、跨站請求偽造、不完善的身份驗證措施等漏洞。
1、注入攻擊和跨站腳本攻擊。注入攻擊有很多形式,包括SQL注入、HTML注入、操作系統、電子郵件和LDAP注入等。攻擊者利用這些漏洞在使用網絡訪問的同時,將一些非法數據“悄無聲息”地發送給要攻擊的網站,這些非法數據能讓應用程序執行一些特殊命令或訪問一些敏感數據。下面重點介紹SQL注入。
所謂SQL注入,就是通過把SQL命令插入到Web表單遞交或輸入域名或頁面請求的查詢字符串中去,最終達到欺騙服務器執行惡意的SQL命令的一種入侵方式。比如,曾經有很多影視網站泄露VIP會員密碼大多就是通過Web表單遞交查詢字符暴露出的,這類表單特別容易受到SQL注入式攻擊。
跨站腳本(XSS)攻擊會將客戶端腳本代碼(如JavaScript)注入到Web應用的輸出中,從而攻擊應用的用戶。只要訪問受攻擊的輸出或頁面,瀏覽器就會執行代碼,讓攻擊者劫持用戶會話,將用戶重定向到一個惡意站點或者破壞網頁顯示效果。XSS攻擊很可能出現在動態生成的頁面內容中,通常應用會接受用戶提供的數據而沒有正確驗證或轉碼。
2、跨站請求偽造(CSRF):利用這種漏洞,攻擊者可以誘使用戶在無意中使用自己的用戶權限對應用程序執行操作。惡意Web站點可以利用該漏洞,通過受害用戶與應用程序進行交互,執行用戶并不打算執行的操作。如果應用程序完全依賴HTTP cookie傳送會話令牌,它很容易受到跨站請求偽造攻擊。
3、不完善的身份驗證措施:這類漏洞包括應用程序登錄機制中的各種缺陷,可能會使攻擊者破解保密性不強的密碼、發動蠻力攻擊或完全避開登錄。
4、如何有效地應對網絡安全問題。針對Web應用程序所受到的某種形式的攻擊,防御者應采取相應的安全機制來應對攻擊者發起的攻擊。針對注入攻擊和跨站腳本攻擊、跨站請求偽造、不完善的身份驗證措施這些漏洞,以下是應用程序應對惡意用戶所采取的一些主要防御機制。
(1)注入攻擊和跨站腳本攻擊:為了防御注入攻擊和XSS攻擊,應用程序應該設置為在不清楚數據的安全性的情況下,默認所有數據——無論是來自表單、URL、Cookie或應用的數據庫,都是不可信來源。要檢查所有處理用戶提供數據的代碼,保證它是有效的。驗證函數需要清理所有可能有惡意作用的字符或字符串,然后再將它傳給腳本和數據庫。要檢查輸入數據的類型、長度、格式和范圍。此外,一定要檢查所有從客戶端接受的值,進行過濾和編碼,然后再傳回給用戶。
(2)防止CSFR漏洞:防范CSRF攻擊的標準方法,是將HTTP cookie與其他追蹤令牌的方法相結合。這類方法通常采用其他通過HTTP隱藏表單字段傳輸的令牌。在每次提交請求時,應用程序除確認會話cookie外,還核實表單是否傳送了正確的令牌。如果攻擊者無法確定該令牌的值,就無法構建跨領域請求,也就無法執行所需的操作。
(3)為了發現身份驗證問題,網站維護過程中,要執行代碼檢查和滲透測試。可以使用自動化代碼和漏洞掃描程序,發現潛在的安全問題。有一些地方通常需要特別注意,其中包括會話身份標識的處理方式和用戶修改用戶身份信息的方法。
網絡安全隱患無處不在,用戶應掌握防范間諜軟件、木馬程序和病毒的有效方法,安裝高效的防毒殺毒程序,建立系統化的安全防御機制,做好上網時的安全防御和監控。
四、結語
大約將近20年的時間互聯網已經由靜態信息倉庫發展為功能強大的應用程序,能夠處理敏感的數據并執行用于輸出實際結果的高度功能化的應用程序。在這個發展過程中,多種因素造成了當前絕大多數Web應用程序所面臨的安全保護不足的狀況。任何情況下,如果一個應用程序必須接受并處理可能為惡意的未經驗證的數據,就會產生Web應用程序面臨的核心問題,即用戶可以提交任意輸入。當前Web應用程序安全狀況的所有證據表明,這個問題尚未得到很好的解決,而且不管是對部署Web應用程序的組織還是訪問他們的用戶而言,針對Web應用程序的攻擊都是一個嚴重的威脅。
【參考文獻】
[1] 鐘晨鳴, 徐少培, 著. Web前端黑客技術揭秘[M]. 北京:電子工業出版社, 2013.1.
[2] 風云工作室, 編著. 黑客攻防實戰從入門到精通[M]. 北京:化學工業出版社, 2015.10.
[3] 吳長坤, 著. 黑客攻防入門與實戰[M]. 北京:企業管理出版社, 2010.5.
【作者簡介】
周金萍(1992—),女,河南漯河人,蘭州市榆中縣西北民族大學軟件工程專業本科生。