德州職業技術學院 何 芳
隨著大數據時代的到來,如何針對信息安全應用風險及隱患做好防護措施,逐漸成為大家所關注的焦點。本文將對大數據時代的信息安全隱患及防護措施進行分析。
互聯網中的信息安全威脅主要來自以下幾個方面:系統漏洞、黑客侵襲、病毒木馬攻擊、用戶安全防范意識薄弱、用戶信息被泄露、虛假不良信息的傳播和移動信息安全威脅等。其主要表現形式有:黑客攻擊、DDOS攻擊(包括SYN攻擊、DNS放大攻擊、DNS泛洪攻擊和應用層DDOS攻擊);網絡安全漏洞給病毒、DDOS、僵尸網絡、蠕蟲、間諜軟件等的侵入留下可乘之機;木馬病毒通過不斷的升級更新帶給用戶的持續性威脅;信息數據在傳輸過程中被泄露、篡改、添加和刪除;用網絡釣魚的方式誘騙用戶進入威脅網站,從而獲取用戶私密信息等。
(1)SQL注入漏洞
SQL注入攻擊包括通過輸入數據從客戶端插入或“注入”SQL查詢到應用程序,SQL注入漏洞方法有很多,比如:數字注入、字符串注入、布爾型注入等。在數字注入方面,$sql ="SELECT * FROM article WHERE id=",$id是“learn.me/sql/article.php?id=1”這個地址被輸入地址欄后,被調用的一個查詢語句,我們將會得到id=1的返回信息;但如果在地址欄中輸入learn.me/sql/article.php?id=-1 OR 1 =1,那么就將得到所有文章的相關信息,這就是一個SQL注入攻擊的過程。
(2)“內部IP暴露”漏洞
“內部IP暴露”漏洞是指活躍在網絡上的私有IP地址經常會被攻擊者通過信息收集方式獲得,被攻擊者獲得的IP地址將被用于接下來對用戶所采取的滲透攻擊。除了普通客戶端外,IP路由也會受到影響,常見的泄露內網IP的web容器有IIS。
(3)Struts2遠程命令執行漏洞
已被編號為S2-045和CVE-2017-5638的Struts2遠程命令執行漏洞受到越來越多人的關注,攻擊者可以在上傳文件時,通過改變Content-Type值(存在于HTTP請求中)來觸發該漏洞,被修改后的命令一旦開始被執行,服務器安全將受到極大威脅。
除了上述三種信息安全漏洞外,跨站腳本漏洞、弱口令漏洞、HTTP報頭追蹤漏洞、框架釣魚漏洞、文件上傳漏洞、應用程序測試腳本泄露、未加密登錄請求、敏感信息泄露漏洞等,也是比較常見的信息安全漏洞。
(1)基礎設施安全威脅
包括存儲設備和運算設備在內的硬件設備,以及其它基礎軟件(如虛擬化軟件)都屬于大數據基礎設施。由于內容和體量過于龐大,大數據在傳輸過程中很容易因加密強度不夠而受到攻擊,比如通過實施嗅探、中間人攻擊、重放攻擊來竊取或篡改數據。
(2)大數據存儲安全威脅
大數據存儲安全威脅主要分為關系型數據庫存儲安全威脅和非關系型數據庫存儲安全威脅。其中,前面所講到的SQL注入漏洞是困擾著關系型數據庫應用程序的大問題,SQL注入漏洞的存在,使得成千上萬的用戶時刻都在承受巨大的信息泄露風險。
(3)大數據網絡安全威脅
大數據下的網絡安全威脅有很多種,除了前面所講的利用Struts2遠程命令執行漏洞來實施攻擊外,APT(高級持續性威脅)也是一種很有威脅的攻擊方式,它所帶來的損失會隨攻擊次數的增多而不斷增大;同時,它的攻擊渠道非常廣,目前已被曝光的有社交攻擊、0day漏洞利用、物理擺渡等。
2.2.1 NoSQL注入
Web應用和服務通常使用NoSQL數據庫去保存客戶數據。驅動程序在對數據庫進行訪問時,會為多種編程語言編寫的數據庫客戶端提供類庫,盡管該驅動程序自身不易受到攻擊,但由于它無法提供出一個安全的API,所以當使用者錯誤地應用它時,就會給惡意用戶制造利用漏洞進行惡意攻擊的機會。NoSQL注入攻擊的種類有很多,比如PHP重言式注入、NoSQL聯合查詢注入、NoSQL JavaScript注入、背負式查詢注入等。
2.2.2 APT
APT攻擊的入侵方式主要有:防火墻、服務器漏洞、惡意郵件(主要在社交活動中)、通過移動電子產品和設備進入到企業信息系統中實施攻擊。
其攻擊方式有以下三種:
(1)惡意用戶通常會用直連物理設備來連接被攻擊者所使用的硬件設備,將病毒注入進去,以此將病毒傳染給整個局域網絡。
(2)惡意用戶通常會以目標組織中的一個用戶端所使用DNS訪問過的網站作為突破口,先去感染網絡,進而感染到所有訪問過相同網站的客戶端,從而使相關的設備也一并受到感染。
(3)惡意用戶通過發送惡意軟件給目標用戶的方式也會將病毒注入目標客戶端,比如Cryptolocker就是一種感染方式,它也被稱為勒索軟件。目標客戶一旦打開接受到的惡意郵件,Cryptolocker就會在本地磁盤上加密文件和映射網絡磁盤。如果你不交贖金,惡意軟件就會刪除加密密鑰,從而使你無法訪問自己的數據。
基于SQL注入漏洞的防護措施主要有:(1)普通用戶與系統管理員用戶的權限要有嚴格的區分;(2)強迫使用參數化語句;(3)加強對用戶輸入的驗證;
(4)使用SQL Server數據庫自帶的安全參數;(5)多層環境如何防治SQL注入式攻擊;(6)必要的情況下使用專業的漏洞掃描工具來尋找可能被攻擊的點。
除上述六點外,我們還可以考慮設置陷阱賬號,比如將防注入的賬號設置的很象管理員(如admin)以制造假象吸引軟件的檢測,而密碼是大于千字以上的中文字符,迫使軟件分析賬號的時候進入全負荷狀態甚至資源耗盡而死機。
基于“內部IP暴露”漏洞的防護措施主要有:(1)包含有內網IP不要在源代碼中被注釋;(2)完善安全編碼策略,同時保證內部IP不要出現在頁面代碼中;(3)加強代碼審查;(4)數據交互過程中避免使內網IP參與進去。
(1)禁用jakarta框架
修改default.properties這個文件中的基本配置,比如我們可以把配置struts.multipart.parser=jakarta修改成struts.multipart.parser=pell,這樣便相當于把jakarta框架給禁用了。
(2)添加action攔截器,過濾掉非法請求
針對前文提到的S 2-0 4 5漏洞觸發點為Content-TypeHTTP頭字段,我們可以添加action攔截器來過濾掉非法請求。通過將SecurityFilter.java文件編譯成SecurityFilter.class,然后存入服務器中,存放路徑如下:/var/www/apachetomcat-7.0.14/webapps/ROOT/WEB-INF/classes/。最后修改web.xml(/var/www/apachetomcat-7.0.14/webapps/ROOT/WEB-INF/web.xml)使被添加的攔截器生效;然后,繼續添加的代碼,保存web.xml后重啟tomcat,重啟后服務器需要切換到/var/www/apache-tomcat-7.0.14/bin/目錄下,首先執行./shutdown.sh,然后執行./startup.sh,接著輸入驗證漏洞的命令:
poc.exe http://172.16.12.2/example/Hello-World.action “cat /etc/passwd”
基于NoSQL注入漏洞的監控和攻擊檢測主要有以下幾個方面:
(1)用Web應用防火墻來檢查HTTP數據流和檢測惡意HTTP事務的安全性;
(2)基于主機的侵入檢測系統可以檢測執行應用和服務器上的負載,從而向與預期行為不符的行為發出預警;
(3)運行期應用自我保護(RASP)是一種新的安全防護與檢測方式,它可以被嵌入到應用程序中進行自我監控。
結束語:大數據時代下的信息安全隱患來自很多方面,毫不夸張地講,只要是與原有計算機技術相關的安全問題也都是大數據時代下的信息安全問題。相應地,信息安全隱患的防護方法也有很多,本文從技術的角度列舉了其中的一些方面,希望能給大家帶來幫助。