王玨
摘 要 隨著智能手機(jī)在部隊(duì)管控的逐步放寬和大量普及,如何防止手機(jī)失泄密的安全問題也日益突出。本文研究分析了“設(shè)計(jì)輸入法”技術(shù)、“監(jiān)聽輸入框”技術(shù)和“監(jiān)聽剪貼板”技術(shù),設(shè)計(jì)了基于Android平臺的敏感信息控制系統(tǒng),實(shí)現(xiàn)了對手機(jī)剪貼板的實(shí)時(shí)監(jiān)聽功能、敏感詞替換功能以及自動報(bào)警功能,能有效防止在使用手機(jī)復(fù)制傳播信息的過程中無意間造成的泄密,從而在一定程度上輔助部隊(duì)或政府部門安全保密工作的開展。
關(guān)鍵詞 Android 敏感信息 剪貼板監(jiān)聽
中圖分類號:TP316. 8 文獻(xiàn)標(biāo)識碼:A
0引言
隨著部隊(duì)逐步放寬對手機(jī)使用的管理,智能手機(jī)在部隊(duì)中得以大量普及,但因此暴露出來的安全問題也日益突出,如何防止手機(jī)泄密已經(jīng)成為如今部隊(duì)亟待解決的問題。本文設(shè)計(jì)實(shí)現(xiàn)了基于Android平臺的敏感信息控制系統(tǒng),此系統(tǒng)通過對剪貼板的監(jiān)聽和替換,在技術(shù)上實(shí)現(xiàn)了阻礙敏感詞匯傳播的功能,較好地解決了如何防止手機(jī)泄密這一難題。
1核心技術(shù)研究與分析
1.1“設(shè)計(jì)輸入法”技術(shù)研究與分析
通過研究了解到:輸入法框架(IMF)共有三個(gè)主要部分:一是輸入法管理器,管理各部分的交互;二是輸入法(IME),實(shí)現(xiàn)一個(gè)允許用戶生成文本的獨(dú)立交互模塊;三是客戶應(yīng)用程序,通過輸入法管理器控制輸入焦點(diǎn)和IME的狀態(tài)。在完善好輸入法的總體框架后,需要對輸入法的詞庫進(jìn)行編輯,去掉或者替換掉字庫中的敏感文字,以保證用戶在編輯文本時(shí)不能編輯敏感信息。
隨著研究的深入發(fā)現(xiàn)此技術(shù)在設(shè)計(jì)詞庫時(shí)存在以下難點(diǎn):首先,只能對詞庫中相關(guān)詞組進(jìn)行修改(對相關(guān)字進(jìn)行修改會影響用戶正常使用),因此當(dāng)用戶逐字輸入敏感詞時(shí),不能夠進(jìn)行有效地監(jiān)控;其次,設(shè)計(jì)輸入法詞庫也無法有效地防止用戶人為有意地分割敏感詞,如:機(jī)密、機(jī)%密。
1.2“監(jiān)聽輸入框”技術(shù)研究與分析
要實(shí)現(xiàn)監(jiān)聽輸入框功能,首先要了解輸入框獲得焦點(diǎn)和失去焦點(diǎn)的判斷代碼,即當(dāng)input輸入框獲得焦點(diǎn)事件發(fā)生時(shí),開始監(jiān)聽輸入框內(nèi)容。對于元素的焦點(diǎn)事件,可以采用jQuery的焦點(diǎn)函數(shù)focus( ),blur( )。在輸入框獲得焦點(diǎn)后,開始調(diào)用數(shù)據(jù)庫與輸入框中的文本進(jìn)行對比,同時(shí)將文本中存在的敏感信息替換掉。
隨著研究的深入發(fā)現(xiàn),這樣的功能在本程序內(nèi)部能夠?qū)崿F(xiàn),卻很難做到監(jiān)聽其他程序的輸入框。即使實(shí)現(xiàn),也容易被當(dāng)作病毒或木馬攔截和清除。所以,經(jīng)研究分析得出結(jié)論——“監(jiān)聽輸入框”技術(shù)實(shí)現(xiàn)困難,不具有可行性。
1.3“監(jiān)聽剪貼板”技術(shù)研究與分析
通過研究了解到:可以通過調(diào)用getSystemService( )方法來實(shí)例化Clipboard Manager的對象進(jìn)而實(shí)現(xiàn)監(jiān)聽剪貼板的功能,而剪貼板的調(diào)用會在Android系統(tǒng)中發(fā)一個(gè)廣播,可以用broadcastreceiver來監(jiān)聽這個(gè)廣播,故“監(jiān)聽剪貼板”技術(shù)能夠在系統(tǒng)全局實(shí)現(xiàn)。調(diào)用完剪貼板后,開始調(diào)用數(shù)據(jù)庫與之對比,同時(shí)將剪貼板中存在的敏感信息替換掉。
此外,相比于前兩種技術(shù),“監(jiān)聽剪貼板”技術(shù)還具有以下優(yōu)勢:一是復(fù)制相比于手動編輯,傳播信息速度快、數(shù)量大,且無意中的泄密常發(fā)生在復(fù)制大段文本信息時(shí),故監(jiān)聽剪貼板更加實(shí)用;二是此技術(shù)還可以從全局分析關(guān)鍵詞:對復(fù)制的整段文字進(jìn)行預(yù)處理,去除#¥%@等特殊字符后再進(jìn)行判定,防止用戶人為分割敏感詞。經(jīng)研究分析得出結(jié)論,“監(jiān)聽剪貼板”技術(shù)具有可行性。
2系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.1系統(tǒng)設(shè)計(jì)
系統(tǒng)在結(jié)構(gòu)上可以分為:前臺模塊和后臺模塊。前臺模塊包括系統(tǒng)啟動模塊,記錄列表模塊,系統(tǒng)停止模塊和系統(tǒng)提示模塊;后臺模塊包括開機(jī)啟動模塊、敏感詞監(jiān)聽模塊、敏感詞處理模塊,違規(guī)記錄模塊和報(bào)警提示模塊。系統(tǒng)總體功能模塊如圖1所示。
2.1.1前臺模塊設(shè)計(jì)
前臺模塊可以分為兩類子模塊,分別是顯示界面模塊和提示界面模塊。設(shè)計(jì)具體功能如下:顯示界面模塊的功能:顯示界面即系統(tǒng)的主界面,在這個(gè)界面中,用戶可以實(shí)現(xiàn)系統(tǒng)的手動啟動與停止;同時(shí),這個(gè)界面還能夠顯示用戶的違規(guī)記錄列表,供用戶查看;提示界面模塊的功能:提示界面即響應(yīng)button按鈕而自動彈出的界面,在這個(gè)界面中,可以顯示各類文字說明,提示用戶系統(tǒng)的運(yùn)行情況。
2.1.2后臺模塊設(shè)計(jì)
后臺模塊包含了五個(gè)子模塊,分別是開機(jī)啟動模塊、敏感詞監(jiān)聽模塊、敏感詞處理模塊,違規(guī)記錄模塊和報(bào)警提示模塊。設(shè)計(jì)具體功能如下:開機(jī)啟動模塊的功能:當(dāng)手機(jī)系統(tǒng)開機(jī)運(yùn)行時(shí),該系統(tǒng)能夠自動檢測到手機(jī)系統(tǒng)開機(jī)的廣播,進(jìn)而啟動程序并運(yùn)行;敏感詞監(jiān)聽模塊的功能:在該系統(tǒng)運(yùn)行時(shí),能夠?qū)崟r(shí)監(jiān)聽剪貼板,當(dāng)出現(xiàn)復(fù)制、剪貼操作時(shí)能夠獲取剪貼板中的內(nèi)容;敏感詞處理模塊的功能:當(dāng)剪貼板中的內(nèi)容存在敏感信息時(shí),能夠?qū)⑵渲械拿舾行畔⒑Y選出來并加以處理替換;違規(guī)記錄模塊的功能:將檢測到的違規(guī)信息與用戶信息和時(shí)間信息同時(shí)加以存儲記錄;報(bào)警提示模塊的功能:當(dāng)用戶復(fù)制、剪貼的內(nèi)容存在敏感信息時(shí),能夠自動彈出Toast提示,提示用戶操作的非法性,警醒用戶加以改正。
2.2系統(tǒng)實(shí)現(xiàn)
通過分析可知,此系統(tǒng)的重中之重是后臺模塊,故前臺模塊可以從簡,前臺采用一個(gè)主界面即可。至于后臺模塊,核心為敏感詞監(jiān)聽模塊、敏感詞處理模塊以及報(bào)警提示模塊,圖2展示了系統(tǒng)的總體流程圖。通過編程設(shè)計(jì)實(shí)現(xiàn),圖3展示了核心功能的敏感詞監(jiān)聽、處理前后對比效果以及自動報(bào)警提示功能。
此時(shí)在系統(tǒng)主界面中,則會將違規(guī)記錄列表中的“原文”、“違規(guī)用語”、“屏蔽后文章”顯示出來供用戶查看。圖4展示了包含違規(guī)記錄列表信息的系統(tǒng)主界面。
3結(jié)語
本文設(shè)計(jì)實(shí)現(xiàn)了基于Android平臺的敏感信息控制系統(tǒng)。此系統(tǒng)能夠?qū)崟r(shí)監(jiān)聽Android系統(tǒng)的剪貼板,在用戶出現(xiàn)復(fù)制、剪貼操作時(shí)調(diào)用數(shù)據(jù)庫與剪貼板的內(nèi)容對比,并替換相關(guān)的敏感詞,同時(shí)能夠記錄并通過Toast警示用戶操作的違規(guī)性,最終將違規(guī)信息顯示在主界面中。此系統(tǒng)能夠有效防止在使用手機(jī)復(fù)制信息的過程中無意間造成的泄密,在一定程度上輔助部隊(duì)或政府部門保密安全工作的開展。
參考文獻(xiàn)
[1] 吳亞峰,于復(fù)興,胡偉雄,著.Android應(yīng)用開發(fā)完全自學(xué)手冊[M].北京:人民郵電出版社,2015.
[2] 李杰.基于Java技術(shù)的應(yīng)用研究[J].商場現(xiàn)代化,2014(23):16-17.
[3] 王付華,王永杰.Android平臺SQLite數(shù)據(jù)庫開發(fā)[J].電腦編程技巧與維護(hù),2014(7):31-32.
[4] 王岳.Android平臺中文輸入法的設(shè)計(jì)和實(shí)現(xiàn)[J].軟件工程,2012(9):5-6.
[5] 王治國.信息保護(hù)監(jiān)聽系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].軟件工程,2013(13):13-14.