成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Web應(yīng)用開(kāi)發(fā)人員最易犯的九個(gè)安全錯(cuò)誤

安全 應(yīng)用安全
Web應(yīng)用程序開(kāi)發(fā)是一個(gè)很寬泛的話題。本文僅討論Web應(yīng)用開(kāi)發(fā)者應(yīng)當(dāng)避免的安全錯(cuò)誤。這些錯(cuò)誤涉及到任何開(kāi)發(fā)者都不應(yīng)當(dāng)忽視的基本安全原則。

Web應(yīng)用程序開(kāi)發(fā)是一個(gè)很寬泛的話題。本文僅討論Web應(yīng)用開(kāi)發(fā)者應(yīng)當(dāng)避免的安全錯(cuò)誤。這些錯(cuò)誤涉及到任何開(kāi)發(fā)者都不應(yīng)當(dāng)忽視的基本安全原則。

[[128984]]

開(kāi)發(fā)者應(yīng)當(dāng)注意哪些基本的安全原則?應(yīng)當(dāng)避免哪些安全錯(cuò)誤?為回答這些問(wèn)題,下面的建議可以回答上述問(wèn)題。

自以為是:開(kāi)發(fā)自己的安全方法

有些開(kāi)發(fā)者錯(cuò)誤地認(rèn)為自己的算法或認(rèn)證方法更安全:畢竟黑客從未見(jiàn)識(shí)過(guò)這種方法,所以他們?cè)谄平鈺r(shí)會(huì)更困難。果真如此嗎?

答案是否定的。開(kāi)發(fā)者自己開(kāi)發(fā)認(rèn)證或登錄方法是一個(gè)錯(cuò)誤,因?yàn)樗麜?huì)犯一個(gè)或一些黑客能夠發(fā)現(xiàn)的錯(cuò)誤。開(kāi)發(fā)者應(yīng)當(dāng)依靠現(xiàn)有的經(jīng)過(guò)完全測(cè)試的安全方法,原因在于它們已經(jīng)被安全社團(tuán)反復(fù)測(cè)試過(guò)了。因此,這些方法不太可能包含被開(kāi)發(fā)者忽視的重大安全漏洞。有安全專家指出,任何人都可以發(fā)明一種他們自己無(wú)法破解的加密算法,但要開(kāi)發(fā)一種別人無(wú)法破解的方法就困難多了。所以,開(kāi)發(fā)者還是老老實(shí)實(shí)地用經(jīng)認(rèn)證或安全測(cè)試的方法吧。

粗心大意:直接使用用戶提供的信息訪問(wèn)數(shù)據(jù)庫(kù)

在開(kāi)發(fā)應(yīng)用程序特別是在開(kāi)發(fā)Web應(yīng)用程序時(shí),許多開(kāi)發(fā)者沒(méi)有充分地驗(yàn)證從用戶那兒接收到的輸入數(shù)據(jù)。這種做法存在安全問(wèn)題,因?yàn)樗试S非法的數(shù)據(jù)進(jìn)入客戶的數(shù)據(jù)庫(kù),并且還有更大的安全隱患。不能對(duì)用戶的輸入進(jìn)行驗(yàn)證(無(wú)論是來(lái)自Web還是來(lái)自API)會(huì)導(dǎo)致SQL注入、跨站腳本攻擊、命令劫持、緩沖區(qū)溢出,以及被攻擊者利用的其它Web應(yīng)用程序漏洞。

這種錯(cuò)誤在Web應(yīng)用程序的開(kāi)發(fā)中是最常見(jiàn)的。如果沒(méi)有保護(hù)這些程序,用戶就有可能利用輸入字段將惡意腳本注入到應(yīng)用程序或者訪問(wèn)數(shù)據(jù)庫(kù)的私密數(shù)據(jù)。當(dāng)然,多數(shù)用戶不會(huì)有什么惡意企圖,但開(kāi)發(fā)者必須用防御的心態(tài)和方法來(lái)處理用戶輸入。

開(kāi)發(fā)者不應(yīng)當(dāng)輕易相信用戶輸入,而要在客戶端和服務(wù)器端進(jìn)行雙重驗(yàn)證。否則,就有可能產(chǎn)生嚴(yán)重的漏洞,如:跨站腳本攻擊和SQL注入等。

忽視全局:關(guān)注組件而非整個(gè)系統(tǒng)

