我想分享一下之前和A.Lang大一起討論的隨機碼認證的功能,應用在Voice SPAM上
前言
首先要談談垃圾語音,他廣義的定義其實就是說,當一個電話是你不願意接到的,都可以歸類為垃圾語音,舉凡語音廣告等等。因此這個實驗主要是實做
一個小小的功能出來,希望能夠對於現今垃圾郵件的氾濫程度,思考未來網路語音的時代來臨,是否會出現同樣的問題。但是就以目前來說,語音辨識的技術可能
已經可以破解這個功能了,不過還是實做出來,讓大家可以玩一下,也希望可以藉由這個去思考,未來如何防堵垃圾語音。
功能與目的
透過人與電話系統的互動模式,當撥打方撥通電話後,必須仔細聆聽系統所提示的數字,利用電話的按鍵來送出正確的數字,方能接通至受話方,如此可以有效防
堵機器所產生的垃圾語音電話。
理論來源
本概念的方法叫做Turing Test (圖林測試),最初是由Alan Turing (1950)提出,其應用範圍非常廣泛,主要是為了能夠辨別
受試方是人或是人工智慧(程式)。由於Spam攻擊往往由程式產生,所以我們可以利用Turing Test的概念,來測試是否為程式所發起的Spam
攻擊。
實驗步驟:
本實驗是用Elastix,我們必須要寫入一個Dialplan,其撰寫Dialplan規則如下,
並放入/etc/asterisk/extensions_custom.conf檔案中。
[custom-auth]
exten => _XXXX,1,Answer
exten => _XXXX,2,Wait(3)
exten => _XXXX,3,Set(pin=${RAND(1000,9999)})
exten => _XXXX,4,Playback(your)
exten => _XXXX,5,Playback(access-code)
exten => _XXXX,6,Playback(is)
exten => _XXXX,7,SayDigits(${pin})
exten => _XXXX,8,Authenticate(${pin})
exten => _XXXX,9,WaitExten(5|m(radio))
exten => _XXXX,10, Dial(SIP/${EXTEN})
exten => _XXXX,n,Hangup
其大致的步驟解釋如下
Step 1:系統接起電話。
Step 2:系統亂數產生四個數字認證碼。
Step 3:播放語音:Your access code is XXXX。
Step 4:認證使用者輸入的號碼與系統產生的認證碼。
Step 5:認證成功後,播放轉接語音五秒。
Step 6:接通至受話方。
實驗測試
所使用的軟體網路電話測試軟體為X-Lite,假設當Alice(分機1122)撥打至Bob(分機1009)時,會先聽到一段「請輸入
XXXX四位數字認證碼」的語音,當Alice(分機1122)經由X-Lite上面的鍵盤回覆正確的四位數字認證碼後,即可聽到一段五秒鐘的轉接音
樂,而後接通至受話方Bob(分機1009)。
以上分享,若有更新的點子,歡迎大家一起來討論
或是有任何錯誤,請大家可以一起來除錯
感謝各位版友
進入會議室
-> 撥打本地電話
-> 輸入已知的conference room no.
-> 輸入再輸入 邀請者 :手機號碼
-> 聽到提示音 再講自己名字.
-> 成功進入會議室