国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

安全技術(shù)在計(jì)算機(jī)軟件開發(fā)中的應(yīng)用

2018-02-28 11:25王雅峰
電子技術(shù)與軟件工程 2018年13期

王雅峰

摘要 本文主要介紹了軟件開發(fā)中經(jīng)常遇到的Web安全問題,常見的攻擊方式如:CSRF攻擊,ddos攻擊以及SQL注入等,在軟件開發(fā)中應(yīng)加強(qiáng)網(wǎng)站的防護(hù)意識(shí),加強(qiáng)網(wǎng)站的安全性。

【關(guān)鍵詞】Web安全 CSRF攻擊 ddos 攻擊SQL注入

1 Web安全技術(shù)概述

目前由于一系列新形式下的互聯(lián)網(wǎng)產(chǎn)品(例如,微信、手機(jī)APP、小程序等)的應(yīng)用,很多Web業(yè)務(wù)都需要依賴于互聯(lián)網(wǎng),企業(yè)信息化的過程中就是將各種應(yīng)用都架設(shè)在Web平臺(tái)上,例如說社交網(wǎng)路、網(wǎng)上銀行APP、網(wǎng)絡(luò)購物APP和小程序、網(wǎng)絡(luò)游戲等。

Web業(yè)務(wù)的迅速發(fā)展也引起許多攻擊者對(duì)服務(wù)器進(jìn)行攻擊,他們通過各種手段惡意獲取客戶的個(gè)人信息從而獲取利益。造成這些漏洞的主要原因是:

(1)當(dāng)初的TCP/IP的設(shè)計(jì)沒有把安全問題考慮進(jìn)來,致使數(shù)據(jù)沒有任何安全防護(hù)措施的在網(wǎng)絡(luò)上傳輸。而應(yīng)用層面的軟件程序本身也存在很多漏洞,諸如惡意掛馬、SQL注入漏洞等攻擊的流行。

(2)將掛馬或病毒代碼綁定在一些文件中,再利用各種低俗圖片或標(biāo)題,引起用戶的好奇心,然后引誘訪問用戶去下載或單擊運(yùn)行。對(duì)Web服務(wù)器的進(jìn)行攻擊的手段也是種類繁多,常見的有在網(wǎng)頁中植入惡意代碼、SQL注入漏洞、通過惡意代碼(掛馬)獲取Web服務(wù)器的控制權(quán)等使得網(wǎng)站訪問者受到侵害,這些惡意攻擊中,常見的攻擊形式有:DDOS攻擊、CSRF攻擊以及SQL注入。

2 DDOSI擊簡(jiǎn)介

拒絕服務(wù)( Denial of Service,DOS)攻擊,主要借助于C/S技術(shù),將多個(gè)客戶端聯(lián)合起來作為攻擊平臺(tái),然后對(duì)一個(gè)或多個(gè)服務(wù)器端發(fā)動(dòng)攻擊,利用看似合理的服務(wù)請(qǐng)求來占用過多的服務(wù)資源,使服務(wù)器疲于應(yīng)付客戶端發(fā)來的虛假請(qǐng)求,而無暇響應(yīng)真正請(qǐng)求的過程。

隨著千兆級(jí)別網(wǎng)絡(luò)技術(shù)的發(fā)展,計(jì)算處理能力的增長(zhǎng),內(nèi)存的增加,使得DoS攻擊的目標(biāo)對(duì)惡意攻擊包的抵御能力加強(qiáng)了不少。這時(shí)候分布式的拒絕服務(wù)攻擊( DistributedDenial of Service,DDoS)的攻擊方式就應(yīng)運(yùn)而生了。DDoS攻擊在網(wǎng)絡(luò)上占領(lǐng)很多的”肉雞”,并且控制這些”肉雞”來發(fā)動(dòng)DDoS攻擊,這樣就可以利用更多的客戶端來發(fā)起比以前更大的規(guī)模來進(jìn)攻受害者。

2.1 DDOS攻擊方式

由于DDOS攻擊采取分布式的攻擊手段,使攻擊模式從傳統(tǒng)的pomt對(duì)pomt的攻擊模式,轉(zhuǎn)變?yōu)闊o規(guī)律的攻擊方式,這樣服務(wù)器很難對(duì)攻擊進(jìn)行區(qū)分;在進(jìn)行攻擊的同時(shí),通過偽裝的數(shù)據(jù)包和偽造的IP地址,這樣服務(wù)器就很難查找和確定攻擊地址,也就很難檢驗(yàn)出DDOS攻擊。

就攻擊特點(diǎn)來說,DDOS攻擊方式主要有以下幾種:

(1)攻擊的服務(wù)器上有大量等待響應(yīng)的請(qǐng)求;

