■吉林 孫瑤
單位人事管理部同事打來求助電話稱,在訪問某醫保網站辦理異地醫療業務時,突然開始出現問題。
他能登錄該網站首頁,也能登錄進去單位賬號,但當輸入完醫保號并點擊“查詢”按鈕時,屏幕就彈出“請求數據成功,但回調方法出錯;請檢查自定義load回調函數”彈窗。
故障描述顯示,網站一級和二級頁面能正常訪問,首先可以排除不是網絡不通的問題。
接下來排除一下是否是本機問題,換其他幾臺電腦操作,故障依舊,排除本機問題。網站訪問出現問題,按照之前的經驗一般都是瀏覽器設置引起沖突的比較多,接下來對瀏覽器進行一番調整,挨個換了幾個常用瀏覽器,將站點填加到瀏覽器可信列表中,選擇以兼容模式運行,配置網頁隱私策略總是接受來自此網站的Cookie。這些操作之后,問題還是沒有解決。
看來不是瀏覽器的問題,會不會是網站系統本身出故障了呢?同事咨詢了該醫保QQ交流群,群里每天都有人登錄訪問進行相關操作,也沒有出現這種情況。同事說在家里電腦操作也沒有出現該問題??磥韱栴}還是有針對性的,難道是單位網絡有限制?最后用手機移動網絡和電信網絡分別設置熱點均能成功登錄系統并能查詢賬戶,最終問題鎖定單位網絡。
單位網絡是通過上網行為管理設備實現的IP和物理地址靜態綁定,首先懷疑上網行為管理設備有限制,進入該設備,將人事部門同事電腦IP設置為全局排除,將該IP跳過設備限制,問題沒有解決。
同事的問題發生的時間節點是本周開始,本周機房上了一臺啟明星辰天清入侵防御系統,難道是這神器?初來乍到就如此威武?
進入入侵防御系統管理界面,在“日志報表”中查看入侵防御日志,在源IP里填寫人事部電腦IP地址,目標IP里填寫醫保系統IP地址,選擇動作“reset”點擊“查詢”,查找是否有被攔截了的事件。果然,人事部門訪問醫保系統事件赫然列在查詢到的事件列表中,顯示事件名稱為:hTTP_SQL注入攻擊,認為這是典型的注入攻擊。至此案子破了。
解決方法:在“入侵防御→特征”選項,找到“SQL白名單”并將目標地址加入白名單列表。也可以直接點擊日志報表事件列表最右側“+”的圖標,按提示“添加到白名單”。經過此番操作,徹底解決了人事部門的問題。
為什么會出現這種情況呢?經過查看系統幫助說明以及咨詢設備方工程師,找出了大概原因。
目標系統包含有高危的編碼,本例SQL注入攻擊是針對MySQL的一種攻擊手段。一般而言,當頁面需要查詢數據庫時,需要用戶輸入查詢條件。如果頁面存在漏洞,攻擊者就可以在支持查詢數據的后面,再插入一個邏輯上為真的判斷式,使查詢條件無論前面什么數據時,都可以成立,這樣就可以訪問任何的數據。
在MySQL中,一個字符串,就可以等效于邏輯真。本例攻擊SQL中的select等語句,如頁面提供一個數據查詢:select username from table1 where id=1234,其含義是通過ID序號,查找名稱。如果攻擊者輸入“1or '1'”,則查詢語句就將會打印出表中所有名稱?;诖税踩颍籌PS攔截了。
但是從實際操作來看就是正常的訪問網站,也是正規網站?。窟@是IPS的誤報嗎?由于本攻擊模板的特征少,很接近自然語言,因此誤報率高。有可能是編碼人員的不良習慣,不是傳輸用戶的輸入條件,而是把用戶的輸入條件轉化為SQL子句的組成部分,完整傳輸,使其數據模式和攻擊模式相同。同時這種傳輸方式及其容易被攻擊者發現并利用。如果確認是編碼人員的不良習慣,希望盡快修改代碼,防止安全隱患。
無獨有偶,剛解決上面的問題沒過多久,訪問該網站又出現,登錄首頁正常,登錄單位賬號失敗,頁面顯示“無法訪問此頁面”的問題了。有了上次的經驗,這次直接進入入侵防御系統查看,果然神器又發威了。這次的攻擊事件是,HTTP通用目錄穿越漏洞,IPS懷疑應用系統存在目錄穿越漏洞,此漏洞危害是允許遠程攻擊者訪問敏感文件。目錄穿越(Directory Traversal)是HTTP開發的一種形式,黑客在一個Web服務器上使用這個軟件除了可以訪問服務器的根目錄外還可以訪問目錄里面的數據。
解決辦法:這類攻擊沒有專門的白名單設置,最后通過單獨為訪問目標系統建立了一個的安全策略,允許放行目標系統IP。但是如果真的不是IPS誤判,建議應用系統檢測是否存在漏洞,防患于未然。
問題是為什么之前能夠順利訪問呢?漏報了?咨詢了設備方工程師,可能是目標系統近期有所調整,也有可能是由于數據庫可以有多種表達方式,有可能無法判斷,有一定漏報概率。
通過此次為人事部門處理訪問網站應用系統故障,通過系列排查,最終鎖定IPS,了解到了兩類攻擊類型,雖然根據實際情況都給予了特別策略予以放行,但是網絡安全意識絕對不能因此放松。