大型的開(kāi)發(fā)項(xiàng)目往往是由多個(gè)開(kāi)發(fā)者開(kāi)發(fā)應(yīng)用程序的不同部分,因而開(kāi)發(fā)人員就容易關(guān)注個(gè)別組件。當(dāng)然,如此開(kāi)發(fā)的應(yīng)用程序,其每個(gè)小部分可能很安全,但開(kāi)發(fā)者是否考慮過(guò)整體的安全性?

許多安全問(wèn)題并非產(chǎn)生于組件自身,而是在數(shù)據(jù)和過(guò)程從業(yè)務(wù)進(jìn)程的一部分流動(dòng)到另一部分時(shí)才會(huì)出問(wèn)題。開(kāi)發(fā)者一般都承擔(dān)著一項(xiàng)業(yè)務(wù)進(jìn)程的一部分,并且一般不理解業(yè)務(wù)過(guò)程的其它部分。這種認(rèn)知缺乏會(huì)導(dǎo)致不安全的數(shù)據(jù)傳遞,從而將數(shù)據(jù)暴露給各種攻擊和威脅,如中間人攻擊、數(shù)據(jù)完整性問(wèn)題、信息泄露等。

開(kāi)發(fā)者對(duì)企業(yè)的業(yè)務(wù)服務(wù)有一個(gè)系統(tǒng)的觀點(diǎn)是至關(guān)重要的,只有這樣才能理解所有的組件如何協(xié)作,以及如何保證合并后的應(yīng)用程序的安全。#p#

后期修補(bǔ):在開(kāi)發(fā)后期增加安全功能

有的網(wǎng)站或Web應(yīng)用在構(gòu)建時(shí)并沒(méi)有內(nèi)建安全性。記住:安全并不是以后增加的東西,它應(yīng)當(dāng)是整個(gè)應(yīng)用架構(gòu)的整體功能的一部分。架構(gòu)是應(yīng)用開(kāi)發(fā)的最重要的方面,因?yàn)樗鼤?huì)影響應(yīng)用程序的所有其它方面,其中就包括安全性。

這種錯(cuò)誤的表現(xiàn)(如漏洞和錯(cuò)誤配置)可以追溯到開(kāi)發(fā)階段:開(kāi)發(fā)者最后將安全作為一種額外增加的特性或功能。如有的開(kāi)發(fā)團(tuán)隊(duì)有這樣的認(rèn)識(shí):不錯(cuò),所有的功能都正常運(yùn)行,現(xiàn)在開(kāi)始解決安全性問(wèn)題吧。這種思想會(huì)帶來(lái)應(yīng)用程序架構(gòu)上的安全漏洞從而增加風(fēng)險(xiǎn)。在應(yīng)用程序完全部署后,任何人都很難去解決跨站請(qǐng)求偽造(CSRF)及大量的SQL注入漏洞了。所以,開(kāi)發(fā)者應(yīng)當(dāng)在開(kāi)發(fā)和構(gòu)建Web應(yīng)用程序的整個(gè)生命周期中構(gòu)建安全性。

放任用戶:允許用戶生成弱口令

每當(dāng)有攻擊者破解網(wǎng)站或Web應(yīng)用并暴露用戶口令時(shí),一個(gè)明確的事實(shí)都會(huì)隨之浮出水面:用戶們的安全習(xí)慣太差。例如,用戶們的最常用的口令是“abcde”或“12345678”之類。Web應(yīng)用的開(kāi)發(fā)者不應(yīng)當(dāng)允許用戶創(chuàng)建弱口令。開(kāi)發(fā)者應(yīng)當(dāng)要求用戶的口令達(dá)到足夠的長(zhǎng)度,確保其易于記憶但又難以猜測(cè)(例如,強(qiáng)口令至少應(yīng)當(dāng)包含字母、數(shù)字及特殊字符,長(zhǎng)度達(dá)10個(gè)字符以上)。最好的口令未必是最復(fù)雜的。強(qiáng)迫用戶使用過(guò)度復(fù)雜的口令往往導(dǎo)致用戶一些不安全的做法,例如把口令寫(xiě)下來(lái)然后再貼到電腦的一個(gè)地方。

忽視加密:以純文本存儲(chǔ)用戶口令和數(shù)據(jù)

