搶票外掛程式原理科普:攻擊軟體還是便利助手?

來源:互聯網
上載者:User

原文地址:http://www.chinaz.com/news/2013/0121/290206.shtml

感覺寫的不錯和大家一起分享下:

原文:


作者簡介:吳偉,資深產品經理,曾就職於新浪,現就職於約瑟網路,旗下產品“企業問答”,一款面對創業者的問答類社區產品。

最近最火的事情除了春晚就是搶票外掛程式了,不少使用者也藉此順利買到了車票。但問題隨之而來:搶票外掛程式到底是不是惡意攻擊軟體?我們使用搶票外掛程式算不算是“加塞兒”的行為呢?我來簡單解釋一下搶票外掛程式的工作原理,上面的疑問自然也就解開了。

先拋開外掛程式、攻擊、瀏覽器這些互連網專業詞彙,舉一個日常生活中的小例子:

話說有一家超市很火爆顧客人滿為患,卻只有一個收銀台,而且還有這麼一個規定:在你想要交費的時候,如果收銀台有人正在交費,那麼就請你放下商品立刻離開商場(一秒鐘也不能等)出去溜達溜達,時間長短無所謂。但是等你溜達回來後,如果收銀台還是有人,那你還要繼續出去,直到某次你回來時正好收銀台是空的。

大家可以看到,這個規定要命之處是,很可能在我出去溜達的這段時間裡收銀台是沒人的,只是當我回來的那一瞬間有個人排在前面交費了,於是我又得出去溜達。如果一個人很倒黴,每次都是他來的時候有人,走了就沒人,那麼他想交費成功就需要來來回回走很多次浪費很長時間。

為瞭解決這個問題,你可以縮短溜達的時間,一會兒就去收銀台看看,免得錯失機會。顯然,這麼做不僅很累,而且是在浪費生命。

這時有個聰明人站了出來,發明了一個機器人,在你出去溜達的時候,他每隔幾秒中就替你看看有沒有人交費,一旦發現沒人就立刻打電話叫你:“快來,可以交費了!”這樣我們就可以放心的去看電影、吃飯、打遊戲了,一旦收到機器人的電話就飛奔回去。

12306網站就是那家無良超市,一旦使用者提交請求失敗,使用者就必須再主動發起一次購票請求。對於互連網操作來說,重新發起請求就相當於“出去溜達溜達再回來”。搶票外掛程式就是那個機器人,在你出去溜達的時候替你向12306提起購買請求。根據說明,搶票外掛程式會每隔6秒就像12306發起一次請求,一旦搶票外掛程式發現“收銀台”沒人了,他就會向你發出通知:“有票啦,趕緊來買吧”。有了搶票外掛程式替你“值班”,你就可以去刷刷微博,看看電影,或者寫寫年終總結了。

可見,搶票外掛程式是一款很不錯的產品,它協助人們克服12306本身的技術缺陷,更快捷、更簡單地買到車票;使用搶票外掛程式也不是“加塞”的行為,他不是把後來的人提到前面,而是讓本來就排在前面的人不要錯失機會。

但是搶票外掛程式也有不好的一面。大家可以想見,12306之所以訪問速度慢,就是因為訪問的人過多,伺服器經受不住這麼巨大的訪問壓力。而搶票外掛程式每隔6秒就向伺服器提交一次請求,遠遠高於一個自然人正常的訪問頻率,進一步加劇了伺服器訪問壓力,形成了“越慢越搶越搶越慢”的惡性迴圈。

在網路安全領域,有一種駭客攻擊手段被稱為DDOS攻擊,這是一種最原始、最暴力、最沒有技術含量但是很多時候也最有效攻擊手段,其原理是通過控制多台電腦(通常是幾萬到幾十萬台)對某個網站伺服器密集的發起訪問(訪問壓力可以達到數百萬到數千萬次每秒),造成伺服器響應緩慢甚至宕機。

如果把搶票外掛程式的某些資料極端化,也會達到和DDOS攻擊相同的效果。例如訪問間隔不是6秒,而是0.1秒,也就是每秒鐘向伺服器提交10次請求;再假設全國有100萬人在同時使用搶票外掛程式。那麼簡單計算一下可知,搶票外掛程式將會對12306的伺服器造成將每秒1000萬次的訪問壓力。對於大部分伺服器而言,每秒千萬次的訪問壓力是極端恐怖的。

但是搶票外掛程式與DDOS還是有區別的:

1、搶票外掛程式雖然客觀上加大了12306的訪問壓力,但是主觀上還是為了協助使用者快速買到車票。這與DDOS攻擊就是了讓網站伺服器宕機的目的是有本質不同的。

2、搶票外掛程式使用者主動安裝到自己電腦上的,並且啟用搶票外掛程式對12306的訪問行為也是使用者主動發起的,同時只要他願意,可以隨時終止搶票外掛程式的訪問行為。而DDOS攻擊的發起者通常都是事先通過隱秘的手段侵入他人電腦(稱之為肉雞),再通過控制肉雞發動攻擊。整個攻擊過程中,肉雞的主人既不能決定何時開始攻擊,也不能決定何時終止攻擊,甚至都不知道自己的電腦已經成為了肉雞。

3、搶票外掛程式的使用者之間是相互獨立的,訪問行為是自發的,之所以出現大量使用者同時使用搶票外掛程式完全是因為春節臨近以及鐵道部的售票政策(提前20天可預訂);而DDOS攻擊是有計劃的,攻擊發起人有意控制大量肉雞同時發起攻擊。

所以,搶票外掛程式不是惡意攻擊軟體。

解決搶票外掛程式最根本的方法,是提高12306的網站技術水平。第一,在重大節假日前後應當臨時提升伺服器抗壓能力。第二,提高網站製作水平,降低不必要的訪問壓力和頻寬佔用。第三,為使用者提交的購票請求建立隊列。

通俗地講就是:第一,增加買票的視窗。第二,增加售票員。第三,讓後來的顧客排隊。(我覺得這句話作者說到點上了,表示同意)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.