基于WebBrowser保護(hù)電訊營業(yè)廳公用計算機(jī)
1 公用計算機(jī)安全隱患的原因和需求
1.1 公用計算機(jī)的安全隱患的原因
經(jīng)多次幫助進(jìn)行友情檢測,接受過維護(hù)人員的咨詢,筆者發(fā)現(xiàn)大部分營業(yè)廳的公用計算機(jī)存在極大安全隱患。例如,有的營業(yè)廳只是簡單地安裝開機(jī)還原軟件或還原卡,在不限制瀏覽網(wǎng)址的條件下,很容易遭到內(nèi)存搜索軟件或者專用破解軟件的破解。再如,有的營業(yè)廳的計算機(jī)密碼設(shè)置過于簡單,例如欽州市移動公司營業(yè)廳曾將密碼設(shè)置為“qzmobile”,很快就被暴力破解。還有的計算機(jī)使用了網(wǎng)吧、機(jī)房專用系統(tǒng)限制用戶的操作,但是沒有很好地限制網(wǎng)絡(luò)工具的使用,因此也無法避免遭到破壞的危險。
為什么經(jīng)過專業(yè)維護(hù)人員設(shè)置的計算機(jī)仍然頻頻遭受破壞。首先,營業(yè)廳的公用計算機(jī)采用的是Windows操作系統(tǒng),而Windows自身存在很多的安全漏洞,讓不法用戶有機(jī)可乘。其次,維護(hù)人員專業(yè)知識有限,沒有意識到保護(hù)措施要多方面多層次進(jìn)行,采用傳統(tǒng)的單一保護(hù)方法,看似安全實際上致命漏洞并不少。再次,不少青少年朋友對黑客、破解技術(shù)興趣濃厚。這些所謂的“快餐黑客”干勁十足,破壞力不容小視。
1.2 公用計算機(jī)的安全需求
根據(jù)以上情況,經(jīng)過分析可以確定電訊營業(yè)廳公用計算機(jī)的基本安全需求,具體有如下幾點:
(1)使用Linux的用戶畢竟還是少數(shù),因此,為了方便廣大用戶的使用,應(yīng)采用Windows操作系統(tǒng)系統(tǒng),并打上相應(yīng)的補(bǔ)丁。
(2)主機(jī)和彩顯等設(shè)備在物理硬件上進(jìn)行保護(hù),以免硬件遭到破壞。
(3)采用還原卡進(jìn)行還原,也可以采用版本比較新的還原軟件實現(xiàn)開機(jī)還原,以免遭到惡意修改。
(4)采用網(wǎng)吧管理軟件進(jìn)行系統(tǒng)功能的屏蔽,使破解者進(jìn)入系統(tǒng)后只能瀏覽網(wǎng)頁,而無法進(jìn)行其他操作。
(5)對Internet Explorer(IE)瀏覽器進(jìn)行網(wǎng)址瀏覽的限制,防止用戶瀏覽非法站點并下載專用的破解工具。
(6)利用系統(tǒng)自身的賬號、組策略、注冊表等,對系統(tǒng)提供的服務(wù)、功能進(jìn)行限制。
2基于WebBrowser實現(xiàn)安全上網(wǎng)的思路
對維護(hù)人員而言,對給系統(tǒng)打補(bǔ)丁、使用開機(jī)還原軟件和網(wǎng)吧管理軟件等常規(guī)保護(hù)方法并不困難。但是,要完全控制、限制IE或者其他瀏覽器,并非一件容易的事情。一方面,很難完全找到并堵住瀏覽器自身的各種安全漏洞;另一方面,要徹底限制所能瀏覽的網(wǎng)址也是一個技術(shù)難題。
目前,市場上的各種瀏覽器,其設(shè)計目的都是為了向用戶提供更多的功能,而不會千方百計去限制用戶的操作。因此,要限制IE等瀏覽器自身的功能、堵住相應(yīng)的漏洞,難度非常大。
經(jīng)調(diào)查分析,在此提出利用WebBrowser設(shè)計專用瀏覽器、實現(xiàn)安全上網(wǎng)的思路。WebBrowser是IE內(nèi)置的瀏覽器控件,不需用戶下載,而且使用靈活,可控性強(qiáng),對開發(fā)者來說比較方便。Webbrowser在傳統(tǒng)的VB,VC++,Delphi和最新的C#語言中都得到了支持,在C/S,B/S環(huán)境下都能穩(wěn)定可靠的運行。依據(jù)如下:首先,由于公用計算機(jī)需要的功能最小化,因此利用Webbrowser可以快速設(shè)計出能滿足用戶瀏覽需求的瀏覽器。其次,在常規(guī)瀏覽器中,很難實現(xiàn)較安全網(wǎng)址限制,而在專用瀏覽器中,進(jìn)行打開網(wǎng)址的限制非常簡單而有效。再次,專用瀏覽器不但可以避免了常用瀏覽器的固有功能帶來的漏洞,而且還可以對鼠標(biāo)、鍵盤等操作進(jìn)行限制,能有效地防止用戶的其他非法操作。
3 基于WebBrowser實現(xiàn)專用瀏覽器
3.1 開發(fā)高級語言的選擇
使用幾種常用的語言都可以實現(xiàn)對WebBrowser進(jìn)行編程。其中的編程方法、控件屬性等都大同小異。但是,如果使用C#進(jìn)行編程,則運行的時候還需要在計算機(jī)上安裝.NET框架;而VB和Delphi相比,由于是微軟自己開發(fā)的產(chǎn)品,與Windows的兼容性較好;VB與VC++相比,調(diào)用WebBrowser的方法更加簡便。因此,決定采用VB進(jìn)行編程。
3.2 WebBrowser的重要屬性、方法和事件
在VB中,WebBrowser除了常規(guī)的寬度、高度、位置、刷新頁面以外,比較重要的屬性、方法和事件有Navigate等幾個,如表1所示。
3.3 設(shè)計的主要步驟
根據(jù)需求,可以開始設(shè)計專用瀏覽器。首先,新建一個工程,添加命名為Web的窗體,并添加IE的圖標(biāo)。然后,在工程中添加引用“加入引用Microsoft HTMLObject Library”。接著,為窗體添加一個文本框和一個WebBrowser控件,分別命名為textl和WebBrowserl。為了使得瀏覽器默認(rèn)打開某個網(wǎng)站,如“hao123網(wǎng)址之家”,可以在程序啟動的時候,設(shè)置如下程序:
為了使得WebBrowser在下載完畢后進(jìn)行提示,可以設(shè)置窗體的標(biāo)題提示,程序如下:
Private Sub WebBrowserl_DownloadComplete()
web.Caption=CStr(WebBrowserl.LocationURL)
End Sub
那么,專用瀏覽器的初步設(shè)計就完成了,其效果如圖1所示。
4 專用瀏覽器限制用戶操作的實現(xiàn)
雖然初步的瀏覽器已經(jīng)完成了,但是為了防止非法用戶的破壞性操作,以及方便普通用戶更好的使用,還需要對WebBrowser瀏覽器進(jìn)行一些相應(yīng)的修改。
首先,對用戶的鼠標(biāo)右鍵,可以通過引用“Microsoft HTML Object Library”實現(xiàn)。此后,用戶在WebBrowser控件上無法進(jìn)行右鍵操作,危險性大大降低。具體程序如下:
Dim WithEvents M_Dom As MSHTML.HTMLDocument
Private Function M_Dom_oncontextmenu() As Boolean
M_Dom_oncontextmenu=False
End Function
Private Sub Webbrowserl_DownloadComplete()
Set M_Dom=Webbrowserl.Document
End Sub
其次,根據(jù)常規(guī)的瀏覽器,可以在地址欄中輸入地址并回車實現(xiàn)網(wǎng)頁跳轉(zhuǎn)。程序如下:
Private Sub Textl_KeyUp(KeyCode As Integer,Shift AsInteger)
If KeyCode=13 Then Webbrowser.Navigate Textl.Text
End Sub
再次,用白名單法限制、過濾非法網(wǎng)址。當(dāng)用戶輸入的網(wǎng)址不是電訊公司的站點或者合作站點的時候,通過分析text1文本框的網(wǎng)址是否屬于安全網(wǎng)址即可。例如數(shù)組safeA(10)中存儲的是幾個安全站點的網(wǎng)址,則程序如下:
另外,還應(yīng)該設(shè)置專用瀏覽器為默認(rèn)瀏覽器,設(shè)置用戶進(jìn)入的網(wǎng)吧管理系統(tǒng)的主界面中,只有專用瀏覽器的圖標(biāo),在此不再贅述。由于專用瀏覽器使用了和IE一樣的圖標(biāo),非常方便用戶使用。
5 結(jié) 語
針對電訊營業(yè)廳公用計算機(jī)的安全隱患,提出利用WebBrowser設(shè)計專用瀏覽器的思路并提供實現(xiàn)方法。采用VB對WebBrowser進(jìn)行編程,設(shè)計專用瀏覽器,能夠限制用戶的非法操作。在實際測試中,基于Web-Browser的專用瀏覽器無需在計算機(jī)上安裝任何額外的文件,就能穩(wěn)定、可靠的運行,易用性好,安全性高,能很好地滿足電訊營業(yè)廳公用計算機(jī)的需求。