Web應(yīng)用開(kāi)發(fā)者最常犯的錯(cuò)誤是沒(méi)有保證用戶認(rèn)證憑據(jù)的安全。用戶們想當(dāng)然地認(rèn)為網(wǎng)站或Web應(yīng)用會(huì)做得很安全,但不幸的是,太多的網(wǎng)站或Web應(yīng)用沒(méi)有做好。從總體上說(shuō), Web應(yīng)用或網(wǎng)站在處理和保存口令方式上往往存在漏洞。

問(wèn)題是:怎樣才能正確地保存口令?這里重點(diǎn)談一個(gè)最常見(jiàn)卻很不安全的做法:以明文保存口令。許多大公司也有可能犯這樣的錯(cuò)誤。對(duì)企業(yè)數(shù)據(jù)庫(kù)的任何損害都不應(yīng)當(dāng)使用戶數(shù)據(jù)遭受風(fēng)險(xiǎn),尤其是用戶們使用的口令。因而,企業(yè)的應(yīng)用程序應(yīng)當(dāng)對(duì)用戶的口令和其它細(xì)節(jié)進(jìn)行加密,然后才將其保存在一個(gè)數(shù)據(jù)庫(kù)中。

企業(yè)應(yīng)用的開(kāi)發(fā)者必須思考,在黑客取得企業(yè)數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)時(shí),他們能怎樣輕易地竊取數(shù)據(jù)?如果開(kāi)發(fā)者加密數(shù)據(jù),就會(huì)導(dǎo)致個(gè)人和企業(yè)信息的大量泄露。

僅僅因?yàn)閿?shù)據(jù)庫(kù)引擎要求用戶名和口令并不意味著黑客無(wú)法竊取數(shù)據(jù)文件和獲取其中的信息。數(shù)據(jù)的安全性依賴于數(shù)據(jù)庫(kù)引擎的安全性,如果黑客利用了數(shù)據(jù)庫(kù)引擎的漏洞,就可以輕松地訪問(wèn)數(shù)據(jù)庫(kù)。這正是許多大型游戲和電子商務(wù)網(wǎng)站遭受破解的原因,也是包含信用卡數(shù)據(jù)在內(nèi)的所有個(gè)人信息失竊的原因。#p#

“明修棧道”:通過(guò)URL路徑名傳遞變量

還有一種危險(xiǎn)但常見(jiàn)的做法:許多開(kāi)發(fā)者把變量放在URL中,這會(huì)為黑客打開(kāi)利用其它應(yīng)用或數(shù)據(jù)的大門(mén)。這種錯(cuò)誤的風(fēng)險(xiǎn)非常巨大。

開(kāi)發(fā)者絕對(duì)不能允許用戶與之交互的變量成為文件路徑的一部分。如果URL中包含下載文件的路徑,攻擊者就可以修改URL,使其引用另一個(gè)文件,從而可能下載包含用戶口令的文件。由此,攻擊者用一個(gè)鏈接(例如,該鏈接允許用戶下載應(yīng)用程序的免費(fèi)版)就達(dá)到了利用漏洞的目的。

正所謂開(kāi)發(fā)者“明修”了“棧道”,卻被攻擊者“暗渡”了“陳倉(cāng)”。

顧此失彼:僅在客戶端執(zhí)行授權(quán)

如今,越來(lái)越多的開(kāi)發(fā)者日漸重視客戶端。這種趨勢(shì)會(huì)使應(yīng)用程序更快更強(qiáng)大,但如果開(kāi)發(fā)者不能正確地解決程序的授權(quán)問(wèn)題,就會(huì)帶來(lái)安全隱患。

很多Web應(yīng)用的開(kāi)發(fā)者依賴客戶端的瀏覽器去完成以前在服務(wù)器完成的任務(wù)。從安全的觀點(diǎn)看,這種做法缺少了許多控制,因?yàn)殚_(kāi)發(fā)者并不了解客戶端的種類。客戶端甚至有可能并非瀏覽器。開(kāi)發(fā)者不應(yīng)當(dāng)輕易地相信發(fā)生在客戶端的操作,不應(yīng)當(dāng)僅依賴JavaScript或客戶端代碼來(lái)實(shí)現(xiàn)關(guān)鍵功能,對(duì)于涉及到付款信息和其它敏感信息的功能,尤其要注意。

盲目樂(lè)觀:認(rèn)為自己不可能出問(wèn)題