(2)通過向被攻擊主機(jī)提交大量無用的數(shù)據(jù)包,使主機(jī)無暇響應(yīng);

(3)偽造虛假IP地址,使該真正IP的用戶無法訪問服務(wù)器;

(4)利用偽造IP提供的請(qǐng)求協(xié)議上的缺陷,反復(fù)高速發(fā)出特定請(qǐng)求,使主機(jī)無法訪問普通請(qǐng)求。

2.2 DDOS攻擊特點(diǎn)

DDOS方式在進(jìn)行攻擊的時(shí)候,利用了TCP/IP協(xié)議的漏洞,并進(jìn)行集中攻擊目標(biāo)的流量地址,并選擇使用隨機(jī)的端口來進(jìn)行攻擊,一個(gè)服務(wù)器若是處理這些大量的半連接信息而消耗大量的系統(tǒng)資源和網(wǎng)絡(luò)帶寬。使用固定的端口進(jìn)行攻擊的時(shí)候,會(huì)向同一個(gè)端口發(fā)送大量的數(shù)據(jù)包,或通過數(shù)千端口對(duì)攻擊的目標(biāo)發(fā)送大量的數(shù)據(jù)包,在攻擊的時(shí)候就不會(huì)出現(xiàn)擁塞控制,這樣服務(wù)器就不會(huì)再有空余去處理普通用戶的正常請(qǐng)求(因?yàn)榭蛻舻恼U?qǐng)求比率很?。瑥亩?wù)器就無法工作了。

2.3 DDOS主要的攻擊手段

DDOS攻擊手段當(dāng)前流行的主要有三種:

2.3.1 Connection Flood攻擊

這種攻擊是連接耗盡式攻擊,典型的用小流量沖擊大帶寬網(wǎng)絡(luò)服務(wù)的攻擊方式,對(duì)防火墻帶來的沖擊也是很明顯的。這種攻擊的原理是利用真實(shí)的IP地址向服務(wù)器發(fā)起大量的連接,防火墻等防護(hù)設(shè)備是無法根據(jù)簡(jiǎn)單的SYN包來判斷是否是正常連接的,只有當(dāng)連接建立之后才有可能判斷連接是否是惡意的,但此時(shí)已經(jīng)對(duì)服務(wù)器和防火墻造成了一定的影響,并且建立連接之后很長(zhǎng)時(shí)間不釋放,占用了大量的連接表項(xiàng),防火墻的負(fù)載和內(nèi)存使用率將會(huì)明顯上升。

2.3.2 ACK Flood攻擊

這種攻擊方法是在建立TCP連接之后,可通殺各種系統(tǒng)的網(wǎng)絡(luò)服務(wù),主要是通過向受害主機(jī)發(fā)送大量偽造源IP和源端口的帶有ACK標(biāo)志位的TCP報(bào)文,主機(jī)收到后檢查該數(shù)據(jù)包所表示的連接是否存在,如果存在則檢查該數(shù)據(jù)包所表示的狀態(tài)是否合法,如果該數(shù)據(jù)包不合法,則主機(jī)會(huì)回應(yīng)RST包告訴對(duì)方此端口不存在。導(dǎo)致主機(jī)忙于發(fā)送回應(yīng)包或緩存資源被耗盡而造成拒絕服務(wù),而源IP和源端口都是偽造的所以追蹤起來比較困難,需要高帶寬的僵尸主機(jī)支持。

2.3.3 HTTP Get攻擊

這種攻擊主要是針對(duì)SQLServer、MySQL、Oracle等數(shù)據(jù)庫的網(wǎng)站系統(tǒng),并不斷的向其ASP、JSP、PHP或CGI等腳本程序提交查詢、列表等大量耗費(fèi)數(shù)據(jù)庫資源的調(diào)用,是經(jīng)典的以小博大最有效的攻擊方法。常見的現(xiàn)象就是網(wǎng)站加載速度過慢、腳本程序失效或連接數(shù)據(jù)庫失敗、數(shù)據(jù)庫主程序耗費(fèi)的資源偏高。這種攻擊的特點(diǎn)是攻擊者只需通過Proxy代理向主機(jī)服務(wù)器大量遞交get指令,只需要幾分鐘的時(shí)間就會(huì)把Web服務(wù)器資源消耗掉從而導(dǎo)致其拒絕服務(wù),缺點(diǎn)是有些Proxy攻擊者的IP地址會(huì)暴露,并對(duì)只有靜態(tài)頁面的網(wǎng)站效果不明顯。

2.4 防御基礎(chǔ)

總體來說,對(duì)防范DDoS攻擊主要可參考措施如下:

2.4.1 充分利用網(wǎng)絡(luò)設(shè)備保護(hù)網(wǎng)絡(luò)資源

所謂網(wǎng)絡(luò)設(shè)備是指路由器、交換機(jī)、硬件防火墻等負(fù)載均衡設(shè)備,利用這些設(shè)備可將網(wǎng)絡(luò)有效地保護(hù)起來。當(dāng)網(wǎng)絡(luò)被攻擊時(shí)最先死掉的是路由器,所以首先要保證網(wǎng)絡(luò)設(shè)備路由器、交換機(jī)、硬件防火墻等設(shè)備的時(shí)候要盡量選用質(zhì)量好的產(chǎn)品。特別是一個(gè)公司使用了負(fù)載均衡設(shè)備,當(dāng)大量攻擊發(fā)生的時(shí)候請(qǐng)網(wǎng)絡(luò)提供商在網(wǎng)絡(luò)接點(diǎn)處做一下流量限制來對(duì)抗某些種類的DDOS攻擊是非常有效的,從而最大程度的削減了DdoS的攻擊。

2.4.2 在骨干節(jié)點(diǎn)配置防火墻

要定期掃描現(xiàn)有的網(wǎng)絡(luò)骨干節(jié)點(diǎn),骨干節(jié)點(diǎn)上的計(jì)算機(jī)因?yàn)榫哂休^高的帶寬,往往是黑客利用的最好的位置,及時(shí)清現(xiàn)可能存在的安全漏洞或?qū)π鲁霈F(xiàn)的漏洞及時(shí)進(jìn)行修補(bǔ),在發(fā)現(xiàn)某些骨干節(jié)點(diǎn)受到攻擊的時(shí)候,可以將攻擊導(dǎo)向犧牲一些主機(jī),這樣可以保護(hù)真正的主機(jī)不被攻擊。無論是路由器還是防火墻設(shè)備要盡量避免采用網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的使用,硬件防火墻本身就能抵御DDoS攻擊和其他一些攻擊。而連接到網(wǎng)絡(luò)骨干節(jié)點(diǎn)的都是服務(wù)器級(jí)別的計(jì)算機(jī),對(duì)這些主機(jī)本身加強(qiáng)安全是非常重要的,所以定期掃描漏洞就變得更加重要了。

2.4.3 限制SYN/ICMP流量

足夠的網(wǎng)絡(luò)帶寬或者擁有足夠的容量和足夠的資源給黑客攻擊,直接決定了能抗受攻擊的能力。早期通過限制SYN/ICMP流量是防范DDOS的最好的方法,用戶可以路由器上配置SYN/ICMP的最大流量來限制SYN/ICMP封包所能占有的最高頻寬,這樣在黑客不斷訪問用戶、奪取用戶資源之時(shí),出現(xiàn)大量的超過所限定的SYN/ICMP流量時(shí),自己的能量也在逐漸耗失,或許未等用戶被攻死,黑客已無力支招兒了。雖然目前該方法對(duì)于DDOS效果不太明顯了,不過仍然能夠起到一定的作用。

2.4.4 把網(wǎng)站做成靜態(tài)頁面

事實(shí)證明,把網(wǎng)站適當(dāng)放一些不做數(shù)據(jù)庫調(diào)用腳本或盡可能做成靜態(tài)頁面,不僅能大大提高抗攻擊能力,而且還給黑客入侵帶來不少麻煩。此外,經(jīng)驗(yàn)表明使用代理訪問你網(wǎng)站的80%屬于惡意行為,所以最好在需要調(diào)用數(shù)據(jù)庫的腳本中拒絕使用代理的訪問。

2.4.5 檢查訪問者的來源,過濾不必要的服務(wù)和端口

在有網(wǎng)絡(luò)帶寬保證的前提下,過濾不必要的服務(wù)和端口,只開放80而將其他所有端口關(guān)閉或在防火墻上做阻止策略,通過反向路由器查詢的方法檢查訪問者的IP地址是否是真,要有效對(duì)抗每秒10萬個(gè)SYN攻擊包,即在路由器上過濾假IP,如果是假的,將予以屏蔽,成為目前很多服務(wù)器的流行做法,可減少假IP地址的出現(xiàn),有助于提高網(wǎng)絡(luò)安全性。

3 跨站請(qǐng)求偽造CSRFI擊

3.1 CSRF攻擊簡(jiǎn)介

