李秦
摘 要:隨著現代計算機網絡技術的不斷發展與應用,應用軟件網絡化已成為軟件行業發展的必然趨勢。然而目前大多數網絡應用軟件都或多或少存在數據安全隱患,這將嚴重影響用戶的隱私與財產安全。文章簡要分析了影響網絡應用軟件的安全因素,并給出具體的安全防護策略。
關鍵詞:網絡應用軟件;數據安全;數據解密;通信安全
1 引言
國家計算機網絡應急技術處理協調中心發起成立的“國家信息安全漏洞共享平臺(CNVD)”共收集整理信息安全漏洞3447個,其中高危漏洞649個(占18.8%)。CNVD2013年收集整理的漏洞中,應用程序漏洞占62%,操作系統漏洞占 16%,WEB應用漏洞占9%,分列前3位。因此,網絡數據安全最終目標是要解決軟件安全,因為應用軟件是收發網絡數據的主體,如果軟件做到無懈可擊,那么黑客截獲到的網絡數據是一堆不可逆的亂碼,也就不會有網絡數據安全的顧慮。
2 網絡應用軟件數據安全隱患分析
2.1 目前主流網絡應用軟件數據的安全性
2.1.1 即時通訊類軟件,例如騰訊QQ、阿里旺旺、Skype等
目前大多數IM類軟件除了基本的文字聊天外,還會有視頻語音聊天以及傳輸文件等功能。一般文字聊天,因為發送的網絡數據量小,可以不需要關注加密算法性能,所以加密強度都比較高。對于頻語音聊天以及傳輸文件功能,由于發送的網絡數據量大且頻率高,如果采用復雜的高強度加密算法,勢必會嚴重影響服務器的性能,因此很多IM類軟件會采用簡單的加密算法或者不加密。Skype的前身MSN其視頻語音數據就是不經過加密的,因此黑客截獲到它的視頻語音數據,只需要調用視頻編碼器進行解碼即可還原其音視頻。雖然大部分IM類軟件會對視頻語音數據進行簡單的加密,但是都使用可逆的對稱加密算法,黑客通過逆向客戶端程序,找出加密解密算法,再通過網絡截取對稱算法采用的密鑰Key和密文,即可進行視頻語音數據還原。
2.1.2 VOIP類軟件
雖然即時通訊類軟件一般都集成有VOIP功能,但是只有VOIP類軟件可以撥打固定電話或者手機。目前一些主流VOIP類軟件收發數據都采用異或等非常簡單加密解密算法來處理數據流。目前VoIP技術最常用的話音建立和控制信令是H.323和會話初始協議(STP)。SIP協議是IETF定義多媒體數據和控制體系結構中的重要組成部分。同時,由于SIP只負責提供會話連接和會話管理,而與應用無關,因此SIP可以被用于多個領域。即使是協議本身也有潛在的安全問題:H.323和SIP總體上都是一套開放的協議體系。同時,最為一種新興發展技術的傳輸協議,SIP并不完善,它采用類似于FTP、電子郵件或者HTTP服務器的形式來發起用戶之間的連接。利用這種連接技術,黑客們同樣會對VOIP進行攻擊。如果網關被黑客攻破,IP電話不用經過認證就可隨意撥打,未經保護的語音通話有可能遭到攔截和竊聽,而且可以被隨時截斷。黑客利用重定向攻擊可以把語音郵件地址替換成自己指定的特定IP地址,為自己打開秘密通道和后門。黑客們可以騙過SIP和IP地址的限制而竊取到整個談話過程。
2.2 網絡應用軟件數據解密方法
要想把網絡截獲的數據還原,首先需要確定數據采用的協議和解密算法,軟件處理數據的算法自然需要去逆向分析。目前逆向分析大多使用動態調試器OllyDbg和靜態反匯編程序IDA相結合,進行加密解密算法的分析。使用動態調試器對一般軟件的網絡數據發送或接收的API下斷點都是可以截獲網絡數據的,常用斷點如下:WSASend、WSASendTo、WSARecv、WSARecvFrom、send、sendto、recv、recvfrom。而有些軟件采用自己實現網絡數據收發函數來代替上述API,因此輸入表中無法查詢到標準Windows網絡API,也無法對此類API下斷點調試分析。不過仍然可以使用動態或靜態反編譯程序手動定位函數并下斷點進行逆向分析。對于有些軟件加強殼且無法脫殼的情況,可以直接在內存中Dump程序,用靜態反編譯程序逆向分析。
2.3 網絡應用軟件數據截取方式
以上所說的都是數據解密還原,下面簡要論述數據在網絡傳輸過程中的截取方法。
(1)如果當前計算機是在局域網環境中,而本局域網是用Hub(集線器)連接。我們可以用熟知的集線器的工作原理,將自己的計算機網卡工作模式設置成混雜模式,來監聽局域網所有的PC發送的數據。
(2主機所處的網絡不是局域網(通過路由器連接),這種情況需要獲得路由器的用戶名和密碼。而目前大多數路由器的初始賬戶密碼是固定的,很多網絡管理員也忘記更改默認賬戶信息,導致黑客很容易獲取路由器管理權限,并實現路由轉向功能。具體步驟是在路由器上創建新的路由表,將IP指向黑客自己的電腦,并用網卡配置命令IFCONFIG創建一個新的邏輯網卡,之后再在電腦上配置簡單的網絡地址轉換服務(NAT),并將數據通過這個鏈路重新路由過去。黑客通過以上處理步驟,即可用程序來監聽所有流經網卡的數據包了。
(3)如果我們能夠實現入侵掛馬在一些路由PC服務器上面,就可以監聽通過這個服務器的數據,實現軟件數據截取。
(4)如果我們有網絡管理員權限,要監聽計算機上網數據,可以把網絡監控程序直接放在網絡出口上面就可以進行軟件數據的截獲。
3 網絡應用軟件數據安全防護策略
根據上述網絡應用軟件存在的數據安全隱患,以及分析、截獲數據的方法和方式,我們在軟件的編寫過程中,適當地改變數據安全防護策略,將有效避免網絡應用軟件出現安全隱患。具體方案如下:
(1)軟件要有對自身的校驗和檢測調試器的機制,防止被黑客修改和動態調試。
(2)軟件編譯完成后盡量加上殼,防止被IDA等靜態反匯編程序分析代碼。
(3)軟件通過網絡交換數據時,采用可逆對稱算法處理速度很快,但是并不安全,其強度在于KEY的管理,所以并不適合單獨使用。而非對稱不可逆加密算法,安全性很高,但處理速度很慢,因此不適合大數據量的加密解密。假如我們結合兩者優點,用非對稱不可逆算法進行交互來生成對稱算法所需要用到的KEY,那么KEY在網絡中就無法被解密,之后網絡數據還是使用可逆對稱算法處理,這樣既可大大提高網絡數據傳輸的安全性能。
(4)因為網絡數據流量實在太大,所以網絡監聽都是有一定的過濾條件,因此只要能夠欺騙監聽軟件即可實現反監聽從而保護軟件的數據??梢圆捎靡韵聨讉€方案進行處理:(a)程序設計時,不采用自定義網絡端口,而采用80、443、21等端口。比如21端口是FTP協議采用的,程序可以將數據包投模擬成FTP協議來增加黑客判斷難度。(b)采用動態IP,軟件通過下載加密的服務器列表配置文件來獲得IP地址。(c)采用動態端口,與動態IP方式類似,通過服務器下載,并解密取得網絡通訊端口。(d)采用動態網絡數據包頭格式,即對收發的數據包頭一并進行加密,這樣黑客通過數據包頭固定格式來分辨數據包作用的方式就行不通了。
4 結語
隨著互聯網的發展,網絡環境下的應用軟件面臨黑客攻擊、病毒感染等一系列威脅,如何保證軟件數據的保密性、完整性、可靠性和可用性是個復雜問題,但軟件增強自身的安全性仍舊是重中之重。如果軟件自身安全做的到位,黑客無法調試分析軟件網絡通信數據的加密解密算法,那么通過網絡截取到的數據,也就無法從密文還原成明文,這樣軟件的數據安全也就得以保證。
[參考文獻]
[1]李軍義.計算機網絡技術與應用[M].北京:北方交通大學出版社,2006.
[2]蔡立軍.計算機網絡安全技術[M].北京:中國水利水電出版社,2005.
[3]張嘉寧.網絡防火墻技術淺析[J].通信工程.2004(2):7-12.
[4]鄭成興.網絡入侵防范的理論與實踐[M].北京:機械工業出版社,2006.
[5][美]Merike Kaeo著.網絡安全性設計[M].北京:人民郵電出版社,2005.