在開(kāi)發(fā)Web應(yīng)用程序時(shí),開(kāi)發(fā)人員容易犯的錯(cuò)誤是:想當(dāng)然地認(rèn)為自己的應(yīng)用程序不會(huì)遭到攻擊,或者認(rèn)為自己不會(huì)犯錯(cuò)誤。這些想法都會(huì)導(dǎo)致安全問(wèn)題。開(kāi)發(fā)者應(yīng)當(dāng)總是設(shè)想自己的程序會(huì)遭受攻擊,而且自己也會(huì)犯安全方面的錯(cuò)誤。這種思想有助于開(kāi)發(fā)者避免或減少安全風(fēng)險(xiǎn),從而避免公司遭受損失。

誰(shuí)都會(huì)犯錯(cuò)。如果開(kāi)發(fā)者在黑客找到漏洞之前自己先找到了問(wèn)題,問(wèn)題還不算大。在開(kāi)發(fā)者和軟件測(cè)試者測(cè)試和審計(jì)Web應(yīng)用程序時(shí),或在企業(yè)投入使用程序之前,開(kāi)發(fā)者或測(cè)試者不妨使用著名的開(kāi)源工具OWASP ZAP來(lái)掃描企業(yè)的應(yīng)用程序,查找一些常見(jiàn)的漏洞和錯(cuò)誤。

結(jié)束語(yǔ)

此文談到了一些最基本的卻是很重要的一些安全錯(cuò)誤。希望開(kāi)發(fā)者在此基礎(chǔ)上能夠進(jìn)一步發(fā)現(xiàn)和總結(jié)在Web應(yīng)用開(kāi)發(fā)過(guò)程中的其它問(wèn)題,構(gòu)建更堅(jiān)實(shí)的安全保障。

責(zé)任編輯:藍(lán)雨淚 來(lái)源: TechTarget中國(guó)
相關(guān)推薦

2019-04-24 08:56:34

Java開(kāi)發(fā)人員常犯錯(cuò)誤

2015-09-15 10:42:06

2010-03-20 20:35:33

2023-02-06 18:27:00

開(kāi)發(fā)人員語(yǔ)言

2015-09-21 09:34:57

2022-12-29 08:27:03

Java開(kāi)發(fā)人員編碼

2020-05-25 16:36:19

開(kāi)發(fā)工具編碼

2022-09-04 15:28:25

開(kāi)發(fā)React程序員

2023-08-30 08:01:37

前端CSS

2024-11-08 15:22:08

2015-10-13 10:00:04

Web開(kāi)發(fā)人員網(wǎng)站

2018-04-08 10:08:43

開(kāi)發(fā)人員工具

2022-09-12 15:51:38

JavaScrip開(kāi)發(fā)編程語(yǔ)言

2020-09-23 22:40:31

Python 開(kāi)發(fā)編程語(yǔ)言

2013-06-14 08:47:45

2015-05-21 09:24:13

生成樹(shù)生成樹(shù)協(xié)議STP

2009-06-22 09:13:55

測(cè)試開(kāi)發(fā)人員

2012-04-20 10:10:35

2022-07-04 08:00:00

Web開(kāi)發(fā)人員編程習(xí)慣程序員

2023-05-22 14:57:47

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产伦精品一区二区三区精品视频 | 激情av在线| 国产美女视频黄 | 男女免费视频网站 | 在线色网| 国产精品欧美一区二区三区不卡 | 欧美日韩亚洲三区 | 国产精品欧美一区二区 | 欧美国产中文字幕 | 欧美二区三区 | 亚洲日韩中文字幕一区 | 久久九七 | 国产在线1 | 日韩av在线一区 | 久久国产精品视频观看 | 日本免费视频在线观看 | 中文字幕国产精品 | 中文字幕日韩欧美 | 日韩欧美在线观看 | 精品欧美一区二区久久久伦 | 国产日韩欧美电影 | 99视频入口 | www.久久99| 亚洲福利一区 | av在线伊人 | 久久亚洲一区二区三区四区 | 毛片在线免费 | 一区二区三区四区在线播放 | 一区二区三区中文字幕 | 亚洲电影一区 | 久久com| 欧美日韩一二三区 | 亚洲性人人天天夜夜摸 | wwwxxx日本在线观看 | 亚洲视频免费观看 | 久久九九免费 | 国产在线精品一区二区三区 | 日韩亚洲视频 | 可以免费观看的av | 国产一区二区麻豆 | 91热在线|