跨站請(qǐng)求偽造(Cross-site requestforgery,CSRF),是一種對(duì)網(wǎng)站的惡意利用,CSRF攻擊的主要目的是攻擊者盜用了你的身份,讓用戶在不知情的情況發(fā)送惡意請(qǐng)求。CSRF能夠做的事情包括:惡意復(fù)制用戶賬戶,可以偽造某一個(gè)用戶的身份給其好友發(fā)送帶有木馬程序或者一些欺騙信息(比如借錢之類的)垃圾信息,利用當(dāng)前的登陸狀態(tài),讓用戶在不知情的情況下,幫你發(fā)帖或干其他事情等。

3.2 CSRF漏洞現(xiàn)狀

CSRF這種攻擊方式是一種對(duì)網(wǎng)站的惡意利用,在2000年已經(jīng)被國外的安全人員提出。盡管聽起來像跨站腳本(xss),但它與XSS非常不同,并且攻擊方式幾乎相反。在國內(nèi),直到2006年CSRF攻擊才開始被關(guān)注,2008年,國內(nèi)外的多個(gè)大型社區(qū)和交互網(wǎng)站分別爆出CSRF漏洞。xss是利用站點(diǎn)內(nèi)的信任用戶,而CSRF則通過偽裝來自受信任用戶的請(qǐng)求來利用受信任的網(wǎng)站?;ヂ?lián)網(wǎng)上的許多站點(diǎn)仍對(duì)此毫無防備,與xss攻擊相比,CSRF攻擊往往不大流行和難以防范,因此對(duì)其進(jìn)行防范的資源也相當(dāng)稀少,所以被認(rèn)為比xss更具危險(xiǎn)性。

3.3 CSRF漏洞防御

CSRF的漏洞防御可以從客戶端(client)和服務(wù)器(server)端兩方面著手,是從服務(wù)器端著手的防御效果效果比較好,服務(wù)端的CSRF方式方法多樣,現(xiàn)在一般的CSRF防御也都是在服務(wù)端進(jìn)行。

3.3.1 在客戶端頁面增加偽隨機(jī)數(shù)

所有表單都包含同一個(gè)偽隨機(jī)值( Cookie+ Hashing):

這可能是最簡(jiǎn)單的解決方案了,因?yàn)楣粽咴诶碚撋喜荒塬@得第三方的Cookie。方法是先構(gòu)造加密的Cookie信息,如:

<!--?php

?>

這個(gè)方案基本上可以杜絕99%的CSRF攻擊了,而另外的1%的不安全性,一般的攻擊者看到有需要算Hashing值,基本都會(huì)放棄了。但是需要100%的杜絕CSRF攻擊,這不是最好的方法。

3.3.2 驗(yàn)證碼

這個(gè)方案的思路是:每次都需要用戶在表單中填寫一個(gè)圖片上的隨機(jī)字符串生成的驗(yàn)證碼,在提交操作前需要輸入驗(yàn)證碼,從而防止惡意請(qǐng)求。這個(gè)方案可以完全解決CSRF,但是考慮到客戶端易用性方面,驗(yàn)證碼圖片的使用涉及了一個(gè)MHTML的Bug,可能會(huì)在低版本的IE瀏覽器上不太友好。

3.3.3 在請(qǐng)求地址中添加token并驗(yàn)證

檢查請(qǐng)求過程中是否會(huì)產(chǎn)生一次性令牌,這是當(dāng)前Web應(yīng)用程序的設(shè)計(jì)人員廣泛使用的一種方式。CSRF攻擊之所以能夠成功,是因?yàn)楹诳涂梢酝耆珎卧煊脩舻恼?qǐng)求,如果存在這個(gè)由server端生成的令牌,關(guān)鍵在于在請(qǐng)求中放入黑客所不能偽造并不存在于cookie之中的信息。抵御CSRF,由編程人員控制在客戶端發(fā)送get請(qǐng)求或post請(qǐng)求時(shí),使請(qǐng)求攜帶本令牌然后在Server端進(jìn)行驗(yàn)證。如果請(qǐng)求中沒有token令牌或者token令牌內(nèi)容不正確,則認(rèn)為可能是CSRF攻擊而拒絕該請(qǐng)求。

token令牌生成和使用的步驟如下:

1)首先生成令牌生成函數(shù)(getToken(》

<!--?php

南平市| 黄山市| 德州市| 浙江省| 枞阳县| 哈巴河县| 涞水县| 新建县| 密云县| 邵阳县| 博乐市| 垦利县| 古浪县| 铅山县| 清镇市| 灵璧县| 神木县| 台北县| 木里| 荃湾区| 亚东县| 万山特区| 达州市| 宁南县| 临沂市| 通化市| 潼关县| 老河口市| 高碑店市| 寿阳县| 仁布县| 深泽县| 三门县| 南乐县| 库尔勒市| 长汀县| 潮安县| 泾川县| 澄城县| 施甸县| 琼海市|